:root{--bg: #fafafa;--card: #ffffff;--border: #e5e7eb;--text: #111827;--text-muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--radius: 8px;--font: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border-radius:var(--radius)}input,select,textarea{font-family:inherit;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;background:var(--primary);color:#fff;font-weight:500;border-radius:var(--radius)}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-outline:hover{background:#2563eb14}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.table-wrap{overflow-x:auto;max-height:min(68vh,720px);border:1px solid var(--border);border-radius:12px}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;white-space:normal}th{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.02em}th:first-child,td:first-child{position:sticky;left:0;z-index:1;background:#fff}th:first-child{z-index:3;background:#f8fafc}.app-frame{display:flex;min-height:100vh}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#fffffff5,#f8fafce6),#fff;transition:width .18s ease,min-width .18s ease}.app-sidebar.is-expanded{width:232px;min-width:232px}.app-sidebar.is-collapsed{width:68px;min-width:68px}.app-brand{display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.2)}.app-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#2563eb;color:#fff;font-weight:800}.app-brand strong{flex:1;font-size:17px}.app-brand button{border:0;background:transparent;color:#64748b;font-size:24px;line-height:1}.app-nav{flex:1;overflow-y:auto;padding:12px 10px}.app-nav-group+.app-nav-group{margin-top:14px}.app-nav-group h2{margin:0 0 6px;padding:0 8px;color:#94a3b8;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.app-nav-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:#334155;text-decoration:none}.app-nav-link:hover{background:#2563eb14;text-decoration:none}.app-nav-link.is-active{background:#2563eb1a;color:#2563eb;font-weight:700}.app-nav-link span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#e2e8f0e6;font-weight:800}.app-nav-link.is-active span{background:#2563eb;color:#fff}.app-user{display:flex;gap:10px;align-items:center;padding:14px;border-top:1px solid rgba(148,163,184,.2)}.app-user div{flex:1;min-width:0}.app-user span,.app-user strong{display:block}.app-user span{color:#64748b;font-size:12px}.app-main{flex:1;min-width:0;padding:24px;overflow:auto}.auth-gate{max-width:520px;margin:14vh auto 0;padding:28px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#ffffffe6;box-shadow:0 18px 44px #0f172a14}.auth-gate h1{margin:0 0 10px;font-size:24px}.auth-gate p{margin:0 0 18px;color:#64748b}.page-shell{color:#0f172a}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-heading h1{margin:4px 0 8px;font-size:26px;line-height:1.15;letter-spacing:0}.page-heading p{margin:0;color:#64748b}.page-breadcrumb{display:flex;align-items:center;gap:8px;color:#64748b;font-size:13px}.page-breadcrumb i{color:#94a3b8;font-style:normal}.page-breadcrumb strong{color:#2563eb}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar-spacer{flex:1}.segmented-control{display:inline-flex;gap:6px;padding:4px;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:#ffffffb8}.segmented-control button{min-height:34px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:#475569;font-weight:650}.segmented-control button.is-active{background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb2e}.form-stack{display:flex;flex-direction:column;gap:12px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field>span{color:#475569;font-size:12px;font-weight:650}.form-control{min-height:38px;padding:8px 11px;border:1px solid rgba(148,163,184,.46);border-radius:10px;background:#ffffffe0;color:#0f172a;outline:none}.form-control:focus{border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf824}.checkbox-field{display:inline-flex;align-items:center;gap:8px;color:#334155;font-weight:600}.muted-text,.empty-state{color:#64748b}.inline-message{margin:0;padding:10px 12px;border:1px solid rgba(14,165,233,.22);border-radius:10px;background:#f0f9ffeb;color:#075985;font-weight:600}.inline-message-error{border-color:#ef444438;background:#fef2f2eb;color:#991b1b}.toast-stack{position:fixed;right:24px;bottom:24px;z-index:80;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.toast-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fffffff5;box-shadow:0 18px 45px #0f172a29;color:var(--text);animation:toast-in .18s ease-out}.toast-item span{font-size:13px;line-height:1.5}.toast-item button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1}.toast-success{border-color:#22c55e59}.toast-warning{border-color:#f59e0b61}.toast-error{border-color:#ef444461}.toast-item:hover{animation-play-state:paused}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#dcfce7eb;color:#047857;font-size:12px;font-weight:700}.table-action{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin-bottom:4px;padding:3px 10px;font-size:12px}.table-action+.table-action{margin-left:6px}.table-action-danger{color:var(--danger);border-color:#dc2626b3}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a7a}.modal-panel{width:min(500px,100%);padding:24px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.modal-panel h2{margin:0 0 16px;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;flex-wrap:wrap}.forced-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#eef4ff}.forced-password-modal{width:min(460px,100%)}.forced-password-modal p{margin:0 0 16px;color:var(--text-muted);line-height:1.6}.forced-password-modal label{display:block;margin-top:12px}.forced-password-modal label span{display:block;margin-bottom:6px;font-size:13px;font-weight:700}.rate-card{background:linear-gradient(180deg,#ffffffeb,#f8fafccc),#fff;box-shadow:0 14px 34px #0f172a0f}.rate-version-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rate-version-select{min-width:240px}.rate-import-button{margin-left:auto}.rate-version-table{margin-top:12px}.dashboard-hero{display:flex;align-items:stretch;justify-content:space-between;gap:22px;margin-bottom:18px;padding:24px;border:1px solid rgba(125,211,252,.45);border-radius:16px;background:linear-gradient(135deg,#eff6fff0,#ffffffbd),linear-gradient(90deg,#0ea5e924,#2563eb14);box-shadow:0 18px 46px #2563eb1a}.dashboard-hero h1{margin:4px 0 8px;font-size:28px;line-height:1.15}.dashboard-hero p{margin:0;color:#475569}.dashboard-user-card{min-width:150px;padding:16px;border:1px solid rgba(14,165,233,.18);border-radius:14px;background:#ffffffad}.dashboard-user-card span{color:#64748b;font-size:12px}.dashboard-user-card strong{display:block;margin-top:8px;color:#0369a1;font-size:24px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card{display:block;min-height:150px;padding:18px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#ffffffdb;box-shadow:0 12px 28px #0f172a0f;color:#0f172a;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dashboard-card:hover{transform:translateY(-2px);border-color:#0ea5e95c;box-shadow:0 16px 34px #0ea5e91a;text-decoration:none}.dashboard-card span{color:#0284c7;font-size:12px;font-weight:700}.dashboard-card h2{margin:10px 0 8px;font-size:18px}.dashboard-card p{margin:0;color:#64748b}.dashboard-section{margin-top:26px}.pagination-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.pagination-row span{color:#64748b}.pagination-row div{display:flex;gap:8px}.metrics-grid{display:grid;grid-template-columns:1fr;gap:16px}.metric-card h2{margin:0 0 12px;font-size:16px}.system-panel{max-width:560px}.system-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.system-status-row span{color:#64748b;font-weight:650}.system-status-row strong{font-size:24px}.system-open{color:#047857}.system-closed{color:#b91c1c}.system-actions{margin:16px 0 0}.profit-page{color:#0f172a}.profit-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#64748b;font-size:13px}.profit-breadcrumb i{font-style:normal;color:#94a3b8}.profit-breadcrumb strong{color:#2563eb;font-weight:600}.profit-hero{display:flex;justify-content:space-between;gap:24px;align-items:stretch;margin-bottom:18px;padding:24px;border:1px solid rgba(125,211,252,.55);border-radius:16px;background:linear-gradient(135deg,#eff6ffeb,#ffffffb8),linear-gradient(90deg,#0ea5e924,#2563eb14);box-shadow:0 18px 50px #2563eb1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.profit-hero h1{margin:4px 0 8px;font-size:28px;line-height:1.15;letter-spacing:0}.profit-hero p{margin:0;max-width:680px;color:#475569}.profit-kicker{color:#0284c7;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.profit-hero-status{min-width:180px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:16px;border:1px solid rgba(14,165,233,.18);border-radius:14px;background:#ffffff9e}.profit-hero-status span{color:#64748b;font-size:12px}.profit-hero-status strong{color:#0f172a;font-size:18px}.profit-alert{margin-bottom:16px;padding:12px 14px;border-radius:12px;font-weight:600}.profit-alert-danger{border:1px solid rgba(220,38,38,.2);background:#fef2f2e6;color:#b91c1c}.profit-alert-success{border:1px solid rgba(14,165,233,.2);background:#eff6ffe6;color:#0369a1}.profit-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:18px;align-items:start}.profit-form-surface,.profit-result-shell{border:1px solid rgba(148,163,184,.24);border-radius:18px;background:linear-gradient(180deg,#ffffffe0,#f8fafcc7),#ffffffb8;box-shadow:0 16px 45px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.profit-form-surface{padding:18px}.profit-panel+.profit-panel{margin-top:18px}.profit-panel{padding:2px}.profit-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.profit-panel-head h2,.profit-result-hero h2,.profit-empty-result h2{margin:3px 0 0;font-size:17px;line-height:1.2;letter-spacing:0}.profit-link-button{border:0;background:transparent;color:#2563eb;font-weight:600;padding:6px 8px}.profit-link-button:hover{background:#2563eb14}.profit-grid{display:grid;gap:12px}.profit-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.profit-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.profit-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.profit-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.profit-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.profit-field{display:flex;flex-direction:column;gap:6px}.profit-field>span{color:#475569;font-size:12px;font-weight:650}.profit-control-wrap{position:relative}.profit-control-wrap em{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:#64748b;font-size:12px;font-style:normal;pointer-events:none}.profit-control{width:100%;min-height:40px;padding:9px 10px;border:1px solid rgba(148,163,184,.48);border-radius:10px;background:#ffffffd1;color:#0f172a;outline:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.profit-control[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.profit-control[type=number]::-webkit-outer-spin-button,.profit-control[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.profit-control-wrap-has-suffix .profit-control{padding-right:84px}.profit-control:focus{border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf829}.profit-control:hover{border-color:#7dd3fc}.profit-field-hint{color:#64748b;font-size:12px;line-height:1.45}.profit-field-hint-warning{color:#b45309}.profit-template-picker{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr);gap:12px;align-items:end;margin-top:14px}.profit-template-picker strong{display:block;margin-top:4px;color:var(--text);font-size:14px}.profit-stale-badge{padding:9px 11px;border:1px solid rgba(245,158,11,.28);border-radius:8px;background:#fffbebeb;color:#92400e;font-size:13px;font-weight:700}.profit-toggle-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.profit-toggle{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(148,163,184,.36);border-radius:999px;background:#f8fafcc7;transition:border-color .16s ease,background .16s ease,transform .16s ease}.profit-toggle:hover{transform:translateY(-1px);border-color:#0ea5e96b}.profit-toggle input{position:absolute;opacity:0;pointer-events:none}.profit-toggle span{width:28px;height:16px;border-radius:999px;background:#cbd5e1;position:relative;transition:background .16s ease}.profit-toggle span:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a2e;transition:transform .16s ease}.profit-toggle input:checked+span{background:#0ea5e9}.profit-toggle input:checked+span:after{transform:translate(12px)}.profit-toggle strong{font-size:13px;color:#334155}.profit-action-bar{position:sticky;bottom:0;z-index:3;display:flex;gap:10px;margin:18px -18px -18px;padding:14px 18px;border-top:1px solid rgba(148,163,184,.22);border-radius:0 0 18px 18px;background:#ffffffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.profit-primary-action,.profit-secondary-action{min-width:128px}.profit-result-shell{position:sticky;top:18px;padding:18px}.profit-empty-result{min-height:260px;display:flex;flex-direction:column;justify-content:center}.profit-empty-result p{margin:10px 0 0;color:#64748b}.profit-result-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.profit-result-hero p{margin:6px 0 0;color:#64748b;font-size:13px}.profit-profit-pill{flex:0 0 auto;padding:10px 12px;border-radius:999px;font-weight:800;color:#0f172a;background:#e0f2fe}.profit-pill-positive{color:#047857;background:#d1fae5}.profit-pill-negative{color:#b91c1c;background:#fee2e2}.profit-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.profit-metric-card{min-height:112px;padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#f8fafcc2;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.profit-metric-card:hover{transform:translateY(-2px);border-color:#0ea5e952;box-shadow:0 12px 30px #0ea5e91a}.profit-metric-card span,.profit-margin-panel span,.profit-detail-item span{display:block;color:#64748b;font-size:12px;font-weight:650}.profit-metric-card strong{display:block;margin-top:8px;font-size:22px;line-height:1.1}.profit-metric-card em{display:block;margin-top:8px;color:#64748b;font-size:12px;font-style:normal}.profit-metric-positive strong{color:#047857}.profit-metric-negative strong{color:#b91c1c}.profit-margin-panel{padding:14px;margin-bottom:14px;border:1px solid rgba(14,165,233,.18);border-radius:14px;background:linear-gradient(135deg,#f0f9ffe6,#ffffffd1)}.profit-margin-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.profit-margin-panel strong{color:#0369a1;font-size:18px}.profit-margin-track{height:9px;overflow:hidden;border-radius:999px;background:#dbeafe}.profit-margin-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#2563eb);transition:width .28s ease}.profit-result-section{padding-top:14px;margin-top:14px;border-top:1px solid rgba(148,163,184,.2)}.profit-result-section h3{margin:0 0 10px;font-size:15px}.profit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profit-detail-item{min-height:62px;padding:10px;border-radius:12px;background:#f8fafcb8}.profit-detail-item strong{display:block;margin-top:5px;color:#0f172a;font-size:13px;word-break:break-word}.profit-inline-note{margin-top:14px;padding:11px 12px;border:1px solid rgba(245,158,11,.28);border-radius:12px;background:#fffbebdb;color:#92400e;font-weight:600;line-height:1.55}.rates-action-message{margin-top:12px;padding:10px 12px;border:1px solid rgba(14,165,233,.22);border-radius:10px;background:#f0f9ffeb;color:#075985;font-size:13px;font-weight:600}.rates-action-message-error{border-color:#ef444438;background:#fef2f2eb;color:#991b1b}.ai-page{display:flex;flex-direction:column;gap:18px}.ai-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid rgba(14,165,233,.22);border-radius:18px;background:linear-gradient(135deg,#eff6ffeb,#ffffffe6),#fff;box-shadow:0 16px 45px #0f172a14}.ai-hero span,.ai-panel-head span{color:#0284c7;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.ai-hero h1{margin:4px 0;font-size:26px;line-height:1.18;letter-spacing:0}.ai-hero p,.ai-muted,.ai-task-empty,.ai-empty{margin:0;color:#64748b}.ai-mode-switch{display:inline-flex;gap:6px;padding:5px;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:#ffffffc7}.ai-mode-switch button{min-width:76px;border:0;padding:9px 14px;background:transparent;color:#475569;font-weight:700}.ai-mode-switch button.is-active{background:#2563eb;color:#fff}.ai-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;align-items:start}.ai-main-panel,.ai-side-panel{border:1px solid rgba(148,163,184,.24);border-radius:18px;background:#ffffffe6;box-shadow:0 16px 45px #0f172a14}.ai-main-panel{padding:18px}.ai-side-panel{padding:16px}.ai-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ai-panel-head h2{margin:2px 0 0;font-size:18px;line-height:1.2;letter-spacing:0}.ai-panel-head em{color:#64748b;font-size:12px;font-style:normal}.ai-model-notice{color:#64748b;font-size:12px;line-height:1.45}.ai-chat-window{display:flex;min-height:310px;max-height:52vh;flex-direction:column;gap:12px;margin:14px 0;overflow-y:auto;padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#f8fafc}.ai-empty,.ai-task-empty{display:flex;min-height:120px;align-items:center;justify-content:center;border:1px dashed rgba(148,163,184,.42);border-radius:12px;text-align:center}.ai-message{max-width:84%;padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:#fff}.ai-message-user{align-self:flex-end;border-color:#2563eb38;background:#eff6fff5}.ai-message-assistant{align-self:flex-start}.ai-message span{color:#0284c7;font-size:12px;font-weight:800}.ai-message p{margin:6px 0;white-space:pre-wrap;word-break:break-word}.ai-typing-dots{display:inline-flex;align-items:center;gap:4px;min-width:34px}.ai-typing-dots i{width:6px;height:6px;border-radius:999px;background:#0284c7;animation:ai-typing-bounce 1s infinite ease-in-out}.ai-typing-dots i:nth-child(2){animation-delay:.15s}.ai-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes ai-typing-bounce{0%,80%,to{opacity:.38;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-message em{color:#64748b;font-size:12px;font-style:normal}.ai-upload-strip{margin:14px 0;padding:12px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#f8fafcdb}.ai-upload-strip.is-drag-enabled{border-style:dashed}.ai-upload-strip.is-dragging{border-color:#2563eb;background:#dbeafe9e;box-shadow:inset 0 0 0 1px #2563eb29}.ai-upload-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-upload-head span,.ai-history-tag span,.ai-history-card span,.ai-history-card small{color:#64748b;font-size:12px}.ai-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border:1px solid #2563eb;border-radius:10px;color:#2563eb;font-weight:700;cursor:pointer}.ai-upload-button input{display:none}.ai-upload-button.is-disabled{border-color:#cbd5e1;color:#94a3b8;cursor:not-allowed}.ai-upload-drop-hint{margin-top:10px;padding:9px 10px;border:1px dashed rgba(37,99,235,.32);border-radius:8px;color:#2563eb;font-size:13px;font-weight:700;text-align:center}.ai-upload-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:12px}.ai-upload-item{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;min-height:76px;padding:8px 34px 8px 8px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#fff}.ai-upload-item img,.ai-expired-thumb{width:58px;height:58px;border-radius:8px;object-fit:cover;background:#e2e8f0}.ai-expired-thumb{display:flex;align-items:center;justify-content:center;padding:4px;color:#64748b;font-size:12px;text-align:center}.ai-upload-item strong,.ai-history-tag strong,.ai-history-card strong{display:block;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.ai-upload-item span,.ai-upload-item small{display:block;color:#64748b;font-size:12px}.ai-upload-item button{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;background:#0f172a14;color:#334155;font-size:18px;line-height:1}.ai-upload-item.is-expired{border-color:#f59e0b5c;background:#fffbebc7}.ai-prompt{min-height:112px;resize:vertical}.ai-advanced{margin-top:12px;color:#475569}.ai-advanced summary{cursor:pointer;font-weight:700}.ai-advanced textarea{min-height:88px;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ai-inline-check{display:flex;align-items:center;gap:8px;margin-top:10px}.ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ai-task-card{margin-top:16px;padding:14px;border:1px solid rgba(14,165,233,.2);border-radius:14px;background:#f0f9ffd1}.ai-task-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.ai-task-meta strong{color:#0369a1}.ai-task-meta span,.ai-task-meta em{color:#475569;font-size:12px;font-style:normal}.ai-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.ai-result-image{display:flex;flex-direction:column;gap:8px;color:#2563eb;font-weight:700;text-decoration:none}.ai-result-image img{width:100%;aspect-ratio:1 / 1;border-radius:10px;object-fit:cover;background:#e2e8f0}.ai-expiry-hint{margin:12px 0 0;color:#92400e;font-size:12px;font-weight:700}.ai-history-section+.ai-history-section{margin-top:18px}.ai-history-section h3{margin:0 0 10px;font-size:15px}.ai-history-tags{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.ai-history-tag-row{display:inline-grid;grid-template-columns:minmax(0,1fr) 32px;align-items:stretch;max-width:100%;width:min(100%,300px);min-width:0}.ai-history-tag{display:inline-flex;flex-direction:column;gap:3px;max-width:100%;min-width:0;width:100%;padding:8px 10px;border:1px solid rgba(148,163,184,.28);border-right:0;border-radius:8px 0 0 8px;background:#fff;text-align:left;cursor:pointer}.ai-history-delete{min-width:32px;border:1px solid rgba(148,163,184,.28);border-radius:0 8px 8px 0;background:#fff;color:#64748b;font-size:18px;line-height:1;cursor:pointer}.ai-history-tag:hover,.ai-history-delete:hover,.ai-history-tag-row.is-active .ai-history-tag,.ai-history-tag-row.is-active .ai-history-delete{border-color:#2563eb6b;background:#eff6ffdb}.ai-history-delete:disabled{color:#94a3b8;cursor:wait}.ai-history-tag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history-card{padding:11px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#fff}.ai-history-card+.ai-history-card{margin-top:10px}.ai-history-card p{display:-webkit-box;margin:6px 0;overflow:hidden;color:#334155;-webkit-box-orient:vertical;-webkit-line-clamp:2}@media(max-width:1280px){.profit-workspace{grid-template-columns:1fr}.profit-result-shell{position:static}.ai-workspace{grid-template-columns:1fr}}@media(max-width:920px){.dashboard-grid,.dashboard-grid-compact{grid-template-columns:1fr}.dashboard-hero,.profit-hero{flex-direction:column}.ai-hero{align-items:flex-start;flex-direction:column}.profit-grid-4,.profit-grid-3,.profit-grid-5,.profit-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.app-frame{display:block}.app-sidebar,.app-sidebar.is-expanded,.app-sidebar.is-collapsed{position:static;width:100%;min-width:0;height:auto}.app-nav{display:flex;gap:8px;overflow-x:auto}.app-nav-group{display:flex;gap:8px}.app-main{padding:16px}.page-heading,.toolbar,.pagination-row,.system-status-row{align-items:flex-start;flex-direction:column}.toolbar-spacer{display:none}.profit-hero,.profit-form-surface,.profit-result-shell{border-radius:14px}.profit-grid-2,.profit-grid-3,.profit-grid-4,.profit-grid-5,.profit-grid-6,.profit-metric-grid,.profit-detail-grid{grid-template-columns:1fr}.profit-action-bar{flex-direction:column}.profit-primary-action,.profit-secondary-action{width:100%}.ai-upload-head,.ai-actions,.ai-task-meta{align-items:flex-start;flex-direction:column}.ai-message{max-width:100%}}
