:root{--onead:#0e7490;--onead-dark:#075985;--aqua:#22d3ee;--bg:#f3f7f9;--panel:#fff;--text:#183247;--muted:#64748b;--line:#dce7ec;--shadow:0 10px 30px rgba(15,68,83,.08)}
[data-bs-theme=dark]{--bg:#08151d;--panel:#0f222d;--text:#e6f3f7;--muted:#95aeba;--line:#24404c;--shadow:0 12px 34px rgba(0,0,0,.28)}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,#073b4c,#062a38);color:#fff;padding:22px 15px;overflow:auto;z-index:1040}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;padding:0 9px 25px}.brand strong,.guest-brand strong{display:block;font-size:1.25rem;letter-spacing:.08em}.brand small,.guest-brand small{display:block;opacity:.7}.water-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 48% 52%/58% 58% 42% 42%;background:linear-gradient(145deg,#22d3ee,#0284c7);color:white;font-weight:900;box-shadow:0 6px 16px rgba(34,211,238,.3)}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{color:#cde7ef;text-decoration:none;padding:9px 12px;border-radius:9px;font-size:.91rem}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff}.nav-label{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#83b5c4;padding:22px 12px 6px}.main-area{margin-left:250px;min-height:100vh}.topbar{height:68px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:1020}.user-pill{display:flex;flex-direction:column;font-weight:650;line-height:1.15}.user-pill small{font-size:.7rem;color:var(--muted);font-weight:500}.theme-select{width:90px}.page{padding:28px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-head h1{font-size:1.65rem;margin:0;font-weight:750}.page-head p{color:var(--muted);margin:4px 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow);min-height:106px;display:flex;flex-direction:column;justify-content:space-between}.kpi.primary{background:linear-gradient(140deg,#0e7490,#0891b2);color:#fff;border-color:transparent}.kpi span{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.kpi.primary span{color:#cffafe}.kpi strong{font-size:1.5rem;line-height:1.2}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;margin-top:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel h2,.panel-head h2{font-size:1.05rem;margin:0}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:.83rem}.chart-panel{min-height:390px}.chart-panel canvas,.panel canvas{max-height:330px}.status-list{display:flex;flex-direction:column}.status-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.status-list>div:last-child{border:0}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-grid>div{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column}.comparison-grid span{font-size:.78rem;color:var(--muted);text-transform:uppercase}.comparison-grid strong{font-size:1.25rem;margin:5px 0}.comparison-grid small{color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.quick-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:14px;text-decoration:none;color:var(--text)}.quick-card:hover{border-color:var(--onead);transform:translateY(-1px)}.quick-card span{color:var(--muted);font-size:.82rem;margin-top:4px}.filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);padding:14px;border-radius:13px}.filter-bar.compact{padding:8px}.filter-bar label{font-size:.75rem;color:var(--muted)}.form-control,.form-select{border-color:var(--line);background-color:var(--panel);color:var(--text)}.form-control:focus,.form-select:focus{border-color:var(--aqua);box-shadow:0 0 0 .2rem rgba(34,211,238,.14)}.btn-primary{--bs-btn-bg:#0e7490;--bs-btn-border-color:#0e7490;--bs-btn-hover-bg:#075985;--bs-btn-hover-border-color:#075985}.data-table th{white-space:nowrap;font-size:.76rem;text-transform:uppercase;color:var(--muted)}.data-table td{font-size:.85rem;min-width:120px;max-width:320px}.table>:not(caption)>*>*{background:transparent;color:var(--text);border-bottom-color:var(--line);padding:12px}.empty-state{text-align:center;padding:65px 20px;color:var(--muted)}.empty-state.compact{padding:30px}.error-code{font-size:4rem;color:var(--onead);font-weight:850}.form-panel{max-width:1400px}.status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:700}.status-completed,.status-insert,.status-success{background:#dcfce7;color:#166534}.status-failed,.status-reject{background:#fee2e2;color:#991b1b}.status-preview,.status-pending{background:#fef3c7;color:#92400e}.status-disabled,.status-skip{background:#e2e8f0;color:#475569}.import-kpis{grid-template-columns:repeat(6,1fr)}.upload-intro{display:flex;justify-content:space-between;gap:20px;align-items:start}.upload-zone{border:2px dashed var(--line);border-radius:14px;padding:28px;display:grid;gap:14px;margin-top:18px}.flow-steps{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.flow-steps span{padding:7px 10px;background:rgba(14,116,144,.1);color:var(--onead);border-radius:8px;font-size:.75rem}.flow-steps span:not(:last-child):after{content:" →"}pre{white-space:pre-wrap;max-width:600px;font-size:.72rem;color:var(--text)}.ai-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:650px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.ai-history{border-right:1px solid var(--line);padding:14px;overflow:auto}.conversation-item{display:flex;align-items:center;border-radius:10px;margin-bottom:5px}.conversation-item.active{background:rgba(14,116,144,.12)}.conversation-item>a{flex:1;padding:10px;color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis}.conversation-item small{display:block;color:var(--muted);font-size:.65rem}.conversation-item form button{border:0;background:transparent;color:var(--muted);font-size:1.25rem}.ai-chat{display:flex;flex-direction:column;min-width:0}.ai-head{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.ai-head div{display:flex;flex-direction:column}.ai-head span{font-size:.75rem;color:var(--muted)}.messages{flex:1;padding:20px;overflow:auto;max-height:560px}.message{max-width:80%;margin-bottom:18px}.message span{font-size:.7rem;color:var(--muted)}.message p{padding:12px 15px;border-radius:14px;background:var(--bg);margin:4px 0}.message.user{margin-left:auto}.message.user p{background:var(--onead);color:#fff}.ai-input{display:flex;gap:10px;border-top:1px solid var(--line);padding:14px}.ai-input textarea{flex:1;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:11px;resize:none}.status-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.status-cards>div{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;justify-content:space-between}.guest-body{min-height:100vh;background:radial-gradient(circle at top left,rgba(34,211,238,.2),transparent 35%),linear-gradient(135deg,#eaf8fb,#f8fbfc);display:grid;place-items:center;padding:30px}.guest-shell{width:min(100%,520px)}.guest-brand{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:20px}.guest-brand strong{color:#075985}.auth-card{background:#fff;border:1px solid #d9e8ed;border-radius:20px;padding:32px;box-shadow:0 25px 70px rgba(7,89,133,.14);color:#183247}.auth-card h1{font-size:1.6rem;margin:5px 0}.auth-card p{color:#64748b}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#0e7490;font-weight:750}.tv-body{background:#06131b;color:#e7f8fc;min-height:100vh}.tv-head{height:68px;display:flex;align-items:center;gap:25px;padding:0 28px;border-bottom:1px solid #25404d}.tv-head [data-clock]{margin-left:auto;font-size:1.3rem}.tv-content{padding:22px}.tv-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tv-kpis article{background:#0d2633;border:1px solid #214453;border-radius:15px;padding:18px}.tv-kpis span{display:block;color:#91bdc9;text-transform:uppercase;font-size:.76rem}.tv-kpis strong{font-size:1.7rem}.tv-chart{margin-top:18px;background:#0d2633;border:1px solid #214453;border-radius:15px;padding:18px;height:48vh}.tv-chart canvas{max-height:100%}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.import-kpis{grid-template-columns:repeat(3,1fr)}.tv-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar{padding:0 14px}.topbar .btn-outline-primary,.user-pill{display:none}.page{padding:18px}.content-grid{grid-template-columns:1fr}.ai-layout{grid-template-columns:1fr}.ai-history{border-right:0;border-bottom:1px solid var(--line);max-height:180px}.quick-actions{grid-template-columns:1fr}}
@media(max-width:600px){.kpi-grid,.comparison-grid,.status-cards,.tv-kpis{grid-template-columns:1fr}.import-kpis{grid-template-columns:repeat(2,1fr)}.page{padding:13px}.kpi{min-height:90px}.topbar{overflow:auto}.theme-select{display:none}.auth-card{padding:23px}.upload-intro{flex-direction:column}.ai-input{flex-direction:column}.message{max-width:95%}}
.audit-agent{max-width:240px}.brand-logo{max-width:52px;max-height:46px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
