/* TwigTech v0.2 — production-floor graphite, with a persistent light switch. */
:root,[data-theme="dark"]{color-scheme:dark;--bg:#101316;--surface:#191e22;--surface-raised:#20262a;--sidebar:#14191d;--top:#171c20;--line:#30383d;--ink:#ecf2f2;--muted:#91a0a5;--green:#43d6aa;--input:#171d20;--input-text:#e6efef;--hover:#252d31;--shadow:0 8px 30px #00000024}
[data-theme="light"]{color-scheme:light;--bg:#f3f6f5;--surface:#fff;--surface-raised:#f5f9f8;--sidebar:#eaf1ee;--top:#fff;--line:#d8e2df;--ink:#243338;--muted:#697f85;--green:#0a9975;--input:#fff;--input-text:#243338;--hover:#f0f7f4;--shadow:0 8px 30px #132b2510}
html,body{background:var(--bg);color:var(--ink)}
body{transition:background .18s,color .18s}
.app-shell,.main-column,.content{background:var(--bg)}
.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding-top:25px}
.sidebar .brand strong,.side-user strong{color:var(--ink)}
.sidebar .brand small,.side-section-label,.side-user small{color:var(--muted)}
.sidebar .nav-link{color:var(--muted);font-weight:650}
.sidebar .nav-link:hover{background:var(--hover);color:var(--ink)}
.sidebar .nav-link.active{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--ink);box-shadow:inset 3px 0 var(--green)}
.nav-link.active .nav-icon{color:var(--green)}
.nav-count{background:color-mix(in srgb,var(--green) 19%,var(--surface-raised));color:var(--green)}
.side-tip{background:linear-gradient(145deg,var(--surface-raised),var(--sidebar));border-color:var(--line)}
.side-tip p{color:var(--muted)}
.tip-spark{color:var(--green)}
.side-user{border-color:var(--line)}
.topbar{background:var(--top);border-color:var(--line);padding:0 36px}
.top-left strong,.breadcrumb{color:var(--ink)}
.crumb-chevron{color:var(--muted)}
.local-badge{background:color-mix(in srgb,var(--green) 8%,var(--surface));color:var(--green);border-color:var(--line)}
.header-divider{background:var(--line)}
.content{padding:36px 36px 70px}
.main-footer{background:var(--bg);border-color:var(--line);color:var(--muted)}
.eyebrow{color:var(--green)}
.subtitle,.kpi-label,.kpi-note,.panel-subtitle,.muted-text,.chart-label,.chart-labels,.period-pill,.table-secondary,.record-count,.settings-copy,.field-hint{color:var(--muted)}
.page-heading h1,.kpi-value,.panel-title,.chart-total,.table-primary,.activity-item strong{color:var(--ink)!important}
.kpi,.panel,.kanban-column,.job-card,.modal,.login-panel{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow);color:var(--ink)}
.kpi{border-radius:16px}
.kpi-label{letter-spacing:.2px}
.kpi-icon.mint{background:#1f4439;color:#70dfb9}
.kpi-icon.sky{background:#223b4e;color:#83bfe4}
.kpi-icon.violet{background:#3b3151;color:#b9a3ed}
.kpi-icon.amber{background:#4a3b27;color:#e9bf70}
.btn-primary{background:var(--green);color:#09221b;box-shadow:none}
.btn-primary:hover{background:#61e1ba;color:#09221b}
.btn-secondary,.table-status,.filter-select,.search-input,.field input,.field select,.field textarea,.order-item-row input,.order-item-row select,.op-field input,.op-field select,.pack-line select,.dispatch-strip input,.printer-setting select{background:var(--input);color:var(--input-text);border:1px solid var(--line)}
.btn-secondary:hover,.table-status:hover{background:var(--hover);color:var(--ink)}
.btn-dark{background:var(--surface-raised);color:var(--ink)}
.btn-danger{background:#48292c;color:#fac1c1}
.period-pill,.tag.grey{border-color:var(--line);background:var(--surface-raised);color:var(--muted)}
.data-table th{background:var(--surface-raised);border-color:var(--line);color:var(--muted)}
.data-table td{border-color:var(--line);color:var(--muted)}
.data-table tbody tr:hover{background:var(--hover)}
.activity-item,.section-bar,.settings-row,.settings-divider,.filter-bar{border-color:var(--line)}
.activity-icon{background:#21493c;color:var(--green)}
.onboarding{background:color-mix(in srgb,var(--green) 8%,var(--surface));border-color:color-mix(in srgb,var(--green) 25%,var(--line))}
.onboarding .onboard-icon{background:#265444;color:var(--green)}
.onboarding p,.empty-state,.empty-state p,.mix-name,.settings-row p,.modal-header p,.modal-description,.job-card p,.integration-card p{color:var(--muted)}
.notice{background:var(--surface-raised);border:1px solid var(--line);color:var(--muted);border-left:3px solid var(--green)}
.notice strong{color:var(--ink)}
.table-status{max-width:190px}
.status-pill.packing{background:#463d22;color:#ffdb90}
.channel-pill.manual{background:var(--surface-raised);color:var(--muted)}
.table-primary,.product-cell strong{color:var(--ink)}
.product-thumb,.login-hero-icon{background:var(--surface-raised);color:var(--green)}
.integration-card,.integration-footer,.settings-stack{border-color:var(--line)}
.not-connected{background:var(--surface-raised);color:var(--muted)}
.modal-backdrop{background:#020506c9}
.modal-header,.modal-footer,.form-divider,.form-section-title,.modal-error{border-color:var(--line)}
.login-screen{background:var(--bg)}
.login-panel h1{color:var(--ink)}
.login-panel input{background:var(--input);color:var(--ink);border-color:var(--line)}
.login-subtitle,.login-foot{color:var(--muted)}
.login-glow{opacity:.26}
.chart-grid-line{stroke:var(--line)}
.mix-bar rect:first-child{fill:var(--surface-raised)}
.ops-overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}
.ops-overview-strip .kpi{background:linear-gradient(145deg,var(--surface-raised),var(--surface));border-color:color-mix(in srgb,var(--green) 14%,var(--line))}
.ops-alert-summary{margin-bottom:22px}
.inline-count{font-size:11px;font-weight:800;color:var(--green);background:color-mix(in srgb,var(--green) 13%,var(--surface-raised));padding:4px 9px;border-radius:30px;vertical-align:middle;margin-left:5px}
.alert-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.alert-mini{display:grid;grid-template-columns:20px 1fr;gap:4px 10px;align-items:start;text-align:left;padding:13px;border-radius:11px;background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);cursor:pointer}
.alert-mini span{color:#efc06d;grid-row:span 2}
.alert-mini.critical span{color:#f47878}
.alert-mini strong{font-size:12px;line-height:1.45}
.alert-mini small{color:var(--muted);font-size:11px}
.alert-stack{display:grid;gap:9px}
.alert-row{display:flex;align-items:center;gap:17px;padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised)}
.alert-row .alert-symbol{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:#57402b;color:#f4c47a;font-weight:900}
.alert-row.critical .alert-symbol{background:#512f33;color:#f68d8d}
.alert-row>div{flex:1;min-width:0}
.alert-row strong{font-size:13px}
.alert-row p{font-size:11px;color:var(--muted);margin:5px 0 0}
.positive-note{display:flex;align-items:center;gap:8px;color:var(--green);font-size:13px}
.printer-fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.printer-tile{padding:20px;min-width:0}
.printer-top{display:flex;align-items:center;justify-content:space-between}
.printer-glyph{color:var(--green);background:color-mix(in srgb,var(--green) 13%,var(--surface));padding:10px;border-radius:11px;display:flex}
.mini-status{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;border-radius:8px;padding:6px 9px}
.mini-status.good{background:#23483a;color:#75deb2}.mini-status.caution{background:#4c3e2b;color:#e8c185}
.printer-tile h3{font-size:19px;margin:14px 0 2px}.printer-tile p{font-size:11px;color:var(--muted);margin:0 0 17px}
.printer-time{font-size:24px;display:block}.printer-tile>small{display:block;margin:4px 0 14px;color:var(--muted)}
.printer-setting{display:grid;gap:7px;color:var(--muted);font-size:11px}
.printer-setting select{padding:10px;border-radius:8px;width:100%}
.packing-list{display:grid;gap:18px;margin:20px 0}
.packing-card{overflow:hidden}
.packing-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}
.packing-head h3{font-size:18px;margin:0;display:flex;align-items:center;gap:12px}.packing-head p{font-size:12px;color:var(--muted);margin:8px 0 0}
.packing-progress{text-align:right}.packing-progress strong{display:block;font-size:18px;color:var(--green)}.packing-progress span{font-size:11px;color:var(--muted)}
.packing-lines{padding:8px 24px}.pack-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.pack-line:last-child{border:0}
.pack-line strong{font-size:13px}.pack-line p{font-size:11px;color:var(--muted);margin:6px 0 0}.pack-line label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.pack-line select{border-radius:7px;padding:8px}
.dispatch-strip{display:flex;align-items:end;gap:12px;background:var(--surface-raised);border-top:1px solid var(--line);padding:15px 24px}
.dispatch-strip label{display:grid;gap:6px;flex:1;font-size:11px;color:var(--muted);min-width:0}.dispatch-strip input{min-width:0;width:100%;padding:10px;border-radius:8px}
.history-line{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 1fr;gap:18px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--line);font-size:12px}.history-line:last-child{border:0}.history-line span{color:var(--muted)}
.profit-value{color:var(--green)!important;font-weight:900}.profit-value.negative{color:#f18e90!important}
.profit-settings-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.profit-settings-grid.supplemental{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px}
.setting-channel{min-width:0;padding:14px;background:var(--surface-raised);border:1px solid var(--line);border-radius:11px}
.setting-channel h3{font-size:12px;margin:0 0 13px}
.op-field{display:grid;gap:8px;color:var(--muted);font-size:11px;font-weight:650;min-width:0;margin-bottom:12px}
.op-field input,.op-field select{border-radius:8px;padding:10px 11px;width:100%;min-width:0}.op-field small{font-size:10px;font-weight:400;color:var(--muted)}
.form-actions{display:flex;justify-content:flex-end;margin-top:12px}
.import-controls{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,2fr) auto;gap:16px;align-items:end}
.import-controls .btn{margin-bottom:12px}
.sample-format{font-size:12px;padding:15px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-raised);color:var(--muted)}.sample-format code{color:var(--green)}.sample-format p{margin:9px 0 0;font-size:11px}
.import-preview{margin:18px 0}.preview-counts{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.preview-counts span{background:var(--surface-raised);border:1px solid var(--line);padding:13px 17px;border-radius:10px;color:var(--muted);font-size:12px}.preview-counts strong{font-size:20px;color:var(--ink);margin-right:7px}
.issue-list{margin-top:20px}
.order-item-row{display:grid!important;grid-template-columns:minmax(160px,2fr) 75px 80px minmax(90px,1fr) minmax(120px,1.5fr) 32px;gap:7px}.order-item-row select,.order-item-row input{min-width:0;width:100%;padding:8px;font-size:11px}
.order-item-row [name="quantity"]{max-width:unset}
.theme-toggle{min-width:109px}
[data-theme="light"] .sidebar .nav-link.active{background:#d7f1e7}
[data-theme="light"] .mini-status.good{background:#daf4e8;color:#168b64}
[data-theme="light"] .mini-status.caution{background:#fff1d6;color:#977015}
[data-theme="light"] .kpi-icon.mint{background:#ddf6eb;color:#138864}
[data-theme="light"] .kpi-icon.sky{background:#e2f1fd;color:#267ab4}
[data-theme="light"] .kpi-icon.violet{background:#eee9fc;color:#7753b0}
[data-theme="light"] .kpi-icon.amber{background:#fff2d7;color:#9e772e}
[data-theme="light"] .alert-row .alert-symbol{background:#fff1d8;color:#ba8330}
[data-theme="light"] .alert-row.critical .alert-symbol{background:#ffebeb;color:#c45656}
[data-theme="light"] .status-pill.packing{background:#fff1d6;color:#977015}
[data-theme="light"] .activity-icon{background:#def6eb;color:#118d67}
[data-theme="light"] .btn-primary{color:#fff}
[data-theme="light"] .btn-primary:hover{background:#138b6d;color:#fff}
[data-theme="light"] .login-glow{opacity:.12}
@media(max-width:1300px){.profit-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-overview-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.order-item-row{grid-template-columns:minmax(150px,2fr) 70px 75px minmax(90px,1fr) 32px}.order-item-row [name="personalisation"]{grid-column:1/-1}}
@media(max-width:980px){.printer-fleet{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-mini-grid{grid-template-columns:1fr}.profit-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:28px 22px 55px}.topbar{padding:0 22px}}
@media(max-width:670px){.ops-overview-strip,.printer-fleet,.profit-settings-grid,.profit-settings-grid.supplemental{grid-template-columns:1fr}.import-controls{grid-template-columns:1fr}.import-controls .btn{margin:0}.dispatch-strip{flex-direction:column;align-items:stretch}.packing-head{padding:17px}.packing-lines{padding:6px 17px}.dispatch-strip{padding:15px 17px}.alert-row{flex-wrap:wrap}.alert-row .btn{margin-left:44px}.history-line{grid-template-columns:1fr 1fr}.history-line span:last-child{grid-column:1/-1}.theme-toggle{font-size:11px;padding:8px;min-width:auto}.local-badge{display:none}.order-item-row{grid-template-columns:1fr 60px 30px}.order-item-row [name="material"],.order-item-row [name="colour"],.order-item-row [name="personalisation"]{grid-column:1/-1}.order-item-row [name="quantity"]{grid-column:2}.order-item-row .order-item-remove{grid-column:3;grid-row:1}.packing-head h3{font-size:14px}}
