:root{--ink:#1f2823;--muted:#68736d;--green:#244c3b;--green-2:#32664f;--cream:#f6f4ef;--line:#dedfd9;--white:#fff;--gold:#b48a48;--danger:#a33b32;--shadow:0 12px 35px rgba(25,38,31,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#173b2d;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--gold);color:#fff;font-family:Georgia,serif;font-size:26px}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:20px}.brand small{font-size:11px;letter-spacing:.11em;text-transform:uppercase;opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:42px}.sidebar nav a{border-radius:8px;padding:10px 12px;font-size:14px;color:#e7eee9}.sidebar nav a:hover{background:rgba(255,255,255,.09)}.nav-label{margin:22px 12px 5px;color:#8eab9d;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.link-button{margin-top:auto;border:0;background:none;color:#d6e0da;cursor:pointer;padding:10px 12px}.content{min-width:0;padding:0 5vw 70px}.topbar{height:76px;display:flex;align-items:center;justify-content:flex-end;gap:18px;border-bottom:1px solid var(--line);font-size:14px}.prototype-badge,.status-pill{display:inline-block;border-radius:999px;padding:5px 9px;background:#e4eee8;color:var(--green);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding:48px 0 32px}.eyebrow{margin:0 0 7px;color:var(--green-2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif}h1{margin-bottom:8px;font-size:clamp(32px,4vw,48px);line-height:1.05}h2{font-size:28px}h3{font-size:20px}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:11px 17px;font-weight:700;cursor:pointer}.button.primary{background:var(--green);color:#fff}.button.secondary{border-color:#b9c2bd;background:#fff;color:var(--green)}.button:disabled{opacity:.48;cursor:not-allowed}.full{width:100%}.status-strip{padding:14px 17px;margin-bottom:42px;border:1px solid #ccd7d1;border-radius:9px;background:#eef4f0;display:flex;align-items:center;gap:8px;font-size:13px}.status-strip span:last-child{margin-left:auto;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:#2b9c67}.section-heading{display:flex;justify-content:space-between}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.report-card{position:relative;min-height:245px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow);transition:.15s transform,.15s border-color}.report-card:not(.static-card):hover{transform:translateY(-3px);border-color:#aebdb5}.card-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:10px;background:#edf2ee;color:var(--green);font-family:Georgia,serif;font-size:23px}.report-card .status-pill{position:absolute;top:25px;right:24px}.report-card h3{margin:28px 0 9px}.report-card p{min-height:61px;color:var(--muted);line-height:1.55}.card-link{color:var(--green-2);font-weight:750;font-size:13px}.callout{margin-top:36px;padding:32px;border-radius:13px;background:#e8e2d5;display:flex;justify-content:space-between;gap:20px}.callout h2{margin-bottom:8px}.callout p:last-child{margin-bottom:0;color:#5f615d}.muted-pill{height:max-content;background:#d8d2c7;color:#68665f}.filter-bar,.form-card{padding:22px;margin-bottom:22px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.filter-bar{display:flex;align-items:flex-end;gap:16px}.filter-bar div{display:grid;gap:6px}.filter-bar label,.form-card label{font-size:12px;font-weight:800;color:#4f5b55}input,select,textarea{width:100%;border:1px solid #bbc4bf;border-radius:7px;background:#fff;padding:10px 12px;color:var(--ink)}.table-card{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid #ecece8}th{background:#f1f2ee;color:#66706a;font-size:11px;text-transform:uppercase;letter-spacing:.07em}tbody tr:last-child td{border-bottom:0}.inventory-grid{margin-top:8px}.metric{display:grid;gap:3px;margin:28px 0}.metric strong{font-family:Georgia,serif;font-size:34px}.metric span,.page-note{color:var(--muted);font-size:13px}.page-note{margin-top:18px}.form-card{max-width:720px;display:grid;gap:9px}.form-card label:not(:first-child){margin-top:9px}.form-card .button{margin-top:12px;justify-self:start}.validation{color:var(--danger);font-size:12px}.success-message{max-width:720px;padding:17px;margin-bottom:18px;border:1px solid #9cc9ac;border-radius:9px;background:#eaf6ee;display:grid;gap:4px}.success-message span{font-size:13px;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top left,#d9dfd8,transparent 40%),var(--cream)}.login-panel{width:min(430px,100%);padding:42px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 24px 65px rgba(27,42,34,.14)}.login-brand{margin-bottom:38px}.login-panel h1{font-size:38px}.login-panel form{display:grid;gap:9px;margin-top:28px}.login-panel form label{margin-top:7px;font-size:12px;font-weight:800}.login-panel .button{margin-top:15px}.demo-note{margin:20px 0 0;padding:11px;border-radius:7px;background:#f3f1ea;color:#6f6b61;font-size:11px;text-align:center}
@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{margin-top:25px}.link-button{margin-top:20px}.card-grid{grid-template-columns:1fr}.content{padding:0 22px 50px}.topbar{height:58px}.page-heading{align-items:flex-start;flex-direction:column}.filter-bar{align-items:stretch;flex-direction:column}.status-strip{align-items:flex-start;flex-wrap:wrap}.status-strip span:last-child{margin-left:0;width:100%}}

