:root{--brand-50:#edf5ff;--brand-100:#e6f4ff;--brand-200:#dbe5f2;--brand-300:#91caff;--brand-400:#4096ff;--brand-500:#1677ff;--brand-600:#0958d9;--brand-700:#153d75;--bg:#f5f8fc;--surface:#fff;--surface-2:#f7faff;--press:#e6effa;--text:#1e293b;--text-2:#475569;--text-muted:#64748b;--text-subtle:#94a3b8;--border:#dbe5f2;--border-strong:#dbe5f2;--hairline:#0000000f;--success:#07c160;--success-bg:#e8f7ee;--success-tx:#0a9a52;--warning:#fa9d3b;--warning-bg:#fdf2e3;--warning-tx:#b9700c;--danger:#fa5151;--danger-bg:#fdecec;--danger-tx:#c93434;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-pill:999px;--shadow-pop:0 8px 30px #0000001f, 0 2px 8px #0000000f;color:var(--text);background:var(--bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px}body{min-width:320px;color:var(--text);background:var(--bg)}@media (prefers-reduced-motion:reduce){*,:before{animation:none!important}}.phone-shell{z-index:1;width:min(100%,430px);min-height:100vh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.phone-shell.report-shell{min-height:100dvh;padding-top:0;padding-bottom:calc(118px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}.report-shell .report-top{margin:0 -16px 14px}@media (max-width:719px){.phone-shell.report-shell{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;height:100dvh;overflow-y:auto}}h1,h2,h3,p{margin:0}.upload-hero{padding:26px 4px 18px}.upload-hero h1{text-align:center;letter-spacing:-.01em;color:var(--text);font-size:24px;font-weight:700;line-height:1.25}.upload-panel,.status-card,.summary-card,.filter-card,.table-card,.empty-card,.file-status-card,.analysis-card,.analysis-hero,.report-block,.history-page{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.upload-panel{padding:14px}.upload-zone{border:1.5px dashed var(--brand-300);background:var(--surface-2);width:100%;min-height:166px;color:var(--brand-600);border-radius:var(--r-md);text-align:center;place-items:center;gap:10px;padding:24px 20px;transition:border-color .15s,background .15s;display:grid}.upload-zone svg{color:var(--brand-500)}.upload-zone strong{width:100%;color:var(--text);overflow-wrap:anywhere;word-break:break-word;white-space:normal;font-size:17px;font-weight:600;line-height:1.3}.upload-zone span{color:var(--text-muted);font-size:13px;line-height:1.5}.selected-upload-zone{cursor:default}.selected-upload-zone strong{overflow-wrap:anywhere;word-break:break-word;width:100%}.upload-zone-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.upload-zone-actions button{border-radius:var(--r-sm);white-space:nowrap;word-break:keep-all;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:38px;font-size:13px;font-weight:600;display:inline-flex}.selected-change-btn{border:1px solid var(--brand-200);background:var(--surface);color:var(--brand-600)}.selected-clear-btn{border:1px solid var(--danger-bg);background:var(--danger-bg);color:var(--danger-tx)}.selected-change-btn:active{background:var(--brand-50)}.selected-clear-btn:active{background:#fbdada}.selected-file-list{border-radius:var(--r-sm);background:var(--surface-2);gap:6px;margin-top:12px;padding:8px;display:grid}.selected-file-row{grid-template-columns:minmax(0,1fr) 30px;align-items:start;gap:8px;min-width:0;display:grid}.selected-file-row span,.selected-file-list strong{min-width:0;color:var(--text-2);overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.35}.selected-file-list strong{color:var(--brand-600);font-weight:600}.selected-file-row button{border-radius:var(--r-sm);background:var(--brand-50);width:30px;height:30px;min-height:30px;color:var(--brand-600);border:0;justify-content:center;align-items:center;padding:0;transition:background .15s;display:inline-flex}.selected-file-row button:active{background:var(--brand-100)}.primary-btn,.secondary-btn,.download-btn{border-radius:var(--r-sm);border:0;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.primary-btn{color:#fff;background:var(--brand-500);min-height:50px}.primary-btn:active{background:var(--brand-600)}.primary-btn:disabled{opacity:.5}.secondary-btn,.download-btn{min-height:48px;color:var(--brand-600);background:var(--brand-50)}.secondary-btn:active,.download-btn:active{background:var(--brand-100)}.spec-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.spec-row div{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);min-height:78px;color:var(--text-2);text-align:center;place-items:center;gap:8px;padding:12px 8px;font-size:12px;font-weight:500;transition:background .15s;display:grid}.spec-row div:active{background:var(--press)}.spec-row svg{color:var(--brand-500)}.report-top{--topbar-side:112px;z-index:5;min-height:50px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);border-bottom:1px solid var(--hairline);grid-template-columns:var(--topbar-side) minmax(0, 1fr) var(--topbar-side);background:#f5f6f7eb;align-items:center;gap:0;margin:-16px -16px 14px;display:grid;position:-webkit-sticky;position:sticky;top:0}.report-top>.top-title{text-align:center;justify-self:center;min-width:0;max-width:210px;overflow:hidden}.report-top span{color:var(--text-muted);font-size:11px;display:block}.report-top strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.2;display:block;overflow:hidden}.icon-btn{border-radius:var(--r-sm);width:36px;height:44px;color:var(--brand-600);background:0 0;border:0;place-items:center;text-decoration:none;transition:opacity .15s;display:inline-grid}.icon-btn:active{opacity:.5}.top-left-actions{justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.header-actions{justify-content:flex-end;gap:0;width:100%;min-width:0;display:inline-flex}.report-top>:last-child{justify-self:end}.share-toast{left:50%;top:calc(64px + env(safe-area-inset-top));z-index:20;border-radius:var(--r-sm);color:#fff;min-height:38px;box-shadow:var(--shadow-pop);background:#000000c7;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex;position:fixed;transform:translate(-50%)}.share-toast svg{color:var(--success)}.manual-copy-backdrop{z-index:30;background:#0006;place-items:center;padding:18px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.manual-copy-backdrop.file-action-backdrop{padding:16px 16px calc(16px + env(safe-area-inset-bottom));place-items:end center}.manual-copy-modal{border-radius:var(--r-lg);background:var(--surface);width:min(100%,390px);box-shadow:var(--shadow-pop);gap:10px;padding:16px;display:grid}.manual-copy-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.manual-copy-title strong{color:var(--text);font-size:15px;font-weight:600}.manual-copy-title button{border-radius:var(--r-sm);width:44px;min-height:44px;color:var(--text-muted);background:var(--surface-2);border:0;justify-content:center;align-items:center;display:inline-flex}.manual-copy-modal textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;min-height:92px;color:var(--text-2);background:var(--surface-2);outline:none;padding:10px;font-size:13px;line-height:1.5}.manual-copy-modal textarea:focus{border-color:var(--brand-400)}.manual-copy-modal>button{border-radius:var(--r-sm);color:#fff;background:var(--brand-500);border:0;min-height:44px;font-weight:600}.file-action-backdrop .file-action-modal{border-radius:20px;gap:16px;width:min(100%,420px);padding:20px}.file-action-modal{gap:14px}.file-action-tip{color:var(--text-muted);margin:0;font-size:15px;line-height:1.65}.file-action-buttons{grid-template-columns:1fr;gap:10px;display:grid}.file-action-buttons button{border-radius:var(--r-sm);color:#fff;background:var(--brand-500);border:0;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:15px;font-weight:600;display:inline-flex}.status-card{text-align:center;padding:32px 20px}.status-card h2{margin:18px 0 0;font-size:20px;font-weight:600}.status-card p{color:var(--text-muted);margin-top:8px;font-size:14px;line-height:1.5}@property --p{syntax:"<percentage>";inherits:false;initial-value:0%}.progress-ring{--p:0%;background:conic-gradient(from -90deg, var(--brand-500) var(--p), #edf5ff 0);border-radius:50%;place-items:center;width:122px;height:122px;margin:0 auto;transition:--p .65s cubic-bezier(.4,0,.2,1);display:grid;position:relative}.progress-ring:after{content:"";background:var(--surface);border-radius:50%;position:absolute;top:11px;bottom:11px;left:11px;right:11px}.progress-ring span{z-index:1;color:var(--text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;position:relative}.progress-ring:before{content:"";border:2px solid var(--brand-400);pointer-events:none;border-radius:50%;animation:1.9s ease-out infinite ring-pulse;position:absolute;top:-7px;bottom:-7px;left:-7px;right:-7px}@keyframes ring-pulse{0%{opacity:.55;transform:scale(.9)}80%,to{opacity:0;transform:scale(1.16)}}.status-card{animation:.5s cubic-bezier(.34,1.4,.5,1) both card-rise}@keyframes card-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.summary-card{padding:14px;display:block}.summary-source-select{gap:6px;display:grid}.summary-source-select span{color:var(--text-muted);font-size:12px}.source-select-trigger{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:54px;color:var(--text);text-align:left;outline:0;gap:3px;padding:8px 10px;display:grid}.source-select-trigger:disabled{opacity:.65}.source-select-trigger:focus{border-color:var(--brand-400);box-shadow:0 0 0 3px #213e661f}.source-select-trigger strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.25}.source-select-trigger em{color:var(--text-muted);font-size:11px;font-style:normal;line-height:1.25}.source-picker-drawer{max-height:min(78vh,680px)}.source-picker-list{gap:8px;padding-bottom:8px;display:grid}.source-picker-list label{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;min-width:0;min-height:54px;padding:10px;display:grid}.source-picker-list label.active{border-color:var(--brand-300);background:var(--brand-50);box-shadow:0 0 0 2px #213e6614}.source-picker-list input{width:18px;height:18px;accent-color:var(--brand-500);margin:2px 0 0}.source-picker-list span{gap:3px;min-width:0;display:grid}.source-picker-list strong{color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:13px;font-weight:650;line-height:1.35}.source-picker-list em{color:var(--text-muted);font-size:11px;font-style:normal}.summary-card>strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;line-height:1.1;display:block}.summary-card>small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.metric-grid div{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;padding:11px 10px;display:flex}.metric-grid span{color:var(--text-muted);font-size:11px}.metric-grid strong{width:100%;min-width:0;color:var(--text);white-space:nowrap;text-overflow:clip;letter-spacing:0;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1.2;display:block;overflow:visible}.metric-grid span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.filter-card{margin-bottom:10px;padding:12px}.filter-toolbar{min-height:38px;color:var(--text-muted);grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:12px;display:grid}.filter-toolbar button{border-radius:var(--r-sm);background:var(--brand-50);min-height:38px;color:var(--brand-600);border:0;justify-content:center;align-items:center;gap:5px;padding:0 14px;font-weight:600;transition:background .15s;display:inline-flex}.filter-toolbar button:active{background:var(--brand-100)}.filter-toolbar>span{font-variant-numeric:tabular-nums;justify-self:end}.filter-toolbar strong{color:var(--brand-600);font-weight:600}.filter-status{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-muted);overflow-wrap:anywhere;margin-top:10px;padding:9px 11px;font-size:12px;line-height:1.5}.drawer-mask{z-index:20;background:#0006;place-items:end center;padding:0 10px 10px;animation:.22s sheet-fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.drawer{background:var(--surface);width:min(390px,100%);max-height:82vh;box-shadow:var(--shadow-pop);padding:14px 14px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:.36s cubic-bezier(.34,1.4,.5,1) sheet-up;overflow:auto}.drawer:before{content:"";background:#00000029;border-radius:3px;width:36px;height:5px;margin:-2px auto 12px;display:block}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer header{grid-template-columns:58px 1fr 58px;align-items:center;margin-bottom:12px;display:grid}.drawer header button{border-radius:var(--r-sm);background:var(--surface-2);min-height:36px;color:var(--text-2);border:0;font-size:13px;font-weight:500;transition:background .15s}.drawer header button:active{background:var(--press)}.drawer header strong{text-align:center;color:var(--text);font-size:16px;font-weight:600}.filter-drawer{max-height:min(78vh,720px);padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.filter-drawer header{grid-template-columns:52px 1fr 52px;margin-bottom:8px}.filter-drawer header button{min-height:34px;font-size:12px}.filter-drawer header strong{font-size:16px}.filter-display-toggle{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:42px;color:var(--text-2);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:0 12px;font-size:13px;font-weight:500;display:flex}.filter-display-toggle input{width:18px;height:18px;accent-color:var(--brand-500);margin:0}.direction-filter{gap:6px;margin-top:10px;display:grid}.direction-filter>span{color:var(--text-muted);font-size:12px}.direction-filter>div{background:var(--press);border-radius:9px;grid-template-columns:repeat(3,1fr);gap:0;padding:2px;display:grid;position:relative}.direction-filter button{min-height:34px;color:var(--text-2);background:0 0;border:0;border-radius:7px;font-size:13px;font-weight:500;transition:background .22s,color .22s,box-shadow .22s}.direction-filter button:active{opacity:.7}.direction-filter button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001a}.filter-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px;display:grid}.filter-grid label,.filter-text-row>label:first-child{min-width:0;color:var(--text-muted);gap:5px;font-size:12px;display:grid}.filter-grid input,.filter-text-row>label:first-child input{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-width:0;height:44px;color:var(--text);font-variant-numeric:tabular-nums;outline:0;padding:0 10px;transition:border-color .15s,box-shadow .15s}.filter-grid input[type=date],.filter-grid .filter-date-input{white-space:nowrap;max-width:100%;line-height:44px}.filter-grid .filter-date-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;touch-action:manipulation;font-size:14px}.date-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid input:focus,.filter-text-row>label:first-child input:focus{border-color:var(--brand-400);box-shadow:0 0 0 3px #213e661f}@media (max-width:480px){.date-filter-grid{grid-template-columns:1fr}}.filter-group-title{color:var(--text-muted);margin:12px 0 8px;font-size:12px;font-weight:600}.filter-text-row{grid-template-columns:1fr 62px;align-items:end;gap:10px;margin-top:10px;display:grid}.check-line{min-height:44px;color:var(--text-2);justify-content:center;align-items:center;gap:6px;font-size:12px;display:inline-flex}.check-line input{width:16px;height:16px;accent-color:var(--brand-500);flex:0 0 16px;margin:0}.filter-checks{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:0;display:grid}.filter-checks label{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-width:0;min-height:62px;color:var(--text-2);align-items:flex-start;gap:8px;padding:10px 10px 10px 9px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.filter-checks label.active{border-color:var(--brand-300);background:var(--brand-50);box-shadow:0 0 0 2px #213e6614}.filter-checks input{width:16px;height:16px;accent-color:var(--brand-500);flex:0 0 16px;margin:2px 0 0}.filter-checks span{gap:3px;min-width:0;display:grid}.filter-checks strong{color:var(--text-2);font-size:12px;font-weight:600;line-height:1.25}.filter-checks em{color:var(--text-muted);font-size:11px;font-style:normal;line-height:1.25}.filter-actions{grid-template-columns:1.2fr 1fr;gap:10px;margin-top:12px;display:grid}.filter-actions button{border-radius:var(--r-sm);border:0;justify-content:center;align-items:center;gap:6px;min-height:46px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.filter-actions .apply-filter-btn{background:var(--brand-500);color:#fff}.filter-actions .apply-filter-btn:active{background:var(--brand-600)}.filter-actions .reset-filter-btn{background:var(--brand-50);color:var(--brand-600)}.filter-actions .reset-filter-btn:active{background:var(--brand-100)}.filter-drawer .drawer-filter-actions{border-top:1px solid var(--hairline);background:var(--surface);margin-top:12px;padding-top:10px;position:-webkit-sticky;position:sticky;bottom:0}.table-card{border-radius:var(--r-md);overflow:hidden}.table-card table{border-collapse:collapse;table-layout:fixed;letter-spacing:-.02em;font-variant-numeric:tabular-nums;width:100%;font-size:11px;line-height:1.25}.table-card th,.table-card td{border:1px solid var(--border-strong);text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;padding:7px 4px}.table-card th{background:var(--brand-50);color:var(--brand-700);z-index:1;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.table-card td{color:var(--text-2);font-weight:500}.table-card th:first-child,.table-card td:first-child{width:17%}.table-card th:nth-child(2),.table-card td:nth-child(2){width:12%}.table-card th:nth-child(3),.table-card td:nth-child(3),.table-card th:nth-child(4),.table-card td:nth-child(4){width:16%}.table-card th:nth-child(5),.table-card td:nth-child(5){width:39%}.table-card.with-source-column th:first-child,.table-card.with-source-column td:first-child{width:16%}.table-card.with-source-column th:nth-child(2),.table-card.with-source-column td:nth-child(2){width:11%}.table-card.with-source-column th:nth-child(3),.table-card.with-source-column td:nth-child(3),.table-card.with-source-column th:nth-child(4),.table-card.with-source-column td:nth-child(4){width:15%}.table-card.with-source-column th:nth-child(5),.table-card.with-source-column td:nth-child(5){width:28%}.table-card.with-source-column th:nth-child(6),.table-card.with-source-column td:nth-child(6){width:15%}.table-card td strong,.table-card td small{white-space:normal;display:block}.table-card td strong{color:var(--text);font-weight:600}.table-card td small{color:var(--text-muted);margin-top:3px}.amount{color:var(--text);font-weight:600}.income-pill,.expense-pill,.plain-pill{border-radius:var(--r-xs);justify-content:center;align-items:center;min-width:30px;height:22px;min-height:auto;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.income-pill{background:var(--success-bg);color:var(--success-tx)}.expense-pill{background:var(--danger-bg);color:var(--danger-tx)}.plain-pill{background:var(--surface-2);color:var(--text-muted)}.pager{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin:10px 0 12px;padding:8px;display:grid}.pager button{border-radius:var(--r-sm);background:var(--brand-50);width:36px;height:36px;min-height:36px;color:var(--brand-600);border:0;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.pager button:active{background:var(--brand-100)}.pager button:disabled{color:var(--text-subtle);background:var(--surface-2)}.pager-center{justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.pager-center span{text-align:center;min-width:38px;color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.pager-center label{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:34px;color:var(--text-muted);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.pager-center select{color:var(--text);background:0 0;border:0;outline:0;font-weight:600}.analysis-page{gap:12px;min-width:0;margin-top:12px;display:grid}.analysis-page>*{width:100%;min-width:0;max-width:100%}.analysis-hero{padding:16px}.analysis-hero h2{color:var(--text);margin:4px 0 6px;font-size:19px;font-weight:600;line-height:1.3}.analysis-hero p{color:var(--text-2);margin:0;font-size:13px;line-height:1.55}.analysis-hero span{color:var(--text-muted);font-size:12px}.analysis-hero .ranking-summary-text{color:var(--text-muted);font-size:12px;line-height:1.5}.report-action-card{gap:12px;display:grid}.report-action-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.report-action-title strong{color:var(--text);font-size:17px;font-weight:600;line-height:1.25}.report-action-title span{white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.ranking-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.ranking-meta-grid div{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);min-width:0;padding:10px}.ranking-meta-grid span,.ranking-meta-grid strong,.ranking-meta-grid em{min-width:0;display:block}.ranking-meta-grid span{color:var(--text-muted);font-size:11px}.ranking-meta-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:600;line-height:1.25;overflow:hidden}.ranking-meta-grid em{color:var(--brand-600);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px;font-style:normal;font-weight:600}.ranking-switch-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:12px}.ranking-switch{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ranking-switch button{border-radius:var(--r-sm);background:var(--surface-2);min-height:40px;color:var(--text-2);border:0;font-size:12px;font-weight:600;transition:background .15s,color .15s}.ranking-switch button:active{background:var(--press)}.ranking-switch button.active{background:var(--brand-50);color:var(--brand-600)}.ranking-switch-card p{color:var(--text-muted);margin:10px 2px 0;font-size:12px;line-height:1.45}.analysis-card,.report-block{padding:16px}.analysis-card h3,.report-block h3{color:var(--text);margin:0 0 12px;font-size:16px;font-weight:600;line-height:1.35}.rank-list{border:1px solid var(--border);border-radius:var(--r-md);display:grid;overflow:hidden}.rank-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:9px 12px;display:grid}.rank-row+.rank-row{border-top:1px solid var(--hairline)}.rank-row em{border-radius:var(--r-pill);background:var(--brand-50);width:22px;height:22px;color:var(--brand-600);font-variant-numeric:tabular-nums;place-items:center;font-size:12px;font-style:normal;font-weight:600;display:inline-grid}.rank-row span{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px}.rank-row strong{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.empty-text{color:var(--text-subtle);margin:0;padding:4px 0;font-size:13px}.ai-report-actions{grid-template-columns:1fr;gap:8px;display:grid}.ai-report-actions:has(a){grid-template-columns:1fr 1fr}.ai-report-actions.with-pdf{grid-template-columns:1fr 1fr}.ai-report-actions.with-pdf>button:first-child{grid-column:1/-1}.ai-report-actions button,.ai-report-actions a,.ai-status-card button{border-radius:var(--r-sm);background:var(--brand-50);width:100%;min-height:46px;color:var(--brand-600);border:0;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.ai-report-actions button:active,.ai-report-actions a:active,.ai-status-card button:active{background:var(--brand-100)}.ai-report-actions button:disabled{opacity:.5}.ai-report-actions button.is-pending,.ai-report-actions a.is-pending{opacity:.65;cursor:wait;pointer-events:none}.ai-status-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);gap:8px;padding:16px;display:grid}.ai-status-card strong{color:var(--text);font-size:16px;font-weight:600}.ai-status-card span{color:var(--text-muted);font-size:13px;line-height:1.55}.ai-status-card.error{border-color:var(--danger-bg);background:var(--danger-bg)}.ai-status-card.error strong{color:var(--danger-tx)}.ai-status-card.error button{background:var(--surface);color:var(--brand-600)}.llm-report-document{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:100%;min-width:0;max-width:100%;padding:16px}.llm-report-document h1{border-bottom:1px solid var(--hairline);color:var(--text);margin:0 0 14px;padding-bottom:10px;font-size:20px;font-weight:700;line-height:1.25}.llm-report-document h2{border-top:1px solid var(--hairline);color:var(--text);scroll-margin-top:calc(64px + env(safe-area-inset-top));margin:18px 0 8px;padding-top:14px;font-size:16px;font-weight:600;line-height:1.35}.llm-report-document h3{color:var(--brand-600);margin:12px 0 7px;font-size:14px;font-weight:600;line-height:1.35}.llm-report-document p{color:var(--text-2);overflow-wrap:anywhere;margin:7px 0 9px;font-size:13px;line-height:1.7}.llm-report-document ul,.llm-report-document ol{color:var(--text-2);margin:7px 0 9px;padding-left:20px;font-size:13px;line-height:1.7}.llm-report-document li+li{margin-top:4px}.llm-report-document strong{color:var(--text);font-weight:700}.report-table-scroll{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:100%;min-width:0;max-width:100%;overflow-x:hidden}.report-table-scroll+.report-table-scroll{margin-top:10px}.llm-report-document .report-table-scroll{margin:9px 0 12px}.report-table-scroll table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;min-width:0;font-size:11px}.report-table-scroll th,.report-table-scroll td{border:1px solid var(--border-strong);text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;white-space:normal;min-width:0;padding:7px 5px;line-height:1.55}.report-table-scroll thead th{background:var(--brand-50);color:var(--brand-700);font-weight:700}.report-table-scroll td{color:var(--text-2)}.report-quote{border-left:3px solid var(--brand);background:var(--brand-50);color:var(--text-2);border-radius:8px;margin:10px 0 14px;padding:10px 12px}.report-quote .llm-report-document{margin:0}.report-quote .llm-report-document>:last-child{margin-bottom:0}.bottom-tabs{width:min(100%,430px);height:calc(70px + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--hairline);z-index:10;grid-template-columns:repeat(3,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-tabs.three{grid-template-columns:repeat(3,1fr)}.bottom-tabs button{border-radius:var(--r-sm);color:var(--text-muted);background:0 0;border:0;place-items:center;gap:3px;font-size:11px;font-weight:500;transition:color .15s;display:grid}.bottom-tabs button.active{color:var(--brand-600)}.timeline{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);gap:0;margin-top:12px;display:grid;overflow:hidden}.timeline-row{grid-template-columns:60px 1fr;gap:10px;padding:13px 14px;font-size:13px;display:grid}.timeline-row+.timeline-row{border-top:1px solid var(--hairline)}.timeline-row span{color:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:12px}.timeline-row div{color:var(--text-2);font-size:13px;line-height:1.45}.timeline-row.active div{color:var(--brand-600);font-weight:600}.timeline-row.active div:before{content:"";background:var(--brand-500);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:7px;animation:1.3s ease-in-out infinite dot-pulse;display:inline-block}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.55)}}.file-status-card{margin-top:12px;padding:14px}.file-status-card header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.file-status-card header strong{color:var(--text);font-size:15px;font-weight:600}.file-status-card header span{color:var(--text-muted);font-size:12px}.file-status-list{border:1px solid var(--border);border-radius:var(--r-md);display:grid;overflow:hidden}.file-status-row{background:var(--surface);text-align:left;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:54px;padding:11px 14px;transition:background .15s;display:grid}.file-status-row+.file-status-row{border-top:1px solid var(--hairline)}.file-status-row.clickable:active{background:var(--press)}.file-status-row:disabled{color:inherit}.file-status-row strong{overflow-wrap:anywhere;word-break:break-word;min-width:0;color:var(--text);font-size:13px;font-weight:600;line-height:1.35;display:block}.file-status-row span{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.25;display:block}.file-status-pill{border-radius:var(--r-xs);background:var(--surface-2);min-width:66px;color:var(--text-muted);text-align:center;padding:5px 9px;font-size:12px;font-style:normal;font-weight:600}.file-status-pill.completed{background:var(--success-bg);color:var(--success-tx)}.file-status-pill.processing,.file-status-pill.pending{background:var(--brand-50);color:var(--brand-600)}.file-status-pill.failed{background:var(--danger-bg);color:var(--danger-tx)}.file-status-pill.empty{background:var(--warning-bg);color:var(--warning-tx)}.empty-card{min-height:140px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px 18px;display:grid}.empty-card span{font-size:13px}.toast-error{border-radius:var(--r-sm);background:var(--danger-bg);min-height:44px;color:var(--danger-tx);align-items:center;gap:8px;margin-top:12px;padding:11px 13px;font-size:13px;display:flex}.history-page{padding:12px}.history-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);gap:0;width:100%;min-width:0;max-width:100%;display:grid;overflow:hidden}.history-row-wrap{background:var(--surface);width:100%;min-width:0;max-width:100%;position:relative;overflow:hidden}.history-row-wrap+.history-row-wrap:before{content:"";background:var(--hairline);z-index:2;height:1px;position:absolute;top:0;left:16px;right:0}.history-row-wrap .history-delete-btn{background:var(--danger);color:#fff;cursor:pointer;z-index:0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:72px;min-height:0;padding:0;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;right:0}.history-row-wrap .history-delete-btn:disabled{opacity:.6;cursor:not-allowed}.history-face{z-index:1;box-sizing:border-box;background:var(--surface);text-align:left;touch-action:pan-y;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(42px,auto);align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;min-height:68px;padding:14px;transition:transform .34s cubic-bezier(.34,1.4,.5,1),background .15s;display:grid;position:relative}.history-face:active{background:var(--press)}.history-face>div{min-width:0}.history-face strong{min-width:0;color:var(--text);overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:16px;font-weight:600;line-height:1.35;display:block}.history-face span{max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.history-face em{color:var(--brand-600);border-radius:var(--r-xs);background:var(--brand-50);white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;justify-self:end;align-items:center;min-width:58px;min-height:28px;padding:0 9px;font-size:13px;font-style:normal;font-weight:600;display:inline-flex}.history-page>.history-list>p{color:var(--text-muted);text-align:center;padding:24px 0;font-size:13px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:720px){body{background:#e2e8f0;padding:28px 0}.phone-shell{background:var(--bg);min-height:calc(100vh - 56px);box-shadow:var(--shadow-pop);border-radius:24px;margin:0 auto}.report-top{background:#f5f6f7f2}}.portal-fab{top:calc(8px + env(safe-area-inset-top));z-index:8;height:44px;color:var(--brand-600,#0958d9);border-radius:var(--r-sm,8px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;gap:2px;padding:0 8px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;left:8px}.portal-fab:active{opacity:.5}.primary-btn,.secondary-btn,.soft-btn,.download-btn,.upload-zone,.upload-card{border-radius:var(--r-lg)}.history-fab{top:calc(8px + env(safe-area-inset-top));z-index:8;width:44px;height:44px;color:var(--brand-600,#0958d9);border-radius:var(--r-sm,8px);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:fixed;right:14px}.history-fab:active{opacity:.5}@keyframes polish-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}button:not(.history-face){transition:background .16s,color .16s,border-color .16s,box-shadow .16s,opacity .16s,transform .14s cubic-bezier(.34,1.45,.5,1)}button:not(.history-face):not(:disabled):active{transform:scale(.97)}.portal-fab,.history-fab,.icon-btn{transition:opacity .16s,transform .14s cubic-bezier(.34,1.45,.5,1)}.portal-fab:active,.history-fab:active,button.icon-btn:not(:disabled):active{transform:scale(.92)}.upload-hero,.upload-panel{animation:.46s cubic-bezier(.34,1.4,.5,1) backwards polish-rise}.upload-panel{animation-delay:50ms}.upload-hero h1{letter-spacing:-.02em}.llm-report-document p,.llm-report-document li{line-height:1.72}.empty-card{gap:12px;padding:30px 20px}.empty-card svg{opacity:.92;width:40px;height:40px}.upload-zone:active{border-color:var(--brand-400)}.llm-report-document h2{border-top:none;margin-top:22px;padding-top:0;padding-left:12px;position:relative}.llm-report-document h2:before{content:"";background:var(--brand-500);border-radius:2px;width:3px;position:absolute;top:.28em;bottom:.28em;left:0}.llm-report-document ul>li::marker{color:var(--brand-400)}.llm-report-document ol>li::marker{color:var(--brand-600);font-weight:600}.llm-report-document h3{margin-top:16px}.report-quote{border-radius:var(--r-md);border-left-width:4px}.metric-grid strong{text-overflow:clip;letter-spacing:-.03em;font-weight:600;overflow:hidden}.metric-grid div{animation:.32s cubic-bezier(.34,1.4,.5,1) both polish-rise}.summary-card>strong{letter-spacing:-.02em}.summary-card>small{margin-top:6px}.ranking-meta-grid em{font-size:13px;line-height:1.2}.rank-row strong{font-size:14px}.rank-row:nth-child(n+4) em{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.table-card th,.table-card td{border-left:0;border-right:0;border-color:var(--hairline)}.table-card th{font-weight:600}.timeline-row.active div:before{vertical-align:.05em}.ranking-switch button{min-height:44px}.analysis-hero>.ranking-summary-text{margin-top:2px}.report-quote{border-left-color:var(--brand-500)}.upload-hero h1{font-weight:650}.upload-hero:before{content:"";background:var(--brand-200);border-radius:1px;width:28px;height:3px;margin:0 auto 10px;display:block}.upload-zone{background:var(--brand-50);border-color:var(--brand-400)}.upload-zone:active{background:var(--brand-100)}.selected-upload-zone,.selected-upload-zone:active{background:var(--surface-2)}.upload-zone span{max-width:30ch;line-height:1.45}.upload-zone-actions button{border-radius:var(--r-md);min-height:44px}.empty-card svg{color:var(--brand-400)}@supports (-webkit-touch-callout:none){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}:root{--brand-50:#edf5ff;--brand-100:#dbe5f2;--brand-200:#dbe5f2;--brand-300:#91caff;--brand-400:#4096ff;--brand-500:#1677ff;--brand-600:#0958d9;--brand-700:#153d75;--brand:#1677ff;--brand-dark:#0958d9;--blue:#1677ff;--blue-dark:#0958d9;--bg:#f5f8fc;--surface:#ffffffb8;--surface-solid:#fff;--surface-2:#f5f6f7c2;--surface-soft:#f5f6f7c2;--surface-muted:#f7f8f9bd;--panel:#ffffffb8;--soft:#f5f6f7c2;--press:#edf0f5bd;--text:#1e293b;--text-2:#475569;--text-muted:#64748b;--text-subtle:#94a3b8;--muted:#64748b;--border:#213e662e;--border-strong:#213e6647;--border-soft:#213e661f;--line:#213e662e;--hairline:#213e661f;--success:#4096ff;--success-bg:#e0f7efd6;--success-tx:#0958d9;--warning:#b78a2e;--warning-bg:#fff8dedb;--warning-tx:#8b681c;--danger:#d95d5d;--danger-bg:#ffeeeedb;--danger-tx:#b33a3a;--green:#4096ff;--r-xs:7px;--r-sm:10px;--r-md:12px;--r-lg:16px;--r-pill:999px;--radius:14px;--glass-radius:16px;--glass-surface:#ffffffad;--glass-surface-strong:#ffffffd6;--glass-border:#213e662e;--glass-shadow:0 10px 28px #172e4f14,inset 0 1px 0 #ffffffe0;--glass-shadow-float:0 16px 36px #172e4f21,inset 0 1px 0 #ffffffeb;--glass-blur:blur(18px) saturate(1.08);--glass-motion:.18s cubic-bezier(.22,1,.36,1);--shadow-pop:var(--glass-shadow-float);--shadow-sm:var(--glass-shadow);--shadow-md:var(--glass-shadow-float);--chart-1:#0958d9;--chart-2:#1677ff;--chart-3:#1677ff;--chart-4:#4096ff;--chart-5:#91caff;--chart-6:#4096ff;--chart-7:#91caff;--chart-8:#91caff;--chart-grid:#213e661f;--chart-label:#64748b;color:var(--text);background:var(--bg);font-family:HarmonyOS Sans SC,MiSans,Source Han Sans SC,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}html,body,#app,#root{min-height:100%}body{color:var(--text);background-color:#f5f8fc;background-image:linear-gradient(#f7f8f94d,#f7f8f975),url(./glass-tech-app-background-B0AY2b6Q.png);background-position:top;background-repeat:no-repeat;background-size:cover}::selection{background:#213e6633}:where(.phone-shell,.app-shell,.screen){color:var(--text);border-color:var(--glass-border);background-color:#f7f8f994;background-image:linear-gradient(#f7f8f966,#f7f8f99e),url(./glass-tech-app-background-B0AY2b6Q.png);background-position:top;background-repeat:no-repeat;background-size:cover;box-shadow:0 0 52px #172e4f1a}:where(.topbar,.report-top,.sticky-head,.bottom-tabs,.bottom-nav,.tabbar){border-color:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#ffffffbd;box-shadow:0 7px 22px #172e4f0f}:where(.top-bar,.simple-top,.report-header){border-color:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#ffffffbd;box-shadow:0 7px 22px #172e4f0f}:where(.bottom-tabs,.bottom-nav,.tabbar){box-shadow:0 -8px 24px #172e4f12}:where(.bottom-tabs,.bottom-nav,.tabbar) button{color:var(--text-muted)}:where(.bottom-tabs,.bottom-nav,.tabbar) :where(.active,[aria-current=page]){color:var(--brand-600);background:linear-gradient(#0000,#213e661c)}:where(.card,.panel,.shared-card,.upload-panel,.plain-section,.raw-section,.timeline,.disclaimer,.history-page,.history-panel,.report-section,.report-block,.report-panels,.portal-summary>div,[class$=-card],[class*=-card\ ],[class$=-panel],[class*=-panel\ ]){border-color:var(--glass-border);background:var(--glass-surface);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}:where(.upload-zone,.selected-upload-zone,.search-row,.file-row,.selected-file-row,.selected-file){color:var(--brand-700);background:#f5f6f7b8;border-color:#213e664d;box-shadow:inset 0 1px #ffffffe0}:where(.upload-zone,.selected-upload-zone):active{background:#edf0f5d1}:where(.icon-btn,.history-btn,.top-nav-btn){color:var(--brand-600);background:#ffffff7a}:where(.icon-btn,.history-btn,.top-nav-btn):active{background:var(--brand-100)}:where(.primary-btn,.shared-primary-btn,.assessment-main-button,.apply-filter-btn,.compact-action-btn,button[class*=primary],a[class*=primary],button[type=submit],.ant-btn-primary){color:#153d75;background:linear-gradient(135deg,#dce0e6fa,#536f97fa);border:1px solid #213e6638;border-radius:14px;box-shadow:0 12px 26px #213e6633,inset 0 1px #ffffffc7}:where(.primary-btn,.shared-primary-btn,.assessment-main-button,.apply-filter-btn,.compact-action-btn,button[class*=primary],a[class*=primary],button[type=submit],.ant-btn-primary):active{color:#153d75;background:linear-gradient(135deg,#8b9fbbfa,#213e66fa);box-shadow:0 7px 16px #213e6629,inset 0 1px #ffffffad}:where(.secondary-btn,.shared-secondary-btn,.soft-btn,.ghost-btn,.download-btn,.assessment-pdf-button,.selected-change-btn,.reset-filter-btn,.toolbar-btn,.ant-btn-default){color:var(--brand-700);background:#edf0f5c7;border:1px solid #213e6638;border-radius:11px;box-shadow:inset 0 1px #ffffffdb}:where(.history-delete-btn,.danger,.danger-btn,.ant-btn-dangerous){color:var(--danger-tx);background:#fff5f5c2;border-color:#dc545433}:where(button,a,.card,.panel,[class$=-card],[class$=-panel]){transition:transform var(--glass-motion), border-color var(--glass-motion), box-shadow var(--glass-motion), background var(--glass-motion), color var(--glass-motion)}:where(input,textarea,select,.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker){border-color:var(--glass-border);color:var(--text);background:#ffffff9e;box-shadow:inset 0 1px #ffffffd1}:where(input,textarea,select,.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker):focus{border-color:#213e66b8;outline:0;box-shadow:0 0 0 4px #213e6629}:where(.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker):focus-within{border-color:#213e66b8;outline:0;box-shadow:0 0 0 4px #213e6629}.chart-grid{stroke:var(--chart-grid)}.chart-axis-label{fill:var(--chart-label)}.chart-line{stroke:var(--chart-1)}.chart-point{fill:#fff;stroke:var(--chart-2)}.chart-column{fill:var(--chart-2)}.chart-legend,.profit-chart-legend,.chart-statistic span{color:var(--chart-label)}.chart-data-details{border-color:var(--chart-grid);color:var(--text-2)}.chart-data-details summary{color:var(--brand-600)}.progress-ring:not(.is-failed):not(.indeterminate){background:conic-gradient(from -90deg,var(--brand-500) var(--progress,var(--p,0%)),#213e6629 0)!important}.progress-ring.indeterminate{background:conic-gradient(from 0deg,var(--brand-500) 0 25%,#213e6629 25%)!important}.progress-ring.is-failed{background:conic-gradient(from -90deg,var(--danger) var(--progress,var(--p,0%)),#d95d5d24 0)!important}.ring,.progress-circle{background:conic-gradient(from -90deg,var(--brand-500) var(--progress,0%),#213e6629 0)!important}.ring:after,.progress-circle:before{background:#ffffffeb!important}.chart-column:focus,.chart-point:focus,.native-pie-chart path:focus{outline-color:var(--brand-500)}.trend-day span{background:linear-gradient(180deg,var(--chart-2),var(--chart-4))!important}.dashboard-trend .trend-day span i{background:var(--danger)!important}.bar-track{background:#213e6624!important}.bar-track i{background:linear-gradient(90deg,var(--chart-1),var(--chart-3))!important}.legend-item i.blue{background:var(--chart-1)!important}.legend-item i.red{background:#c65353!important}.legend-item i.gray{background:#94a3b8!important}.ant-layout,.admin-layout,.admin-shell,.api-portal,.portal-shell,.login-screen,.login-page,.center-state{color:var(--text);background-color:#f7f8f999!important;background-image:linear-gradient(#f7f8f961,#f7f8f994),url(./glass-tech-app-background-B0AY2b6Q.png)!important;background-position:top!important;background-repeat:no-repeat!important;background-size:cover!important}:where(.sidebar,.portal-topbar,.login-panel,.login-card,.catalog-side,.catalog-panel,.detail-panel,.chart-panel,.panel,.ant-card){-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-border)!important;box-shadow:var(--glass-shadow)!important;background:#ffffffb8!important}.portal-topbar,.admin-shell>.topbar{background:#ffffffc2!important;box-shadow:0 8px 26px #172e4f12!important}.ant-menu,.ant-menu-light,.ant-menu-item,.ant-menu-submenu-title{background:0 0!important}.ant-menu-item-selected{color:var(--brand-700)!important;background:#dce0e6c2!important}.ant-menu .lucide,.ant-btn .lucide,.ant-input-prefix .lucide,.api-card-icon .lucide,.brand-mark .lucide,.login-card .lucide{stroke-width:1.8px;flex:none;width:1em;height:1em}.brand-mark .lucide,.login-card .lucide{width:24px;height:24px}.ant-table,.ant-table-container,.ant-table-content{background:0 0!important}.ant-table-thead>tr>th{color:var(--text-2)!important;border-color:var(--glass-border)!important;background:#edf0f5d1!important}.ant-table-tbody>tr>td{border-color:var(--glass-border)!important}.ant-table-tbody>tr:hover>td{background:#edf0f58f!important}.brand-mark span{box-shadow:var(--glass-shadow);color:#153d75!important;background:linear-gradient(145deg,#dce0e6f5,#536f97e6)!important}.catalog-side button.active,.view-toggle button.active,.detail-tabs button.active{color:var(--brand-700)!important;background:#dce0e6cc!important}.chart-panel,.dashboard-charts>*{border-radius:var(--glass-radius)}@media (hover:hover){:where(.card,.panel,[class$=-card],[class$=-panel]):hover{box-shadow:var(--glass-shadow-float);border-color:#213e6652}:where(.primary-btn,.shared-primary-btn,.assessment-main-button,.apply-filter-btn,.compact-action-btn,button[class*=primary],a[class*=primary],.ant-btn-primary):hover:not(:disabled){color:#153d75;background:linear-gradient(135deg,#dce0e6fa,#536f97fa);border-color:#213e6647;transform:translateY(-1px);box-shadow:0 16px 32px #213e663d,inset 0 1px #ffffffdb}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:719px){body{padding:0}:where(.phone-shell,.app-shell,.screen){box-shadow:none}}button[class*=primary],a[class*=primary],button.assessment-main-button,button.apply-filter-btn,button.compact-action-btn,button[type=submit],.ant-btn.ant-btn-primary{color:#153d75!important;background:linear-gradient(135deg,#dce0e6fa,#536f97fa)!important;border:1px solid #213e6638!important;border-radius:14px!important;box-shadow:0 12px 26px #213e6633,inset 0 1px #ffffffc7!important}button[class*=secondary],a[class*=secondary],button.soft-btn,button.ghost-btn,button.download-btn,button.selected-change-btn,button.reset-filter-btn,button.toolbar-btn,.ant-btn.ant-btn-default{color:var(--brand-700)!important;background:#edf0f5d1!important;border:1px solid #213e6638!important;border-radius:11px!important;box-shadow:inset 0 1px #ffffffdb!important}button[class*=danger],button.history-delete-btn,.ant-btn.ant-btn-dangerous{color:var(--danger-tx)!important;background:#fff5f5cc!important;border-color:#dc545438!important}.card,.panel,.shared-card,[class$=-card],[class*=-card\ ],[class$=-panel],[class*=-panel\ ],.report-summary,.report-toolbar,.report-section,.report-tabbar,.raw-section,.plain-section,.timeline,.disclaimer{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-border)!important;border-radius:var(--glass-radius)!important;background:var(--glass-surface)!important;box-shadow:var(--glass-shadow)!important}.disclaimer{border-left-color:var(--brand-500)!important;background:#edf0f5d1!important}:where(.error-card,.danger-card,.failure-card){background:#fff5f5cc!important;border-color:#dc545433!important}.top-bar,.simple-top,.report-header,.report-top{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-border)!important;background:#ffffffc2!important;box-shadow:0 7px 22px #172e4f0f!important}.report-dl,.share-button,.history-fab,.portal-fab{color:var(--brand-700)!important;background:#fff9!important;border:1px solid #213e6633!important;border-radius:10px!important;box-shadow:inset 0 1px #ffffffe0!important}.assessment-pdf-button,.download-row a,.report-download-row a,.manual-copy-modal>button,.file-action-buttons button:first-child{color:var(--brand-700)!important;background:#edf0f5d1!important;border:1px solid #213e6638!important;border-radius:11px!important;box-shadow:inset 0 1px #ffffffdb!important}.file-action-buttons button.primary-action,.file-action-buttons.single button:first-child,.chat-input button{color:#153d75!important;background:linear-gradient(135deg,#dce0e6fa,#536f97fa)!important;border:1px solid #213e6638!important;border-radius:12px!important;box-shadow:0 10px 22px #213e662e,inset 0 1px #ffffffc7!important}.history-face{background:#fff!important;box-shadow:inset 0 1px #fffffff0!important}.history-row-wrap{background:0 0!important}.chat-bubble.user{color:var(--text)!important;background:#dce0e6e0!important;border:1px solid #213e6633!important}.share-toast{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)!important;color:var(--text)!important;box-shadow:var(--glass-shadow-float)!important;background:#ffffffe0!important}.manual-copy-backdrop,.file-action-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#172e4f38!important}.manual-copy-modal,.file-action-modal{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)!important;border-radius:var(--glass-radius)!important;box-shadow:var(--glass-shadow-float)!important;background:#ffffffe0!important}:root{--font-ui:"HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei", sans-serif;--success:#368263;--success-bg:#edf5ff;--success-tx:#216653;--ok:#368263;--ok-bg:#edf5ff;--green:#368263;--warning:#a47a35;--warning-bg:#faf4e9;--warning-tx:#856126;--danger:#c95656;--danger-bg:#fff1f1;--danger-tx:#a83838;--brand-50:#edf5ff;--brand-100:#e6f4ff;--brand-200:#bae0ff;--brand-300:#91caff;--brand-400:#4096ff;--brand-500:#1677ff;--brand-600:#0958d9;--brand-700:#153d75;--brand:#1677ff;--brand-dark:#0958d9;--blue:#1677ff;--blue-dark:#0958d9;--navy:#153d75;--bg:#f5f8fc;--card:#fff;--surface:#fff;--surface-solid:#fff;--panel:#fff;--surface-2:#f0f5fc;--surface-soft:#f0f5fc;--surface-muted:#f7faff;--soft:#f0f5fc;--press:#e6effa;--ink:#1e293b;--text:#1e293b;--text-2:#475569;--muted:#64748b;--text-muted:#64748b;--text-subtle:#94a3b8;--border:#dbe5f2;--border-soft:#e8eef6;--border-strong:#b7cce6;--line:#e2e8f0;--hairline:#1e406e14;--studio-gold:#a47a35;--glass-surface:#fff;--glass-surface-strong:#fff;--glass-border:#e2e8f0;--glass-shadow:0 5px 20px #1e406e0b;--glass-shadow-float:0 18px 60px #1e406e1f;--glass-blur:blur(14px);--glass-radius:16px;--shadow-pop:var(--glass-shadow-float);--shadow-sm:var(--glass-shadow);--chart-1:#1677ff;--chart-2:#4096ff;--chart-3:#69b1ff;--chart-4:#bae0ff;--chart-5:#2f54eb;--chart-6:#85a5ff;--chart-grid:#e9ebee;--chart-label:#64748b;font-family:var(--font-ui);font-variant-numeric:tabular-nums}body{color:var(--text);background:#f5f8fc!important}.phone-shell,.app-shell,.screen{background:#f5f8fc!important;box-shadow:0 0 50px #1e406e0b!important}.topbar,.report-top,.sticky-head,.bottom-tabs,.bottom-nav,.tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--line)!important;box-shadow:none!important;background:#fffffff2!important}.card,.panel,.section-card,.summary-card,.upload-card,.uc-card,.content-card,.stat-card,.table-card{border-color:var(--line)!important;box-shadow:var(--glass-shadow)!important;background:#fff!important}button,input,select,textarea{font-family:var(--font-ui)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:3px;outline:3px solid #91caff!important}a:focus-visible{outline-offset:3px;outline:3px solid #91caff!important}input:focus-visible{outline-offset:3px;outline:3px solid #91caff!important}textarea:focus-visible{outline-offset:3px;outline:3px solid #91caff!important}select:focus-visible{outline-offset:3px;outline:3px solid #91caff!important}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{color:var(--text);border-color:var(--border);accent-color:var(--brand)}button:disabled,[aria-disabled=true]{cursor:not-allowed}.btn-primary,.primary-btn,.primary-button,.auth-submit,.submit-btn,.btn.primary,.action-primary,.legal-confirm,button.auth-submit,a[class*=primary],button.assessment-main-button,button.apply-filter-btn,button.compact-action-btn,.file-action-buttons button.primary-action,.file-action-buttons.single button:first-child,.chat-input button{color:#fff!important;background:#1677ff!important;border:1px solid #1677ff!important;box-shadow:0 4px 12px #1677ff1f!important}.btn-primary:hover,.primary-btn:hover,.primary-button:hover,.auth-submit:hover{background:#0958d9!important}.icon-btn,.btn-ghost,.report-dl,.share-button,.history-fab,.portal-fab{color:#1677ff!important;box-shadow:none!important;background:#f5f8fc!important;border-color:#dbe5f2!important}.card-icon,.menu-icon,.upload-icon,.stat-icon{color:#1677ff!important;box-shadow:none!important;background:#edf5ff!important;border:1px solid #dbe7f5!important}.lucide{stroke-width:1.7px;flex-shrink:0}.lucide-coins,.lucide-wallet,.lucide-wallet-cards,.lucide-circle-dollar-sign{color:var(--studio-gold)}.tab.active,.tabbar .active,.bottom-tabs .active,.bottom-nav .active{color:#1677ff!important}.auth-seg-thumb{background:#fff!important;box-shadow:0 2px 8px #1e293b0d!important}.auth-seg,.tabs,.segmented{background:#edf2fa}.manual-copy-backdrop,.file-action-backdrop,.legal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f234159!important}.manual-copy-modal,.file-action-modal,.legal-dialog{border:1px solid var(--line)!important;box-shadow:var(--glass-shadow-float)!important;background:#fff!important}.share-toast{color:#fff!important;background:#153d75!important;border:0!important}.chat-bubble.user{background:#e6f4ff!important;border-color:#cce0f5!important}.history-face{background:#fff!important}.admin-shell,.api-portal,.portal-shell,.login-screen,.login-page,.center-state{background:#f5f8fc!important}.sidebar,.portal-topbar,.login-panel,.login-card,.catalog-side,.catalog-panel,.detail-panel,.chart-panel,.ant-card{border-color:var(--line)!important;box-shadow:var(--glass-shadow)!important;background:#fff!important}.ant-btn.ant-btn-primary{color:#fff!important;box-shadow:none!important;background:#1677ff!important;border-color:#1677ff!important}button[class*=secondary],a[class*=secondary],button.soft-btn,button.ghost-btn,button.download-btn,button.selected-change-btn,button.reset-filter-btn,button.toolbar-btn{color:#1677ff!important;box-shadow:none!important;background:#f0f5fc!important;border-color:#dbe5f2!important}.ant-menu .ant-menu-item-selected{color:#0958d9!important;background:#e6f4ff!important}.ant-table-wrapper .ant-table-thead>tr>th{color:#334155!important;background:#f0f5fc!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{background:#fff!important;border-color:#dbe5f2!important}table th{color:#334155;background:#f0f5fc}table td,table th{border-color:var(--line)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.screen:has(.portal-main){width:100%;max-width:1120px;min-height:100dvh;margin:0 auto}.screen:has(.portal-main)>.topbar{min-height:76px;padding:18px 28px}.screen:has(.portal-main)>.tabbar{width:100%;max-width:1120px}.portal-main--home{padding:24px 28px 110px!important}.studio-welcome{background:#eff1f3;border:1px solid #e4e8df;border-radius:22px;min-height:300px;position:relative;overflow:hidden}.studio-welcome>img{object-fit:cover;object-position:right 58%;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.studio-welcome-copy{z-index:1;max-width:55%;padding:35px;position:relative}.studio-eyebrow{letter-spacing:1.5px;color:#475568;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.studio-eyebrow>span{background:#a47a35;border-radius:50%;width:6px;height:6px}.studio-welcome h1{color:#16263d;letter-spacing:-1px;margin:20px 0 12px;font-size:38px;font-weight:650;line-height:1.35}.studio-welcome p{color:#5d6571;margin:0;font-size:13px;line-height:1.7}.studio-explore{color:#fff;cursor:pointer;background:#1677ff;border:0;border-radius:9px;align-items:center;gap:15px;margin-top:25px;padding:11px 15px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.studio-section-title{justify-content:space-between;align-items:baseline;margin:30px 0 15px;scroll-margin-top:100px;display:flex}.studio-section-title h2{color:#1e293b;letter-spacing:.2px;margin:0;font-size:18px}.studio-section-title>span{color:#7a818b;font-size:12px}.portal-main--home .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-main--home .grid .card{text-align:left;border:1px solid #e2e8f0;border-radius:14px;gap:12px;min-width:0;min-height:115px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s}.portal-main--home .grid .card:hover{transform:translateY(-2px);border-color:#98a4b5!important;box-shadow:0 9px 22px #153d750c!important}.portal-main--home .card-icon{border-radius:12px;width:44px;min-width:44px;height:44px}.portal-main--home .card-body{flex:1;min-width:0}.portal-main--home .card-body h3{font-size:14px;font-weight:650;line-height:1.5}.portal-main--home .card-body p{color:#7a8088;font-size:11px;line-height:1.6}.studio-card-arrow{color:#939ba6}.studio-empty{flex-direction:column;align-items:center;gap:9px;display:flex;padding:30px!important}.studio-empty img{object-fit:contain;border-radius:24px;width:150px;height:150px}.studio-empty strong{color:#384456;font-size:15px;font-weight:600}.studio-empty span{color:#7b818a;font-size:12px}.auth-screen{background:#f5f8fc!important}.auth-screen:before{display:none!important}.auth-shell{border:1px solid #e1e4e8!important;box-shadow:0 24px 90px #19283c0d!important}.auth-visual{background:#eff1f3!important}.auth-visual-art{object-fit:cover;object-position:62% center;opacity:1!important}.auth-visual-grid{display:none}.auth-visual-copy{background:linear-gradient(#f5f8fce8 0%,#0000 70%)!important}.auth-brand-mark{border-radius:12px;color:#fff!important;box-shadow:none!important;background:#1677ff!important;border:0!important}.auth-brand-text h1{color:#19283e!important}.studio-brand-description{color:#6e7681;margin:7px 0 0;font-size:12px;line-height:1.8}.auth-panel{background:#fff!important}.auth-row,.auth-captcha-field{background:#f7f8f9!important;border-color:#e2e4e8!important}@media (min-width:860px){.auth-screen{justify-content:center;padding:36px}.auth-shell{border-radius:24px;grid-template-columns:1.05fr 1fr;width:min(100%,960px);max-width:960px;min-height:590px;display:grid;overflow:hidden}.auth-visual{min-height:590px}.auth-visual-art{object-position:63% center;width:100%;height:100%}.auth-panel{justify-content:center;align-items:center;padding:35px;display:flex}.auth-card-wrap{width:100%}}@media (max-width:800px){.portal-main--home .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-welcome{min-height:270px}.studio-welcome h1{font-size:31px}}@media (max-width:520px){.screen:has(.portal-main)>.topbar{min-height:64px;padding:14px 18px}.portal-main--home{padding:16px 16px 92px!important}.studio-welcome{border-radius:18px;min-height:244px}.studio-welcome>img{object-position:64% center}.studio-welcome:after{content:"";background:linear-gradient(90deg,#f0f5ffe8 0%,#f0f5ff66 46%,#0000 80%);position:absolute;top:0;bottom:0;left:0;right:0}.studio-welcome-copy{z-index:2;max-width:74%;padding:24px 20px}.studio-welcome h1{margin:14px 0 10px;font-size:28px}.studio-welcome p{font-size:11px}.studio-eyebrow{letter-spacing:1px;font-size:9px}.studio-explore{margin-top:18px;padding:9px 12px;font-size:11px}.studio-section-title{margin:24px 2px 12px}.studio-section-title h2{font-size:17px}.portal-main--home .grid{grid-template-columns:minmax(0,1fr);gap:10px}.portal-main--home .grid .card{gap:14px;min-height:87px;padding:16px}.portal-main--home .card-body h3{font-size:14px}.portal-main--home .card-body p{font-size:11px}.auth-visual{max-height:270px;min-height:220px!important}}@media print{body,.phone-shell,.screen,.app-shell{box-shadow:none!important;background:#fff!important}.studio-welcome,.studio-explore{display:none}}.studio-button.ant-btn{white-space:normal;height:auto;min-height:40px}.studio-button.ant-btn>span{overflow-wrap:anywhere;min-width:0}.studio-button.ant-btn>svg{flex-shrink:0}.studio-chart{overflow:hidden}.studio-welcome>img{filter:none}:root{--page-atmosphere:radial-gradient(ellipse at 8% 0%, #1677ff0b, transparent 48%), radial-gradient(ellipse at 94% 62%, #38bdf809, transparent 46%), linear-gradient(#1677ff06 1px, transparent 1px), linear-gradient(90deg,#1677ff06 1px,transparent 1px)}body,.phone-shell,.app-shell,.screen,.desktop-admin .admin-main,.admin-shell,.api-portal,.portal-shell,.login-screen,.login-page,.center-state{background-size:100% 100%,100% 100%,40px 40px,40px 40px;background-attachment:fixed;background-image:var(--page-atmosphere)!important}.studio-welcome{background:#edf5ff;border-color:#dbe8f8}.studio-welcome>img{object-position:center}.studio-eyebrow>span{background:var(--brand)}@media (max-width:520px){.studio-welcome>img{object-position:66% center}.studio-welcome:after{background:linear-gradient(90deg,#edf5fff7,#edf5ff8c 50%,#0000 88%)}}@media print{body,.phone-shell,.app-shell,.screen,.admin-main,.admin-shell,.api-portal,.portal-shell{background-image:none!important}}:root{--control-height:44px;--content-gap:16px;--card-radius:14px;--page-gutter:16px}body{min-width:320px}.studio-button.ant-btn{border-radius:10px;font-weight:500}.studio-button.ant-btn.studio-button--secondary{border-color:var(--border)!important;color:var(--text-2)!important;box-shadow:none!important;background:#fff!important}.studio-button.ant-btn.studio-button--primary,.ant-btn.ant-btn-primary{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important;box-shadow:none!important}.studio-button.ant-btn.studio-button--primary:hover:not(:disabled){background:var(--brand-dark)!important}.studio-button.ant-btn.studio-button--text{color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.studio-button.ant-btn:disabled,.ant-btn.ant-btn-primary:disabled{opacity:1;border-color:var(--border)!important;color:#94a3b8!important;box-shadow:none!important;background:#f0f3f7!important}.studio-button.ant-btn.studio-button--text:disabled{background:0 0!important;border-color:#0000!important}.phone-shell{width:min(100%,430px);padding:calc(12px + env(safe-area-inset-top)) var(--page-gutter) calc(88px + env(safe-area-inset-bottom))}.phone-shell>:-webkit-any(.topbar,.top-bar,.report-top,.sticky-head){border:0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:0;min-height:56px;margin:0 0 20px;padding:0 0 10px;display:grid;box-shadow:none!important;background:0 0!important}.phone-shell>:-moz-any(.topbar,.top-bar,.report-top,.sticky-head){border:0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:0;min-height:56px;margin:0 0 20px;padding:0 0 10px;display:grid;box-shadow:none!important;background:0 0!important}.phone-shell>:is(.topbar,.top-bar,.report-top,.sticky-head){border:0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:0;min-height:56px;margin:0 0 20px;padding:0 0 10px;display:grid;box-shadow:none!important;background:0 0!important}.phone-shell :-webkit-any(.top-left-actions,.topbar-actions,.report-actions){gap:4px;min-width:0}.phone-shell :-moz-any(.top-left-actions,.topbar-actions,.report-actions){gap:4px;min-width:0}.phone-shell :is(.top-left-actions,.topbar-actions,.report-actions){gap:4px;min-width:0}.phone-shell :-webkit-any(.icon-btn,.top-nav-btn){justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:inline-flex;color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :-moz-any(.icon-btn,.top-nav-btn){justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:inline-flex;color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :is(.icon-btn,.top-nav-btn){justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:inline-flex;color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell .top-title{text-align:center;min-width:0;margin:0}.phone-shell .top-title span{color:var(--muted);font-size:11px;line-height:1.4}.phone-shell .top-title strong{color:var(--text);font-size:15px;font-weight:600;line-height:1.4}.phone-shell .upload-hero{border:0;margin:26px 0 18px;padding:0;box-shadow:none!important;background:0 0!important}.phone-shell .upload-hero :-webkit-any(h1,h2){letter-spacing:0;text-align:center;color:var(--text);margin:0;padding:0;font-size:22px;font-weight:650;line-height:1.4}.phone-shell .upload-hero :-moz-any(h1,h2){letter-spacing:0;text-align:center;color:var(--text);margin:0;padding:0;font-size:22px;font-weight:650;line-height:1.4}.phone-shell .upload-hero :is(h1,h2){letter-spacing:0;text-align:center;color:var(--text);margin:0;padding:0;font-size:22px;font-weight:650;line-height:1.4}.phone-shell .upload-hero:before{display:none}.phone-shell .upload-hero :-webkit-any(h1,h2):before{display:none}.phone-shell .upload-hero :-moz-any(h1,h2):before{display:none}.phone-shell .upload-hero :is(h1,h2):before{display:none}.phone-shell :-webkit-any(.upload-panel,.upload-card,.search-card,.query-card,.report-card,.report-section,.analysis-card,.section-card,.history-panel){border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:none!important;background:#fff!important}.phone-shell :-moz-any(.upload-panel,.upload-card,.search-card,.query-card,.report-card,.report-section,.analysis-card,.section-card,.history-panel){border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:none!important;background:#fff!important}.phone-shell :is(.upload-panel,.upload-card,.search-card,.query-card,.report-card,.report-section,.analysis-card,.section-card,.history-panel){border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:none!important;background:#fff!important}.phone-shell :-webkit-any(.upload-panel,.upload-card){padding:16px}.phone-shell :-moz-any(.upload-panel,.upload-card){padding:16px}.phone-shell :is(.upload-panel,.upload-card){padding:16px}.phone-shell :-webkit-any(.upload-panel,.upload-card) .upload-zone{border-radius:10px;width:100%;min-height:156px;padding:20px 16px;box-shadow:none!important;background:#f8fbff!important;border:1px dashed #bdd2ef!important}.phone-shell :-moz-any(.upload-panel,.upload-card) .upload-zone{border-radius:10px;width:100%;min-height:156px;padding:20px 16px;box-shadow:none!important;background:#f8fbff!important;border:1px dashed #bdd2ef!important}.phone-shell :is(.upload-panel,.upload-card) .upload-zone{border-radius:10px;width:100%;min-height:156px;padding:20px 16px;box-shadow:none!important;background:#f8fbff!important;border:1px dashed #bdd2ef!important}.phone-shell .upload-zone>svg{width:32px;height:32px;color:var(--brand)}.phone-shell .upload-zone strong{color:var(--text);font-size:16px;font-weight:600;line-height:1.5}.phone-shell .upload-zone>span{color:var(--muted);font-size:13px;line-height:1.65}.phone-shell :-webkit-any(.primary-btn,.primary-action,.shared-primary-btn){border-radius:10px;width:100%;min-height:44px;font-size:15px;font-weight:600}.phone-shell :-moz-any(.primary-btn,.primary-action,.shared-primary-btn){border-radius:10px;width:100%;min-height:44px;font-size:15px;font-weight:600}.phone-shell :is(.primary-btn,.primary-action,.shared-primary-btn){border-radius:10px;width:100%;min-height:44px;font-size:15px;font-weight:600}.phone-shell :-webkit-any(.report-card,.report-section,.analysis-card,.section-card){margin-bottom:16px;padding:16px}.phone-shell :-moz-any(.report-card,.report-section,.analysis-card,.section-card){margin-bottom:16px;padding:16px}.phone-shell :is(.report-card,.report-section,.analysis-card,.section-card){margin-bottom:16px;padding:16px}.phone-shell :-webkit-any(.report-card,.report-section,.analysis-card,.section-card)>h2{color:var(--text);margin:0 0 14px;font-size:18px;line-height:1.45}.phone-shell :-moz-any(.report-card,.report-section,.analysis-card,.section-card)>h2{color:var(--text);margin:0 0 14px;font-size:18px;line-height:1.45}.phone-shell :is(.report-card,.report-section,.analysis-card,.section-card)>h2{color:var(--text);margin:0 0 14px;font-size:18px;line-height:1.45}.phone-shell :-webkit-any(.report-card,.report-section,.analysis-card) h3{font-size:15px;line-height:1.5}.phone-shell :-moz-any(.report-card,.report-section,.analysis-card) h3{font-size:15px;line-height:1.5}.phone-shell :is(.report-card,.report-section,.analysis-card) h3{font-size:15px;line-height:1.5}.phone-shell :-webkit-any(.search-box,.search-input,.company-search,.native-search){border-color:var(--border);box-shadow:none;background:#fff;border-radius:10px}.phone-shell :-moz-any(.search-box,.search-input,.company-search,.native-search){border-color:var(--border);box-shadow:none;background:#fff;border-radius:10px}.phone-shell :is(.search-box,.search-input,.company-search,.native-search){border-color:var(--border);box-shadow:none;background:#fff;border-radius:10px}.phone-shell :-webkit-any(.search-box,.search-input,.company-search,.native-search) .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :-moz-any(.search-box,.search-input,.company-search,.native-search) .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :is(.search-box,.search-input,.company-search,.native-search) .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}:-webkit-any(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar) .studio-button.ant-btn{border-radius:0;min-height:44px;box-shadow:none!important;color:var(--muted)!important;background:0 0!important;border:0!important}:-moz-any(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar) .studio-button.ant-btn{border-radius:0;min-height:44px;box-shadow:none!important;color:var(--muted)!important;background:0 0!important;border:0!important}:is(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar) .studio-button.ant-btn{border-radius:0;min-height:44px;box-shadow:none!important;color:var(--muted)!important;background:0 0!important;border:0!important}:-webkit-any(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar) .studio-button:-webkit-any(.active,.is-active,[aria-current=page],[aria-selected=true]){font-weight:600;color:var(--brand)!important;background:0 0!important}:-moz-any(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar) .studio-button:-moz-any(.active,.is-active,[aria-current=page],[aria-selected=true]){font-weight:600;color:var(--brand)!important;background:0 0!important}:is(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar) .studio-button:is(.active,.is-active,[aria-current=page],[aria-selected=true]){font-weight:600;color:var(--brand)!important;background:0 0!important}:-webkit-any(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar){border-top:1px solid var(--border);box-shadow:none!important}:-moz-any(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar){border-top:1px solid var(--border);box-shadow:none!important}:is(.tabbar,.bottom-tabs,.bottom-nav,.report-tabbar){border-top:1px solid var(--border);box-shadow:none!important}.phone-shell .history-face{border-radius:12px;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:none!important;background:#fff!important}.phone-shell .history-empty,.phone-shell .empty-card{color:var(--muted);background:#fff;border-radius:14px;box-shadow:none!important}.desktop-admin .sidebar.ant-layout-sider{border-right:1px solid var(--border);background:#fff!important}.desktop-admin :is(.sidebar-brand,.admin-brand-mark,.sidebar-foot,.side-nav .ant-menu-item,.side-nav .ant-menu-submenu-title){color:var(--text-2)!important}.desktop-admin .side-nav .ant-menu-item-selected{background:var(--brand-50)!important;color:var(--brand)!important}.desktop-admin .side-nav .ant-menu-item:hover{background:var(--surface-2)!important;color:var(--brand)!important}.desktop-admin .sidebar-foot .ant-btn{color:var(--text-2)!important}.desktop-admin .sidebar-brand strong{font-weight:650}.admin-login-layout{border-radius:16px;box-shadow:0 12px 40px #1e406e0d}.admin-login-brand{color:var(--text);background:linear-gradient(140deg,#f2f7ff,#e5f1ff)}.admin-login-brand :-webkit-any(p,.admin-login-eyebrow,.admin-login-features){color:var(--muted)}.admin-login-brand :-moz-any(p,.admin-login-eyebrow,.admin-login-features){color:var(--muted)}.admin-login-brand :is(p,.admin-login-eyebrow,.admin-login-features){color:var(--muted)}:-webkit-any(.desktop-login,.login-page) .ant-input-affix-wrapper .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}:-moz-any(.desktop-login,.login-page) .ant-input-affix-wrapper .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}:is(.desktop-login,.login-page) .ant-input-affix-wrapper .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}:-webkit-any(.desktop-login,.login-page) h1{color:var(--text);font-size:26px;font-weight:650}:-moz-any(.desktop-login,.login-page) h1{color:var(--text);font-size:26px;font-weight:650}:is(.desktop-login,.login-page) h1{color:var(--text);font-size:26px;font-weight:650}.login-card{border-radius:16px;width:min(420px,100vw - 32px);box-shadow:0 12px 40px #1e406e0d}.brand-mark span,.api-card-icon{background:var(--brand-50)!important;color:var(--brand)!important;box-shadow:none!important}.api-portal .native-search{border:1px solid var(--border);background:#fff;border-radius:10px}.api-portal .native-search .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}.api-portal :-webkit-any(.catalog-side,.catalog-panel,.detail-panel){border-radius:14px;box-shadow:none!important}.api-portal :-moz-any(.catalog-side,.catalog-panel,.detail-panel){border-radius:14px;box-shadow:none!important}.api-portal :is(.catalog-side,.catalog-panel,.detail-panel){border-radius:14px;box-shadow:none!important}.api-portal :-webkit-any(.catalog-side,.view-toggle,.detail-tabs) .studio-button.ant-btn{color:var(--text-2)!important;background:0 0!important;border-color:#0000!important}.api-portal :-moz-any(.catalog-side,.view-toggle,.detail-tabs) .studio-button.ant-btn{color:var(--text-2)!important;background:0 0!important;border-color:#0000!important}.api-portal :is(.catalog-side,.view-toggle,.detail-tabs) .studio-button.ant-btn{color:var(--text-2)!important;background:0 0!important;border-color:#0000!important}.api-portal :-webkit-any(.catalog-side,.view-toggle,.detail-tabs) .studio-button.active{color:var(--brand)!important;background:var(--brand-50)!important}.api-portal :-moz-any(.catalog-side,.view-toggle,.detail-tabs) .studio-button.active{color:var(--brand)!important;background:var(--brand-50)!important}.api-portal :is(.catalog-side,.view-toggle,.detail-tabs) .studio-button.active{color:var(--brand)!important;background:var(--brand-50)!important}@media (max-width:960px){.api-portal .portal-topbar{grid-template-columns:1fr;gap:12px;height:auto;padding:16px}.api-portal .portal-shell{padding:16px}.api-portal .portal-layout{flex-direction:column;display:flex}.api-portal :-webkit-any(.catalog-side,.catalog-panel,.detail-panel){width:100%;min-width:0}.api-portal :-moz-any(.catalog-side,.catalog-panel,.detail-panel){width:100%;min-width:0}.api-portal :is(.catalog-side,.catalog-panel,.detail-panel){width:100%;min-width:0}.api-portal .api-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.phone-shell{width:100%;padding:0}}.phone-shell>:-webkit-any(.topbar,.top-bar,.report-top,.sticky-head){width:100%;left:auto;right:auto}.phone-shell>:-moz-any(.topbar,.top-bar,.report-top,.sticky-head){width:100%;left:auto;right:auto}.phone-shell>:is(.topbar,.top-bar,.report-top,.sticky-head){width:100%;left:auto;right:auto}.phone-shell .top-title strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.phone-shell .topbar-spacer{width:44px;min-width:44px}.phone-shell .screen{box-shadow:none!important;background:0 0!important}.phone-shell .hero-card{border:0;border-radius:0;box-shadow:none!important;background:0 0!important}.phone-shell .hero-card h1{margin:26px 0 18px;font-size:22px;font-weight:650;line-height:1.4}.phone-shell .hero-card .product-scope-note{background:0 0;border:0;padding:0 0 16px;font-size:12px}.phone-shell .upload-choice.studio-button{background:#f8fbff!important;border:1px dashed #bdd2ef!important}.phone-shell :-webkit-any(.processing-card,.progress-card,.status-card){border:1px solid var(--border);text-align:center;border-radius:14px;margin:0 0 16px;padding:28px 20px;box-shadow:none!important;background:#fff!important}.phone-shell :-moz-any(.processing-card,.progress-card,.status-card){border:1px solid var(--border);text-align:center;border-radius:14px;margin:0 0 16px;padding:28px 20px;box-shadow:none!important;background:#fff!important}.phone-shell :is(.processing-card,.progress-card,.status-card){border:1px solid var(--border);text-align:center;border-radius:14px;margin:0 0 16px;padding:28px 20px;box-shadow:none!important;background:#fff!important}.studio-progress{justify-content:center;margin:0 auto 20px;display:flex}.phone-shell :-webkit-any(.processing-card,.progress-card,.status-card) :-webkit-any(h1,h2){color:var(--text);margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.4}.phone-shell :-moz-any(.processing-card,.progress-card,.status-card) :-moz-any(h1,h2){color:var(--text);margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.4}.phone-shell :is(.processing-card,.progress-card,.status-card) :is(h1,h2){color:var(--text);margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.4}.phone-shell :-webkit-any(.processing-card,.progress-card,.status-card)>p{color:var(--muted);font-size:13px;line-height:1.7}.phone-shell :-moz-any(.processing-card,.progress-card,.status-card)>p{color:var(--muted);font-size:13px;line-height:1.7}.phone-shell :is(.processing-card,.progress-card,.status-card)>p{color:var(--muted);font-size:13px;line-height:1.7}.phone-shell :-webkit-any(.markdown-report,.markdown-body){color:var(--text-2);font-size:14px;line-height:1.8}.phone-shell :-moz-any(.markdown-report,.markdown-body){color:var(--text-2);font-size:14px;line-height:1.8}.phone-shell :is(.markdown-report,.markdown-body){color:var(--text-2);font-size:14px;line-height:1.8}.phone-shell :-webkit-any(.markdown-report,.markdown-body) h1{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 20px;padding:0 0 14px;font-size:20px;font-weight:650;line-height:1.5}.phone-shell :-moz-any(.markdown-report,.markdown-body) h1{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 20px;padding:0 0 14px;font-size:20px;font-weight:650;line-height:1.5}.phone-shell :is(.markdown-report,.markdown-body) h1{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 20px;padding:0 0 14px;font-size:20px;font-weight:650;line-height:1.5}.phone-shell :-webkit-any(.markdown-report,.markdown-body) h2{color:var(--text);border:0;margin:24px 0 12px;padding:0;font-size:17px;font-weight:600;line-height:1.5}.phone-shell :-moz-any(.markdown-report,.markdown-body) h2{color:var(--text);border:0;margin:24px 0 12px;padding:0;font-size:17px;font-weight:600;line-height:1.5}.phone-shell :is(.markdown-report,.markdown-body) h2{color:var(--text);border:0;margin:24px 0 12px;padding:0;font-size:17px;font-weight:600;line-height:1.5}.phone-shell :-webkit-any(.markdown-report,.markdown-body) h2:before{display:none}.phone-shell :-moz-any(.markdown-report,.markdown-body) h2:before{display:none}.phone-shell :is(.markdown-report,.markdown-body) h2:before{display:none}.phone-shell :-webkit-any(.markdown-report,.markdown-body) li{background:0 0;border:0;border-radius:0;margin:4px 0;padding:0}.phone-shell :-moz-any(.markdown-report,.markdown-body) li{background:0 0;border:0;border-radius:0;margin:4px 0;padding:0}.phone-shell :is(.markdown-report,.markdown-body) li{background:0 0;border:0;border-radius:0;margin:4px 0;padding:0}.phone-shell :-webkit-any(.markdown-report,.markdown-body) :-webkit-any(ul,ol){padding-left:20px}.phone-shell :-moz-any(.markdown-report,.markdown-body) :-moz-any(ul,ol){padding-left:20px}.phone-shell :is(.markdown-report,.markdown-body) :is(ul,ol){padding-left:20px}.phone-shell :-webkit-any(.markdown-report,.markdown-body) table{font-size:13px}.phone-shell :-moz-any(.markdown-report,.markdown-body) table{font-size:13px}.phone-shell :is(.markdown-report,.markdown-body) table{font-size:13px}.phone-shell :-webkit-any(.markdown-report,.markdown-body) tbody :-webkit-any(tr,td){background:#fff}.phone-shell :-moz-any(.markdown-report,.markdown-body) tbody :-moz-any(tr,td){background:#fff}.phone-shell :is(.markdown-report,.markdown-body) tbody :is(tr,td){background:#fff}.phone-shell :is(.metric-card,.stat-card,.mini-metrics>div){box-shadow:none!important}.phone-shell .search-panel{border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:none!important;background:#fff!important}.phone-shell .search-form>label{border-color:var(--border);background:#fff;border-radius:10px}.phone-shell .search-form>label .ant-input{box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :-webkit-any(.topbar,.top-bar,.report-top) .studio-button.ant-btn{color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :-moz-any(.topbar,.top-bar,.report-top) .studio-button.ant-btn{color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell :is(.topbar,.top-bar,.report-top) .studio-button.ant-btn{color:var(--text-2)!important;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell .history-face.studio-button.ant-btn{width:100%;border:1px solid var(--border)!important;color:var(--text)!important;box-shadow:none!important;background:#fff!important}.phone-shell .history-delete-btn.studio-button.ant-btn{background:var(--danger)!important;color:#fff!important;box-shadow:none!important;border:0!important}.phone-shell .history-panel{border:0;padding:0;box-shadow:none!important;background:0 0!important}.phone-shell .history-panel>.panel-title{display:none}.phone-shell .history-screen .page-title h1{margin:0;font-size:22px;line-height:1.4}.phone-shell .history-screen .page-title{margin:8px 0 20px}.phone-shell .history-screen .eyebrow{display:none}.api-portal .portal-layout{grid-template-columns:160px minmax(300px,1fr) minmax(320px,420px)}.api-portal .api-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phone-shell .disclaimer{border-left-color:var(--brand);box-shadow:none!important;background:#f8fbff!important}.screen:has(.portal-main) .uc-menu-item.ant-btn{border-radius:0;width:100%;box-shadow:none!important;background:#fff!important;border:0!important}.screen:has(.portal-main) .uc-card{border-radius:14px;box-shadow:none!important}.screen:has(.portal-main) .uc-row .ant-input{border:1px solid var(--border)!important;box-shadow:none!important;background:#fff!important}@media (max-width:1100px){.api-portal .portal-layout{grid-template-columns:150px minmax(0,1fr)}.api-portal .detail-panel{grid-column:2}}.api-portal .view-toggle .studio-button{white-space:nowrap;min-width:48px;min-height:36px;padding:0 12px}.api-portal .detail-tabs .studio-button{white-space:nowrap}.screen:has(.portal-main) :-webkit-any(.uc-avatar,.uc-avatar-placeholder,.uc-menu-icon){background:var(--brand-50)!important;color:var(--brand)!important;box-shadow:none!important}.screen:has(.portal-main) :-moz-any(.uc-avatar,.uc-avatar-placeholder,.uc-menu-icon){background:var(--brand-50)!important;color:var(--brand)!important;box-shadow:none!important}.screen:has(.portal-main) :is(.uc-avatar,.uc-avatar-placeholder,.uc-menu-icon){background:var(--brand-50)!important;color:var(--brand)!important;box-shadow:none!important}.ant-btn.ant-btn-primary>span{color:inherit!important}.phone-shell .processing-card.shared-card{padding:28px 20px;display:block}.phone-shell :-webkit-any(.processing-card,.progress-card,.status-card){padding:28px 20px;display:block}.phone-shell :-moz-any(.processing-card,.progress-card,.status-card){padding:28px 20px;display:block}.phone-shell :is(.processing-card,.progress-card,.status-card){padding:28px 20px;display:block}.phone-shell :-webkit-any(.processing-card,.progress-card,.status-card)>p{margin:0}.phone-shell :-moz-any(.processing-card,.progress-card,.status-card)>p{margin:0}.phone-shell :is(.processing-card,.progress-card,.status-card)>p{margin:0}.phone-shell :-webkit-any(.processing-card,.progress-card,.status-card)>.studio-button{margin-top:16px}.phone-shell :-moz-any(.processing-card,.progress-card,.status-card)>.studio-button{margin-top:16px}.phone-shell :is(.processing-card,.progress-card,.status-card)>.studio-button{margin-top:16px}.phone-shell .search-row{border:1px solid var(--border);border-radius:10px;box-shadow:none!important;background:#fff!important}.phone-shell .search-row .ant-input{border-radius:0;box-shadow:none!important;background:0 0!important;border:0!important}.phone-shell .search-row .studio-button{color:var(--brand)!important;background:0 0!important;border:0!important}.desktop-login .login-mode-tabs{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;gap:24px;padding:0}.desktop-login .login-mode-tabs .ant-btn{flex:none;color:var(--muted)!important;box-shadow:none!important;background:0 0!important;border:0!important;border-bottom:2px solid #0000!important;border-radius:0!important}.desktop-login .login-mode-tabs .ant-btn-primary{border-bottom-color:var(--brand)!important;color:var(--brand)!important}.finswarm-logo{object-fit:contain;flex-shrink:0;width:32px;height:32px}.auth-screen .auth-brand-lockup{gap:12px}.studio-eyebrow .finswarm-logo{width:28px;height:28px}
