:root{--hh-navy:#0d1b33;--hh-navy-2:#1e2f4f;--hh-gold:#d4af37;--hh-gold-2:#b8864a;--hh-bg:#f7f4ec;--hh-card:#fff;--hh-border:#e8e1d4;--hh-text:#0d1b33;--hh-sub-text:#6b7280;--hh-shadow:0 16px 42px #0d1b3314;--bg-page:#f7f4ec;--bg-page-deep:#f2ece0;--bg-panel:#fffffff0;--bg-panel-strong:#fff;--bg-muted:#fbf8f2;--bg-sidebar:#f9f5ee;--bg-sidebar-deep:#f4eee4;--text-primary:#0d1b33;--text-secondary:#6b7280;--text-soft:#9a927f;--line-color:#e8e1d4;--brand-color:#0d1b33;--brand-color-soft:#1e2f4f;--brand-color-light:#f6efe1;--success-color:#b8864a;--warning-color:#d4af37;--danger-color:#b45309;--radius-xl:24px;--radius-lg:18px;--radius-md:14px;--shadow-soft:0 18px 48px #0d1b3314;--shadow-light:0 10px 28px #0d1b330f}@media (width<=760px){html body .mobile-table-scroll{scrollbar-width:thin;scrollbar-color:#9fb5c5c7 #e0e7ecb8;box-sizing:border-box!important;overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;display:block!important;position:relative!important;overflow:auto hidden!important}html body .mobile-table-scroll::-webkit-scrollbar{height:8px}html body .mobile-table-scroll::-webkit-scrollbar-track{background:#e0e7ecb8;border-radius:999px}html body .mobile-table-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#a9cbe3,#c59a52);border:1px solid #ffffffe6;border-radius:999px}html body .mobile-table-scroll>.el-table,html body .mobile-table-scroll .el-table__body-wrapper,html body .mobile-table-scroll .el-table__header-wrapper,html body .mobile-table-scroll .el-scrollbar,html body .mobile-table-scroll .el-scrollbar__wrap{max-width:none!important}html body .mobile-table-scroll .el-table__body-wrapper .el-scrollbar__wrap,html body .mobile-table-scroll .el-table .el-scrollbar__wrap{touch-action:auto!important;overflow-x:hidden!important}html body .quote-list-table-scroll>.el-table{width:2000px!important;min-width:2000px!important}html body .contract-template-table-scroll>.el-table{width:1540px!important;min-width:1540px!important}html body .finance-overview-table-scroll>.el-table{width:760px!important;min-width:760px!important}html body .contract-node-table-scroll>.el-table{width:1740px!important;min-width:1740px!important}html body .customer-detail-table-scroll>.el-table{width:820px!important;min-width:820px!important}html body .customer-detail-followup-scroll>.el-table{width:940px!important;min-width:940px!important}html body .report-role-table-scroll>.el-table{width:980px!important;min-width:980px!important}html body .customer-followup-table-scroll>.el-table{width:1640px!important;min-width:1640px!important}html body .quote-batch-table-scroll>.el-table{width:780px!important;min-width:780px!important}html body .quote-import-table-scroll>.el-table{width:max(760px, calc(170px * var(--quote-preview-column-count,5)))!important;min-width:760px!important}html body #app .admin-content :where(.page-shell,.table-card,.table-panel,.detail-panel,.panel-card){min-width:0!important;max-width:100%!important}html body #app .admin-content .mobile-table-scroll{scrollbar-gutter:stable;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;display:block!important;position:relative!important;overflow:auto hidden!important}html body #app .admin-content .banner-admin-table-scroll>.el-table{flex:0 0 1120px!important;width:1120px!important;min-width:1120px!important;max-width:none!important}html body #app .admin-content .message-admin-table-scroll>.el-table{flex:0 0 1260px!important;width:1260px!important;min-width:1260px!important;max-width:none!important}html body #app .admin-content .mobile-table-scroll .el-table__fixed,html body #app .admin-content .mobile-table-scroll .el-table__fixed-right{pointer-events:none!important}}html,body,#app{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;min-height:100%}body{background:radial-gradient(circle at top left, #d4af3714, transparent 24%), radial-gradient(circle at bottom right, #b8864a14, transparent 22%), linear-gradient(180deg, var(--bg-page) 0%, var(--bg-page-deep) 100%);color:var(--text-primary);margin:0;font-family:Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}.page-shell{padding:4px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-header-main h1{color:var(--text-primary);letter-spacing:.3px;margin:0 0 8px;font-size:28px}.page-header-main p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.7}.page-header-actions{align-items:center;gap:10px;display:flex}.filter-card,.table-card,.summary-card,.detail-card,.form-card,.timeline-card,.hero-panel,.panel-card,.stat-card,.metric-card{background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #e2e8f0d1}.filter-card,.table-card,.detail-card,.form-card,.timeline-card,.panel-card{padding:18px}.summary-card,.hero-panel,.stat-card,.metric-card{padding:18px 20px}.filter-card{margin-bottom:18px}.aligned-filter-panel{background:linear-gradient(135deg,#fffffff5,#fbf8f2e6),radial-gradient(circle at 100% 0,#d4af3714,#0000 32%);border:1px solid #e8e1d4e6;border-radius:22px;margin-bottom:18px;padding:24px 26px 22px;box-shadow:0 18px 44px #0d1b330f}.aligned-filter-panel .filter-panel-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.aligned-filter-panel .filter-panel-head h2{color:var(--text-primary);margin:0;font-size:20px;line-height:1.3}.aligned-filter-panel .filter-panel-head p{color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.6}.aligned-filter-panel .text-link{color:#b8864a;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.aligned-filter-panel .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:22px;display:grid}.aligned-filter-panel .filter-field{grid-template-rows:auto minmax(46px,auto);gap:8px;min-width:0;display:grid}.aligned-filter-panel .filter-field-wide,.aligned-filter-panel .filter-wide,.aligned-filter-panel .filter-date,.aligned-filter-panel .filter-view{grid-column:span 2}.aligned-filter-panel .filter-field>span{color:var(--text-secondary);font-size:13px;line-height:1;display:block}.aligned-filter-panel .filter-field .el-input,.aligned-filter-panel .filter-field .el-select,.aligned-filter-panel .filter-field .el-date-editor{width:100%!important}.aligned-filter-panel .filter-field .el-input__wrapper,.aligned-filter-panel .filter-field .el-select__wrapper,.aligned-filter-panel .filter-field .el-date-editor.el-input__wrapper{background:#fffffff0;box-shadow:inset 0 0 0 1px #e8e1d4f2;border-radius:14px!important;min-height:46px!important}.aligned-filter-panel .filter-field .el-input__wrapper.is-focus,.aligned-filter-panel .filter-field .el-select__wrapper.is-focused,.aligned-filter-panel .filter-field .el-date-editor.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #b8864a94}.aligned-filter-panel .filter-field .el-input__inner,.aligned-filter-panel .filter-field .el-select__selected-item,.aligned-filter-panel .filter-field .el-range-input{color:var(--text-primary);font-size:14px}.aligned-filter-panel .filter-field .el-range-separator{color:#8a7a5c;min-width:42px;font-weight:700}.aligned-filter-panel .filter-action-row,.aligned-filter-panel .quick-filter-row{border-top:1px solid #e8e1d4b8;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:18px;display:flex}.aligned-filter-panel .filter-action-row{justify-content:flex-end}.aligned-filter-panel .quick-filter-row{justify-content:flex-start}.aligned-filter-panel .filter-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.aligned-filter-panel .quick-filter-row button{color:var(--text-primary);cursor:pointer;background:#fbf8f2;border:1px solid #d4af373d;border-radius:999px;padding:8px 14px;font-size:13px;transition:all .2s}.aligned-filter-panel .quick-filter-row button:hover{color:#b8864a;border-color:#b8864a94;transform:translateY(-1px)}.aligned-filter-panel .el-button{border-radius:12px;min-height:38px;padding:0 16px;font-weight:700}.aligned-filter-panel .el-button--primary{background:#0d1b33;border-color:#0d1b33}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric-card{position:relative;overflow:hidden}.metric-card:after{content:"";opacity:.15;background:linear-gradient(90deg,#16324f 0%,#5b8ab6 100%);height:3px;position:absolute;inset:auto 0 0}.metric-label{color:var(--text-secondary);font-size:13px}.metric-value{color:var(--text-primary);letter-spacing:.3px;margin-top:8px;font-size:30px;font-weight:700}.metric-subtext{color:var(--text-soft);margin-top:8px;font-size:12px}.hero-banner{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 22%),linear-gradient(135deg,#16324f 0%,#274766 58%,#356086 100%);border-radius:24px;margin-bottom:18px;padding:24px;box-shadow:0 20px 48px #16324f2e}.hero-badge{letter-spacing:.8px;text-transform:uppercase;background:#ffffff24;border-radius:999px;align-items:center;padding:7px 12px;font-size:12px;display:inline-flex}.hero-title{letter-spacing:.3px;margin:16px 0 10px;font-size:34px;font-weight:800}.hero-desc{color:#ffffffd6;max-width:760px;margin:0;line-height:1.9}.hero-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.hero-stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-radius:16px;padding:16px}.hero-stat-label{color:#ffffffbd;font-size:12px}.hero-stat-value{margin-top:8px;font-size:28px;font-weight:700}.split-grid{grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:18px;display:grid}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quick-card{background:var(--bg-muted);border:1px solid var(--line-color);cursor:pointer;border-radius:16px;padding:18px;transition:all .2s}.quick-card:hover{border-color:#bfd5ec;transform:translateY(-2px);box-shadow:0 12px 28px #0f172a0f}.quick-card-title{color:var(--text-primary);font-size:16px;font-weight:700}.quick-card-desc{color:var(--text-secondary);margin-top:8px;font-size:13px;line-height:1.7}.panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.panel-desc{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.7}.data-list{flex-direction:column;gap:12px;display:flex}.data-list-item{background:var(--bg-muted);border:1px solid var(--line-color);border-radius:14px;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.data-list-main{min-width:0}.data-list-title{color:var(--text-primary);font-weight:700}.data-list-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px}.data-list-side{color:var(--brand-color);white-space:nowrap;font-weight:700}.tag-cluster{flex-wrap:wrap;gap:8px;display:flex}.drawer-shell{flex-direction:column;gap:16px;display:flex}.drawer-banner{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff29,#0000 20%),linear-gradient(135deg,#16324f 0%,#2c5377 100%);border-radius:22px;padding:22px}.drawer-eyebrow{letter-spacing:.8px;text-transform:uppercase;color:#ffffffb8;font-size:12px}.drawer-banner h3{margin:12px 0 8px;font-size:30px;line-height:1.2}.drawer-banner p{color:#ffffffd1;margin:0;line-height:1.7}.drawer-card{border:1px solid var(--line-color);background:var(--bg-panel-strong);border-radius:18px;padding:16px}.drawer-actions{justify-content:flex-end;gap:10px;display:flex}.info-note{color:#475569;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.8}.pagination-wrap{justify-content:flex-end;margin-top:18px;display:flex}.list-empty{padding:28px 0 8px}.error-message{color:var(--danger-color);margin-bottom:12px;font-size:14px}.el-table{border-radius:12px;overflow:hidden}.el-table th.el-table__cell{color:#334155;font-weight:700;background:#f8fbff!important}.el-table td.el-table__cell{color:#1e293b}.el-table--border:before,.el-table--border:after,.el-table__inner-wrapper:before{display:none}.el-button--primary{background:var(--brand-color);border-color:var(--brand-color)}.el-button--primary:hover{background:var(--brand-color-soft);border-color:var(--brand-color-soft)}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper,.el-date-editor.el-input__wrapper{border-radius:12px}.el-form--inline .el-form-item{margin-bottom:12px}.el-drawer__body{padding-top:10px}@media (width<=1360px){.metrics-grid,.split-grid,.hero-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){html,body,#app{min-width:0;overflow-x:hidden}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.page-header{flex-direction:column}.split-grid,.hero-stat-grid{grid-template-columns:1fr}.metrics-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aligned-filter-panel{padding:20px}.aligned-filter-panel .filter-panel-head{flex-direction:column}.aligned-filter-panel .filter-grid{grid-template-columns:1fr}.aligned-filter-panel .filter-field-wide,.aligned-filter-panel .filter-wide,.aligned-filter-panel .filter-date,.aligned-filter-panel .filter-view{grid-column:auto}.aligned-filter-panel .filter-action-row,.aligned-filter-panel .filter-buttons{justify-content:flex-start}.page-shell,.table-card,.form-card,.panel-card,.content-card,.hero-banner{min-width:0}.page-header-actions,.filter-action-row,.filter-buttons{flex-wrap:wrap;width:100%}.el-table{min-width:720px}.table-card,.panel-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.el-dialog{max-width:calc(100vw - 28px)}}@media (width<=760px){.page-shell{padding:0}.page-header{gap:10px;margin-bottom:12px}.page-header-main h1{font-size:22px;line-height:1.22}.page-header-main p{font-size:12px;line-height:1.6}.filter-card,.table-card,.detail-card,.form-card,.timeline-card,.panel-card,.summary-card,.hero-panel,.stat-card,.metric-card,.aligned-filter-panel,.drawer-card{border-radius:16px!important;padding:14px!important}.metrics-grid,.split-grid,.quick-grid,.hero-stat-grid,.aligned-filter-panel .filter-grid{grid-template-columns:1fr!important;gap:10px!important}.page-header-actions,.filter-action-row,.filter-buttons,.drawer-actions{grid-template-columns:1fr;gap:8px;display:grid}.page-header-actions>*,.filter-action-row>*,.filter-buttons>*,.drawer-actions>*{width:100%}.aligned-filter-panel .filter-field{grid-template-rows:auto minmax(40px,auto);gap:6px}.aligned-filter-panel .filter-field .el-input__wrapper,.aligned-filter-panel .filter-field .el-select__wrapper,.aligned-filter-panel .filter-field .el-date-editor.el-input__wrapper{border-radius:12px!important;min-height:40px!important}.el-button{min-height:38px}.el-form-item{margin-bottom:14px}.el-form-item__label{height:auto;min-height:28px;line-height:1.35}.el-form--inline{grid-template-columns:1fr;width:100%;display:grid}.el-form--inline .el-form-item,.el-form--inline .el-form-item__content,.el-form--inline .el-input,.el-form--inline .el-select,.el-form--inline .el-date-editor{margin-right:0;width:100%!important}.el-dialog{border-radius:16px!important;width:calc(100vw - 20px)!important;margin:10px auto!important}.el-drawer{width:min(100vw,420px)!important}.el-table{min-width:680px}.pagination-wrap{justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.el-pagination{justify-content:flex-start;width:max-content;min-width:100%}html body #app .admin-content .el-table__body-wrapper,html body #app .admin-content .el-table .el-scrollbar,html body #app .admin-content .el-table .el-scrollbar__wrap{overscroll-behavior-inline:contain!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important}html body #app .admin-content .el-table .el-scrollbar__wrap{overflow-x:auto!important}html body #app .admin-content .mobile-table-scroll{overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;position:relative!important;overflow:auto hidden!important}html body #app .admin-content .mobile-table-scroll .el-table .el-scrollbar__wrap{overflow-x:hidden!important}html body #app .admin-content .ai-admin-table-scroll>.el-table{width:1120px!important;min-width:1120px!important;max-width:none!important}html body #app .admin-content .system-admin-table-scroll>.el-table{width:1500px!important;min-width:1500px!important;max-width:none!important}html body #app .admin-content .enterprise-table-scroll>.el-table{width:1360px!important;min-width:1360px!important;max-width:none!important}html body #app .admin-content :where(.customer-filter-panel,.appointment-filter-panel,.project-filter-panel,.contract-filter-panel,.case-filter-panel,.service-filter-panel) .filter-action-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;display:grid!important;overflow:visible!important}html body #app .admin-content :where(.customer-filter-panel,.appointment-filter-panel,.project-filter-panel,.contract-filter-panel,.case-filter-panel,.service-filter-panel) .quick-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;min-width:0!important;display:grid!important;overflow:visible!important}html body #app .admin-content .customer-filter-panel .quick-filter-row{grid-template-columns:repeat(4,minmax(0,1fr))!important}html body #app .admin-content :where(.customer-filter-panel,.appointment-filter-panel,.project-filter-panel,.contract-filter-panel) .quick-filter-row button{box-sizing:border-box!important;color:#182943!important;text-overflow:ellipsis!important;white-space:nowrap!important;background:linear-gradient(#fffdf8,#faf6ee)!important;border:1px solid #c8b2716b!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:0 6px!important;font-size:10px!important;font-weight:650!important;line-height:1!important;display:flex!important;overflow:hidden!important;box-shadow:0 3px 10px #0d1b3309!important}html body #app .admin-content :where(.customer-table-panel,.appointment-table-panel,.project-table-panel,.contract-table-panel,.case-page .table-card,.service-entry-page .table-card) .table-panel-head{align-items:stretch!important;gap:8px!important}html body #app .admin-content :where(.customer-table-panel,.appointment-table-panel,.project-table-panel,.contract-table-panel,.case-page .table-card,.service-entry-page .table-card) .table-head-badges{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;max-width:none!important;display:grid!important}html body #app .admin-content :where(.customer-table-panel,.appointment-table-panel,.project-table-panel,.contract-table-panel) .table-head-badges span{box-sizing:border-box!important;color:#26364d!important;text-overflow:ellipsis!important;white-space:nowrap!important;background:linear-gradient(#fffdf8,#faf6ee)!important;border:1px solid #c8b2715c!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 6px!important;font-size:10px!important;line-height:1!important;display:flex!important;overflow:hidden!important}html body #app .admin-content .mobile-table-scroll{overscroll-behavior-inline:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b8864a8c #0d1b330f;box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow:auto hidden!important}html body #app .admin-content .mobile-table-scroll::-webkit-scrollbar{height:7px}html body #app .admin-content .mobile-table-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#c59a44,#2b776d);border-radius:999px}html body #app .admin-content .customer-table-panel .mobile-table-scroll>.el-table{width:1540px!important;min-width:1540px!important;max-width:none!important}html body #app .admin-content .appointment-table-panel .mobile-table-scroll>.el-table{width:1860px!important;min-width:1860px!important;max-width:none!important}html body #app .admin-content .project-table-panel .mobile-table-scroll>.el-table{width:1830px!important;min-width:1830px!important;max-width:none!important}html body #app .admin-content .contract-table-panel .mobile-table-scroll>.el-table{width:2180px!important;min-width:2180px!important;max-width:none!important}html body #app .admin-content .approval-page .table-card .mobile-table-scroll>.el-table{width:1440px!important;min-width:1440px!important;max-width:none!important}html body #app .admin-content .mobile-table-scroll .el-table__body-wrapper .el-scrollbar__wrap,html body #app .admin-content .mobile-table-scroll .el-scrollbar__wrap{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overflow-x:auto!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-group{box-sizing:border-box!important;background:linear-gradient(#f8f5ef,#fff)!important;border:1px solid #cfc2a8b8!important;border-radius:13px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;padding:5px!important;display:grid!important;overflow:visible!important;box-shadow:inset 0 1px #ffffffe6!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-button{width:100%!important;min-width:0!important;margin:0!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-button__inner{box-sizing:border-box!important;width:100%!important;height:34px!important;min-height:34px!important;box-shadow:none!important;color:#536175!important;white-space:nowrap!important;background:0 0!important;border:0!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0 4px!important;font-size:10px!important;font-weight:700!important;display:flex!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-button.is-active .el-radio-button__inner{color:#fff!important;background:linear-gradient(135deg,#091c3b,#17395f)!important;border:0!important;box-shadow:0 7px 16px #0d1b3333!important}.metrics-grid,.quick-grid,.hero-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.metric-card,.stat-card,.summary-card{border-radius:13px!important;min-height:84px!important;padding:11px!important}.page-header-main h1{font-size:19px}.filter-card,.table-card,.detail-card,.form-card,.timeline-card,.panel-card,.aligned-filter-panel,.drawer-card{border-radius:14px!important;padding:12px!important}.page-header-actions,.filter-action-row,.filter-buttons,.drawer-actions{flex-wrap:wrap;gap:7px;width:100%;display:flex}.page-header-actions>*,.filter-action-row>*,.filter-buttons>*,.drawer-actions>*{flex:112px;width:auto}.el-button{min-height:34px;padding-inline:10px;font-size:12px}.aligned-filter-panel .filter-field{grid-template-rows:auto minmax(36px,auto)}.aligned-filter-panel .filter-field .el-input__wrapper,.aligned-filter-panel .filter-field .el-select__wrapper,.aligned-filter-panel .filter-field .el-date-editor.el-input__wrapper{min-height:36px!important}html body #app .admin-content :where(.metrics-grid,.metric-grid,.summary-grid,.hero-stat-grid,.overview-status-grid,.contract-focus-grid,.contract-summary-grid,.customer-metric-grid,.detail-metric-grid,.dual-progress-grid,.governance-check-grid,.health-grid,.hh-ai-admin-metrics,.insight-metric-grid,.kpi-grid,.playbook-card-grid,.process-step-grid,.report-metric-grid,.risk-grid,.sphere-grid,.stage-grid,.status-chip-grid,.status-grid,.task-overview-grid,.trend-metrics,.warning-grid,.feature-grid,.entry-grid,.role-template-grid,.premium-svg-grid,.image-preview-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}html body #app .admin-content :where(.metrics-grid,.metric-grid,.summary-grid,.hero-stat-grid,.overview-status-grid,.contract-focus-grid,.contract-summary-grid,.customer-metric-grid,.detail-metric-grid,.dual-progress-grid,.governance-check-grid,.health-grid,.hh-ai-admin-metrics,.insight-metric-grid,.kpi-grid,.playbook-card-grid,.process-step-grid,.report-metric-grid,.risk-grid,.sphere-grid,.stage-grid,.status-chip-grid,.status-grid,.task-overview-grid,.trend-metrics,.warning-grid,.feature-grid,.entry-grid,.role-template-grid,.premium-svg-grid,.image-preview-grid)>*{min-width:0!important}html body #app .admin-content :where(.metric-card,.summary-card,.stat-card,.risk-card,.health-card,.warning-card,.feature-card,.stage-card,.status-card,.kpi-card){border-radius:12px!important;min-height:78px!important;padding:10px!important}html body #app .admin-content :where(.page-header,[class*=-hero],[class*=-filter-panel],[class*=-table-panel]){border-radius:14px!important;padding:12px!important}html body #app .admin-content :where(.page-header h1,[class*=-hero] h1){font-size:20px!important;line-height:1.22!important}html body #app .admin-content :where(.page-header p,[class*=-hero] p){font-size:11px!important;line-height:1.55!important}html body #app .admin-content{--mobile-gap:8px}html body #app .admin-content :where(.page-shell,[class$=-page]){gap:var(--mobile-gap)!important}html body #app .admin-content :where(.page-header,[class*=-hero]){min-height:0!important;margin-bottom:var(--mobile-gap)!important;gap:8px!important;padding:11px!important}html body #app .admin-content :where([class*=-hero-copy],.page-header-main){gap:4px!important}html body #app .admin-content :where(.hero-kicker,[class*=-kicker]){margin:0!important;font-size:10px!important;line-height:1.2!important}html body #app .admin-content :where(.page-header h1,[class*=-hero] h1){margin:3px 0!important;font-size:19px!important}html body #app .admin-content :where(.page-header p,[class*=-hero] p){-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;margin:0!important;font-size:10px!important;line-height:1.45!important}html body #app .admin-content :where(.page-header-actions,[class*=-hero-actions]){flex-wrap:wrap!important;align-items:center!important;gap:6px!important;width:100%!important;display:flex!important}html body #app .admin-content :where(.page-header-actions,[class*=-hero-actions])>*{flex:104px!important;width:auto!important;min-width:0!important}html body #app .admin-content :where(.aligned-filter-panel,[class*=-filter-panel],.filter-card){margin-bottom:var(--mobile-gap)!important;padding:10px!important}html body #app .admin-content :where(.filter-panel-head,[class*=-filter-panel] .filter-panel-head){flex-direction:row!important;align-items:center!important;gap:8px!important}html body #app .admin-content :where(.filter-panel-head h2){margin:0!important;font-size:16px!important}html body #app .admin-content :where(.filter-panel-head p){display:none!important}html body #app .admin-content :where(.aligned-filter-panel .filter-grid,[class*=-filter-panel] .filter-grid,.filter-card .filter-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:9px!important}html body #app .admin-content :where(.filter-field-wide,.filter-wide,.filter-date,.filter-view){grid-column:1/-1!important}html body #app .admin-content :where(.filter-field){grid-template-rows:auto 34px!important;gap:3px!important}html body #app .admin-content :where(.filter-field>span){font-size:10px!important}html body #app .admin-content :where(.filter-field .el-input__wrapper,.filter-field .el-select__wrapper,.filter-field .el-date-editor.el-input__wrapper){border-radius:9px!important;min-height:34px!important}html body #app .admin-content :where(.quick-filter-row,.filter-action-row){flex-wrap:nowrap!important;gap:6px!important;margin-top:8px!important;padding-top:8px!important;overflow-x:auto!important}html body #app .admin-content :where(.quick-filter-row button){flex:none!important;min-height:30px!important;padding:0 10px!important;font-size:10px!important}html body #app .admin-content .appointment-overview{margin-bottom:var(--mobile-gap)!important;border-radius:13px!important;grid-template-columns:1fr!important;gap:7px!important;padding:8px!important}html body #app .admin-content .overview-main-card{border-radius:11px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;min-height:60px!important;padding:9px 11px!important}html body #app .admin-content .overview-main-card strong{grid-area:1/2/span 2!important;margin:0!important;font-size:26px!important}html body #app .admin-content .overview-main-card em{text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden;font-size:10px!important}html body #app .admin-content .overview-status-card{border-radius:11px!important;gap:7px!important;min-height:66px!important;padding:8px!important}html body #app .admin-content .metric-icon{border-radius:9px!important;width:34px!important;height:34px!important}html body #app .admin-content .metric-icon img{width:20px!important;height:20px!important}html body #app .admin-content .metric-content strong{margin:2px 0!important;font-size:20px!important}html body #app .admin-content .metric-subtext{display:none!important}html body #app .admin-content .cyber-hero{grid-template-columns:1fr!important;min-height:0!important;padding:11px!important}html body #app .admin-content .cyber-hero .hero-signal-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-top:8px!important}html body #app .admin-content .cyber-hero .hero-signal-row article{border-radius:10px!important;min-height:58px!important;padding:7px 8px!important}html body #app .admin-content .cyber-hero .hero-signal-row strong{margin:3px 0!important;font-size:20px!important}html body #app .admin-content :where(.cyber-panel,.trend-panel,.knowledge-panel){min-height:0!important;padding:11px!important}html body #app .admin-content :where(.trend-chart,.chart-box,.funnel-wrap,.funnel-chart){height:210px!important;min-height:0!important}html body #app .admin-content .cyber-kpi-card{grid-template-columns:34px minmax(0,1fr)!important;min-height:84px!important;padding:9px!important}html body #app .admin-content .cyber-kpi-card .kpi-icon{width:34px!important;height:34px!important}html body #app .admin-content .cyber-kpi-card .kpi-main strong{margin-top:3px!important;font-size:24px!important}html body #app .admin-content .entry-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;width:100%!important;min-width:0!important;padding:6px!important;display:grid!important}html body #app .admin-content .entry-card-actions .el-button{width:100%!important;min-width:0!important;margin:0!important}html body #app .admin-content .report-hero-actions>*{width:100%!important}html body #app .admin-content .range-switch{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:4px!important;display:grid!important}html body #app .admin-content .range-switch .range-btn{min-width:0!important;padding:0 5px!important}html body #app .admin-content{font-size:11px}html body #app .admin-content :where(.customer-hero,.appointment-hero,.project-hero,.contract-hero,.quote-hero,.finance-hero,.report-hero,.system-hero,.governance-hero,.moderation-hero){border-radius:12px!important;min-height:0!important;padding:10px!important}html body #app .admin-content :where(.customer-hero,.appointment-hero,.project-hero,.contract-hero,.quote-hero,.finance-hero,.report-hero,.system-hero,.governance-hero,.moderation-hero) p{-webkit-line-clamp:1!important}html body #app .admin-content :where(.customer-hero-actions,.appointment-hero-actions,.hero-actions,.report-hero-actions,.page-header-actions){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;width:100%!important;margin-top:6px!important;display:grid!important}html body #app .admin-content :where(.customer-hero-actions,.appointment-hero-actions,.hero-actions,.report-hero-actions,.page-header-actions)>*{width:100%!important;min-height:32px!important;margin:0!important;padding:0 8px!important;font-size:10px!important}html body #app .admin-content :where(.table-card,.panel-card,.detail-card,.form-card,.timeline-card,.content-card,[class*=-table-panel],[class*=-content-panel],[class*=-overview-panel]){border-radius:12px!important;min-height:0!important;padding:9px!important;box-shadow:0 8px 22px #0d1b330d!important}html body #app .admin-content :where(.table-panel-head,.panel-head,.card-head,.card-header,.section-head,.section-header){flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:6px!important;min-height:32px!important;margin:0 0 7px!important;display:flex!important}html body #app .admin-content :where(.table-panel-head h2,.panel-head h2,.card-head h2,.card-header h2,.section-head h2,.section-header h2,.table-panel-head h3,.panel-head h3){margin:0!important;font-size:14px!important;line-height:1.3!important}html body #app .admin-content :where(.table-panel-head p,.panel-head p,.card-head p,.card-header p,.section-head p,.section-header p){display:none!important}html body #app .admin-content :where(.summary-card,.metric-card,.stat-card,.risk-card,.health-card,.warning-card,.status-card,.kpi-card,.overview-status-card,.report-metric-card,.cyber-kpi-card){border-radius:10px!important;min-height:68px!important;padding:8px!important}html body #app .admin-content :where(.summary-value,.metric-value,.stat-value,.kpi-value,.report-metric-value){margin:2px 0!important;font-size:21px!important;line-height:1.1!important}html body #app .admin-content :where(.summary-subtext,.metric-subtext,.stat-subtext,.card-description,.metric-description){display:none!important}html body #app .admin-content :where(.customer-metric-grid,.overview-status-grid,.summary-grid,.metrics-grid,.metric-grid,.report-metric-grid,.risk-grid,.trend-metrics,.status-grid,.health-grid,.warning-grid,.kpi-grid,.hero-stat-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}html body #app .admin-content :where(.filter-card,.aligned-filter-panel,[class*=-filter-panel]){border-radius:11px!important;padding:8px!important}html body #app .admin-content :where(.filter-grid,.aligned-filter-panel .filter-grid,[class*=-filter-panel] .filter-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin-top:6px!important}html body #app .admin-content :where(.filter-field,.filter-field-wide,.filter-wide,.filter-date,.filter-view){grid-column:auto!important;grid-template-rows:auto 32px!important;gap:2px!important;min-width:0!important}html body #app .admin-content :where(.filter-field .el-input__wrapper,.filter-field .el-select__wrapper,.filter-field .el-date-editor.el-input__wrapper){border-radius:8px!important;min-height:32px!important;padding-inline:8px!important}html body #app .admin-content .el-form-item{margin-bottom:9px!important}html body #app .admin-content .el-form-item__label{height:auto!important;margin-bottom:3px!important;font-size:10px!important;line-height:1.3!important}html body #app .admin-content :where(.el-input__wrapper,.el-select__wrapper,.el-date-editor.el-input__wrapper,.el-textarea__inner){border-radius:8px!important;min-height:32px!important}html body #app .admin-content .el-button{border-radius:8px!important;min-height:30px!important;padding:5px 9px!important;font-size:10px!important}html body #app .admin-content .el-table{font-size:10px!important}html body #app .admin-content .el-table .el-table__cell{padding:5px 0!important}html body #app .admin-content .el-table .cell{padding-inline:7px!important;line-height:1.35!important}html body #app .admin-content :where(.table-actions,.compact-actions){flex-wrap:nowrap!important;gap:3px!important}html body #app .admin-content :where(.pagination-bar,.pagination-wrap){min-height:38px!important;margin-top:7px!important;padding:4px 0!important;overflow-x:auto!important}html body #app :where(.el-dialog){border-radius:12px!important;width:calc(100vw - 16px)!important;max-width:620px!important;max-height:calc(100dvh - 20px)!important;margin:10px auto!important}html body #app :where(.el-dialog__header,.el-dialog__body,.el-dialog__footer){padding:10px!important}html body #app :where(.el-drawer){width:min(92vw,420px)!important}html body #app :where(.el-drawer__header,.el-drawer__body,.el-drawer__footer){padding:10px!important}html body #app .admin-content :where(.detail-metric-grid,.insight-metric-grid,.stage-grid,.task-overview-grid,.plan-grid,.record-grid,.split-grid,.insight-content-grid,.form-grid,.info-grid,.drawer-stat-row,.export-grid,.playbook-card-grid,.role-template-grid,.governance-check-grid,.report-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}html body #app .admin-content :where(.detail-metric-card,.insight-metric,.stage-card,.task-overview-card,.drawer-stat-card,.insight-block,.plan-card,.record-card){border-radius:10px!important;min-height:68px!important;padding:8px!important}html body #app .admin-content :where(.detail-panel,.insight-panel,.schedule-panel,.upload-panel,.editor-panel,.workspace-panel){border-radius:11px!important;min-height:0!important;padding:9px!important}html body #app .admin-content :where(.panel-desc,.data-list-subtitle,.stage-desc,.stage-helper){-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin:2px 0!important;font-size:9px!important;line-height:1.4!important;display:-webkit-box!important;overflow:hidden!important}html body #app .admin-content :where(.dashboard-top-grid,.dashboard-middle-grid,.dashboard-bottom-grid,.analysis-grid,.content-grid,.bottom-grid){gap:7px!important}html body #app .admin-content :where(.cyber-panel,.trend-panel,.funnel-panel,.activity-panel,.knowledge-panel,.chart-card,.overview-card,.todo-card){border-radius:11px!important;min-height:0!important;padding:9px!important}html body #app .admin-content :where(.chart-box,.trend-chart,.funnel-chart,.vector-chart){height:180px!important;min-height:0!important}html body #app .admin-content :where(.schedule-board,.task-table-wrap,.tabs-scroll,.el-tabs__nav-scroll){-webkit-overflow-scrolling:touch;overflow-x:auto!important}html body #app .admin-content .el-tabs__header{margin-bottom:8px!important}html body #app .admin-content .el-tabs__item{height:34px!important;padding:0 10px!important;font-size:10px!important}html body #app .admin-content .cyber-hero .hero-visual{min-height:168px!important;display:flex!important}html body #app .admin-content .cyber-hero .circuit-board-layer{display:none!important}html body #app .admin-content .entry-grid{grid-template-columns:minmax(0,1fr)!important}html body #app .admin-content .entry-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-width:0!important;display:grid!important}html body #app .admin-content .report-hero-actions{grid-template-columns:minmax(0,1fr)!important;display:grid!important}html body #app .admin-content .report-hero-actions .range-switch{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;display:grid!important}html body #app .admin-content :where(.table-card,.table-panel,.table-scroll){-webkit-overflow-scrolling:touch;overflow-x:auto!important}html body #app .admin-content .role-template-grid,html body #app .admin-content :where(.dashboard-top-grid,.dashboard-middle-grid,.dashboard-bottom-grid,.analysis-grid,.content-grid,.bottom-grid){grid-template-columns:minmax(0,1fr)!important}html body #app .admin-content .aligned-filter-panel .filter-view,html body #app .admin-content .aligned-filter-panel .filter-field-wide{grid-column:1/-1!important}html body #app .admin-content .aligned-filter-panel .filter-view .el-radio-group{grid-template-columns:repeat(3,minmax(0,1fr))!important}html body #app .admin-content .chart-wide{grid-column:auto!important}html body #app .admin-content .cyber-hero .hero-visual{min-height:124px!important}html,body,#app{max-width:100%;overflow-x:hidden}html body #app .el-dialog{flex-direction:column;display:flex;overflow:hidden}html body #app .el-dialog__header{flex:none;margin-right:0!important}html body #app .el-dialog__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;max-height:calc(100dvh - 118px)!important;overflow:hidden auto!important}html body #app .el-dialog__footer{flex:none}html body .el-message-box{width:calc(100vw - 16px)!important;max-width:420px!important}html body #app .admin-content :where(.el-form-item,.el-form-item__content){min-width:0!important}html body #app .admin-content :where(.role-template-card,.report-panel,.entry-card,.case-cell,.metric-card){writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:normal!important}}@media (width<=1024px){html body #app .admin-content .appointment-filter-panel .quick-filter-row{flex-wrap:wrap!important;gap:6px!important;width:100%!important;display:flex!important;overflow:visible!important}html body #app .admin-content .appointment-filter-panel .quick-filter-row button{border-radius:9px!important;flex:none!important;min-height:30px!important;padding:0 11px!important;font-size:11px!important;line-height:1!important}html body #app .admin-content .approval-page .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;display:grid!important}html body #app .admin-content .approval-page .filter-view,html body #app .admin-content .approval-page .filter-field-wide{grid-column:1/-1!important}html body #app .admin-content .report-page .report-grid,html body #app .admin-content .ai-cyber-page .dashboard-top-grid,html body #app .admin-content .ai-cyber-page .dashboard-middle-grid,html body #app .admin-content .ai-cyber-page .dashboard-bottom-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important}html body #app .admin-content .report-page .report-panel,html body #app .admin-content .ai-cyber-page .cyber-panel{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}html body #app .admin-content .report-page .chart-box,html body #app .admin-content .ai-cyber-page .chart-box,html body #app .admin-content .ai-cyber-page .trend-chart,html body #app .admin-content .ai-cyber-page .funnel-wrap,html body #app .admin-content .ai-cyber-page .funnel-chart{width:100%!important;max-width:100%!important;overflow:hidden!important}html body #app .admin-content .ai-cyber-page .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important;display:grid!important}html body #app .admin-content .ai-cyber-page .hero-actions>.el-segmented{grid-column:1/-1!important;width:100%!important}html body #app .admin-content .ai-cyber-page .hero-actions>.el-button{width:100%!important;margin:0!important}}@media (width<=760px){html body #app .admin-content .appointment-filter-panel .filter-action-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;display:grid!important;overflow:visible!important}html body #app .admin-content .appointment-filter-panel .quick-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important}html body #app .admin-content .appointment-filter-panel .quick-filter-row button{white-space:nowrap!important;width:100%!important;min-width:0!important;padding:0 5px!important}html body #app .admin-content .approval-page .filter-grid{grid-template-columns:minmax(0,1fr)!important}html body #app .admin-content .approval-page .filter-field,html body #app .admin-content .approval-page .filter-view,html body #app .admin-content .approval-page .filter-field-wide{grid-column:auto!important;grid-template-rows:auto 36px!important}html body #app .admin-content .approval-page .filter-card .el-radio-group{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;width:100%!important;display:grid!important}html body #app .admin-content .approval-page .filter-card .el-radio-button,html body #app .admin-content .approval-page .filter-card .el-radio-button__inner{width:100%!important;min-width:0!important;margin:0!important}html body #app .admin-content .approval-page .filter-action-row,html body #app .admin-content .approval-page .filter-buttons{width:100%!important}html body #app .admin-content .approval-page .filter-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important}html body #app .admin-content .report-page .report-metric-grid,html body #app .admin-content .report-page .status-chip-grid,html body #app .admin-content .report-page .dual-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body #app .admin-content .report-page .chart-box{height:220px!important;margin-top:10px!important}html body #app .admin-content .ai-cyber-page .cyber-hero .hero-visual{height:118px!important;min-height:118px!important;max-height:118px!important}html body #app .admin-content .ai-cyber-page .cyber-hero .premium-ai-stage{width:132px!important;max-height:112px!important}html body #app .admin-content .ai-cyber-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body #app .admin-content .ai-cyber-page .cyber-kpi-card{grid-template-columns:36px minmax(0,1fr)!important;min-height:76px!important}html body #app .admin-content .ai-cyber-page .kpi-main{min-width:0!important;padding-right:0!important}html body #app .admin-content .ai-cyber-page .kpi-spark{display:none!important}html body #app .admin-content .ai-cyber-page .knowledge-body{grid-template-columns:132px minmax(0,1fr)!important}html body #app .admin-content .ai-cyber-page .vector-ring-wrap,html body #app .admin-content .ai-cyber-page .vector-chart{width:132px!important;height:132px!important}html body #app .admin-content .ai-cyber-page .chart-box,html body #app .admin-content .ai-cyber-page .trend-chart,html body #app .admin-content .ai-cyber-page .funnel-wrap,html body #app .admin-content .ai-cyber-page .funnel-chart{height:220px!important}html body #app .admin-content :is(.customer-filter-panel,.appointment-filter-panel,.project-filter-panel,.contract-filter-panel) .quick-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;display:grid!important;overflow:visible!important}html body #app .admin-content .customer-filter-panel .quick-filter-row{grid-template-columns:repeat(4,minmax(0,1fr))!important}html body #app .admin-content :is(.customer-filter-panel,.appointment-filter-panel,.project-filter-panel,.contract-filter-panel) .quick-filter-row button{box-sizing:border-box!important;white-space:nowrap!important;border-radius:10px!important;width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:0 6px!important;font-size:10px!important;line-height:1!important}html body #app .admin-content :is(.customer-table-panel,.appointment-table-panel,.project-table-panel,.contract-table-panel) .table-head-badges{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;display:grid!important}html body #app .admin-content :is(.customer-table-panel,.appointment-table-panel,.project-table-panel,.contract-table-panel) .table-head-badges span{box-sizing:border-box!important;white-space:nowrap!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 6px!important;font-size:10px!important;display:flex!important}html body #app .admin-content .mobile-table-scroll{touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;overflow:auto hidden!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-group{background:linear-gradient(#f8f5ef,#fff)!important;border:1px solid #cfc2a8b8!important;border-radius:13px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:5px!important;display:grid!important;overflow:visible!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-button__inner{width:100%!important;height:34px!important;min-height:34px!important;box-shadow:none!important;color:#536175!important;background:0 0!important;border:0!important;border-radius:9px!important;padding:0 4px!important;font-size:10px!important}html body #app .admin-content .approval-page .filter-card .filter-view .el-radio-button.is-active .el-radio-button__inner{color:#fff!important;background:linear-gradient(135deg,#091c3b,#17395f)!important;box-shadow:0 7px 16px #0d1b3333!important}html body #app .admin-content :is(.case-filter-panel,.service-filter-panel) .quick-filter-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;width:100%!important;display:grid!important;overflow:visible!important}html body #app .admin-content :is(.case-filter-panel,.service-filter-panel) .quick-filter-row button{box-sizing:border-box!important;white-space:nowrap!important;border-radius:10px!important;width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:0 5px!important;font-size:10px!important;line-height:1!important}html body #app .admin-content :is(.case-page,.service-entry-page) .table-head-badges{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;display:grid!important}html body #app .admin-content :is(.case-page,.service-entry-page) .table-head-badges span{box-sizing:border-box!important;white-space:nowrap!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 6px!important;font-size:10px!important;display:flex!important}html body #app .admin-content .case-page .mobile-table-scroll>.el-table{width:1500px!important;min-width:1500px!important;max-width:none!important}html body #app .admin-content .service-entry-page .mobile-table-scroll>.el-table{width:1380px!important;min-width:1380px!important;max-width:none!important}html body #app .admin-content .mobile-table-scroll .el-table__body-wrapper .el-scrollbar__wrap,html body #app .admin-content .mobile-table-scroll .el-table .el-scrollbar__wrap{overflow-x:hidden!important}html body #app .admin-content .message-admin-table-scroll>.el-table{width:1260px!important;min-width:1260px!important;max-width:none!important}html body #app .admin-content .ai-lead-table-scroll>.el-table,html body #app .admin-content .ai-knowledge-table-scroll>.el-table{width:1080px!important;min-width:1080px!important;max-width:none!important}html body #app .admin-content .banner-admin-table-scroll>.el-table{width:1120px!important;min-width:1120px!important;max-width:none!important}html body #app .admin-content .finance-table-scroll>.el-table{width:1620px!important;min-width:1620px!important;max-width:none!important}html body #app .admin-content .mobile-table-scroll:focus-visible{outline-offset:2px;outline:2px solid #b8864a94}html body #app .admin-content .message-page .message-table-panel{overflow-x:hidden!important}}.mobile-detail-grid{display:none}@media (width<=900px){html body #app .admin-content :is(.project-detail-page,.contract-detail-page){gap:10px!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important}html body #app .admin-content .project-detail-page .split-grid,html body #app .admin-content .contract-detail-page :is(.hero-grid,.plan-grid,.record-grid){box-sizing:border-box!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;display:grid!important}html body #app .admin-content .project-detail-page .split-grid>.panel-card,html body #app .admin-content .contract-detail-page :is(.hero-grid,.plan-grid,.record-grid)>.panel-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;overflow:hidden!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .desktop-detail-descriptions{display:none!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important;margin-top:10px!important;display:grid!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-detail-item{box-sizing:border-box!important;background:linear-gradient(145deg,#fffffffa,#f8f4ebeb)!important;border:1px solid #ded4bfc7!important;border-radius:11px!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;min-width:0!important;min-height:54px!important;padding:9px 10px!important;display:flex!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-detail-item--wide{grid-column:1/-1!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-detail-item span{color:#8a7a5c!important;font-size:9px!important;line-height:1.2!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-detail-item strong{color:#0d1b33!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;font-size:11px!important;line-height:1.35!important;overflow:hidden!important}html body #app .admin-content .project-detail-page .metrics-grid-wide,html body #app .admin-content .contract-detail-page .metrics-grid,html body #app .admin-content .project-detail-page .stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important;display:grid!important}html body #app .admin-content .project-detail-page .stage-card{box-sizing:border-box!important;border-radius:11px!important;width:100%!important;min-width:0!important;min-height:92px!important;padding:10px!important}html body #app .admin-content .project-detail-page .stage-topline{justify-content:space-between!important;align-items:center!important;gap:6px!important;display:flex!important}html body #app .admin-content .project-detail-page :is(.stage-name,.stage-percent){writing-mode:horizontal-tb!important;white-space:nowrap!important;width:auto!important;font-size:11px!important;line-height:1.25!important}html body #app .admin-content .project-detail-page :is(.stage-desc,.stage-helper){-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;font-size:9px!important;line-height:1.35!important;display:-webkit-box!important;overflow:hidden!important}html body #app .admin-content .project-detail-page .timeline-filter-switch{box-sizing:border-box!important;border-radius:11px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;width:100%!important;padding:4px!important;display:grid!important;overflow:visible!important}html body #app .admin-content .project-detail-page .timeline-filter-switch button{border-radius:8px!important;width:100%!important;min-width:0!important;height:31px!important;padding:0 2px!important;font-size:9px!important}html body #app .admin-content .project-detail-page :is(.project-timeline-panel,.project-archive-panel) .el-empty,html body #app .admin-content .contract-detail-page :is(.plan-card,.record-card,.project-card) .el-empty{padding:10px 0 4px!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .el-empty__image{width:76px!important;height:58px!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .el-empty__description{margin-top:6px!important;font-size:10px!important}html body #app .admin-content .contract-detail-page :is(.plan-card,.record-card) .panel-header{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;display:grid!important}html body #app .admin-content .contract-detail-page :is(.plan-card,.record-card) .panel-header .panel-desc{display:none!important}html body #app .admin-content .contract-detail-page :is(.plan-card,.record-card) .panel-header .el-button{white-space:nowrap!important;width:auto!important;min-width:84px!important;height:32px!important;margin:0!important;padding:0 9px!important;font-size:9px!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .list-empty{min-height:86px!important;padding:2px 0!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-table-scroll{box-sizing:border-box!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-inline:contain!important;border-radius:10px!important;width:100%!important;max-width:100%!important;overflow:auto hidden!important}html body #app .admin-content .project-detail-page .project-detail-table-scroll>.el-table{width:1460px!important;min-width:1460px!important;max-width:none!important}html body #app .admin-content .contract-detail-page .contract-detail-table-scroll>.el-table{width:1260px!important;min-width:1260px!important;max-width:none!important}html body #app .admin-content .contract-detail-page .contract-detail-table-scroll--record>.el-table{width:820px!important;min-width:820px!important}html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-table-scroll .el-table__body-wrapper .el-scrollbar__wrap,html body #app .admin-content :is(.project-detail-page,.contract-detail-page) .mobile-table-scroll .el-table .el-scrollbar__wrap{overflow-x:hidden!important}}@media (width<=760px){html body #app .admin-content .mobile-table-scroll,html body .el-overlay .mobile-table-scroll{box-sizing:border-box!important;overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;display:block!important;position:relative!important;overflow:auto hidden!important}html body #app .admin-content .mobile-table-scroll .el-table .el-scrollbar__wrap,html body .el-overlay .mobile-table-scroll .el-table .el-scrollbar__wrap{touch-action:auto!important;overflow-x:hidden!important}html body #app .admin-content .quote-list-table-scroll>.el-table{width:2000px!important;min-width:2000px!important;max-width:none!important}html body #app .admin-content .contract-template-table-scroll>.el-table{width:1540px!important;min-width:1540px!important;max-width:none!important}html body #app .admin-content .finance-overview-table-scroll>.el-table{width:760px!important;min-width:760px!important;max-width:none!important}html body #app .admin-content .contract-node-table-scroll>.el-table{width:1740px!important;min-width:1740px!important;max-width:none!important}html body #app .admin-content .customer-detail-table-scroll>.el-table{width:820px!important;min-width:820px!important;max-width:none!important}html body #app .admin-content .customer-detail-followup-scroll>.el-table{width:940px!important;min-width:940px!important;max-width:none!important}html body #app .admin-content .report-role-table-scroll>.el-table{width:980px!important;min-width:980px!important;max-width:none!important}html body #app .admin-content .customer-followup-table-scroll>.el-table{width:1640px!important;min-width:1640px!important;max-width:none!important}html body .el-overlay .quote-batch-table-scroll>.el-table{width:780px!important;min-width:780px!important;max-width:none!important}html body .el-overlay .quote-import-table-scroll>.el-table{width:900px!important;min-width:900px!important;max-width:none!important}}