.sales-filters{flex-wrap:wrap}.sales-filters>div{min-width:150px;flex:1}.sales-filters input{width:100%}.sales-filters .validation{flex-basis:100%}.sales-filters .validation:empty{display:none}.sales-table{overflow-x:auto}

.brand-logo{display:grid;gap:9px;width:180px}.brand-logo img{display:block;width:100%;height:auto}.sidebar .brand-logo{padding:12px;background:#f7f7f0;border-radius:7px}.brand-logo small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#344e40;text-align:center}.login-brand .brand-logo{width:235px}
.map-metrics{display:flex;gap:45px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;margin:20px 0}.map-metrics>div{display:grid;gap:8px}.map-metrics span{font-size:12px;color:var(--muted)}.map-metrics strong{font-size:25px;color:var(--green)}
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.map-canvas,.map-detail{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.map-canvas{position:relative;min-height:260px}#map-shapes svg{width:100%;height:auto;display:block}#map-shapes path{stroke:#fff;stroke-width:1;cursor:pointer;vector-effect:non-scaling-stroke;transition:fill .15s}#map-shapes path:hover,#map-shapes path:focus,#map-shapes path.selected{stroke:#c48d2f;stroke-width:3;outline:none;filter:brightness(1.08)}.state-label{font:12px system-ui;fill:#172e25;paint-order:stroke;stroke:#fff;stroke-width:2px;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.map-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:14px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{display:inline-block;width:16px;height:12px;border-radius:2px}.legend-empty{background:#e3e7e3}.legend-negative{background:#bd755f}.map-legend .legend-scale{width:65px;background:linear-gradient(90deg,#cce6d9,#2f654b)}
.map-detail label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.map-detail h2{margin-top:23px}.state-revenue{font-size:28px;color:var(--green)}.map-detail h3,#map-tooltip h3{font:700 13px system-ui;margin:18px 0 8px}.map-detail h4,#map-tooltip h4{font-size:11px;color:var(--muted);margin:10px 0 5px}.map-detail ul,#map-tooltip ul{padding-left:17px;font-size:12px;line-height:1.5}.map-detail li,#map-tooltip li{margin-bottom:7px}.map-detail li span,#map-tooltip li span{display:block;color:var(--muted)}.map-detail .button{margin-top:16px}
#map-tooltip{position:fixed;z-index:1000;width:310px;max-height:80vh;overflow:hidden;padding:18px;border-radius:10px;border:1px solid #aebdb5;background:#fffffff5;box-shadow:0 8px 30px #152d2533;pointer-events:none}#map-tooltip>h3:first-child{font:700 19px Georgia;margin-top:0}#map-tooltip p{font-size:12px}#map-tooltip .state-revenue{font-size:22px}.map-table{margin-top:22px}.map-table summary{cursor:pointer;margin-bottom:12px}
@media(max-width:1100px){.map-workspace{grid-template-columns:1fr}.map-detail{max-width:none}.map-metrics{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){#map-shapes path{transition:none}}
.legend-zero{background:#d9d1b9}.map-detail{overflow-wrap:anywhere}#map-tooltip{overflow-wrap:anywhere}
.ticket-text{white-space:pre-wrap;overflow-wrap:anywhere}.ticket-checkbox{width:auto}.form-card h2{overflow-wrap:anywhere}

/* Keep account administration and sign-out reachable on shorter displays. */
.sidebar{overflow-y:auto}.sidebar nav,.sidebar .brand{flex-shrink:0}.page-heading>.button{flex-shrink:0;white-space:nowrap}


/* Development checklist: native keyboard-accessible disclosure; no script or inline event handlers. */
.development-section{margin-bottom:32px}.development-section h2{font-size:24px}.development-count{font:normal 12px system-ui;white-space:nowrap;margin-left:10px}.development-task{background:var(--white);border:1px solid var(--line);border-radius:9px;margin-bottom:9px;overflow-wrap:anywhere}.development-task>summary{padding:17px 20px;cursor:pointer;font-weight:650}.development-task>summary:focus-visible{outline:3px solid var(--green-2);outline-offset:2px}.development-task[open]>summary{border-bottom:1px solid var(--line)}.development-details{padding:18px 22px}.development-details ul{padding-left:22px;margin-top:0}.development-details li{margin-bottom:10px;line-height:1.5}.development-details li p{margin:5px 0 0}.development-edit-list{padding-left:24px}.development-edit-list li{padding:8px 0;overflow-wrap:anywhere}.development-edit-list .button{font-size:12px;padding:6px 10px;margin-left:8px}
@media(max-width:600px){.development-count{display:block;margin:6px 0 0 18px}.development-section h2 .development-count{margin-left:0}.development-edit-list .button{display:table;margin:8px 0 0}}

/* Production Performance extends the portal typography, palette and native controls. */
.production-filters{flex-wrap:wrap}.production-filters>div{flex:1 1 150px}.production-filters .validation{flex-basis:100%}
.production-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:20px 0}.production-kpis article{padding:23px;background:var(--white);border:1px solid var(--line);border-radius:11px}.production-kpis strong{display:block;font:32px Georgia;margin:10px 0}.production-kpis small{display:block;color:var(--muted)}
.production-notes{padding:18px;background:#eef4f0;border:1px solid var(--line);border-radius:9px;margin:20px 0}.production-section{margin:20px 0}.production-section>summary{font:24px Georgia;cursor:pointer;padding:12px 0}.production-section td small{display:block;color:var(--muted)}.production-section meter{display:block;width:100%;min-width:100px;accent-color:var(--green)}.production-section .link-button{color:var(--green);padding:0;text-decoration:underline}.production-narrative{max-width:none}.production-section dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:5px;overflow-wrap:anywhere}.production-section dd{margin:0}.production-section dt{font-weight:600}.production-kpis button{font-size:12px;margin:3px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.production-chart{border:1px solid var(--line);background:var(--white);border-radius:11px;padding:18px;margin:20px 0}.chart-output{overflow-x:auto}.chart-output svg{width:100%;min-width:560px;display:block}.chart-output circle{cursor:pointer}.chart-output circle:focus{outline:2px solid var(--gold)}


/* Production performance: semantic categories and compact comparison summaries. */
.production-distribution { display:flex; height:14px; overflow:hidden; border-radius:7px; background:#e5e7eb; margin-top:14px; }
.production-distribution span { flex-basis:0; }
.variance-under { background:#dbeafe; color:#1e40af; }
.variance-within { background:#dcfce7; color:#166534; }
.variance-over { background:#fee2e2; color:#991b1b; }
.production-distribution .variance-under { background:#3b82b6; }
.production-distribution .variance-within { background:#328052; }
.production-distribution .variance-over { background:#b83d40; }
.variance-badge { display:inline-block; border-radius:4px; padding:3px 7px; font-size:.85em; }
.variance-no-plan,.variance-not-comparable,.variance-negative-plan { background:#e5e7eb; color:#4b5563; }
.production-section td:not(:first-child),.production-section th:not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.production-section tbody tr:nth-child(even) { background:rgba(100,116,139,.045); }
.production-section thead th { position:sticky; top:0; background:var(--surface,#fff); z-index:1; }
.production-section .table-card { max-height:640px; overflow:auto; }
.production-section td small { display:block; }
.small-sample { color:#6b7280; font-size:.78rem; }
.production-coverage { padding:12px 0; }
.distribution-labels { font-size:.9rem; }
.production-chart .chart-output svg { max-height:270px; }


.production-warning { background:#fff7e6; border-color:#e7cf9b; }
.production-yield-status { margin:12px 0; padding:12px 16px; border:1px solid var(--line); border-radius:8px; }
.production-yield-status summary { cursor:pointer; font-weight:600; }
.production-yield-status ul { display:flex; flex-wrap:wrap; gap:10px 24px; padding-left:20px; }
.production-yield-status button { text-decoration:underline; text-align:left; }
.production-comparisons strong { font-size:24px; }
.production-comparisons h2 { font-size:20px; margin:0; }
.production-comparisons .variance-badge { margin-bottom:10px; }
.production-detail table { font-variant-numeric:tabular-nums; }
.production-detail tbody tr:nth-child(even) { background:rgba(100,116,139,.045); }
.production-detail h2 { margin-top:22px; }


/* Production links must remain distinguishable from values and sidebar actions. */
:is(.production-explorer,.production-detail) a:not(.button),
.production-section a,.production-yield-status .link-button,.production-coverage .link-button,
.production-section .link-button {
    color:#175c48; text-decoration:underline; text-underline-offset:.2em;
    text-decoration-thickness:1px; font-weight:600;
}
:is(.production-explorer,.production-detail) .link-button {
    margin:0; padding:6px 0; color:#175c48; line-height:1.5;
}
:is(.production-explorer,.production-detail) a:not(.button):hover,
:is(.production-explorer,.production-detail) .link-button:hover { color:#103d30; text-decoration-thickness:2px; }
:is(.production-explorer,.production-detail) :is(a,button,summary,input,select):focus-visible {
    outline:3px solid #175c48; outline-offset:3px; border-radius:3px;
}
:is(.production-explorer,.production-detail) :is(.muted,.page-note,small) { color:#536259; line-height:1.5; }
.production-explorer .button:not(.primary) { background:#fff; border-color:#aabbb2; color:#244c3b; }
.production-explorer .button:not(:disabled):hover { box-shadow:0 0 0 2px #b9cfc3; }
.production-explorer .production-section>summary {
    padding:14px 16px; border:1px solid #cbd5ce; border-radius:8px; background:#eef2ee; font-size:22px;
}
.production-explorer .production-section[open]>summary { margin-bottom:12px; }
.production-section td details>summary { cursor:pointer; color:#435a4e; padding:8px 0; font-size:13px; }
.production-section td details ul { max-height:280px; overflow:auto; padding-left:20px; }
.production-section td details li { padding:4px 0; }
.production-explorer .production-section thead th,.production-orders thead th { background:#eef2ee; color:#43554a; }
.production-orders th:nth-child(n+4),.production-orders td:nth-child(n+4) { text-align:right; font-variant-numeric:tabular-nums; }
.production-orders td:nth-child(-n+2) { white-space:nowrap; }
.production-orders tbody tr:nth-child(even) { background:#f6f8f6; }
:is(.production-orders,.production-section) tbody tr:hover { background:#edf3ef; }
.production-orders .variance-badge { white-space:nowrap; }
.production-explorer .production-yield-status li { padding:3px 0; }
.production-detail .table-card td { line-height:1.5; }
@media(max-width:960px) {
    .production-explorer .production-filters>div { flex-basis:auto; }
    .production-explorer .production-section>summary { font-size:20px; }
}
