:root{--bg:#f6f7f9;--card:#fff;--ink:#1d2330;--muted:#667085;--line:#e3e6eb;--brand:#1f3b64;--accent:#2f6fdb;--ok:#1d7a46;--err:#b42318;--warn:#b54708}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#12151b;--card:#1b2029;--ink:#e6e9ef;--muted:#98a2b3;--line:#2c3340;--brand:#0d1626;--accent:#6aa0ff;--ok:#4cc38a;--err:#f97066;--warn:#fdb022;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#12151b;--card:#1b2029;--ink:#e6e9ef;--muted:#98a2b3;--line:#2c3340;--brand:#0d1626;--accent:#6aa0ff;--ok:#4cc38a;--err:#f97066;--warn:#fdb022;color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{background:var(--brand);color:#fff;display:flex;align-items:center;gap:4px;padding:0 16px;flex-wrap:wrap}
header .logo{font-weight:700;letter-spacing:.5px;margin-right:16px;padding:12px 0}
header nav a{color:#cfd8e6;padding:12px 10px;display:inline-block}header nav a.on,header nav a:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,.08)}
header .who{margin-left:auto;font-size:13px;color:#cfd8e6;display:flex;gap:10px;align-items:center}
main{max-width:1280px;margin:0 auto;padding:20px 16px}
h1{font-size:22px;margin:0 0 14px}h2{font-size:17px;margin:22px 0 10px}h3{font-size:15px;margin:16px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}
.row{display:flex;gap:16px;flex-wrap:wrap}.row>*{flex:1 1 280px}
table{width:100%;border-collapse:collapse;background:var(--card)}th,td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:600}tr.click:hover{background:rgba(47,111,219,.06);cursor:pointer}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
label{display:block;font-size:12px;color:var(--muted);margin:8px 0 3px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font:inherit}
textarea{min-height:70px}
.btn,button{display:inline-block;padding:7px 14px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer}
.btn.primary,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger,button.danger{color:var(--err);border-color:var(--err)}
.btn:hover{text-decoration:none;filter:brightness(.97)}
.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.toolbar>*{flex:0 0 auto}.toolbar input[type=text]{width:240px}
.flash{padding:9px 12px;border-radius:6px;margin-bottom:12px;border:1px solid var(--line);background:var(--card)}.flash.error{border-color:var(--err);color:var(--err)}.flash.ok{border-color:var(--ok);color:var(--ok)}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid var(--line);color:var(--muted)}
.pill.completed{color:var(--ok);border-color:var(--ok)}.pill.in_progress,.pill.started{color:var(--accent);border-color:var(--accent)}.pill.Critical{color:var(--err);border-color:var(--err)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}.tabs a{padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:var(--card)}.tabs a.on{background:var(--accent);color:#fff;border-color:var(--accent)}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;white-space:pre-wrap}
.muted{color:var(--muted)}.small{font-size:12px}
.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.steps li .n{width:26px;color:var(--muted)}
.thumbs{display:flex;gap:10px;flex-wrap:wrap}.thumbs figure{margin:0;width:150px}.thumbs img,.thumbs video{width:150px;height:110px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.thumbs figcaption{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
.parts{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
.pager{margin-top:10px;display:flex;gap:6px;align-items:center}
.inline{display:inline}.right{float:right}
.dupgroup{border-left:3px solid var(--warn)}
@media (max-width:700px){header nav a{padding:8px 6px}.toolbar input[type=text]{width:100%}}
[hidden]{display:none!important}
.pill.pending,.pill.new{color:var(--warn);border-color:var(--warn)}.pill.denied,.pill.cancelled{color:var(--err);border-color:var(--err)}.pill.approved,.pill.shipped{color:var(--accent);border-color:var(--accent)}
label.chk{display:flex;gap:6px;align-items:center;color:var(--ink);font-weight:400;font-size:14px}
.pick img{outline:3px solid transparent}.pick input:checked+img{outline-color:var(--accent)}
pre.mail{white-space:pre-wrap;font:13px/1.5 ui-monospace,Menlo,monospace;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pill.on_po{color:var(--warn);border-color:var(--warn)}.pill.inspection{color:var(--accent);border-color:var(--accent)}.pill.open{color:var(--accent);border-color:var(--accent)}.pill.received{color:var(--ok);border-color:var(--ok)}
details.card summary{cursor:pointer}
.pill.failed,.pill.rejected,.pill.invalid,.pill.error,.pill.spam{color:var(--err);border-color:var(--err)}.pill.created{color:var(--ok);border-color:var(--ok)}.pill.duplicate{color:var(--warn);border-color:var(--warn)}
.sw{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--line);vertical-align:-1px;margin-right:5px}
.design-img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
pre.summary{white-space:pre-wrap;font-size:12px;background:var(--bg);padding:10px;border-radius:8px;border:1px solid var(--line);overflow:auto}
code.secret{word-break:break-all}

.theme-toggle{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;margin-right:8px}
.theme-float{position:fixed;right:12px;bottom:12px;color:var(--ink);border-color:var(--line);background:var(--card)}
/* Colour strips: each surface laid out as the wing reads, left tip → centre → right tip */
.cstrip{margin:4px 0 12px}.cstrip h4{margin:10px 0 4px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.cstrip .legend{font-weight:400;font-size:12px;color:var(--muted)}.cstrip .legend b{color:var(--ink);font-weight:600}
.cells{display:flex;flex-wrap:wrap;gap:3px}
.cell{min-width:58px;flex:1 0 58px;max-width:120px;border-radius:6px;padding:5px 6px;border:1px solid rgba(0,0,0,.15);line-height:1.2}
.cell .c{font-weight:700;font-size:13px;display:block}.cell .n{font-size:11px;display:block;opacity:.9;overflow-wrap:anywhere}
.cell.none{background:var(--bg);color:var(--ink);border-style:dashed}
.step-notify{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}
