/* Shared ENIX theme. Dark is the default, including before JavaScript loads. */
:root,[data-theme="dark"]{
 color-scheme:dark;--bg:#0a0a0c;--surface:#1c1c1e;--surface-2:#232326;--nav-bg:linear-gradient(150deg,#1c1c21,#111114);--ink:#ebebed;--muted:#aaaab2;--line:#343439;--accent:#409cff;--accent-soft:#1d3049;--hover:#27272c;--good:#59d99a;--good-bg:#193c2b;--bad:#ff8588;--bad-bg:#42262a;--warn:#e8c270;--warn-bg:#3a3323;--shadow-color:#00000035;--nav-shadow:inset 0 1px 0 #ffffff0c,0 10px 28px #00000024;
 --paper:var(--surface);--primary:var(--accent);--primary-light:var(--accent-soft);--green:var(--good);--red:var(--bad);--amber:var(--warn);--radius:18px;--shadow:0 3px 16px var(--shadow-color)
}
[data-theme="light"]{
 color-scheme:light;--bg:#f8f9fb;--surface:#fff;--surface-2:#f3f4f8;--nav-bg:linear-gradient(150deg,#ffffff,#fdfdfe);--ink:#202126;--muted:#646670;--line:#e2e4ea;--accent:#0877e7;--accent-soft:#e1efff;--hover:#f0f3f8;--good:#15774a;--good-bg:#e3f5eb;--bad:#b73540;--bad-bg:#ffedef;--warn:#8a610e;--warn-bg:#fff6dd;--shadow-color:#1c22300a;--nav-shadow:0 10px 28px #1c22300b
}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{color:var(--ink)}button,.button,.secondary,.filter-button{border-radius:11px}input,select,textarea{background:var(--surface-2);border-color:var(--line);border-radius:10px}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.primary,.primary.button-link{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover,.primary.button-link:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.1)}[data-theme="dark"] .primary{color:#071321}
.app-topbar,.analytics-page .app-topbar{position:fixed;inset:10px 12px auto;height:64px;margin:0;padding:0 22px;display:flex;align-items:center;gap:20px;z-index:40;background:var(--nav-bg);border:1px solid var(--line);border-radius:23px;box-shadow:var(--nav-shadow)}
.app-topbar .brand{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:.2px;font-weight:750;color:var(--ink);padding:0}.app-topbar .brand-symbol{display:grid;place-items:center;width:32px;height:32px;font-size:27px;line-height:1;background:#11141e;color:#f3f6ff;border:1px solid #454c5f;border-radius:10px;font-style:italic;font-weight:600;letter-spacing:-3px;padding-right:3px}.app-topbar .brand-tag{font-size:10px;color:var(--muted);font-weight:500;letter-spacing:1px;align-self:center;margin:0 0 0 2px}.app-top-actions{display:flex;align-items:center;gap:17px;margin-left:auto}.workspace-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:7px 13px;font-size:12px}.workspace-market{color:var(--muted)}.workspace-dot{height:6px;width:6px;border-radius:50%;background:var(--good)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:8px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:50%;cursor:pointer}.theme-toggle:hover{background:var(--hover);color:var(--ink)}.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body>.sidebar,.analytics-page>.sidebar{position:fixed;inset:86px auto 12px 12px;width:252px;padding:0;display:flex;flex-direction:column;background:var(--nav-bg);border:1px solid var(--line);border-radius:23px;box-shadow:var(--nav-shadow);z-index:30;overflow:auto}
.workspace-title{height:auto;min-height:70px;margin:0 15px;padding:17px 9px 14px;border-bottom:1px solid var(--line)}.workspace-title strong{font-size:13px;color:var(--ink);font-weight:600}.workspace-title span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.workspace-title i{display:none}.sidebar-content{padding:14px 13px;overflow:auto;flex:1}.sidebar nav{gap:3px}.global-nav{display:flex;flex-direction:column;gap:3px}.sidebar .global-nav a{display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;min-height:36px;margin:0;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.4;border:0;border-radius:12px;color:var(--ink);background:transparent;flex-direction:row}.sidebar .global-nav a.active{background:var(--accent-soft);color:var(--ink)}.sidebar .global-nav a:hover{background:var(--hover)}.sidebar .global-nav a.active .nav-icon,.sidebar .global-nav a.active>span{color:var(--accent)}.sidebar .global-nav .nav-icon,.sidebar .global-nav a>span{font-size:19px;width:20px;line-height:20px;color:var(--muted);text-align:center}.side-divider{height:1px;margin:18px 4px;background:var(--line)}.section-label{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.8px;margin:0 8px 9px;text-transform:uppercase}.sidebar #section-nav button,.sidebar #sections button,.section-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:8px 12px;border:0;text-decoration:none;color:var(--muted);background:transparent;font-size:12px;border-radius:10px;width:100%}.sidebar #section-nav button.selected,.sidebar #sections button.selected{background:var(--accent-soft);color:var(--ink);font-weight:600}.sidebar #section-nav button:hover,.sidebar #sections button:hover,.section-link:hover{background:var(--hover);color:var(--ink)}.section-link span,.sidebar nav button span{font-size:10px;color:var(--muted)}.back-link{margin-bottom:13px}.sidebar select,.sidebar input{background:var(--surface-2);font-size:12px;color:var(--ink);min-height:36px}.side-note{font-size:11px;color:var(--muted);line-height:1.7;padding:17px 6px 0}.small-dot{background:var(--accent)}.sidebar-footer{border-color:var(--line);padding:12px 18px;color:var(--muted);font-size:10px}.rail-bottom{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 18px;margin:0;border-top:1px solid var(--line)}.rail-bottom .nav-item{display:flex;flex-direction:row;gap:8px;width:auto;min-height:28px;font-size:11px;background:transparent;color:var(--muted);padding:2px}.rail-bottom .nav-icon{font-size:17px}.rail-bottom .avatar{margin-left:auto}.avatar,.help-icon{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
body>main{margin-left:290px;padding:89px 26px 0 0;min-width:0}.page-heading{height:auto;min-height:80px;border:0;margin:0;padding:15px 0;gap:16px}h1{font-size:24px;letter-spacing:-.6px;color:var(--ink);font-weight:650}h1 span{color:var(--muted);font-size:15px}.header-actions{gap:8px}.header-actions button,.header-actions .button{font-size:12px;min-height:36px}.report-context{padding:8px 0 21px}.report-context h2{font-size:17px;color:var(--ink)}.report-context p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:6px}.report-context #freshness{color:var(--muted);font-size:10px}.stats{gap:12px;margin-bottom:18px}.stat{padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.stat b{font-size:28px;font-weight:600;color:var(--ink);letter-spacing:-.6px;margin-top:10px}.stat label,.stat small{color:var(--muted)}.stat:nth-child(2) b{color:var(--good)}
.sheet,.panel,.stock-controls,.stock-table,.job-card,.rnp-panel,.filterbar,.placeholder-card{background:var(--surface);border-color:var(--line);border-radius:18px;box-shadow:var(--shadow)}.sheet-toolbar{border-color:var(--line);padding:14px 17px}.sheet-toolbar strong{color:var(--ink);font-size:12px}.matrix-wrap{max-height:calc(100vh - 380px)}table{color:var(--ink)}td,td:first-child,td b,.row-link b{color:var(--ink)}thead th,.stock-table th{background:var(--surface-2);color:var(--muted);font-weight:600;border-color:var(--line)}td,.stock-table td{border-color:var(--line)}tbody tr:hover td{background:var(--hover)}td small,th small{color:var(--muted)}.num-free{background:var(--good-bg);color:var(--good);font-weight:600}.product-mark,.product-tile{background:var(--surface-2);color:var(--muted)}.table-footer{background:var(--surface);color:var(--muted);border-color:var(--line)}.notes h3,.panel h3,.sheet-toolbar strong{color:var(--ink)}.notes p,.panel p,.panel label,.muted,.import-note,.empty{color:var(--muted)}.badge,.badge.quiet,.count-badge{background:var(--accent-soft);color:var(--accent)}.badge.good,.status-confirmed{color:var(--good)}.badge.good{background:var(--good-bg)}.badge.warn,.partial-tag{color:var(--warn);background:var(--warn-bg)}.badge.bad{color:var(--bad);background:var(--bad-bg)}.warn-text{color:var(--warn)}.notice,.action-note{background:var(--accent-soft);color:var(--ink);border-color:var(--line)}.notice strong{color:var(--ink)}.notice.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--line)}.error,.form-error,.status-failed,.status-uncertain{color:var(--bad)}.error{background:var(--bad-bg);border-color:var(--line)}.view-tabs{background:var(--surface-2);border-color:var(--line);padding:4px;border-radius:12px}.view-tabs button.active{background:var(--surface);color:var(--ink)}
dialog,dialog.drawer{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 80px #00000055}dialog::backdrop{background:#00000080;backdrop-filter:blur(5px)}.dialog-head h2,.dialog-header h2{color:var(--ink);font-size:21px}.dialog-sub,.form-grid label,.field,.help-list,.detail-note{color:var(--muted)}.detail-meta{background:var(--surface-2);color:var(--ink)}.detail-meta label{color:var(--muted)}.detail-section h3{color:var(--ink)}.dialog-footer,.form-lines,.file-row{border-color:var(--line)}.detail-table td{color:var(--ink)}#toast,.toast{background:var(--ink);color:var(--bg);border:1px solid var(--line)}footer{border-color:var(--line);color:var(--muted)}
/* RNP keeps its daily matrix, filters and drilldowns within the same shell. */
.analytics-page .workspace-main{margin-left:290px;padding:89px 26px 0 0}.analytics-page main{padding:0;margin:0;max-width:none}.analytics-page .sidebar>.global-nav{padding:14px 13px}.analytics-page .nav-label{display:none}.analytics-page .sidebar-bottom{margin-top:auto;padding:16px}.analytics-page .stage-card{background:var(--surface-2);color:var(--muted);border-color:var(--line);border-radius:12px}.analytics-page .stage-card b{color:var(--ink)}.analytics-page .profile{border-color:var(--line)}.analytics-page .page-heading{padding-top:15px;margin-bottom:13px}.analytics-page .eyebrow{color:var(--accent)}.analytics-page .tabs{border-color:var(--line)}.analytics-page .tabs button.selected{color:var(--accent);border-color:var(--accent)}.analytics-page .filterbar{border-color:var(--line);padding:14px}.analytics-page .kpi-grid{background:var(--surface);border-color:var(--line);border-radius:18px;overflow:hidden}.analytics-page .kpi{background:var(--surface);border-color:var(--line)}.analytics-page .kpi-value{color:var(--ink)}.analytics-page .insight,.analytics-page .detail-metric{background:var(--surface);border-color:var(--line)}.analytics-page .insight b,.analytics-page .panel h2{color:var(--ink)}.analytics-page .rnp-tools button,.analytics-page .rnp-presets button{background:transparent;color:var(--muted)}.analytics-page .rnp-presets button.active,.analytics-page .rnp-presets button.selected{background:var(--accent-soft);color:var(--accent)}.analytics-page .rnp-heading,.analytics-page .rnp-presets,.analytics-page .rnp-footer{border-color:var(--line)}
#rnp-table .metric-name,#rnp-table .metric-total,#rnp-table .metric-trend{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}#rnp-table thead th,#rnp-table thead .metric-name,#rnp-table thead .metric-total{background:var(--surface-2);color:var(--muted)}#rnp-table .metric-label,#rnp-table .matrix-group .metric-name{color:var(--ink)}#rnp-table .matrix-group th,#rnp-table .matrix-group td{background:var(--surface-2);border-color:var(--line)}#rnp-table th.weekend{color:var(--accent);background:var(--accent-soft)}#rnp-table .day-cell.incomplete{background:var(--warn-bg)}#rnp-table tbody .matrix-row:hover td,#rnp-table tbody .matrix-row:hover th,#rnp-table td>button:hover{background:var(--hover)}#rnp-table .matrix-row td,#rnp-table .matrix-row th{border-color:var(--line)}.analytics-page .products-panel th{background:var(--surface-2);color:var(--muted)}.analytics-page .products-panel td,.analytics-page .product-cell b,.analytics-page .formula-table td{color:var(--ink);border-color:var(--line)}.analytics-page .calculation-hero{background:var(--accent-soft);border-color:var(--line)}.analytics-page .calculation-hero strong,.analytics-page .formula-explanation b,.analytics-page .contribution-row b,.analytics-page .detail-metric b{color:var(--ink)}.analytics-page .funnel-fill{background:var(--accent)!important}.analytics-page .chart-line{stroke:var(--accent)}.analytics-page .chart-point{fill:var(--accent)}.analytics-page .positive,.analytics-page .good{color:var(--good)}.analytics-page .negative,.analytics-page .bad{color:var(--bad)}
.login-page{background:var(--bg)}.login-page main{margin:24px;padding:34px;background:var(--surface);border-color:var(--line);border-radius:24px;box-shadow:var(--shadow)}.login-page>.theme-toggle{position:fixed;top:23px;right:24px}.login-brand,.login-brand span{color:var(--ink)}.login-page label,.login-page p{color:var(--muted)}.login-page #login-error{color:var(--bad)}
@media(max-width:1150px){body>.sidebar,.analytics-page>.sidebar{width:224px}body>main{margin-left:256px;padding-right:20px}.analytics-page .workspace-main{margin-left:256px;padding-right:20px}.title{flex-wrap:wrap}.title h1 span{display:none}.stats{gap:10px}}
@media(max-width:800px){.app-topbar,.analytics-page .app-topbar{inset:8px 8px auto;height:58px;padding:0 14px;border-radius:18px;gap:12px}.app-topbar .brand{font-size:21px;gap:7px}.app-topbar .brand-symbol{width:29px;height:29px;font-size:23px}.app-top-actions{gap:7px}.workspace-pill{padding:6px 8px;font-size:11px}.workspace-market,.app-topbar .brand-tag{display:none}.theme-toggle{width:34px;height:34px;min-height:34px}.analytics-page .mobile-menu{display:inline-flex;order:2;margin-left:0}.analytics-page .app-top-actions{margin-left:auto}.analytics-page .sidebar,body>.sidebar{display:none;inset:76px auto 10px 8px;width:256px;max-height:calc(100dvh - 86px);box-shadow:15px 10px 60px #00000050}.analytics-page .sidebar.open,body>.sidebar.open{display:flex}.analytics-page .workspace-main{margin-left:0;padding:77px 14px 0}body>main{margin-left:0;padding:77px 14px 0}.mobile-only{display:inline-flex}.page-heading{min-height:77px;padding:13px 0}.title h1,h1{font-size:21px}.header-actions{margin-left:auto}.header-actions .button{display:none}.report-context{padding:4px 0 17px}.report-context h2{font-size:16px}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px;border-radius:14px}.stat b{font-size:26px}.sheet,.panel,.stock-controls,.stock-table,.job-card{border-radius:15px}.matrix-wrap{max-height:520px}.analytics-page .page-heading{gap:10px}.login-page main{margin:20px;padding:28px;max-width:calc(100vw - 40px)}.sidebar .side-note{padding-top:12px}.sheet-toolbar{flex-wrap:wrap}.workspace-title{min-height:64px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.global-nav .nav-icon svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.app-topbar .brand-tag{border:0;background:transparent;padding:0}.section-label.space{display:block;margin-top:17px}.rail-bottom{flex-shrink:0}.sidebar-footer{flex-shrink:0}
/* Readable reporting: normal body text is not a micro-label. */
:root,[data-theme="dark"]{--muted:#b9bac4;--line:#41424a}
[data-theme="light"]{--muted:#565b67;--line:#d9dde5}
.analytics-page .page-heading p,.analytics-page .tabs,.analytics-page .filterbar input,.analytics-page .filterbar select,.analytics-page .filter-button,.analytics-page .secondary,.analytics-page .primary{font-size:13px}
.analytics-page .notice{font-size:13px;line-height:1.65;padding:14px 16px;margin:16px 0}
.analytics-page .scope-context,.analytics-page .freshness,.analytics-page .panel-head p,.analytics-page .table-footer,.analytics-page .method-note{font-size:12px;line-height:1.6}
.analytics-page .panel h2,.analytics-page .rnp-heading h2{font-size:16px}
.analytics-page .kpi-label{font-size:12px}.analytics-page .kpi-value{font-size:25px}.analytics-page .kpi-bottom,.analytics-page .partial-tag{font-size:11px}
.analytics-page .rnp-tools button,.analytics-page .compare-switch,.analytics-page .rnp-presets button,.analytics-page .rnp-footer,.analytics-page .rnp-heading p{font-size:12px}
#rnp-table .metric-name{width:235px;min-width:235px;max-width:235px;font-size:13px;padding:0 13px}
#rnp-table .metric-label{font-size:13px;max-width:185px;white-space:normal;line-height:1.4}
#rnp-table .metric-total{left:235px;min-width:150px;width:150px}
#rnp-table td>button{font-size:13px;min-height:52px;padding:9px 13px}#rnp-table .change{font-size:11px}
#rnp-table .matrix-group button{font-size:12px}#rnp-table .matrix-group small,#rnp-table th small{font-size:11px}
#rnp-table thead th{font-size:12px}#rnp-table .day-head{width:136px;min-width:136px}
.analytics-page .products-panel td,.analytics-page .product-cell b{font-size:14px}.analytics-page .product-cell small,.analytics-page .products-panel th{font-size:12px}
.analytics-page .product-cell{text-align:left}.analytics-page .info{color:var(--muted);border-color:var(--muted)}
.analytics-page .insight b{font-size:13px}.analytics-page .insight small{font-size:12px}.analytics-page .empty p{font-size:14px;line-height:1.7}
.analytics-empty{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:36px;max-width:850px;margin:20px 0}
.analytics-empty .empty-symbol{color:var(--accent);font-size:30px;display:block;margin-bottom:14px}.analytics-empty h2{font-size:22px;margin:0 0 12px}.analytics-empty p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 22px;max-width:680px}
.catalog-pagination{display:inline-flex;gap:8px}.catalog-pagination button{font-size:14px;min-width:34px}.sheet .table-footer{flex-wrap:wrap}
body:not(.analytics-page) table{font-size:13px}body:not(.analytics-page) .row-link{font-size:13px}body:not(.analytics-page) td small{font-size:11px;line-height:1.5}.sheet td:nth-child(2){white-space:normal;max-width:350px}
@media(max-width:800px){.analytics-page .filterbar{gap:10px}.analytics-page .date-filters{flex-wrap:wrap;width:100%}.analytics-page .date-filters input{font-size:12px;min-width:110px}.analytics-page .tabs{gap:15px;overflow:auto;white-space:nowrap}.analytics-page .notice{font-size:13px}.analytics-page .scope-context{font-size:12px}#rnp-table .metric-name{width:180px;min-width:180px;max-width:180px;padding:0 10px}#rnp-table .metric-label{max-width:138px;font-size:12px}#rnp-table .metric-total{position:static;left:auto}#rnp-table thead .metric-total{position:sticky;top:0}#rnp-table .matrix-group button{font-size:11px}.analytics-empty{padding:24px}.analytics-empty h2{font-size:20px}.analytics-empty p{font-size:14px}.analytics-page .table-tools{flex-wrap:wrap}}

.analytics-page.catalog-only .product-cell{max-width:none;width:100%;white-space:normal}.analytics-page.catalog-only .product-cell b{max-width:none;white-space:normal;overflow:visible}.analytics-page.catalog-only .product-cell small{overflow-wrap:anywhere;white-space:normal}.analytics-page.catalog-only #products-table{table-layout:fixed;min-width:0}.analytics-page.catalog-only #products-table th:first-child{width:38px}.analytics-page.catalog-only .product-cell>span:last-child{min-width:0}.analytics-page.catalog-only .product-tile{flex-shrink:0}
