:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--sidebar-width:220px;--surface:#fff;--surface-soft:#f8fafc;--line:#e5e7eb;--text-muted:#6b7280;--text-subtle:#9ca3af;--accent:#f6a800;--accent-soft:#fff7e3;--green:#2fac66;--shadow-soft:0 18px 45px #0f172a0f;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 92% 8%,#f6a8001a,#0000 28%),linear-gradient(#fff 0%,#f8fafc 42%,#f6f7fb 100%);min-width:320px;min-height:100vh;margin:0}button{font:inherit;border:0}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:#ffffffeb;border-right:1px solid #eef0f4;flex-direction:column;height:100vh;padding:34px 14px 24px;display:flex;position:sticky;top:0;box-shadow:14px 0 40px #0f172a0a}.brand{align-items:center;min-width:0;margin-bottom:52px;padding:0 10px;display:flex}.brand strong,.brand span{align-items:center;display:flex}.brand strong{color:#111827;white-space:nowrap;font-size:17px;font-weight:800;line-height:1.2}.brand span{color:var(--text-muted);gap:5px;margin-top:5px;font-size:13px;line-height:1}.sidebar-nav{gap:10px;display:grid}.sidebar-footer{border-top:1px solid #eef0f4;gap:8px;margin-top:auto;padding:16px 8px 0;display:grid}.nav-group{gap:8px;display:grid}.sidebar-nav button,.sidebar-nav a{color:#374151;cursor:pointer;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:11px;min-height:48px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s,box-shadow .16s;display:flex}.sidebar-nav button svg,.sidebar-nav a svg{color:#374151;flex:none}.nav-item-text{gap:2px;min-width:0;display:grid}.nav-item-text small{color:var(--text-subtle);font-size:12px;font-weight:600;line-height:1.15}.sidebar-nav button.active:not(.sub-nav),.sidebar-nav button:hover:not(.sub-nav),.sidebar-nav a.active:not(.sub-nav),.sidebar-nav a:hover:not(.sub-nav){color:#111827;background:linear-gradient(90deg,#fff3cf 0%,#fff9e9 100%);box-shadow:0 12px 28px #f6a8001f}.sidebar-nav button.active:not(.sub-nav) svg,.sidebar-nav button:hover:not(.sub-nav) svg,.sidebar-nav a.active:not(.sub-nav) svg,.sidebar-nav a:hover:not(.sub-nav) svg{color:var(--accent)}.sidebar-nav .sub-nav{color:#6b7280;border-left:2px solid #fedb87;border-radius:0 8px 8px 0;min-height:36px;margin-left:28px;padding:0 12px;font-size:14px;font-weight:700}.sidebar-nav .sub-nav.active,.sidebar-nav .sub-nav:hover{color:#d08300;background:#fff8e6}.workspace{min-width:0}.sidebar-footer button{color:#334155;cursor:pointer;background:0 0;border-radius:8px}.sidebar-footer-action,.sidebar-assistant-action{text-align:left;align-items:center;gap:9px;min-height:36px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.sidebar-footer-action:hover,.sidebar-assistant-action:hover{background:#f8fafc}.sidebar-assistant-menu{position:relative}.sidebar-assistant-menu summary{list-style:none}.sidebar-assistant-menu summary::-webkit-details-marker{display:none}.sidebar-assistant-menu[open] .sidebar-assistant-action{background:#f8fafc}.app-version-badge{color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.3}.release-modal-backdrop{z-index:80;background:#0f172a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.release-modal{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:18px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 26px 80px #0f172a38}.release-modal-icon{color:#d08300;background:#fff7e3;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.release-modal-heading{gap:6px;display:grid}.release-modal-heading p,.release-modal-heading h2{margin:0}.release-modal-heading p{color:#16a34a;font-size:13px;font-weight:800}.release-modal-heading h2{color:#111827;font-size:24px;line-height:1.25}.release-modal-heading span{color:#64748b;font-size:13px;font-weight:700}.release-modal-list{color:#334155;background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;gap:10px;margin:0;padding:16px 18px;font-size:14px;line-height:1.65;display:grid}.release-modal-list li{margin-left:16px}.release-modal-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.release-modal-actions span{color:#64748b;font-size:13px;line-height:1.5}.release-modal-actions button{color:#fff;cursor:pointer;background:#16a34a;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:8px;min-width:118px;min-height:40px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex}.release-modal-actions button:disabled{cursor:wait;opacity:.72}.release-refresh-icon{animation:1s linear infinite release-spin}@keyframes release-spin{to{transform:rotate(360deg)}}.assistant-logout-popover{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 14px 34px #0f172a1f}.assistant-logout-popover button{color:#dc2626;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.assistant-logout-popover button:hover{background:#fef2f2}.current-user-switcher{color:#475569;gap:6px;padding:8px;font-size:12px;font-weight:800;display:grid}.current-user-switcher select{color:#111827;width:100%;min-height:34px;font:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:7px}.notification-action{position:relative}.notification-action span{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:18px;height:16px;padding:0 5px;font-size:10px;font-weight:800;display:grid;position:absolute;top:1px;left:18px}.assistant-avatar{color:#fff;background:linear-gradient(#aab1bd,#8f98a6);border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.main-panel{min-width:0;padding:24px 36px 36px}.app-startup-loading{place-items:start center;min-height:100vh;padding:104px 24px 32px;display:grid}.app-startup-loading-compact{min-height:260px;padding:28px 0}.app-startup-card{background:#fff;border:1px solid #dde6f1;border-radius:12px;align-items:flex-start;gap:16px;width:min(100%,520px);padding:20px 22px;display:flex;box-shadow:0 6px 10px #0f172a0f}.app-startup-mark{background:#fff7e6;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid;position:relative}.app-startup-mark:before,.app-startup-mark i{content:"";border-radius:999px;display:block}.app-startup-mark:before{border:2px solid #f0b23f;border-top-color:#0000;width:18px;height:18px;animation:.85s linear infinite app-startup-spin}.app-startup-mark i{border:1px solid #f6a8003d;position:absolute;inset:8px}.app-startup-content{gap:7px;min-width:0;display:grid}.app-startup-content h1{color:#172033;margin:0;font-size:18px;font-weight:900;line-height:1.35}.app-startup-content p{color:#475569;margin:0;font-size:14px;line-height:1.6}.app-startup-skeleton{gap:7px;width:min(100%,320px);margin-top:6px;display:grid}.app-startup-skeleton span{background:#eef3f8;border-radius:999px;height:8px;display:block;overflow:hidden}.app-startup-skeleton span:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000,#f6a8003d,#0000);width:40%;height:100%;animation:1.1s ease-in-out infinite app-startup-sweep;display:block}.app-startup-skeleton span:last-child{width:68%}@keyframes app-startup-spin{to{transform:rotate(360deg)}}@keyframes app-startup-sweep{0%{transform:translate(-100%)}to{transform:translate(260%)}}.permission-empty-state{background:#fff;border:1px solid #d8e0ec;border-radius:12px;align-items:flex-start;gap:16px;width:min(100%,680px);margin:28px auto 0;padding:22px 24px;display:flex;box-shadow:0 8px 20px #0f172a12}.permission-empty-state-icon{color:#9a6100;background:#fff7e6;border:1px solid #f6d58a;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.permission-empty-state-content{gap:7px;min-width:0;display:grid}.permission-empty-state h1{color:#172033;margin:0;font-size:18px;font-weight:900;line-height:1.35}.permission-empty-state p{color:#475569;max-width:62ch;margin:0;font-size:14px;line-height:1.7}.permission-empty-state span{color:#64748b;background:#f8fafc;border-radius:999px;width:fit-content;margin-top:4px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}@media (prefers-reduced-motion:reduce){.app-startup-mark:before,.app-startup-skeleton span:after{animation:none}}.settings-page{gap:16px;display:grid}.settings-header,.settings-table-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-header h1,.settings-table-heading h2{margin:0}.settings-header p,.settings-table-heading p{color:var(--text-muted);margin:6px 0 0}.customer-inline-success{color:#16834f;background:#e7f8ee;border-radius:8px;width:fit-content;margin:0;padding:9px 12px;font-size:13px;font-weight:800}.customer-operator-tags{flex-wrap:wrap;gap:6px;min-width:0;max-width:240px;display:flex}.customer-operator-tags span,.customer-operator-tags em{color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap;background:#eef6ff;border-radius:999px;max-width:108px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:800;overflow:hidden}.customer-operator-tags em{color:#64748b;background:#f8fafc}.customer-operator-empty{color:#64748b;font-size:13px;font-weight:700}.assignment-layout{grid-template-columns:300px minmax(0,1fr);gap:16px;display:grid}.operator-list,.assignment-tree-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:10px}.operator-list{align-content:start;gap:10px;padding:16px;display:grid}.operator-list h2{margin:0 0 6px;font-size:18px}.operator-list button{color:#111827;cursor:pointer;text-align:left;background:#fff;border:1px solid #edf2f7;border-radius:8px;gap:4px;width:100%;padding:12px;display:grid}.operator-list button.active,.operator-list button:hover{background:#f2fbf6;border-color:#bde8d0}.operator-list span,.operator-list em,.settings-empty{color:var(--text-muted);font-size:13px;font-style:normal}.assignment-tree-panel{gap:14px;padding:16px;display:grid}.assignment-search{max-width:420px}.assignment-filter-tabs{flex-wrap:wrap;gap:8px;display:flex}.assignment-filter-tabs button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe5f2;border-radius:999px;min-height:32px;padding:0 12px;font-size:13px;font-weight:800}.assignment-filter-tabs button.active,.assignment-filter-tabs button:hover{color:#9a6200;background:#fff7e3;border-color:#f6c35a}.assignment-tree{gap:12px;display:grid}.customer-assignment-list{gap:10px}.assignment-tree article{border:1px solid #edf2f7;border-radius:8px;overflow:hidden}.assignment-customer-node{color:#111827;cursor:pointer;text-align:left;background:#fff;border:0;grid-template-columns:auto minmax(210px,1.2fr) minmax(220px,1fr) auto;align-items:center;gap:8px;width:100%;min-height:42px;padding:12px;display:grid}.assignment-customer-node:hover{background:#f8fafc}.assignment-customer-main{gap:3px;min-width:0;display:grid}.assignment-customer-main strong,.assignment-customer-main em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assignment-customer-main strong{font-size:14px}.assignment-customer-main em{color:#64748b;font-size:13px;font-style:normal}.assignment-operator-tags{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.assignment-operator-tags span{color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap;background:#eef6ff;border-radius:999px;max-width:116px;padding:4px 8px;font-size:12px;font-weight:800;overflow:hidden}.assignment-operator-tags span.current{color:#16834f;background:#e7f8ee}.assignment-operator-tags span.empty{color:#94a3b8;background:#f8fafc}.assignment-state-badge{white-space:nowrap;justify-self:end;font-size:12px;font-weight:900}.assignment-state-badge.current,.assignment-state-badge.multi{color:#16834f}.assignment-state-badge.other{color:#1d4ed8}.assignment-state-badge.unassigned{color:#64748b}.assignment-store-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:12px;display:grid}.assignment-store-list label{color:#334155;align-items:center;gap:8px;min-height:34px;font-size:13px;font-weight:700;display:flex}.assignment-store-list em{color:#94a3b8;margin-left:auto;font-size:12px;font-style:normal}.settings-user-modal{border:1px solid #d8e0ec;border-radius:12px;width:min(720px,100vw - 48px);padding:0;overflow:hidden;box-shadow:0 18px 46px #0f172a3d}.settings-user-modal-heading{background:#fff;border-bottom:1px solid #edf1f6;padding:20px 22px 16px}.settings-user-form{background:#fbfcff;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:18px 22px 20px;display:grid}.settings-user-field{gap:7px;min-width:0;display:grid}.settings-user-field.wide{grid-column:1/-1}.settings-user-field>span{color:#334155;justify-content:space-between;align-items:center;gap:10px;min-height:18px;font-size:13px;font-weight:800;display:flex}.settings-user-field strong{font:inherit}.settings-user-field i{color:#dc2626;margin-left:3px;font-style:normal}.settings-user-field small{color:#64748b;font-size:12px;font-weight:800}.settings-user-field input,.settings-user-field select,.settings-user-field textarea,.settings-password-field{color:#111827;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cfd8e6;border-radius:8px}.settings-user-field input,.settings-user-field select,.settings-user-field textarea{padding:0 11px}.settings-user-field textarea{resize:vertical;min-height:82px;padding-top:10px}.settings-user-field input::placeholder,.settings-user-field textarea::placeholder{color:#64748b}.settings-user-field input:focus,.settings-user-field select:focus,.settings-user-field textarea:focus,.settings-password-field:focus-within{border-color:#f59e0b;outline:0;box-shadow:0 0 0 3px #f59e0b29}.settings-user-field>em{color:#dc2626;font-size:12px;font-style:normal;font-weight:800}.settings-password-field{grid-template-columns:minmax(0,1fr) 40px;display:grid;overflow:hidden}.settings-password-field input{min-height:38px;box-shadow:none;border:0;border-radius:0;outline:0}.settings-password-field button{color:#334155;cursor:pointer;background:#f8fafc;border:0;border-left:1px solid #e2e8f0;place-items:center;display:grid}.settings-password-field button:hover{color:#9a6100;background:#fff7e6}.settings-user-form .customer-modal-actions{background:#fff;border-top:1px solid #edf1f6;margin:2px -22px -20px;padding:14px 22px}.report-factory-page{color:#111827;gap:16px;display:grid}.report-factory-header,.panel-title-row,.template-card-head,.record-toolbar,.segmented-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-factory-header h1,.report-panel h2{letter-spacing:0;margin:0}.report-factory-header span,.report-factory-header p,.report-panel p,.template-card span,.module-select-list em{color:var(--text-muted)}.report-factory-header span{color:#16a05d;font-size:13px;font-weight:800}.report-factory-header .report-detail-crumb{gap:8px;min-height:20px}.report-factory-header .report-detail-crumb span{color:#8a94a6;font-size:14px;font-weight:700}.report-factory-header h1{margin-top:4px;font-size:28px}.report-factory-header p,.report-panel p{margin:8px 0 0;line-height:1.65}.segmented-row button{color:#475569;cursor:pointer;background:0 0;border-radius:6px;min-height:34px;padding:0 14px;font-weight:800}.segmented-row button.active{color:#13834e;background:#eefbf3}.report-panel,.report-preview-sidebar,.report-preview-frame-wrap{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:10px}.report-panel{padding:18px}.report-panel .panel-title-row{align-items:flex-start}.report-record-panel{gap:18px;display:grid}.report-record-panel .panel-title-row{padding-bottom:2px}.record-title-control{align-items:center;gap:12px;min-width:0;display:flex}.primary-action,.secondary-action,.preview-actions button{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 14px;font-weight:800;display:inline-flex}.primary-action{color:#fff;background:#0f9f5f}.secondary-action,.preview-actions button{color:#13834e;background:#f7fbf9;border:1px solid #cfe7d9}.primary-action:disabled,.secondary-action:disabled,.preview-actions button:disabled{cursor:not-allowed;opacity:.55}.report-toast{border-radius:8px;width:fit-content;padding:9px 12px;font-size:13px;font-weight:800}.report-toast.success,.status-pill.success{color:#16834f;background:#e7f8ee}.report-toast.error,.status-pill.failed{color:#b91c1c;background:#fee2e2}.report-toast.info,.status-pill.generating{color:#2563eb;background:#eef4ff}.template-list,.module-select-list,.preview-module-list,.preview-actions{gap:12px;display:grid}.template-card{border:1px solid #edf2f7;border-radius:8px;padding:16px}.template-card.collapsed .template-card-head{margin-bottom:0}.template-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.template-toggle-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;display:inline-flex}.template-toggle-button svg{color:#64748b;flex:none;margin-right:8px;transition:transform .16s}.template-card.collapsed .template-toggle-button svg{transform:rotate(-90deg)}.template-toggle-button span{min-width:0}.template-card-head strong,.template-toggle-button strong{margin-bottom:4px;display:block}.template-toggle-button em{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-style:normal;display:block;overflow:hidden}.module-config-table,.module-management-table,.report-record-table{border:1px solid #edf2f7;border-radius:8px;display:grid;overflow:hidden}.module-config-row,.module-management-row,.report-record-row{border-bottom:1px solid #edf2f7;align-items:center;gap:12px;min-height:44px;padding:8px 12px;font-size:13px;display:grid}.module-config-row{grid-template-columns:minmax(180px,1fr) 110px 90px 110px}.module-management-table{margin-top:16px}.module-management-row{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(170px,1fr) 80px 72px 86px}.module-management-row code{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow:hidden}.metric-library-toolbar{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);align-items:center;gap:16px;display:grid}.metric-library-toolbar-title{align-items:center;gap:10px;min-width:0;display:flex}.metric-library-toolbar-title svg{color:#16a05d;flex:none}.metric-library-toolbar-title strong{margin-bottom:2px;display:block}.metric-library-toolbar-title span{color:#64748b;font-size:13px}.metric-library-filters{grid-template-columns:minmax(240px,1fr) 150px 150px auto;align-items:center;gap:10px;display:grid}.metric-library-filters label,.metric-search-field{color:#64748b;background:#fff;border:1px solid #dbe5ef;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:38px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.metric-library-filters input,.metric-library-filters select{color:#1f2937;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.metric-value-open-button{color:#fff;cursor:pointer;min-height:38px;font:inherit;white-space:nowrap;background:#2563eb;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:900;display:inline-flex}.metric-value-open-button:hover{background:#1d4ed8}.metric-value-open-button:focus-visible{outline-offset:2px;outline:2px solid #1d4ed8}.metric-library-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:16px;display:grid}.metric-library-list-panel,.metric-detail-panel{gap:14px;display:grid}.metric-library-summary{border:1px solid #edf2f7;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.metric-summary-item{background:#fbfdff;border-right:1px solid #edf2f7;min-width:0;padding:12px}.metric-summary-item:last-child{border-right:0}.metric-summary-item strong{color:#111827;font-size:21px;line-height:1.1;display:block}.metric-summary-item span{color:#64748b;margin-top:4px;font-size:12px;font-weight:900;display:block}.metric-summary-item.success strong{color:#16834f}.metric-summary-item.generating strong{color:#2563eb}.metric-summary-item.failed strong{color:#b91c1c}.metric-library-table{border:1px solid #edf2f7;border-radius:8px;display:grid;overflow:hidden}.metric-library-row{color:#334155;min-height:54px;font:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2f7;grid-template-columns:minmax(220px,1.2fr) 112px 70px 102px minmax(180px,1fr);align-items:center;gap:12px;padding:9px 12px;font-size:13px;display:grid}.metric-library-row:not(.head){cursor:pointer}.metric-library-row:not(.head):hover,.metric-library-row.active{background:#f4fbf7}.metric-library-row.active{box-shadow:inset 0 0 0 1px #a8dfbf}.metric-library-row:focus-visible{outline-offset:-2px;outline:2px solid #22c55e}.metric-library-row.head{color:#64748b;cursor:default;background:#f8fafc;min-height:38px;font-weight:900}.metric-library-row:last-child{border-bottom:0}.metric-library-name{gap:4px;min-width:0;display:grid}.metric-library-name strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.metric-library-name code,.metric-detail-head code,.metric-detail-item code,.metric-detail-tags code{color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.metric-source-text{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-library-side{gap:16px;display:grid;position:sticky;top:24px}.metric-detail-panel{position:static}.metric-detail-head{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.metric-detail-head h2{margin-top:4px;font-size:22px}.metric-detail-category{color:#16a05d;font-size:13px;font-weight:900}.metric-status-description{color:#1e3a8a;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.metric-detail-section{gap:10px;display:grid}.metric-detail-section h3{color:#111827;margin:0;font-size:15px}.metric-detail-section p{color:#334155;margin:0;font-size:13px;line-height:1.7}.metric-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric-detail-item{gap:5px;min-width:0;display:grid}.metric-detail-item span{color:#64748b;font-size:12px;font-weight:900}.metric-detail-item strong,.metric-detail-item em,.metric-detail-item code{overflow-wrap:anywhere;color:#1f2937;min-width:0;font-size:13px;font-style:normal}.metric-detail-item em{color:#94a3b8}.metric-detail-tags{flex-wrap:wrap;gap:6px;display:flex}.metric-detail-tags code{background:#f1f5f9;border-radius:999px;padding:4px 7px}.metric-detail-empty{color:#64748b;text-align:center;padding:28px 0}.metric-value-panel{gap:14px;display:grid}.metric-value-modal-backdrop{z-index:70}.customer-modal.metric-value-modal{grid-template-rows:auto minmax(0,1fr);gap:18px;width:min(1280px,100vw - 56px);height:min(820px,100vh - 56px);max-height:calc(100vh - 56px);display:grid;overflow:hidden}.metric-value-modal-heading{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:14px;display:flex}.metric-value-modal-heading span{color:#16a05d;font-size:12px;font-weight:900}.metric-value-modal-close{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe5ef;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.metric-value-modal-close:hover{color:#0f172a;background:#f8fafc}.metric-value-modal .metric-value-panel{grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:stretch;min-height:0;overflow:hidden}.metric-value-modal .metric-value-head,.metric-value-modal .metric-value-controls,.metric-value-modal .metric-value-actions,.metric-value-modal .metric-value-disabled,.metric-value-modal .metric-value-error{grid-column:1}.metric-value-modal .metric-value-result{grid-area:1/2/-1;min-height:0;overflow:hidden}.metric-value-head{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.metric-value-head span{color:#16a05d;font-size:12px;font-weight:900}.metric-value-head h3{color:#111827;margin:4px 0 0;font-size:18px}.metric-value-head svg{color:#2563eb;flex:none}.metric-value-controls{grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-height:0;display:grid;overflow:hidden}.metric-value-controls label,.metric-value-filter-group{color:#64748b;gap:7px;min-width:0;font-size:12px;font-weight:900;display:grid}.metric-value-controls select,.metric-value-controls input[type=date]{color:#1f2937;width:100%;min-width:0;min-height:38px;font:inherit;background:#fff;border:1px solid #dbe5ef;border-radius:8px;padding:0 10px}.metric-value-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric-value-checks,.metric-store-options{flex-wrap:wrap;gap:8px;display:flex}.metric-value-checks label,.metric-store-options label{color:#334155;background:#fff;border:1px solid #dbe5ef;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 9px;font-size:12px;font-weight:900;display:flex}.metric-value-checks input,.metric-store-options input{accent-color:#2563eb}.metric-store-filter-group{grid-template-rows:auto minmax(0,1fr);min-height:0}.metric-store-options{align-content:flex-start;align-items:flex-start;min-height:0;padding-right:2px;overflow:auto}.metric-store-options label{border-radius:8px;flex:none;max-width:100%;min-height:34px}.metric-store-options span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.metric-store-options em{color:#94a3b8;font-style:normal}.metric-store-options small{color:#94a3b8;font-size:12px}.metric-value-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.metric-value-actions span{color:#64748b;font-size:12px;font-weight:800}.metric-value-actions button{color:#fff;cursor:pointer;min-height:36px;font:inherit;background:#2563eb;border:0;border-radius:8px;padding:0 12px;font-size:13px;font-weight:900}.metric-value-actions button:disabled{cursor:not-allowed;background:#cbd5e1}.metric-value-disabled,.metric-value-error,.metric-value-warning{border-radius:8px;gap:6px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.5;display:grid}.metric-value-disabled{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.metric-value-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca}.metric-value-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.metric-value-result{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;display:grid}.metric-value-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.metric-value-card-context{gap:5px;min-width:0;display:grid}.metric-value-card-context>span,.metric-value-card-context small,.metric-value-card-stats span{color:#475569;font-size:12px;font-weight:900}.metric-value-card-context>strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.2;overflow:hidden}.metric-value-card-stats{flex:none;align-items:stretch;gap:10px;display:flex}.metric-value-card-stats div{background:#ffffffad;border:1px solid #2563eb24;border-radius:8px;gap:3px;min-width:96px;padding:8px 10px;display:grid}.metric-value-card-stats strong{color:#1d4ed8;font-size:24px;line-height:1.1}.metric-value-table{border:1px solid #edf2f7;border-radius:8px;display:grid;overflow:hidden}.metric-value-table-title,.metric-value-table-head,.metric-value-table-row{border-bottom:1px solid #edf2f7;grid-template-columns:minmax(0,1fr) 92px 56px;align-items:center;gap:8px;min-height:34px;padding:7px 10px;font-size:12px;display:grid}.metric-value-table-title{background:#fbfdff;grid-template-columns:minmax(0,1fr) auto}.metric-value-table-title strong{color:#111827}.metric-value-table-title span,.metric-value-table-head,.metric-value-table-row em{color:#64748b;font-style:normal;font-weight:900}.metric-value-table-row span{color:#334155;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-value-table-row strong{color:#111827;text-align:right}.metric-value-table-row em{text-align:right}.metric-value-table-row:last-child{border-bottom:0}.metric-all-values{gap:12px;min-height:0;padding-right:2px;display:grid;overflow:auto}.metric-all-value-table{overflow:visible}.metric-all-value-row{grid-template-columns:minmax(112px,.85fr) 92px 116px 52px 52px minmax(240px,1.3fr);min-width:760px}.metric-all-value-name{min-width:0;display:grid}.metric-all-value-name strong{color:#111827;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-all-value-row>span:nth-child(3),.metric-all-value-row>strong:nth-child(3){text-align:right}.metric-all-value-row>span:nth-child(4),.metric-all-value-row>span:nth-child(5),.metric-all-value-row>em:nth-child(4),.metric-all-value-row>em:nth-child(5){text-align:center}.metric-all-value-note{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-value-empty{color:#94a3b8;padding:10px;font-size:12px;font-weight:800}.metric-coverage-list{color:#64748b;background:#fbfdff;border:1px dashed #cbd5e1;border-radius:8px;gap:5px;padding:10px 12px;font-size:12px;font-weight:800;display:grid}.metric-coverage-list strong{color:#334155}.module-config-row.image-cover-config-row{grid-template-columns:minmax(420px,1fr) 110px 90px 110px;align-items:start}.report-record-row{grid-template-columns:120px minmax(220px,1.35fr) 180px 78px 96px 150px 72px}.module-config-row.head,.module-management-row.head,.report-record-row.head{color:#64748b;background:#f8fafc;min-height:38px;font-weight:900}.module-config-row:last-child,.module-management-row:last-child,.report-record-row:last-child{border-bottom:0}.report-record-pagination{color:#667085;justify-content:flex-end;align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.report-record-pagination button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:7px;min-width:32px;min-height:32px;padding:0 10px;font-weight:700}.report-record-pagination button.active{color:#9a6100;background:#fff6df;border-color:#ffad16}.report-record-pagination button:disabled{cursor:not-allowed;opacity:.45}.module-config-name{gap:10px;min-width:0;display:grid}.image-cover-config-panel{background:#fbfdff;border:1px solid #edf2f7;border-radius:8px;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.image-cover-preview,.image-cover-empty{aspect-ratio:7.2;border-radius:6px;width:180px}.image-cover-preview{object-fit:contain;background:#f1f5f9;display:block}.image-cover-empty{color:#94a3b8;border:1px dashed #cbd5e1;place-items:center;font-size:12px;font-weight:800;display:grid}.image-cover-meta{color:#64748b;gap:5px;min-width:0;font-size:12px;line-height:1.45;display:grid}.image-cover-meta em{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-weight:800;overflow:hidden}.image-cover-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.image-upload-action input{display:none}.image-upload-action.disabled{cursor:not-allowed;opacity:.55}.module-config-row input,.module-config-row select,.report-form-grid input,.report-form-grid select,.record-toolbar select,.report-preview-sidebar select{color:#111827;width:100%;min-height:34px;font:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:7px}.record-toolbar{justify-content:flex-end;gap:10px;min-width:112px;position:relative}.customer-search-select{width:240px;min-width:0;position:relative}.customer-search-trigger{color:#111827;cursor:pointer;width:100%;min-height:40px;font:inherit;text-align:left;background:#fff;border:1px solid #dbe3ee;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 11px;display:flex}.customer-search-trigger:hover,.customer-search-trigger[aria-expanded=true]{border-color:#93d5b1;box-shadow:0 0 0 3px #0f9f5f1a}.customer-search-trigger:disabled{cursor:not-allowed;opacity:.6}.customer-search-trigger span{gap:1px;min-width:0;display:grid}.customer-search-trigger small{color:#64748b;font-size:11px;font-weight:800}.customer-search-trigger strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.customer-search-trigger svg{color:#64748b;flex:none}.customer-search-popover{z-index:40;background:#fff;border:1px solid #dbe3ee;border-radius:10px;width:min(320px,100vw - 32px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #0f172a1f}.customer-search-box{color:#64748b;background:#f8fafc;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 10px;display:flex}.customer-search-box input{color:#111827;width:100%;font:inherit;background:0 0;border:0;outline:0}.customer-search-box input::placeholder{color:#64748b}.customer-search-list{gap:4px;max-height:280px;margin-top:8px;padding-right:2px;display:grid;overflow-y:auto}.customer-search-list button{color:#111827;cursor:pointer;width:100%;min-height:44px;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.customer-search-list button:hover,.customer-search-list button.active{background:#eefbf3}.customer-search-list button span{gap:2px;min-width:0;display:grid}.customer-search-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.customer-search-list button small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.customer-search-list button svg{color:#0f9f5f;flex:none}.customer-search-empty{color:#64748b;text-align:center;padding:14px 8px;font-size:13px}.report-create-grid{grid-template-columns:minmax(560px,1.45fr) minmax(360px,.75fr);align-items:start;gap:20px;display:grid}.report-create-grid .report-panel{border-radius:8px;padding:24px;box-shadow:0 16px 38px #0f172a14}.report-create-grid .panel-title-row{border-bottom:1px solid #edf2f7;padding-bottom:16px}.report-create-grid .report-panel h2{font-size:20px}.report-create-grid .report-panel p{font-size:14px;line-height:1.6}.report-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.report-create-grid .report-form-grid{gap:18px 20px;margin-top:20px}.report-form-grid label,.report-preview-sidebar label{color:#334155;gap:7px;font-size:13px;font-weight:800;display:grid}.report-create-grid .report-form-grid label{gap:9px;font-size:13px}.report-create-grid .report-form-grid input,.report-create-grid .report-form-grid select{background:#fff;border-color:#cfd9e6;border-radius:8px;min-height:46px;padding:0 14px;font-size:15px;font-weight:700;box-shadow:0 1px 2px #0f172a0a}.report-create-grid .report-form-grid input:focus,.report-create-grid .report-form-grid select:focus{border-color:#16a05d;outline:none;box-shadow:0 0 0 3px #16a05d1f}.report-create-grid .report-form-grid input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.period-range-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:20px;display:grid}.period-range-row.single-date-row{grid-template-columns:minmax(260px,420px)}.large-date-field{color:#334155;gap:9px;font-size:13px;font-weight:800;display:grid;position:relative}.large-date-trigger{color:#111827;cursor:pointer;text-align:left;background:#fff;border:1px solid #cfd9e6;border-radius:8px;justify-content:space-between;align-items:center;min-height:46px;padding:0 14px;display:flex;box-shadow:0 1px 2px #0f172a0a}.large-date-trigger:focus-visible{border-color:#16a05d;outline:none;box-shadow:0 0 0 3px #16a05d1f}.large-date-trigger strong{font-size:15px;font-weight:800}.large-date-trigger svg{color:#334155}.large-date-popover{z-index:30;background:#fff;border:1px solid #d9e4ef;border-radius:12px;width:360px;padding:18px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 24px 70px #0f172a33}.large-date-head{grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;display:grid}.large-date-head strong{color:#111827;text-align:center;font-size:17px}.large-date-head button,.large-date-grid button,.large-date-actions button{cursor:pointer}.large-date-head button{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;place-items:center;min-height:42px;display:grid}.large-date-weekdays,.large-date-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.large-date-weekdays{color:#64748b;text-align:center;margin-top:16px;font-size:13px}.large-date-grid{margin-top:10px}.large-date-grid button{color:#111827;background:#fff;border-radius:8px;min-height:38px;font-size:14px;font-weight:800}.large-date-grid button:hover{background:#f1f5f9}.large-date-grid button.muted{color:#94a3b8}.large-date-grid button.today{box-shadow:inset 0 0 0 1px #16a05d}.large-date-grid button.selected{color:#fff;background:#0f9f5f}.large-date-actions{border-top:1px solid #edf2f7;justify-content:space-between;margin-top:16px;padding-top:14px;display:flex}.large-date-actions button{color:#13834e;background:#f7fbf9;border-radius:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:900}.compare-period-block{background:#fbfdff;border:1px solid #edf2f7;border-radius:8px;gap:14px;margin-top:18px;padding:14px 16px;display:grid}.compare-period-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.compare-period-title strong{color:#111827;font-size:14px;font-weight:900}.compare-enable-control{color:#111827;cursor:pointer;align-items:center;gap:9px;display:inline-flex}.compare-enable-control input{accent-color:#16a34a;width:15px;height:15px;margin:0}.compare-period-title span{color:#64748b;font-size:13px;font-weight:800}.compare-mode-row{flex-wrap:wrap;gap:10px;display:flex}.compare-mode-row label{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex}.compare-mode-row label.active{color:#13834e;background:#e8f8ef;border-color:#b8e6ce}.compare-mode-row input{margin:0}.compare-period-grid{margin-top:0}.checkbox-block{gap:10px;margin-top:18px;display:grid}.report-create-grid .checkbox-block{gap:12px;margin-top:22px}.checkbox-block div{flex-wrap:wrap;gap:10px;display:flex}.report-create-grid .checkbox-block label{background:#fbfdff;border:1px solid #dce8f1;border-radius:8px;min-height:34px;padding:0 12px}.checkbox-block label,.module-select-list label,.preview-module-list label,.module-config-row label{color:#334155;align-items:center;gap:7px;font-size:13px;font-weight:800;display:inline-flex}.segmented-row{justify-content:flex-start;margin-top:18px}.report-create-grid .segmented-row{border-top:1px solid #edf2f7;gap:10px;margin-top:22px;padding-top:18px}.report-create-grid .segmented-row button{background:#fff;border:1px solid #dce8f1;min-height:40px;padding:0 18px}.report-create-grid .segmented-row button.active{background:#e8f8ef;border-color:#b8e6ce}.segmented-row span{color:var(--text-muted);margin-left:auto;font-size:13px;font-weight:800}.store-picker{background:#fbfdff;border:1px solid #edf2f7;border-radius:8px;margin-top:12px;padding:10px}.report-create-grid .store-picker{padding:14px}.store-picker-toolbar{border-bottom:1px solid #e5edf5;align-items:center;gap:12px;padding-bottom:12px;display:flex}.store-picker-toolbar>span{color:#64748b;white-space:nowrap;margin-left:auto;font-size:13px;font-weight:800}.store-picker-search{color:#64748b;background:#fff;border:1px solid #dce8f1;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:220px;height:38px;padding:0 12px;display:flex}.store-picker-search input{color:#0f172a;background:0 0;border:0;outline:0;width:100%;font-size:13px;font-weight:800}.store-picker-search input::placeholder{color:#64748b}.store-picker-list{gap:8px;max-height:288px;padding-top:12px;display:grid;overflow:auto}.single-offline-store-picker .report-store-coverage{color:#64748b;border-top:1px solid #e5edf5;margin-top:14px;padding:12px 2px 2px;font-size:13px;font-weight:600;line-height:1.4;display:block}.store-picker-row{color:#334155;cursor:pointer;background:#fff;border:1px solid #dce8f1;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:8px 12px;display:grid}.store-picker-row:has(input:checked){background:#f0fbf4;border-color:#b8e6ce}.store-picker-row input{accent-color:#16a34a;margin:0}.store-picker-main{gap:3px;min-width:0;display:grid}.store-picker-main strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.store-picker-main em{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;font-weight:800;overflow:hidden}.store-platform-pill{text-align:center;white-space:nowrap;border-radius:999px;min-width:74px;padding:5px 9px;font-size:12px;font-weight:900}.store-platform-pill.meituan{color:#946200;background:#fff4cc}.store-platform-pill.taobao{color:#c2410c;background:#fff1e8}.store-platform-pill.jd{color:#dc2626;background:#fee2e2}.store-picker-empty{color:#64748b;place-items:center;min-height:96px;font-size:13px;font-weight:800;display:grid}.module-select-list{margin-top:16px}.report-create-grid .module-select-list{gap:12px;margin-top:20px;display:grid}.module-select-list label{border:1px solid #edf2f7;border-radius:8px;justify-content:flex-start;padding:11px 12px}.report-create-grid .module-select-list label{background:#fbfdff;border-color:#dce8f1;min-height:52px;padding:14px 16px}.report-create-grid .module-select-list label:has(input:checked){background:#f1fbf5;border-color:#b8e6ce}.report-coverage-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:12px;margin-top:16px;padding:14px;display:grid}.report-coverage-warning-head{align-items:flex-start;gap:10px;display:flex}.report-coverage-warning-icon{color:#c2410c;background:#ffedd5;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.report-coverage-warning strong{color:#7c2d12;font-size:14px}.report-coverage-warning p{color:#9a3412;margin:3px 0 0;font-size:12px}.report-coverage-missing-list{gap:8px;max-height:220px;display:grid;overflow:auto}.report-coverage-missing-day{background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.report-coverage-missing-day strong{font-size:13px}.report-coverage-missing-day span,.report-coverage-more{color:#7c2d12;font-size:12px;line-height:1.6}.report-coverage-upload-action{color:#9a3412;background:#fff;border:1px solid #fdba74;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;font-weight:800;display:inline-flex}.report-coverage-upload-action:hover{background:#fffbeb;border-color:#fb923c}.module-select-list span{gap:2px;display:grid}.module-select-list em{font-size:12px;font-style:normal}.generate-report-action{width:100%;margin-top:18px}.report-create-grid .generate-report-action{border-radius:8px;min-height:46px;margin-top:20px;font-size:15px}.status-pill{border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:900}.link-action{color:#2563eb;cursor:pointer;background:0 0;width:fit-content;font-weight:900}.empty-report-record,.empty-preview-tip{color:var(--text-muted);text-align:center;padding:30px}.report-preview-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:16px;display:grid}.report-preview-sidebar{gap:16px;padding:16px;display:grid;position:sticky;top:24px}.preview-actions button{width:100%}.preview-module-list{border-top:1px solid #edf2f7;padding-top:14px}.preview-module-list>strong{font-size:14px}.preview-module-list label{justify-content:space-between}.report-preview-frame-wrap{background:#e2e8f0;min-height:760px;padding:12px}.report-preview-frame{background:#fff;border:0;border-radius:6px;width:100%;height:760px}@media (width<=1200px){.report-create-grid,.report-preview-layout,.metric-library-layout{grid-template-columns:1fr}.metric-detail-panel,.metric-library-side{position:static}.metric-value-modal .metric-value-panel{grid-template-rows:auto auto auto auto auto;grid-template-columns:1fr;overflow:visible}.metric-value-modal .metric-value-head,.metric-value-modal .metric-value-controls,.metric-value-modal .metric-value-actions,.metric-value-modal .metric-value-disabled,.metric-value-modal .metric-value-error,.metric-value-modal .metric-value-result{grid-area:auto/1}.customer-modal.metric-value-modal{overflow:auto}.metric-value-modal .metric-value-controls{grid-template-rows:auto auto auto auto;overflow:visible}.metric-value-modal .metric-value-result{overflow:visible}.metric-store-options{max-height:240px}.report-record-row{grid-template-columns:110px minmax(180px,1fr) 150px 70px 84px 124px 56px}.metric-library-row{grid-template-columns:minmax(220px,1.2fr) 108px 68px 102px minmax(160px,1fr)}.module-management-row{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 120px 68px 60px 76px}.module-config-row.image-cover-config-row,.image-cover-config-panel{grid-template-columns:1fr}.image-cover-actions{justify-content:flex-start}}@media (width<=760px){.report-panel .panel-title-row{align-items:stretch;display:grid}.metric-library-toolbar,.metric-library-filters,.metric-library-summary,.metric-detail-grid,.metric-value-date-row{grid-template-columns:1fr}.metric-value-actions{flex-direction:column;align-items:stretch}.metric-value-actions button{width:100%}.metric-value-modal{max-height:calc(100vh - 24px);padding:16px}.metric-value-modal-heading{align-items:stretch}.metric-all-value-table{border-radius:8px}.metric-all-value-row{min-width:860px}.metric-summary-item{border-bottom:1px solid #edf2f7;border-right:0}.metric-summary-item:last-child{border-bottom:0}.metric-library-table{overflow-x:auto}.metric-library-row{width:max-content;min-width:760px}.record-toolbar{justify-content:flex-start;width:100%;min-width:0}.record-title-control{align-items:stretch;display:grid}.customer-search-select{width:100%}.customer-search-popover{width:100%;left:0;right:auto}}.page-canvas{background:#ffffff6b;border-radius:18px;min-height:calc(100vh - 120px)}.upload-page{color:#111827;gap:16px;min-width:0;max-width:100%;display:grid;overflow-x:hidden}.upload-header{gap:14px;min-height:86px;display:grid}.upload-title-row{align-items:center;gap:24px;min-width:0;display:flex}.upload-header h1{letter-spacing:0;flex:none;margin:0;font-size:26px;line-height:1.1}.upload-header p{color:#667085;margin:0;font-size:15px;font-weight:700;line-height:1.6}.stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.stat-card{background:#fff;border:1px solid #e6ebf2;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:96px;padding:18px;display:grid;box-shadow:0 10px 28px #0f172a0a}.stat-icon{color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon.green{background:linear-gradient(135deg,#34d399,#16a34a)}.stat-icon.orange{background:linear-gradient(135deg,#fb923c,#f97316)}.stat-icon.purple{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.stat-icon.cyan{background:linear-gradient(135deg,#67e8f9,#06b6d4)}.stat-card span:not(.stat-icon),.stat-card em,.stat-card small{color:#667085;font-size:12px;font-style:normal;font-weight:500}.stat-card strong{color:#111827;margin-top:4px;font-size:22px;line-height:1.1;display:block}.stat-card small{color:#334155;margin-left:5px}.stat-card em{margin-top:7px;display:block}.upload-calendar-panel{min-height:calc(var(--upload-workbench-top-height) + var(--upload-workbench-gap) + var(--upload-matrix-height));grid-template-rows:auto auto minmax(0,1fr) auto;gap:9px;padding:16px;display:grid}.upload-workbench{--upload-workbench-top-height:318px;--upload-workbench-gap:14px;--upload-matrix-height:282px;gap:var(--upload-workbench-gap);grid-template-columns:minmax(360px,420px) minmax(0,1fr);align-items:stretch;min-width:0;max-width:100%;display:grid}.upload-side-stack{grid-template-rows:var(--upload-workbench-top-height) var(--upload-matrix-height);gap:var(--upload-workbench-gap);min-width:0;display:grid}.upload-side-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.upload-side-card{align-content:start;gap:10px;height:100%;min-height:0;padding:14px 16px;display:grid;overflow:hidden}.upload-side-card h2{color:#111827;letter-spacing:0;margin:0;font-size:17px;font-weight:900}.side-card-loading{color:#94a3b8;place-items:center;min-height:210px;font-size:13px;font-weight:800;display:grid}.upload-coverage-card{grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch}.upload-coverage-card .side-card-loading{grid-row:1/-1}.coverage-metric{gap:7px;min-width:0;display:grid}.coverage-sub-card{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;align-content:center;min-height:0;padding:12px}.coverage-metric-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.coverage-metric span,.coverage-date,.coverage-metric em{color:#64748b;font-size:12px;font-style:normal;font-weight:700}.coverage-metric strong{color:#111827;font-size:22px;font-weight:900;line-height:1}.coverage-progress{background:#edf2f7;border-radius:999px;height:7px;overflow:hidden}.coverage-progress i{border-radius:inherit;background:linear-gradient(90deg,#2f7df6 0%,#16a34a 100%);height:100%;display:block}.coverage-metric.streak{background:#fff;border-color:#edf1f6}.coverage-metric.streak strong{font-size:26px}.coverage-metric.streak em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-help-card{scrollbar-width:thin;align-content:start;gap:7px;padding:12px 14px;overflow:auto}.upload-help-sections{gap:6px;min-height:0;display:grid}.upload-help-section{gap:3px;display:grid}.upload-help-section h3{color:#0f172a;margin:0;font-size:12px;font-weight:900;line-height:1.25}.upload-help-card ul{counter-reset:upload-help-rule;gap:3px;margin:0;padding:0;list-style:none;display:grid}.upload-help-card li{color:#475569;counter-increment:upload-help-rule;border-radius:7px;min-height:0;padding:1px 2px 1px 18px;font-size:11.5px;font-weight:700;line-height:1.28;position:relative}.upload-help-card li:before{color:#2f7df6;content:counter(upload-help-rule) ".";text-align:left;width:14px;font-size:11.5px;font-weight:900;line-height:1.28;position:absolute;top:1px;left:0}.calendar-heading{gap:10px;display:grid}.calendar-heading h2{color:#111827;margin:0;font-size:18px;line-height:1.2}.calendar-heading-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.calendar-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.calendar-controls strong{color:#111827;text-align:center;min-width:78px;font-size:14px}.calendar-controls button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:7px;min-height:30px;padding:0 10px;font-size:13px;font-weight:800}.calendar-controls button:hover{color:#2f7df6;border-color:#9fc3ff}.calendar-controls button.ghost{color:#b87800;background:#fff8e6;border-color:#fee4a6}.calendar-legend{color:#64748b;align-items:center;gap:14px;font-size:12px;font-weight:700;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays span{color:#94a3b8;text-align:center;font-size:12px;font-weight:800}.calendar-day{color:#334155;cursor:pointer;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;place-items:center;min-height:42px;padding:5px 4px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.calendar-day:hover,.calendar-day.selected{border-color:#2f7df6;transform:translateY(-1px);box-shadow:0 10px 24px #2f7df61f}.calendar-day.complete{background:#f0fdf4;border-color:#bbf7d0}.calendar-day.partial{background:#fff7ed;border-color:#fed7aa}.calendar-day.empty{color:#64748b;background:#f8fafc}.calendar-day.today{outline-offset:2px;outline:2px solid #2f7df659}.calendar-day-top{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.calendar-day-top b{color:#111827;font-size:16px;line-height:1}.calendar-status-icon{border-radius:999px;flex:none;width:9px;height:9px;display:inline-block}.calendar-status-icon.empty{background:#fff;border:2px solid #cbd5e1}.calendar-status-icon.partial{background:linear-gradient(90deg,#fb923c 0 50%,#fff 50% 100%);border:2px solid #fb923c}.calendar-status-icon.complete{background:#16a34a;border:2px solid #16a34a}.calendar-bottom-layout{display:block}.calendar-loading{color:#64748b;border:1px dashed #cbd5e1;border-radius:8px;grid-column:1/-1;place-items:center;min-height:96px;font-size:13px;font-weight:700;display:grid}.calendar-detail{background:#fbfcff;border:1px solid #e7edf5;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:7px;height:154px;padding:10px 12px;display:grid;overflow:hidden}.calendar-detail-head{border-bottom:1px solid #edf1f6;align-items:center;gap:8px;min-height:24px;padding-bottom:7px;display:flex}.calendar-detail-icon{color:#3978f6;flex:none}.calendar-detail strong{color:#111827;font-size:14px}.calendar-detail span{color:#667085;font-size:12px}.calendar-detail-head em{color:#334155;white-space:nowrap;margin-left:auto;font-size:12px;font-style:normal;font-weight:800}.calendar-detail-head em b{color:#ef4444}.calendar-detail-body{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;min-width:0;min-height:0;display:grid;overflow:hidden}.calendar-detail-body.single,.calendar-detail.empty{grid-template-columns:1fr}.calendar-detail.complete .calendar-detail-head{border-bottom:0;padding-bottom:0}.calendar-detail-complete{color:#16a34a;place-items:center;min-height:0;font-size:13px;font-weight:800;display:grid}.calendar-task-list{gap:3px;min-width:0;display:grid}.calendar-task-list h3{color:#334155;margin:0;font-size:12px;line-height:16px}.calendar-task-row{color:#334155;border-top:0;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:18px;padding:0;font-size:12px;display:grid}.calendar-task-row:first-of-type{border-top:0}.calendar-task-row strong{color:#111827;font-size:11px;font-weight:800;line-height:18px}.calendar-task-row span{flex-wrap:wrap;gap:3px;min-width:0;display:flex}.calendar-task-row em{color:#475569;background:#f2f5f9;border-radius:999px;align-items:center;min-height:17px;padding:0 6px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.calendar-task-list .calendar-task-empty{color:#94a3b8;border-top:1px solid #edf1f6;min-height:32px;padding-top:8px;font-weight:700}.upload-task-matrix{height:var(--upload-matrix-height);grid-template-rows:auto minmax(0,1fr);gap:10px;padding:16px;display:grid;position:relative}.upload-matrix-heading{justify-content:space-between;align-items:center;gap:12px;min-height:24px;display:flex}.upload-matrix-heading h2{color:#111827;letter-spacing:0;margin:0;font-size:18px;font-weight:900}.upload-matrix-title-group{align-items:center;gap:10px;min-width:0;display:inline-flex}.upload-matrix-heading span{color:#64748b;white-space:nowrap;font-size:12px;font-weight:800}.upload-matrix-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.upload-matrix-title-group button{color:#2563eb;cursor:pointer;background:#f8fbff;border:1px solid #cfe0f7;border-radius:7px;min-height:30px;padding:0 12px;font-size:12px;font-weight:800}.upload-task-modal-backdrop{z-index:42;background:#0f172a70;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.upload-task-modal{background:#fff;border:1px solid #e6ebf2;border-radius:12px;grid-template-rows:auto minmax(0,1fr);gap:16px;width:min(760px,100%);min-height:420px;max-height:min(760px,100vh - 56px);padding:20px;display:grid;overflow:hidden;box-shadow:0 26px 90px #0f172a42}.upload-task-modal-header{border-bottom:1px solid #e6ebf2;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.upload-task-modal-header h2{color:#111827;margin:0;font-size:20px;line-height:1.2}.upload-task-modal-header p{color:#64748b;margin:7px 0 0;font-size:13px;font-weight:700;line-height:1.6}.upload-task-modal-header button{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:34px;padding:0 14px;font-size:13px;font-weight:800}.matrix-refreshing{color:#94a3b8;font-size:12px;font-weight:800;position:absolute;top:12px;right:16px}.matrix-empty{color:#94a3b8;place-items:center;min-height:180px;font-size:13px;font-weight:800;display:grid}.task-matrix-table{border:1px solid #e7edf5;border-radius:8px;grid-template-rows:42px;grid-auto-rows:minmax(56px,1fr);align-content:stretch;min-width:0;min-height:210px;display:grid;overflow:auto hidden}.task-matrix-row{border-top:1px solid #edf1f6;grid-template-columns:118px repeat(3,minmax(90px,1fr)) minmax(124px,1fr) minmax(152px,1fr);min-width:760px;min-height:0;display:grid}.task-matrix-row:first-child{border-top:0}.task-matrix-head{background:#f8fafc;min-height:42px}.task-matrix-row>span,.task-matrix-row>strong,.matrix-upload-cell{border-left:1px solid #edf1f6;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.task-matrix-row>span:first-child,.task-matrix-row>strong:first-child,.matrix-upload-cell:first-child{border-left:0}.task-matrix-head span,.task-matrix-head strong,.matrix-row-title,.matrix-platform-title{color:#111827;font-size:13px;font-weight:800}.task-matrix-head strong{white-space:nowrap;justify-content:center}.matrix-platform-title{justify-content:flex-start}.matrix-platform-title strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.matrix-upload-cell{justify-content:center}.matrix-upload-cell em{color:#a1aab8;font-size:12px;font-style:normal;font-weight:800}.platform-logo-icon{place-items:center;width:28px;min-width:28px;height:28px;display:inline-grid}.platform-logo-icon img{object-fit:contain;width:28px;height:28px;display:block}.platform-logo-icon.unknown{color:#fff;background:#64748b;border-radius:7px;font-size:12px}.record-tabs button{color:#334155;cursor:pointer;background:0 0;min-height:32px;padding:0 18px;font-size:13px;font-weight:700}.record-filter-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.record-date-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-date-filters label{color:#64748b;background:#fff;border:1px solid #dbe3ef;border-radius:7px;align-items:center;gap:5px;min-height:32px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.record-date-filters input{color:#111827;background:0 0;border:0;outline:0;width:126px;font-size:12px;font-weight:700}.record-date-filters button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:7px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800}.record-date-filters button:disabled{cursor:not-allowed;opacity:.5}.upload-layout{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.upload-main{gap:14px;display:grid}.panel{box-shadow:var(--shadow-soft);background:#fffffff0;border:1px solid #e6ebf2;border-radius:10px}.upload-tasks,.upload-records,.tips-panel{padding:18px}.upload-task-queue{gap:14px;min-height:0;display:grid}.upload-task-queue-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.upload-task-queue-heading h3{color:#111827;margin:0;font-size:16px;line-height:1.2}.upload-task-queue-heading p{color:#64748b;margin:6px 0 0;font-size:13px;font-weight:700}.upload-task-queue-heading>span{color:#2563eb;white-space:nowrap;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.upload-task-cards{gap:12px;min-height:0;display:grid;overflow:auto}.upload-task-card{background:#fbfdff;border:1px solid #e6ebf2;border-radius:8px;gap:10px;padding:14px;display:grid}.upload-task-card.success{background:#f7fef9}.upload-task-card.warning{background:#fffaf0}.upload-task-card.failed{background:#fff7f7}.upload-task-card-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.upload-task-card-main strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;max-width:38ch;font-size:14px;display:block;overflow:hidden}.upload-task-card-main p,.upload-task-meta,.upload-task-hint,.upload-task-error{margin:0;font-size:12px;font-weight:700;line-height:1.55}.upload-task-card-main p{color:#64748b;margin-top:4px}.upload-task-progress{background:#e8eef7;border-radius:999px;height:8px;overflow:hidden}.upload-task-progress span{border-radius:inherit;background:#2f7df6;height:100%;transition:width .18s ease-out;display:block}.upload-task-card.success .upload-task-progress span{background:#16a34a}.upload-task-card.warning .upload-task-progress span{background:#f59e0b}.upload-task-card.failed .upload-task-progress span{background:#ef4444}.upload-task-meta{color:#475569;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.upload-task-meta span:last-child{color:#64748b;white-space:nowrap}.upload-task-hint{color:#2563eb;background:#eff6ff;border-radius:8px;padding:8px 10px}.upload-quality-warning-summary{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:6px;padding:9px 10px;font-size:12px;font-weight:800;line-height:1.55;display:grid}.upload-quality-warning-summary strong{font-size:12px}.upload-quality-warning-summary ul{gap:4px;margin:0;padding-left:16px;display:grid}.upload-task-error{color:#b91c1c;background:#feeceb;border-radius:8px;padding:8px 10px}.upload-overlap-detail{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:8px;padding:10px;display:grid}.upload-overlap-summary,.upload-overlap-conflict{gap:4px;display:grid}.upload-overlap-summary span,.upload-overlap-conflict span{color:#9a3412;font-size:11px;font-weight:800}.upload-overlap-summary strong,.upload-overlap-conflict strong{color:#111827;font-size:13px;font-weight:900}.upload-overlap-conflicts{gap:6px;display:grid}.upload-overlap-conflict{background:#fff;border-radius:7px;padding:8px}.upload-overlap-conflict p{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:700;line-height:1.45;overflow:hidden}.upload-task-actions{flex-wrap:wrap;gap:8px;display:flex}.upload-task-actions button{color:#fff;cursor:pointer;background:#2f7df6;border:1px solid #2f7df6;border-radius:7px;min-height:32px;padding:0 12px;font-size:12px;font-weight:800}.upload-task-actions button.secondary{color:#334155;background:#fff;border-color:#dbe3ef}.upload-task-skeleton{color:#64748b;background:#f8fafc;border-radius:8px;min-height:72px;padding:16px;font-size:13px;font-weight:800}.upload-task-empty{color:#64748b;background:#f8fafc;border:1px dashed #d7e0ec;border-radius:8px;place-items:center;min-height:120px;font-size:13px;font-weight:800;display:grid}.section-heading,.side-heading,.record-heading{align-items:center;gap:12px;display:flex}.section-heading{justify-content:space-between}.section-heading h2,.side-heading h2,.record-heading h2{color:#111827;margin:0;font-size:18px;line-height:1.2}.side-heading,.record-heading{justify-content:space-between}.side-heading button,.record-heading a{color:#2f7df6;cursor:pointer;background:0 0;align-items:center;gap:3px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.task-groups{gap:12px;margin-top:14px;display:grid}.task-group{background:#fbfcff;border:1px solid #e7edf5;border-radius:8px;padding:14px}.group-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.group-heading div{align-items:center;gap:10px;min-width:0;display:flex}.group-heading strong{font-size:16px}.group-heading em,.group-heading>span{color:#667085;white-space:nowrap;font-size:12px;font-style:normal}.platform-badge,.mini-platform{color:#fff;border-radius:8px;place-items:center;font-weight:800;display:inline-grid}.platform-badge{width:28px;height:28px;font-size:14px}.platform-badge.mt,.mini-platform.美{color:#754600;background:#ffc233}.platform-badge.tb,.mini-platform.淘{background:#ff6b1a}.platform-badge.jd,.mini-platform.京{background:#ef4444}.task-grid{grid-template-columns:repeat(5,minmax(126px,1fr));gap:10px;display:grid}.task-card{background:#fff;border:1px solid #e5ebf4;border-radius:7px;min-height:88px;padding:12px}.task-title{align-items:center;gap:8px;display:flex}.task-title span{color:#2f7df6;background:#e8f1ff;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.task-title strong{font-size:13px}.task-card p{color:#667085;margin-top:8px;font-size:12px}.task-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:7px;display:flex}.task-footer span{color:#667085;font-size:12px}.task-footer b{color:#0f9f62}.upload-button{color:#2f7df6;cursor:pointer;background:#fff;border:1px solid #2f7df6;border-radius:5px;justify-content:center;align-items:center;min-height:26px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.upload-button.disabled{cursor:not-allowed;opacity:.55}.upload-button input,.record-upload-button input{display:none}.task-footer em{color:#16a34a;background:#e8f9ef;border-radius:5px;min-height:26px;padding:6px 10px 0;font-size:12px;font-style:normal;font-weight:700}.search-select{color:#111827;background:#fff;border:1px solid #75a9ff;border-radius:8px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;width:360px;min-width:320px;min-height:78px;padding:10px 14px;font-size:13px;display:grid;position:relative;box-shadow:0 0 0 1px #2f7df629,0 14px 34px #2f7df614}.search-select.disabled{opacity:.6}.search-select-label{color:#4f86ff;white-space:nowrap;font-size:12px;font-weight:800}.search-select-icon{color:#fff;background:linear-gradient(#74a8ff 0%,#3978f6 100%);border-radius:11px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 10px 18px #2f7df63d}.search-select-content{gap:2px;min-width:0;display:grid}.search-select-field{background:0 0;border:0;grid-template-columns:minmax(0,1fr) 28px;align-items:center;width:100%;min-width:0;min-height:28px;transition:border-color .16s,box-shadow .16s;display:grid;overflow:hidden}.search-select-field:focus-within{box-shadow:none}.search-select-field input{color:#111827;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:18px;font-weight:900}.search-select-field input::placeholder{color:#9aa5b5;font-weight:500}.search-select-field button{color:#3978f6;cursor:pointer;background:0 0;place-items:center;width:28px;height:100%;display:grid}.search-select-field input:disabled,.search-select-field button:disabled{cursor:not-allowed}.search-select-menu{z-index:30;background:#fff;border:1px solid #e4e9f2;border-radius:8px;width:min(360px,82vw);padding:6px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 16px 36px #0f172a1f}.search-select-options{gap:2px;max-height:220px;display:grid;overflow:auto}.search-select-options button{color:#111827;cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;min-height:36px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.search-select-options button:hover,.search-select-options button.active{color:#111827;background:#f6f8fb}.search-select-options button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-select-options p{color:#94a3b8;margin:8px 6px 4px;font-size:13px}.preview-meta{flex-wrap:wrap;gap:8px;display:flex}.preview-meta span{color:#2f7df6;background:#eef5ff;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.preview-table{border:1px solid #e5ebf4;border-radius:8px;overflow-x:auto}.preview-table table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.preview-table th{color:#475569;text-align:left;background:#f6f8fb;height:36px;font-weight:800}.preview-table td{color:#1f2937;border-top:1px solid #edf1f6;height:38px}.preview-table th,.preview-table td{text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:0 10px;overflow:hidden}.upload-toast{z-index:50;color:#111827;background:#fff;border:1px solid #dbe3ef;border-radius:10px;min-width:260px;max-width:min(420px,100vw - 40px);padding:13px 16px;font-size:14px;font-weight:700;position:fixed;top:22px;right:28px;box-shadow:0 18px 45px #0f172a29}.upload-toast.success{color:#149757;border-color:#b9ebcc}.upload-toast.error{color:#dc2626;border-color:#fecaca}.upload-toast.info{color:#2f7df6;border-color:#bfdbfe}.preview-modal-backdrop{z-index:40;background:#0f172a70;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.preview-modal{background:#fff;border:1px solid #e6ebf2;border-radius:14px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;width:min(1480px,100%);height:min(820px,100vh - 56px);max-height:calc(100vh - 56px);padding:22px;display:grid;overflow:hidden;box-shadow:0 26px 90px #0f172a42}.preview-modal-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.preview-modal-header h2{color:#111827;margin:0;font-size:20px}.preview-modal-header p{color:#667085;margin-top:7px;font-size:13px}.preview-modal-header.error p{color:#dc2626}.preview-modal-header>span{color:#667085;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;gap:8px;min-height:30px;padding:0 11px;font-size:12px;display:inline-flex}.preview-modal-header strong{color:#111827}.preview-modal-content{min-height:0;display:grid}.preview-modal-content.has-warning{grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:14px}.modal-table{min-height:0;max-height:none;overflow:auto}.parse-error-box{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;min-height:120px;padding:16px;font-size:14px;line-height:1.7}.upload-result-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.upload-result-summary>div{background:#f8fafc;border:1px solid #e6ebf2;border-radius:8px;gap:6px;min-height:72px;padding:12px 14px;display:grid}.upload-result-summary span{color:#667085;font-size:12px;font-weight:800}.upload-result-summary strong{color:#111827;font-size:24px;line-height:1}.field-mismatch-content,.field-mismatch-detail{gap:12px;min-height:0;display:grid}.field-mismatch-content{overflow:auto}.field-mismatch-summary strong{font-size:16px;line-height:1.35}.field-mismatch-detail>div{background:#f8fafc;border:1px solid #e6ebf2;border-radius:8px;gap:6px;padding:12px 14px;display:grid}.field-mismatch-detail strong{color:#334155;font-size:13px}.field-mismatch-detail p{color:#667085;margin:0;font-size:13px;font-weight:700;line-height:1.7}.upload-warning-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;gap:12px;min-height:0;padding:14px;display:grid}.upload-warning-panel>div:first-child{gap:5px;display:grid}.upload-warning-panel>div:first-child strong{color:#9a3412;font-size:14px}.upload-warning-panel>div:first-child span,.upload-warning-more{color:#9a3412;margin:0;font-size:13px;font-weight:700;line-height:1.6}.upload-warning-list{align-content:start;gap:8px;min-height:0;max-height:none;display:grid;overflow:auto}.upload-warning-list article{background:#fff;border:1px solid #fed7aa;border-radius:8px;gap:6px;padding:10px 12px;display:grid}.upload-warning-list article>div{gap:4px;display:grid}.upload-warning-list article strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.upload-warning-list article span{color:#667085;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.upload-warning-list article p{color:#9a3412;margin:0;font-size:13px;font-weight:800}.preview-modal-actions{background:#fff;border-top:1px solid #e6ebf2;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.preview-modal-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-width:92px;min-height:38px;padding:0 18px;font-size:14px;font-weight:800}.preview-modal-actions button.primary{color:#fff;background:#2f7df6;border-color:#2f7df6}.preview-modal-actions button:disabled{cursor:not-allowed;opacity:.64}.upload-empty-state{text-align:center;background:#fbfdff;border:1px dashed #cfd8e6;border-radius:10px;place-items:center;min-height:128px;margin-top:16px;display:grid}.upload-empty-state strong{color:#111827;font-size:15px}.upload-empty-state span{color:#667085;margin-top:6px;font-size:13px}.tips-panel ol{color:#667085;margin:16px 0 0;padding-left:18px;font-size:12px;line-height:2}.doc-link{color:#2f7df6;cursor:pointer;background:0 0;margin:22px auto 0;font-size:13px;font-weight:700;display:block}.record-heading{justify-content:flex-start}.record-heading h2{margin-right:6px}.record-heading a{margin-left:auto}.record-tabs{border:1px solid #e5ebf4;border-radius:7px;display:inline-flex;overflow:hidden}.record-tabs button{color:#667085;min-width:72px}.record-tabs button.active{color:#2f7df6;background:#eef5ff}.record-table{margin-top:14px;position:relative;overflow:visible}.record-table table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;font-size:12px}.record-table th{color:#667085;text-align:left;background:#f6f8fb;height:38px;font-weight:800}.record-table td{color:#1f2937;border-top:1px solid #edf1f6;height:42px}.record-table th,.record-table td{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 10px;overflow:hidden}.record-table th:first-child,.record-table td:first-child{width:132px}.record-table th:nth-child(2),.record-table td:nth-child(2){width:86px}.record-table th:nth-child(3),.record-table td:nth-child(3){width:72px}.record-table th:nth-child(4),.record-table td:nth-child(4){width:82px}.record-table th:nth-child(6),.record-table td:nth-child(6),.record-table th:nth-child(7),.record-table td:nth-child(7){width:92px}.record-table th:nth-child(9),.record-table td:nth-child(9){width:116px}.record-file-name,.record-error-message,.record-quality-message{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.record-error-message,.record-quality-message{cursor:help;position:relative}.record-error-message:hover:after,.record-error-message:focus-visible:after,.record-quality-message:hover:after,.record-quality-message:focus-visible:after{z-index:60;color:#991b1b;content:attr(data-tooltip);white-space:normal;background:#fff;border:1px solid #fecaca;border-radius:8px;width:min(560px,100vw - 84px);padding:12px 14px;font-size:13px;font-weight:700;line-height:1.6;position:fixed;bottom:42px;right:42px;box-shadow:0 16px 42px #0f172a2e}.record-quality-message{color:#9a3412;font-weight:800}.record-quality-message:hover:after,.record-quality-message:focus-visible:after{color:#9a3412;border-color:#fed7aa}.mini-platform{border-radius:4px;width:16px;height:16px;margin-right:4px;font-size:10px}.status-pill{border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-weight:800;display:inline-flex}.status-pill.成功{color:#16a34a;background:#e7f8ef}.status-pill.待确认,.status-pill.上传中,.status-pill.排队中,.status-pill.处理中{color:#2f7df6;background:#eef5ff}.status-pill.需确认覆盖{color:#b45309;background:#fff4e5}.status-pill.部分异常{color:#f59e0b;background:#fff4e5}.status-pill.失败{color:#ef4444;background:#feeceb}.status-pill.已替换{color:#64748b;background:#f1f5f9}.record-pagination{color:#64748b;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:12px;font-weight:800;display:flex}.record-pagination>div{align-items:center;gap:8px;display:inline-flex}.record-pagination button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:7px;min-height:30px;padding:0 12px;font-size:12px;font-weight:800}.record-pagination button:disabled{cursor:not-allowed;opacity:.5}.record-pagination strong{color:#111827;text-align:center;min-width:54px}.record-table td button,.record-upload-button{color:#2f7df6;cursor:pointer;background:0 0;align-items:center;margin-right:8px;font-size:12px;font-weight:700;display:inline-flex}.record-action-group{align-items:center;gap:4px;display:flex}.record-static-action{color:#94a3b8;font-size:12px;font-weight:700}.customer-page{color:#111827;gap:16px;display:grid}.customer-header{justify-content:space-between;align-items:center;gap:22px;display:flex}.customer-header h1{font-size:28px;line-height:1.1}.customer-header p{color:#667085;margin-top:8px;font-size:14px}.customer-summary{grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;display:grid}.customer-summary article{background:#fff;border:1px solid #e6ebf2;border-radius:12px;min-height:76px;padding:16px 18px;box-shadow:0 10px 28px #0f172a0a}.customer-summary span{color:#667085;font-size:13px;font-weight:700}.customer-summary strong{color:#111827;margin-top:7px;font-size:28px;line-height:1;display:block}.customer-toolbar{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e6ebf2;border-radius:12px;grid-template-columns:auto minmax(320px,1fr) 150px 150px;align-items:center;gap:12px;padding:16px;display:grid}.customer-view-tabs{background:#fff;border:1px solid #e6ebf2;border-radius:10px;gap:4px;width:fit-content;padding:4px;display:inline-flex;box-shadow:0 10px 28px #0f172a0a}.customer-view-tabs button{color:#667085;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.customer-view-tabs button.active{color:#9a6100;background:#fff6df}.customer-view-tabs span{color:inherit;font-size:12px}.customer-inline-error{color:#dc2626;background:#fff5f5;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:700}.customer-primary-button{color:#111827;cursor:pointer;background:#ffad16;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-size:14px;font-weight:800;display:inline-flex}.customer-primary-button:hover{background:#ff9f00}.customer-primary-button:disabled,.customer-secondary-button:disabled{color:#94a3b8;cursor:not-allowed;background:#f3f4f6;border-color:#e5e7eb}.customer-primary-button:disabled:hover,.customer-secondary-button:disabled:hover{background:#f3f4f6}.customer-secondary-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.customer-secondary-button span{color:#64748b;background:#f1f5f9;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:11px;display:inline-grid}.customer-search{color:#8a94a6;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 12px;display:flex}.customer-search input,.customer-toolbar select,.customer-form input,.customer-form select,.customer-form textarea,.store-form input,.store-form select,.customer-pagination input{color:#111827;width:100%;font:inherit;background:0 0;border:0;outline:0}.customer-search input::placeholder{color:#9ca3af}.customer-toolbar select{color:#334155;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:38px;padding:0 11px;font-size:13px;font-weight:700}.customer-table-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e6ebf2;border-radius:12px;overflow:hidden}.customer-table-wrap{overflow-x:auto}.customer-table{border-collapse:collapse;width:100%;min-width:1080px;font-size:13px}.customer-table th{color:#667085;text-align:left;background:#f7f8fa;height:48px;font-weight:800}.customer-table th,.customer-table td{white-space:nowrap;padding:0 14px}.customer-table td{color:#1f2937;border-top:1px solid #edf1f6;height:76px}.customer-table .customer-operator-cell{white-space:normal;min-width:220px}.customer-table tbody tr{cursor:pointer;transition:background-color .14s}.customer-table tbody tr:hover{background:#fbfcff}.customer-name-cell{min-width:190px;display:block}.customer-name-cell strong,.customer-contact strong{color:#111827;font-size:14px;display:block}.customer-name-cell span,.customer-contact span{color:#667085;margin-top:5px;font-size:12px;display:block}.customer-status,.platform-tag{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.customer-status.cooperating{color:#149757;background:#e7f8ef}.customer-status.paused{color:#d97706;background:#fff4e5}.customer-status.ended{color:#64748b;background:#f1f5f9}.customer-platforms{flex-wrap:wrap;gap:6px;max-width:260px;display:flex}.platform-tag.meituan{color:#9a6100;background:#fff4cf}.platform-tag.taobao{color:#ea580c;background:#fff0e5}.platform-tag.jd{color:#dc2626;background:#feecec}.platform-tag.platform-summary{color:#1d4ed8;white-space:nowrap;background:#eef6ff}.data-state{color:#334155;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:24px;padding:0 9px;font-weight:700;display:inline-flex}.data-state i{border-radius:999px;width:8px;height:8px}.data-state.normal i{background:#22c55e}.data-state.normal{color:#149757;background:#e7f8ef}.data-state.partial-missing i{background:#f59e0b}.data-state.partial-missing{color:#b45309;background:#fff4e5}.data-state.not-uploaded i{background:#ef4444}.data-state.not-uploaded{color:#dc2626;background:#feecec}.customer-data-freshness{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:5px;min-width:210px;display:flex}.customer-data-freshness>span:not(.data-state),.customer-data-freshness em{color:#667085;font-size:12px;font-style:normal;line-height:1.25}.customer-data-freshness>span:not(.data-state){color:#334155;font-weight:700}.customer-actions{gap:10px;display:flex}.customer-actions button{color:#2f7df6;cursor:pointer;background:0 0;font-size:13px;font-weight:800}.customer-actions button.danger{color:#d94b4b}.company-entity-editor{gap:12px;display:grid}.company-entity-editor article,.company-entity-list article,.removed-company-list article{background:#fbfcff;border:1px solid #edf1f6;border-radius:10px;gap:10px;padding:12px;display:grid}.company-entity-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.company-entity-heading strong,.company-entity-list strong,.removed-company-list strong{color:#111827;font-size:14px}.company-entity-heading label{white-space:nowrap;color:#334155;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.company-entity-heading input[type=radio]{accent-color:#2f7df6;flex:none;width:16px;height:16px;min-height:0;margin:0}.company-entity-heading button,.company-add-button{color:#2f7df6;cursor:pointer;background:0 0;font-size:13px;font-weight:800}.company-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.company-add-button{justify-self:start}.company-entity-list{gap:10px;padding:16px 20px 20px;display:grid}.company-entity-list article,.removed-company-list article{grid-template-columns:minmax(0,1fr) auto;align-items:center}.company-entity-list span,.removed-company-list span{color:#667085;margin-top:5px;font-size:12px;display:block}.company-entity-list article>div:last-child{align-items:center;gap:10px;display:flex}.company-entity-list button,.removed-company-list button{color:#2f7df6;cursor:pointer;background:0 0;font-size:13px;font-weight:800}.company-entity-list button.danger{color:#d94b4b}.default-company-tag{color:#149757;background:#e7f8ef;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.company-removed-count,.company-empty{color:#667085;font-size:13px;font-weight:700}.removed-company-list{gap:10px;display:grid}.removed-company-list summary{cursor:pointer;color:#2f7df6;font-size:13px;font-weight:800}.customer-pagination{color:#667085;border-top:1px solid #edf1f6;justify-content:flex-end;align-items:center;gap:8px;min-height:60px;padding:0 16px;font-size:13px;display:flex}.customer-pagination button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:7px;min-width:32px;min-height:32px;padding:0 10px;font-weight:700}.customer-pagination button.active{color:#9a6100;background:#fff6df;border-color:#ffad16}.customer-pagination button:disabled{cursor:not-allowed;opacity:.45}.customer-pagination label{align-items:center;gap:6px;margin-left:6px;display:inline-flex}.customer-pagination input{background:#fff;border:1px solid #dbe3ef;border-radius:7px;width:48px;min-height:32px;padding:0 8px}.customer-modal-backdrop{z-index:60;background:#0f172a70;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.customer-modal,.delete-modal,.store-modal,.store-import-modal,.manual-rating-modal{background:#fff;border:1px solid #e6ebf2;border-radius:14px;width:min(760px,100%);max-height:calc(100vh - 56px);padding:22px;overflow:auto;box-shadow:0 26px 90px #0f172a42}.delete-modal{width:min(420px,100%)}.store-modal{width:min(620px,100%)}.report-offline-link-modal{width:min(500px,100%)}.report-offline-link-modal .customer-modal-actions{margin-top:22px}#offline-store-linking{scroll-margin-top:24px}.store-import-modal{width:min(760px,100%)}.manual-rating-modal{width:min(560px,100%)}.manual-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.manual-rating-field,.manual-rating-remark{color:#475467;gap:7px;font-size:13px;font-weight:800;display:grid}.manual-rating-field input,.manual-rating-remark textarea{color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #dbe3ef;border-radius:8px;outline:none;font-size:14px}.manual-rating-field input{height:40px;padding:0 11px}.manual-rating-remark{margin-top:14px}.manual-rating-remark textarea{resize:vertical;min-height:82px;padding:10px 11px}.manual-rating-field input:focus,.manual-rating-remark textarea:focus{border-color:#f6a800;box-shadow:0 0 0 3px #f6a8001f}.form-error-text{color:#dc2626;margin:12px 0 0;font-size:13px;font-weight:800}.customer-modal-heading h2,.delete-modal h2{color:#111827;font-size:20px}.customer-modal-heading p,.delete-modal p{color:#667085;margin-top:7px;font-size:13px}.store-import-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:18px;display:grid}.store-import-upload{color:#92400e;cursor:pointer;background:#fffbeb;border:1px dashed #f59e0b;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;font-weight:800;display:inline-flex;position:relative}.store-import-upload.disabled{cursor:not-allowed;opacity:.72}.store-import-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.store-import-hint{color:#64748b;background:#f8fafc;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:12px;line-height:1.6}.store-import-result{margin-top:14px}.store-import-summary{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.store-import-summary span{color:#334155;background:#f1f5f9;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.store-import-table{border:1px solid #edf1f6;border-radius:8px;max-height:260px;overflow:auto}.store-import-table table{border-collapse:collapse;width:100%;font-size:12px}.store-import-table th,.store-import-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1f6;padding:10px 12px}.store-import-table th{color:#667085;background:#f6f8fb;font-weight:800}.customer-form,.store-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.form-field{gap:7px;display:grid}.form-field.wide{grid-column:1/-1}.form-field>span{color:#334155;font-size:13px;font-weight:800}.form-field em{color:#dc2626;margin-left:3px;font-style:normal}.form-field input,.form-field select,.form-field textarea{resize:vertical;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:38px;padding:0 11px}.region-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.region-selector select:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.customer-detail-page{color:#111827;gap:16px;display:grid}.detail-crumb{color:#8a94a6;align-items:center;gap:9px;min-height:34px;font-size:14px;font-weight:700;display:flex}.detail-crumb button{color:#2f7df6;cursor:pointer;background:0 0;font-weight:800}.detail-crumb strong{color:#111827}.detail-profile-card,.detail-table-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e6ebf2;border-radius:12px}.detail-profile-card{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:24px;padding:46px 22px 22px;display:grid;position:relative}.detail-edit-button{color:#2f7df6;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:34px;padding:0 13px;font-size:13px;font-weight:800;position:absolute;top:18px;right:20px}.detail-profile-main{align-items:center;gap:16px;min-width:0;display:flex}.detail-profile-main>div{min-width:0}.detail-avatar{color:#a86400;background:#fff1c7;border-radius:16px;flex:none;place-items:center;width:64px;height:64px;font-size:24px;font-weight:900;display:grid}.detail-profile-main h1{color:#111827;margin:0;font-size:26px;line-height:1.15}.detail-profile-main p{color:#667085;margin-top:8px;font-size:14px}.customer-id-copy{color:#64748b;cursor:pointer;overflow-wrap:anywhere;text-align:left;background:0 0;border:0;align-items:center;gap:8px;max-width:calc(100% - 44px);margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:800;line-height:1.4;display:inline-flex;position:absolute;top:16px;left:22px}.customer-id-copy:hover{color:#2563eb}.customer-id-copy em{color:#149757;background:#e7f8ef;border-radius:999px;flex:none;padding:2px 7px;font-family:inherit;font-size:11px;font-style:normal}.detail-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.detail-info-item{background:#fbfcff;border:1px solid #edf1f6;border-radius:10px;gap:7px;min-height:58px;padding:12px 14px;display:grid}.detail-info-item span{color:#8a94a6;font-size:12px;font-weight:800}.detail-info-item strong{color:#111827;min-width:0;font-size:14px;font-weight:800}.detail-section-heading{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.detail-heading-actions{align-items:center;gap:10px;display:flex}.detail-section-heading h2{color:#111827;font-size:18px}.detail-section-heading p{color:#667085;margin-top:7px;font-size:13px}.store-table{min-width:1040px}.store-table td{height:72px}.store-table tbody tr{cursor:default}.store-name-cell strong{color:#111827;align-items:center;gap:8px;font-size:14px;display:flex}.store-verify-tag{color:#d97706;background:#fff4e5;border-radius:999px;align-items:center;height:20px;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex}.store-name-cell span{color:#667085;margin-top:5px;font-size:12px;display:block}.offline-store-card{overflow:hidden}.offline-store-empty{color:#667085;gap:10px;padding:22px 20px;display:grid}.offline-store-empty strong{color:#111827}.offline-action-message{margin:0 20px 16px}.offline-store-list{gap:12px;padding:16px 20px;display:grid}.offline-store-collapsed{color:#64748b;background:#fbfdff;border:1px dashed #dbe3ee;border-radius:8px;margin:16px 20px;padding:18px 20px;font-size:13px;font-weight:800}.offline-store-item{background:#fbfcff;border:1px solid #edf1f6;border-radius:10px;gap:12px;padding:14px;display:grid}.offline-store-title,.offline-candidate-head,.offline-candidate-mode{justify-content:space-between;align-items:center;gap:12px;display:flex}.offline-store-title strong{color:#111827;font-size:15px;display:block}.offline-store-title span:not(.offline-link-status){color:#667085;margin-top:4px;font-size:12px;display:block}.offline-link-status,.offline-confidence,.offline-conflict-tag{border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.offline-link-status.complete,.offline-confidence.high{color:#16834f;background:#e7f8ee}.offline-link-status.partial,.offline-confidence.medium{color:#b45309;background:#fff4e5}.offline-link-status.empty,.offline-confidence.low,.offline-conflict-tag{color:#b91c1c;background:#fee2e2}.offline-platform-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.offline-platform-links span{color:#475569;border-radius:8px;min-width:0;padding:10px;font-size:12px;font-weight:800}.offline-platform-links .linked{background:#edfdf4}.offline-platform-links .unlinked{background:#f8fafc}.offline-store-view{margin:0 0 14px}.offline-store-view-links{margin-bottom:14px}.offline-unlinked-tip{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px;padding:0 20px 18px;font-size:13px;font-weight:800;display:flex}.offline-unlinked-tip button,.offline-link-cell button{color:#2f7df6;cursor:pointer;background:0 0;font-size:12px;font-weight:900}.offline-link-cell{gap:5px;display:grid}.offline-link-name{color:#111827;font-weight:800}.offline-link-muted{color:#94a3b8;font-weight:800}.offline-candidate-backdrop{padding:32px 32px 32px calc(var(--sidebar-width) + 32px);place-items:center}.offline-candidate-drawer{width:min(860px, calc(100vw - var(--sidebar-width) - 64px));background:#fff;border:1px solid #e6ebf2;border-radius:14px;flex-direction:column;min-height:min(620px,100vh - 64px);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 26px 90px #0f172a42}.offline-candidate-drawer .customer-modal-heading{border-bottom:1px solid #edf1f6;flex:none;padding:22px 24px 16px}.offline-candidate-body{flex:auto;min-height:0;padding:0 24px 18px;overflow:auto}.offline-candidate-list{gap:14px;margin-top:16px;display:grid}.offline-candidate-footer{z-index:3;background:#fff;border-top:1px solid #e6ebf2;flex:none;margin-top:0;padding:14px 24px;position:relative;box-shadow:0 -12px 26px #0f172a14}.offline-candidate-card{background:#fbfcff;border:1px solid #edf1f6;border-radius:10px;gap:12px;padding:14px;display:grid}.offline-candidate-card label{color:#334155;flex:1;gap:6px;font-size:13px;font-weight:800;display:grid}.offline-candidate-card input,.offline-candidate-card select{color:#111827;width:100%;min-height:34px;font:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:8px}.offline-store-search-field{color:#334155;flex:1.2;gap:7px;min-width:0;font-size:13px;font-weight:800;display:grid}.offline-store-search-label-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.offline-store-recommend-button{color:#13834e;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;max-width:210px;font-size:12px;font-weight:900;overflow:hidden}.offline-store-search-input{color:#64748b;background:#fff;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:0 10px;display:flex}.offline-store-search-input:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd3d}.offline-candidate-card .offline-store-search-input input{min-height:32px;box-shadow:none;border:0;outline:0;padding:0}.offline-store-selected-tip{color:#64748b;font-size:12px;font-weight:800}.offline-store-selected-tip strong{color:#111827}.offline-store-selected-tip.warning{color:#b45309}.offline-store-search-list{background:#fff;border:1px solid #edf1f6;border-radius:8px;max-height:176px;display:grid;overflow:auto}.offline-store-search-list button{color:#334155;cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.offline-store-search-list button:last-child{border-bottom:0}.offline-store-search-list button:hover{background:#f8fafc}.offline-store-search-list button.selected{background:#edfdf4}.offline-store-search-list span{gap:3px;min-width:0;display:grid}.offline-store-search-list strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.offline-store-search-list small{color:#64748b;font-size:11px;font-weight:800}.offline-store-search-list em{color:#16834f;background:#e7f8ee;border-radius:999px;flex:none;padding:3px 7px;font-size:11px;font-style:normal;font-weight:900}.offline-store-search-empty{color:#94a3b8;padding:10px;font-size:12px;font-weight:800}.offline-common-terms{color:#64748b;font-size:12px;font-weight:800}.offline-candidate-items{gap:8px;display:grid}.offline-candidate-item{background:#fff;border-radius:8px;grid-template-columns:minmax(180px,1fr) 90px minmax(130px,.7fr) 118px;align-items:center;gap:10px;padding:10px;font-size:12px;display:grid}.offline-link-picker{gap:10px;display:grid}.offline-link-modal{flex-direction:column;padding:0;display:flex;overflow:hidden}.offline-link-modal .customer-modal-heading{border-bottom:1px solid #edf1f6;flex:none;padding:22px 22px 14px}.offline-link-modal .offline-link-picker{flex:auto;min-height:0;padding:16px 22px;overflow:auto}.offline-link-modal .customer-modal-actions{z-index:2;background:#fff;border-top:1px solid #e6ebf2;flex:none;margin-top:0;padding:14px 22px;position:relative;box-shadow:0 -12px 26px #0f172a14}.offline-link-picker label{border:1px solid #edf1f6;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.offline-link-picker .offline-store-select-row{background:#f8fafc;justify-content:space-between;align-items:flex-start}.offline-store-select-row select{color:#111827;min-width:180px;min-height:34px;font:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:8px}.offline-link-picker span{gap:3px;display:grid}.offline-link-picker em{color:#64748b;font-size:12px;font-style:normal}.store-status{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.store-status.operating{color:#149757;background:#e7f8ef}.store-status.paused{color:#d97706;background:#fff4e5}.store-status.closed{color:#64748b;background:#f1f5f9}.store-status.removed{color:#dc2626;background:#feecec}.removed-store-panel{background:#fff;border:1px solid #e6ebf2;border-radius:14px;width:min(680px,100%);max-height:calc(100vh - 56px);padding:22px;overflow:auto;box-shadow:0 26px 90px #0f172a42}.removed-store-list{gap:10px;margin-top:18px;display:grid}.removed-store-list article{background:#fbfcff;border:1px solid #edf1f6;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 14px;display:flex}.removed-store-list strong{color:#111827;font-size:14px;display:block}.removed-store-list span{color:#667085;margin-top:5px;font-size:12px;display:block}.removed-store-list button{color:#9a6100;cursor:pointer;background:#fff6df;border-radius:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:800}.empty-table-cell{color:#8a94a6;text-align:center;font-weight:700}.form-field textarea{padding-top:10px}.form-field>strong{color:#dc2626;font-size:12px}.platform-checkboxes{flex-wrap:wrap;align-items:center;gap:12px;min-height:38px;display:flex}.platform-checkboxes label{color:#334155;align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.platform-checkboxes input{width:auto}.customer-modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.customer-modal-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-width:88px;min-height:38px;padding:0 18px;font-size:14px;font-weight:800}.customer-modal-actions button.primary{color:#111827;background:#ffad16;border-color:#ffad16}.customer-modal-actions button.danger{color:#dc2626;background:#feecec;border-color:#fecaca}h1,h2,p{margin:0}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:24px 18px;position:static}.brand{margin-bottom:24px}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sidebar-nav button,.sidebar-nav a{min-height:46px;padding:0 14px}.sidebar-footer{margin-top:18px}.main-panel{padding:20px 20px 24px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-detail,.calendar-bottom-layout,.upload-workbench{grid-template-columns:1fr}.upload-calendar-panel{min-height:0}.upload-side-cards{grid-template-columns:1fr}.upload-side-stack{grid-template-rows:auto auto}.upload-side-card,.upload-task-matrix{height:auto}.upload-layout{grid-template-columns:1fr}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offline-candidate-backdrop{padding:20px}.offline-candidate-drawer{width:min(100%,100vw - 40px);min-height:min(620px,100vh - 40px);max-height:calc(100vh - 40px)}.offline-candidate-item,.settings-user-form{grid-template-columns:1fr}}@media (width<=640px){.brand strong{font-size:16px}.sidebar-nav{grid-template-columns:1fr}.settings-user-modal{width:min(100%,100vw - 24px)}.permission-empty-state{gap:14px;margin-top:18px;padding:18px;display:grid}.permission-empty-state span{border-radius:8px;width:100%}.settings-user-modal-heading,.settings-user-form{padding-left:16px;padding-right:16px}.settings-user-form .customer-modal-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.sidebar-footer{padding-top:12px}.page-canvas{min-height:60vh}.upload-header h1{font-size:22px}.upload-title-row{flex-direction:column;align-items:stretch;gap:10px}.task-grid{grid-template-columns:1fr}.calendar-heading{flex-direction:column;align-items:stretch}.calendar-controls{justify-content:flex-start}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-bottom-layout,.calendar-detail{grid-template-columns:1fr}.task-matrix-table{overflow-x:auto}.task-matrix-row{min-width:760px}.group-heading,.section-heading,.record-heading{flex-direction:column;align-items:stretch}.search-select{width:100%;min-width:0;max-width:none}.record-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.region-selector{grid-template-columns:1fr}.record-heading a{margin-left:0}.offline-candidate-head,.offline-candidate-mode{flex-direction:column;align-items:stretch}}.login-page{color:#0f1f3d;background:radial-gradient(circle at 15% 12%,#cbe5ff8c,#0000 30%),radial-gradient(circle at 82% 85%,#d7e5ff94,#0000 34%),linear-gradient(135deg,#f8fbff 0%,#eef6ff 47%,#f6f9ff 100%);place-items:center;height:100vh;padding:clamp(22px,4vh,40px) 40px 64px;display:grid;position:relative;overflow:hidden}.login-card{background:#fff;border:1px solid #dbe7f6c7;border-radius:28px;grid-template-columns:minmax(0,1.48fr) minmax(420px,1fr);width:min(100%,1370px);height:min(780px,100vh - 112px);display:grid;overflow:hidden;box-shadow:0 34px 62px #2644702e,0 10px 30px #0f172a14}.login-brand-panel{background:linear-gradient(90deg,#fff0 64%,#ffffff73 100%),linear-gradient(135deg,#f3faff 0%,#e9f5ff 62%,#eef8ff 100%);align-content:start;min-width:0;padding:clamp(32px,5vh,44px) 64px 38px 52px;display:grid;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";pointer-events:none;position:absolute}.login-brand-panel:before{z-index:0;opacity:.72;background:linear-gradient(115deg,#0000 0 43%,#3691ff1f 44%,#0000 46% 100%) -44% 0/78% 100%,linear-gradient(90deg,#227dff14 1px,#0000 1px) 0 0/76px 76px,linear-gradient(0deg,#227dff0f 1px,#0000 1px) 0 0/76px 76px;animation:16s linear infinite login-panel-flow;inset:0;-webkit-mask-image:linear-gradient(90deg,#000000e0,#0000006b 66%,#0000 100%);mask-image:linear-gradient(90deg,#000000e0,#0000006b 66%,#0000 100%)}.login-brand-panel:after{z-index:0;mix-blend-mode:screen;opacity:.88;background:radial-gradient(at 72% 32%,#499fff2e,#0000 28%) 0 0/100% 100%,linear-gradient(120deg,#0000 25%,#ffffff4d 42%,#0000 56%) -120% 0/65% 100%;animation:9s ease-in-out infinite login-panel-sheen;inset:0}@keyframes login-panel-flow{0%{background-position:-44% 0,0 0,0 0}to{background-position:144% 0,76px 38px,38px 76px}}@keyframes login-panel-sheen{0%,28%{background-position:0 0,-120% 0}72%,to{background-position:0 0,220% 0}}.login-brand,.login-feature-item,.login-options,.login-remember,.login-help{align-items:center;display:flex}.login-brand{z-index:1;align-self:start;gap:14px;position:relative}.login-brand strong{color:#101b34;font-size:29px;font-weight:900;line-height:1.2;display:block}.login-brand p,.login-hero-copy p,.login-feature-item em,.login-form-title p,.login-divider,.login-help{color:#748196;margin:0}.login-brand p{margin-top:4px;font-size:15px;font-weight:600}.login-hero-copy{z-index:1;margin-top:clamp(46px,8vh,70px);position:relative}.login-hero-copy h1{color:#0e203f;margin:0;font-size:40px;font-weight:900;line-height:1.25}.login-hero-copy p{margin-top:16px;font-size:18px;font-weight:700}.login-showcase{z-index:1;grid-template-columns:310px minmax(320px,1fr);align-items:center;gap:16px;min-height:390px;margin-top:clamp(34px,6vh,44px);display:grid;position:relative}.login-feature-list{gap:20px;margin:0;padding:0;list-style:none;display:grid}.login-feature-item{gap:18px}.login-feature-icon{background:#fff;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 16px 24px #2d52821a,inset 0 0 0 1px #d6e2f08c}.login-feature-item.blue .login-feature-icon{color:#1e86ff}.login-feature-item.green .login-feature-icon{color:#11c37b}.login-feature-item.orange .login-feature-icon{color:#ffae1d}.login-feature-item.purple .login-feature-icon{color:#7c5cff}.login-feature-item strong{color:#0f1f3d;font-size:16px;font-weight:900;line-height:1.35;display:block}.login-feature-item em{margin-top:6px;font-size:14px;font-style:normal;font-weight:650;display:block}.login-visual{min-height:390px;position:relative}.visual-platform{transform-origin:100% 100%;width:465px;height:492px;position:absolute;bottom:5px;right:3px;transform:scale(.82)}.visual-shadow{filter:blur(14px);background:#2870ec26;border-radius:50%;width:340px;height:88px;position:absolute;bottom:17px;right:66px}.visual-base,.visual-stand,.visual-screen,.visual-card{position:absolute;box-shadow:0 18px 30px #2975e726}.visual-base{background:linear-gradient(#ffffffe6,#dfecffd1),linear-gradient(135deg,#fff,#d8e9ff);border-radius:22px;width:342px;height:118px;bottom:20px;right:66px;transform:perspective(430px)rotateX(58deg)rotate(45deg)}.visual-base:before{content:"";background:linear-gradient(135deg,#4ea3ff,#1b73f0);border-radius:18px;position:absolute;inset:26px}.visual-base:after{content:"";background:#f8fbff;border-radius:14px;position:absolute;inset:38px}.visual-stand{background:linear-gradient(#ffffffb3,#cfe2ffbf);border-radius:22px;width:120px;height:115px;bottom:99px;right:167px;transform:skewY(7deg)}.visual-screen{background:linear-gradient(135deg,#fff 0%,#ecf5ff 100%);border:9px solid #7db8ff;border-radius:18px;width:251px;height:218px;bottom:191px;right:86px;overflow:hidden;transform:perspective(780px)rotateY(-24deg)rotateX(2deg)}.visual-screen:after{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff70,#0000 44%);position:absolute;inset:0}.visual-screen-top{background:linear-gradient(90deg,#dceeff,#f7fbff);align-items:center;gap:6px;height:34px;padding:0 15px;display:flex}.visual-screen-top span{background:#3597ff;border-radius:999px;width:58px;height:12px}.visual-screen-top i{background:#fff;border-radius:50%;width:7px;height:7px;margin-left:auto}.visual-screen-top i+i{margin-left:0}.visual-screen-body{padding:18px 15px}.visual-pill{background:#e1ecfb;border-radius:999px;width:112px;height:13px;display:block}.visual-grid{grid-template-columns:1fr 72px;gap:16px;margin-top:18px;display:grid}.visual-chart-line{background:linear-gradient(#0000 20%,#e7f0fb 20% 22%,#0000 22% 48%,#e7f0fb 48% 50%,#0000 50% 75%,#e7f0fb 75% 77%,#0000 77%),#f7fbff;border-radius:9px;height:68px;position:relative}.visual-chart-line span{border-bottom:4px solid #4b9dff;border-radius:50%;height:38px;position:absolute;bottom:18px;left:8px;right:9px;transform:skewY(-15deg)}.visual-pie{background:conic-gradient(#21c38a 0 27%, #327fff 27% 100%);border-radius:50%;width:62px;height:62px;box-shadow:inset 0 0 0 1px #ffffffdb}.visual-bars{grid-template-columns:repeat(4,1fr);align-items:end;gap:9px;width:182px;margin-top:20px;display:grid}.visual-bars span{background:#77b5ff;border-radius:4px 4px 0 0;display:block}.visual-bars span:first-child{height:22px}.visual-bars span:nth-child(2){height:37px}.visual-bars span:nth-child(3){height:51px}.visual-bars span:nth-child(4){height:31px}.visual-card{border-radius:16px}.visual-card-left{background:linear-gradient(135deg,#ffffffeb,#ddecff);width:75px;height:78px;bottom:132px;left:20px}.visual-card-left span{background:#2a8eff;border-radius:4px 4px 0 0;width:10px;position:absolute;bottom:17px}.visual-card-left span:first-child{height:23px;left:19px}.visual-card-left span:nth-child(2){height:35px;left:35px}.visual-card-left span:nth-child(3){height:49px;left:51px}.visual-card-right{background:linear-gradient(135deg,#ffe9ba,#ffbd3f);width:111px;height:87px;bottom:115px;right:8px}.visual-card-right i{background:#fff;border-radius:50%;width:30px;height:30px;position:absolute;top:24px;left:18px}.visual-card-right i:before{content:"";background:#ffb127;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:11px}.visual-card-right i:after{content:"";background:#ffb127;border-radius:999px 999px 0 0;height:8px;position:absolute;bottom:5px;left:6px;right:6px}.visual-card-right span{background:#ffffffd1;border-radius:999px;width:34px;height:8px;position:absolute;right:15px}.visual-card-right span:first-of-type{top:28px}.visual-card-right span:nth-of-type(2){top:45px}.visual-card-float{background:linear-gradient(135deg,#dcfff3,#aaf0de);place-items:center;width:58px;height:73px;display:grid;top:150px;left:78px}.visual-card-float span{background:conic-gradient(#23bf8a 0 25%, #dffaf2 25% 100%);border-radius:50%;width:38px;height:38px}.login-form-panel{background:#fff;place-items:center;min-width:0;padding:0 72px;display:grid}.login-form{width:100%;max-width:421px}.login-form-title{margin-bottom:40px}.login-form-title h2{color:#111f3b;margin:0;font-size:34px;font-weight:900;line-height:1.2}.login-form-title p{margin-top:14px;font-size:17px;font-weight:700}.login-field{color:#778396;background:#fff;border:1px solid #d7dee8;border-radius:8px;align-items:center;gap:18px;width:100%;height:62px;margin-bottom:24px;padding:0 23px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 3px 10px #0f172a08}.login-field:focus-within{border-color:#2684ff;box-shadow:0 0 0 4px #2684ff1a}.login-field input{color:#111827;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:17px;font-weight:700}.login-field input::placeholder{color:#9da6b4}.login-password-toggle{color:#778396;cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.login-password-toggle:hover{color:#1e78f0;background:#f4f7fb}.login-options{color:#2d3850;justify-content:space-between;gap:18px;margin:0 0 34px;font-size:15px;font-weight:800}.login-options a,.login-help a{color:#1d7cff;font-weight:850;text-decoration:none}.login-remember{cursor:pointer;gap:9px;position:relative}.login-remember input{opacity:0;pointer-events:none;position:absolute}.login-remember span{color:#0000;background:#fff;border:1px solid #cfd8e6;border-radius:4px;place-items:center;width:22px;height:22px;display:grid}.login-remember input:checked+span{color:#fff;background:#1976f3;border-color:#1976f3}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(#1f83ff 0%,#126df0 100%);border-radius:7px;justify-content:center;align-items:center;width:100%;height:60px;font-size:17px;font-weight:850;display:inline-flex;box-shadow:0 12px 22px #1976f338}.login-submit:hover{background:linear-gradient(#318dff 0%,#1474ff 100%)}.login-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.login-divider{align-items:center;gap:18px;margin:42px 0 23px;font-size:14px;font-weight:800;display:flex}.login-divider:before,.login-divider:after{content:"";background:#dfe5ed;flex:1;height:1px}.login-help{justify-content:center;gap:12px;font-size:15px;font-weight:750}.login-footer{z-index:10;color:#6b7890;text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:14px;font-size:13px;font-weight:700;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.login-icp-link{color:inherit;text-decoration:none}.login-icp-link:hover{color:#1d7cff}@media (width<=980px){.login-page{padding:24px 24px 72px}.login-card{grid-template-columns:1fr;min-height:860px}.login-brand-panel{padding:38px}.login-form-panel{padding:54px 38px 62px}.login-showcase{grid-template-columns:minmax(260px,310px) 1fr}.visual-platform{transform-origin:100% 100%;right:0;transform:scale(.9)}}@media (width<=760px){.login-page{padding:14px 14px 66px}.login-card{border-radius:22px;min-height:auto}.login-brand-panel{padding:28px 22px 34px}.login-brand strong{font-size:22px}.login-brand p{font-size:13px}.login-hero-copy{margin-top:58px}.login-hero-copy h1{font-size:32px}.login-hero-copy p{font-size:15px;line-height:1.7}.login-showcase{grid-template-columns:1fr;margin-top:38px}.login-feature-list{gap:20px}.login-visual{min-height:380px;overflow:hidden}.visual-platform{transform-origin:bottom;right:50%;transform:translate(50%)scale(.76)}.login-form-panel{padding:44px 22px 48px}.login-form-title{margin-bottom:32px}.login-form-title h2{font-size:29px}.login-field{height:58px;margin-bottom:18px}.login-options{margin-bottom:28px}.login-submit{height:58px}.login-footer{white-space:normal;flex-wrap:wrap;gap:6px 12px;width:calc(100% - 32px);bottom:22px}}@media (prefers-reduced-motion:reduce){.login-brand-panel:before,.login-brand-panel:after{animation:none}}
