:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fb;--card:#fff;--text:#111827;--muted:#6b7280;--border:#e2e8f0;--border-strong:#d6d9e3;--primary:#111827;--accent:#7c3aed;--accent-soft:#eef2ff;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#065f46;--error-bg:#fff1f2;--error-border:#fecdd3;--error-text:#9f1239;--warn-bg:#fff7ed;--warn-border:#fed7aa;--warn-text:#7c2d12}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #7c3aed1a, transparent 28rem), var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}button,input,select{font:inherit}button{border:1px solid var(--border);color:#0f172a;cursor:pointer;background:#f1f5f9;border-radius:12px;padding:10px 12px;font-weight:800}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6}button.primary{border-color:var(--primary);background:var(--primary);color:#fff}input,select{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#fff;border-radius:12px;padding:10px 12px}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7c3aed26}label{color:var(--text);gap:6px;font-weight:800;display:grid}label span{font-size:.82rem}.app-shell{max-width:1360px;margin:0 auto;padding:24px}.app-shell--login{justify-content:center;align-items:center;min-height:calc(100vh - 48px);display:flex}.auth-bar{border:1px solid var(--border);color:var(--muted);background:#ffffffe6;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:.88rem;display:flex}.auth-bar-user strong{color:var(--text)}.auth-bar-out{border-radius:10px;padding:8px 12px;font-size:.82rem}.login-screen{width:100%;max-width:420px}.login-card{border:1px solid var(--border);background:#fffffff5;border-radius:22px;padding:28px 26px 26px;box-shadow:0 18px 45px #0f172a1a}.login-brand-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.login-title{letter-spacing:-.03em;margin:0 0 6px;font-size:1.65rem}.login-hint{color:var(--muted);margin:0 0 20px;font-size:.92rem}.login-form{gap:14px;display:grid}.login-error{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:12px;padding:10px 12px;font-size:.88rem;font-weight:700}.login-submit{margin-top:4px}.landing-hero{border:1px solid var(--border);background:#fffffff2;border-radius:22px;margin-bottom:20px;padding:28px 28px 24px;position:relative;overflow:hidden;box-shadow:0 18px 45px #0f172a14}.landing-brand-row{z-index:1;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex;position:relative}.brand-icon{border:1px solid var(--border-strong);background:linear-gradient(#fff 0%,#f1f5f9 100%);border-radius:14px;flex-shrink:0;place-items:center;display:grid;overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.brand-icon img{object-fit:contain;width:auto;max-width:68%;height:auto;max-height:68%;display:block}.brand-icon--hero{border-radius:16px;width:64px;height:64px}.brand-icon--hero img{max-width:72%;max-height:72%}.brand-icon--flower{background:#fff}.brand-icon--flower img{max-width:82%;max-height:82%}.brand-icon--app{border-radius:14px;width:56px;height:56px}.brand-icon--app img{max-width:70%;max-height:70%}.brand-icon--func{color:#374151;background:linear-gradient(#f8fafc 0%,#eef2ff 100%)}.brand-icon--func svg.app-func-icon{width:26px;height:26px}.brand-icon--compact{border-radius:10px;width:40px;height:40px}.brand-icon--compact img{max-width:72%;max-height:72%}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 12% 20%,#7c3aed1f,#0000 42%);position:absolute;inset:0}.landing-lead{max-width:52rem}.status-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.app-picker{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.app-picker-card{text-align:left;border:1px solid var(--border-strong);cursor:pointer;background:#fff;border-radius:20px;align-content:start;gap:12px;padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 12px 32px #0f172a0f}.app-picker-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 40px #0f172a1a}.app-picker-card:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7c3aed33}.app-picker-card p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.45}.app-picker-card-top{align-items:center;gap:16px;display:flex}.app-picker-card h2{margin:0;font-size:1.35rem}.pick-cta{color:var(--accent);letter-spacing:.04em;margin-top:auto;font-size:.9rem;font-weight:900}.app-subheader{border:1px solid var(--border);background:#fffffff2;border-radius:22px;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 18px;margin-bottom:16px;padding:16px 20px;display:grid;box-shadow:0 12px 32px #0f172a0f}.link-back{color:var(--accent);box-shadow:none;background:0 0;border:0;grid-area:1/1;padding:6px 0;font-weight:800;text-decoration:none}.link-back:hover{text-decoration:underline;transform:none}.subheader-brand{flex-wrap:wrap;grid-area:1/2;justify-self:start;align-items:center;gap:10px;display:flex}.subheader-copy{grid-area:2/2;justify-self:start;min-width:0}.subheader-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,3vw,1.85rem)}.subheader-status{grid-area:1/3/span 2;place-self:center end}.hero-card,.panel{border:1px solid var(--border);background:#ffffffeb;border-radius:22px;box-shadow:0 18px 45px #0f172a14}.hero-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:16px;padding:22px;display:grid}.logos{gap:10px;width:150px;display:grid}.logos img{object-fit:contain;max-width:150px;max-height:58px}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:900}h1,h2,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:8px;font-size:clamp(2rem,4vw,4rem)}h2{margin-bottom:4px;font-size:1.25rem}.hero-copy,.section-heading p,.help-card p,.empty-state p,.note,small{color:var(--muted)}.status-grid{gap:8px;display:grid}.status{border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:900}.status.good{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text)}.status.warn{border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}.alert{border-radius:14px;margin-bottom:16px;padding:12px 14px;font-weight:800}.alert.success{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text)}.alert.error{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text)}.alert.info{background:var(--accent-soft);color:#3730a3;border:1px solid #c7d2fe}.tabs{gap:8px;margin-bottom:16px;display:flex}.tabs button.active,.pill-row button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fff}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start}.panel{gap:16px;padding:18px;display:grid}.section-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.result-list{border:1px solid var(--border);border-radius:14px;overflow:hidden}.result-list button{text-align:left;background:#fff;border:0;border-top:1px solid #eef0f5;border-radius:0;width:100%;display:block}.result-list button:first-child{border-top:0}.selected-card{background:var(--accent-soft);color:#3730a3;border:1px solid #c7d2fe;border-radius:14px;gap:4px;padding:12px;font-weight:800;display:grid}.selected-card span{font-size:.86rem;font-weight:600}.pill-row,.button-row,.mini-actions,.radio-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button-row.compact button,.mini-actions button{padding:7px 9px;font-size:.78rem}.note{border:1px solid var(--border);background:#f8fafc;border-radius:12px;padding:10px 12px}.upload-list{gap:10px;display:grid}.upload-item{border:1px solid var(--border);border-radius:14px;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.upload-item img,.pdf-badge{object-fit:cover;background:#f1f5f9;border-radius:12px;width:58px;height:58px}.pdf-badge{color:#9f1239;place-items:center;font-weight:900;display:grid}.upload-item div:nth-child(2){min-width:0;display:grid}.upload-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.printer-row,.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px}th{color:#374151;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}td input[type=number]{min-width:70px}td input[type=checkbox]{width:auto}.empty-state{border:1px dashed var(--border-strong);text-align:center;border-radius:18px;padding:28px}@media (width<=900px){.hero-card,.grid.two,.field-grid,.app-picker{grid-template-columns:1fr}.app-subheader{grid-template-rows:auto;grid-template-columns:1fr}.link-back{grid-area:1/1}.subheader-brand{grid-area:2/1}.subheader-copy{grid-area:3/1}.subheader-status{grid-area:4/1;justify-self:start}.logos{grid-template-columns:repeat(2,max-content);width:auto}.upload-item{grid-template-columns:58px minmax(0,1fr)}.upload-item .mini-actions{grid-column:1/-1}}.landing-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2rem;margin-bottom:-.25rem;max-width:1200px;margin-inline:auto;padding:0 1.5rem;font-size:.7rem;font-weight:700}.app-picker-card--dashboard{border-top:3px solid var(--accent)}.brand-icon--finance{color:#16a34a}.brand-icon--sales{color:#2563eb}.brand-icon--ops{color:#d97706}.app-subheader--dashboard{border-bottom:2px solid var(--accent-soft);background:linear-gradient(90deg,#7c3aed0a,#0000)}.dashboard{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.25rem;padding:1.1rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.kpi-value{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.65rem;font-weight:700;line-height:1.15;overflow:hidden}.kpi-sub{color:var(--muted);font-size:.78rem}.kpi-positive{color:#16a34a}.kpi-negative{color:#dc2626}.ratio-row{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;display:grid}@media (width<=900px){.ratio-row{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.ratio-row{grid-template-columns:1fr}}.ratio-card{background:linear-gradient(160deg, var(--card) 60%, #f6f5ff 100%);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.9rem;padding:1rem 1.15rem;transition:box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 3px #0000000d}.ratio-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.ratio-gauge{width:64px;height:64px;color:var(--text);flex-shrink:0}.ratio-card-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.ratio-card-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;font-size:.72rem;font-weight:600;display:flex}.ratio-delta{white-space:nowrap;font-size:.82rem;font-weight:700}.ratio-delta--up{color:#16a34a}.ratio-delta--down{color:#dc2626}.ratio-card-sub{color:var(--muted);font-size:.74rem}.growth-badge{border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:.95rem;font-weight:800;line-height:1.05;display:flex}.growth-badge--up{color:#16a34a;background:#ecfdf5;border:2px solid #a7f3d0}.growth-badge--down{color:#dc2626;background:#fff1f2;border:2px solid #fecdd3}.chart-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=800px){.chart-grid{grid-template-columns:1fr}}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #0000000d}.chart-card--wide{grid-column:1/-1}.chart-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem;font-size:.85rem;font-weight:600}.pnl-table{flex-direction:column;gap:0;display:flex}.pnl-row{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;display:flex}.pnl-row:last-child{border-bottom:none}.pnl-row--bold{font-size:.95rem;font-weight:700}.pnl-row--border{border-top:2px solid var(--border-strong);margin-top:.25rem;padding-top:.6rem}.pnl-row--indent{color:var(--muted);padding-left:1rem}.mini-table{overflow-x:auto}.mini-table table{border-collapse:collapse;width:100%;font-size:.82rem}.mini-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:.4rem .6rem;font-weight:600}.mini-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.4rem .6rem}.mini-table tr:last-child td{border-bottom:none}.mini-table tr:hover td{background:var(--accent-soft)}.mini-table--scroll{max-height:280px;overflow-y:auto}.mini-table--scroll table thead th{background:var(--surface);z-index:1;position:sticky;top:0}.scorecard-table{border-collapse:collapse;width:100%;font-size:.8rem}.scorecard-table th,.scorecard-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:.35rem .5rem}.scorecard-table thead th{color:var(--muted);background:var(--surface);z-index:1;font-weight:600;position:sticky;top:0}.scorecard-table tbody tr:hover td{background:var(--accent-soft)}.scorecard-table tfoot td{background:var(--surface);font-weight:700}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:.4rem;display:inline-block}.dash-loading{color:var(--muted);flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-layout{min-height:100vh;display:flex}.sidebar{color:#e2e8f0;z-index:100;background:#0f172a;flex-direction:column;flex-shrink:0;width:220px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.sidebar-brand-logo{object-fit:cover;border-radius:8px;flex-shrink:0;width:32px;height:32px}.sidebar-brand-name{color:#f1f5f9;letter-spacing:.01em;font-size:.8rem;font-weight:700;line-height:1.3}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0;padding:12px 8px 4px;font-size:.68rem;font-weight:700}.sidebar-item{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:.88rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-item:hover:not(:disabled){color:#f1f5f9;background:#ffffff12;transform:none}.sidebar-item--active{color:#c4b5fd!important;background:#7c3aed40!important}.sidebar-item-icon{opacity:.85;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.sidebar-item-icon svg{width:18px;height:18px}.sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding:12px 8px 16px;display:flex}.sidebar-status{flex-wrap:wrap;gap:6px;padding:0 4px;display:flex}.sidebar-signout{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff1f;border-radius:8px;width:100%;padding:7px 10px;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.sidebar-signout:hover{color:#f1f5f9;background:#ffffff12;transform:none}.sidebar-main{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-topbar{display:none}.sidebar-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.sidebar-home{min-height:60vh;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.sidebar-home h2{color:var(--text);margin-bottom:.5rem;font-size:1.5rem}@media (width<=700px){.sidebar{z-index:200;height:100%;transition:left .25s;position:fixed;top:0;left:-220px}.sidebar-layout--open .sidebar{left:0}.sidebar-overlay{z-index:199;background:#0006;position:fixed;inset:0}.sidebar-topbar{color:#f1f5f9;z-index:10;background:#0f172a;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.sidebar-topbar-title{font-size:.95rem;font-weight:600}.sidebar-hamburger{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:4px;display:flex}.sidebar-hamburger span{background:#f1f5f9;border-radius:2px;width:18px;height:2px;display:block}.sidebar-hamburger:hover{background:#ffffff1a;transform:none}}.empty-note{color:var(--muted);padding:1rem 0;font-size:.875rem}.sidebar-item--ai{color:#a78bfa!important}.sidebar-item--ai:hover:not(:disabled){color:#c4b5fd!important;background:#7c3aed26!important}.dashboard-chat-wrap{padding:0 1.5rem}.dashboard-chat-toggle{color:#7c3aed;cursor:pointer;background:linear-gradient(135deg,#7c3aed1f,#6366f114);border:1px solid #7c3aed40;border-radius:20px;align-items:center;gap:7px;margin:1rem 0 .5rem;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.dashboard-chat-toggle:hover:not(:disabled){background:#7c3aed2e;transform:none}.dashboard-chat-toggle--open{background:#7c3aed33;border-color:#7c3aed73}.dashboard-chat-toggle-icon{font-size:.9rem}.dashboard-chat-panel{border:1px solid #7c3aed33;border-radius:14px;height:480px;margin:.5rem 0 1rem;overflow:hidden;box-shadow:0 4px 24px #7c3aed14}.ai-panel{background:#fff;flex-direction:column;height:100%;display:flex}.ai-panel-header{border-bottom:1px solid var(--border);background:#fafafa;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ai-panel-header-left{align-items:center;gap:10px;display:flex}.ai-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.ai-avatar--sm{width:26px;height:26px;margin-top:2px;font-size:11px}.ai-panel-title{color:var(--text);font-size:.88rem;font-weight:700}.ai-panel-sub{color:var(--muted);font-size:.72rem}.ai-header-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:500}.ai-header-btn:hover{background:var(--accent-soft)}.ai-messages{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 16px;display:flex;overflow-y:auto}.ai-msg-row{align-items:flex-start;gap:8px;display:flex}.ai-msg-row--user{justify-content:flex-end}.ai-bubble{border-radius:12px;max-width:82%;padding:9px 13px;font-size:.855rem;line-height:1.6}.ai-bubble--user{color:#fff;background:#7c3aed;border-radius:12px 12px 4px}.ai-bubble--ai{color:var(--text);background:#f8f7ff;border:1px solid #ede9fe;border-radius:4px 12px 12px}.ai-bubble--err{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.ai-bubble--typing{align-items:center;gap:4px;padding:12px 16px;display:flex}.ai-dot{background:#7c3aed;border-radius:50%;width:6px;height:6px;animation:1.2s infinite ai-bounce;display:inline-block}.ai-dot:nth-child(2){animation-delay:.2s}.ai-dot:nth-child(3){animation-delay:.4s}.ai-starters{flex-direction:column;flex-shrink:0;gap:4px;padding:0 16px 10px;display:flex}.ai-starter-btn{color:var(--muted);text-align:left;cursor:pointer;background:#f8f7ff;border:1px solid #ede9fe;border-radius:7px;padding:7px 12px;font-size:.78rem;font-weight:500;transition:all .15s}.ai-starter-btn:hover{color:#7c3aed;background:#ede9fe;border-color:#7c3aed;transform:none}.ai-input-row{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:10px 16px 14px;display:flex}.ai-input{color:var(--text);background:#f8f7ff;border:1px solid #ede9fe;border-radius:8px;outline:none;flex:1;padding:9px 13px;font-size:.875rem;transition:border-color .15s}.ai-input:focus{border-color:#7c3aed}.ai-send-btn{color:#9ca3af;cursor:not-allowed;background:#e8e4f5;border:none;border-radius:8px;padding:9px 16px;font-size:.875rem;font-weight:700;transition:all .15s}.ai-send-btn--active{color:#fff;cursor:pointer;background:#7c3aed}.ai-send-btn--active:hover{background:#6d28d9;transform:none}.ai-tool-chip{background:#f8f7ff;border:1px solid #ede9fe;border-left:3px solid #7c3aed;border-radius:8px;margin-bottom:4px;overflow:hidden}.ai-tool-chip-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;width:100%;padding:7px 10px;font-size:.78rem;display:flex}.ai-tool-chip-header:hover{background:#ede9fe;transform:none}.ai-tool-chip-icon{font-size:12px}.ai-tool-chip-desc{color:var(--muted);flex:1;font-size:.75rem}.ai-tool-chip-badge{color:#7c3aed;background:#ede9fe;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:700}.ai-tool-chip-badge--err{background:var(--error-bg);color:var(--error-text)}.ai-tool-chip-toggle{color:var(--muted);font-size:10px}.ai-tool-chip-body{padding:0 10px 10px}.ai-tool-chip-sql{color:var(--muted);white-space:pre-wrap;word-break:break-all;background:#f1f0f8;border-radius:5px;margin-bottom:6px;padding:6px 8px;font-size:10px;display:block}.ai-tool-chip-table{border-collapse:collapse;width:100%;font-size:11px}.ai-tool-chip-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--border);padding:3px 7px;font-weight:700}.ai-tool-chip-table td{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:160px;padding:3px 7px;overflow:hidden}.ai-tool-chip-error{color:var(--error-text);font-size:12px}.ai-tool-chip-empty{color:var(--muted);font-size:12px}@media (width<=700px){.dashboard-chat-panel{height:400px}.dashboard-chat-wrap{padding:0 1rem}}.panel-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem;font-size:.72rem;font-weight:700}.preview-overlay{z-index:300;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-modal{background:var(--card);border-radius:14px;flex-direction:column;gap:1rem;width:90%;max-width:420px;padding:1.5rem;display:flex;box-shadow:0 12px 40px #0000004d}.preview-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.preview-modal-header h3{margin:0;font-size:1rem}.preview-modal-header p{color:var(--muted);margin:.2rem 0 0;font-size:.82rem}.preview-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.2rem .4rem;font-size:1.1rem}.preview-close:hover{background:var(--bg)}.preview-img-wrap{background:#f0f0f0;border-radius:8px;justify-content:center;padding:1.25rem;display:flex}.preview-label-img{max-width:100%;image-rendering:pixelated;border:1px solid #ccc}.label-mode-panel{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.supply-dashboard{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.supply-kpi-row{flex-wrap:wrap;gap:1rem;display:flex}.supply-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;gap:.2rem;min-width:140px;padding:1rem 1.25rem;display:flex}.supply-kpi-card--alert{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.supply-kpi-value{color:var(--text-1);font-size:1.75rem;font-weight:700;line-height:1}.supply-kpi-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.supply-tab-bar{border-bottom:1px solid var(--border);gap:.5rem;padding-bottom:0;display:flex}.supply-tab{cursor:pointer;color:var(--text-2);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem 1rem;font-size:.85rem;transition:color .15s,border-color .15s}.supply-tab:hover{color:var(--text-1)}.supply-tab--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.supply-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.supply-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.supply-search{border:1px solid var(--border);background:var(--bg);max-width:280px;color:var(--text-1);border-radius:6px;flex:1;padding:.4rem .75rem;font-size:.85rem}.supply-search:focus{border-color:var(--accent);outline:none}.supply-row-count{color:var(--text-3);margin-left:auto;font-size:.78rem}.supply-table-wrap{overflow-x:auto}.supply-table{border-collapse:collapse;width:100%;font-size:.83rem}.supply-th{text-align:left;color:var(--text-2);text-transform:uppercase;letter-spacing:.03em;background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .9rem;font-size:.75rem;font-weight:600}.supply-export-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.3rem .75rem;font-size:.8rem}.supply-export-btn:hover{background:var(--accent-soft);color:var(--accent)}.supply-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.supply-th--sortable:hover{color:var(--text-1)}.supply-th--active{color:var(--accent)}.supply-row{border-bottom:1px solid var(--border);transition:background .1s}.supply-row:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.supply-row--stockout{background:color-mix(in srgb, var(--danger) 5%, transparent)}.supply-td{color:var(--text-1);vertical-align:middle;padding:.55rem .9rem}.supply-td--name{white-space:nowrap;text-overflow:ellipsis;max-width:260px;overflow:hidden}.supply-td--mono{font-family:var(--mono);color:var(--text-2);font-size:.8rem}.supply-td--num{text-align:right;font-variant-numeric:tabular-nums}.supply-td--neg{color:var(--danger);font-weight:600}.supply-td--open{font-weight:600}.supply-status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.supply-status-ok{color:#15803d;background:#22c55e26}.supply-status-risk{color:#b45309;background:#f59e0b26}.supply-status-out{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.supply-td--urgency{min-width:160px}.supply-td--date{white-space:nowrap;font-size:.8rem}.urgency-bars{flex-wrap:wrap;gap:.25rem;display:flex}.urgency-chip{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.urgency-chip--overdue{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.urgency-chip--week{color:#b45309;background:#f59e0b33}.urgency-chip--month{color:#1d4ed8;background:#3b82f626}.urgency-chip--later{background:color-mix(in srgb, var(--text-3) 15%, transparent);color:var(--text-2)}.supply-filter-toggle{color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.supply-filter-toggle input{cursor:pointer}.supply-filter-select{border:1px solid var(--border);background:var(--bg);color:var(--text-1);cursor:pointer;border-radius:6px;padding:.35rem .6rem;font-size:.82rem}.supply-filter-select:focus{border-color:var(--accent);outline:none}.supply-toolbar{flex-wrap:wrap}.supply-insights{flex-direction:column;gap:.5rem;display:flex}.supply-insight{border-left:3px solid #0000;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.7rem 1rem;display:flex}.supply-insight--critical{background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-color:var(--danger)}.supply-insight--warning{background:color-mix(in srgb, #f59e0b 8%, var(--surface));border-color:#f59e0b}.supply-insight--ok{background:color-mix(in srgb, #22c55e 8%, var(--surface));border-color:#22c55e}.supply-insight-icon{flex-shrink:0;font-size:1rem;line-height:1.4}.supply-insight-text{flex-direction:column;gap:.1rem;font-size:.83rem;display:flex}.supply-insight-text strong{color:var(--text-1);font-weight:600}.supply-insight-text span{color:var(--text-2)}.suggest-type-badge{letter-spacing:.05em;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.suggest-type-badge--po{color:#1d4ed8;background:#3b82f626}.suggest-type-badge--wo{color:#6d28d9;background:#8b5cf626}.supply-th--num{text-align:right}.scorecard-scroll{overflow-x:auto}.scorecard-table--locked .scorecard-sticky{background:var(--card,#fff);z-index:2;position:sticky;left:0;box-shadow:2px 0 #e5e7eb}.scorecard-channel-btn{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:1px dashed #9ca3af;padding:0;font-weight:500}.scorecard-channel-btn:hover{color:var(--accent,#7c3aed);border-bottom-color:var(--accent,#7c3aed)}.scorecard-note{color:#6b7280;margin:.5rem 0 0;font-size:.72rem;font-style:italic}.drilldown-overlay{z-index:300;background:#11182773;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.drilldown-modal{background:var(--card,#fff);border-radius:12px;flex-direction:column;width:min(760px,100%);max-height:80vh;padding:1.25rem 1.5rem;display:flex;overflow:hidden;box-shadow:0 20px 50px #0000004d}.drilldown-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.drilldown-header h3{margin:0;font-size:.95rem}.drilldown-close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.5rem;line-height:1}.drilldown-close:hover{color:#111827}.subsidiary-select{border:1px solid var(--border,#e2e8f0);background:var(--card,#fff);color:var(--text,#111827);cursor:pointer;border-radius:8px;margin-left:auto;padding:.35rem .6rem;font-size:.8rem}.supply-scope-note{background:color-mix(in srgb, #3b82f6 8%, var(--surface,#fff));color:var(--text-2,#4b5563);border-left:3px solid #3b82f6;border-radius:8px;margin-bottom:.75rem;padding:.6rem 1rem;font-size:.82rem}.attach-confirmation{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-left:5px solid #16a34a;border-radius:10px;align-items:flex-start;gap:.75rem;margin:.75rem 0;padding:.9rem 1.1rem;font-size:.95rem;font-weight:600;line-height:1.5;animation:.2s ease-out attach-pop;display:flex;box-shadow:0 2px 10px #10a34a1f}.attach-confirmation--warn{color:#92400e;background:#fffbeb;border-color:#fcd34d #fcd34d #fcd34d #f59e0b;box-shadow:0 2px 10px #f59e0b1f}.attach-confirmation-icon{color:#fff;background:#16a34a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;font-weight:800;display:flex}.attach-confirmation--warn .attach-confirmation-icon{background:#f59e0b}.attach-confirmation-hint{opacity:.85;margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}@keyframes attach-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.helptip{vertical-align:middle;align-items:center;margin-left:.4rem;display:inline-flex;position:relative}.helptip-btn{cursor:pointer;color:#6b7280;background:#e5e7eb;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:10px;font-weight:700;line-height:1;transition:background .15s,color .15s;display:inline-flex}.helptip-btn:hover{color:#fff;background:#6b7280}.helptip-popover{z-index:200;color:#f9fafb;white-space:normal;text-align:left;background:#1f2937;border-radius:8px;width:280px;padding:.75rem 1rem;font-size:.78rem;font-weight:400;line-height:1.55;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.helptip-popover strong{color:#e5e7eb;margin-bottom:.25rem;font-size:.8rem;display:block}.helptip h3 .helptip-popover,h3 .helptip .helptip-popover{left:0;transform:none}
