:root{--bg:#f5f6f2;--ink:#233a35;--muted:#73807a;--green:#204b40;--lime:#e0ecad;--line:#e1e6df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fcfdf9;border-right:1px solid var(--line);padding:36px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:650;letter-spacing:-1.1px}.brand img{width:35px;height:35px}.brand-dot{color:#8aa560;margin-left:-9px}.nav-label{font-size:11px;letter-spacing:1.8px;color:var(--muted);margin:66px 14px 18px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 12px;margin-bottom:7px;font-size:14px;border-radius:9px;color:#617169}.nav-item span{font-size:23px;line-height:1}.nav-item.selected,.nav-item:hover{background:#eaf0df;color:var(--green)}.side-bottom{margin-top:auto;display:flex;align-items:center;gap:11px;padding:18px 0 0;border-top:1px solid var(--line)}.side-bottom strong{font-size:14px}.side-bottom small{display:block;font-size:12px;color:var(--muted)}.side-bottom form{margin-left:auto}.logout{border:0;background:none;color:var(--muted);font-size:22px;padding:5px}.avatar{background:#edf0e5;color:#426348;display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;flex-shrink:0;border-radius:12px;font-size:15px;font-weight:600}.main{margin-left:248px;padding:32px 48px;max-width:1700px}.topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;color:var(--muted);font-size:11px;letter-spacing:1.5px}.live{letter-spacing:0;font-size:13px;display:flex;align-items:center;gap:7px}.live i,.status i,.stat-dot{height:7px;width:7px;border-radius:50%;background:#77a278;display:inline-block}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:44px 0 30px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;color:#7e8d6c}h1{font-size:34px;line-height:1.2;letter-spacing:-1.2px;font-weight:550;margin:10px 0 11px}h2{font-size:19px;font-weight:600;letter-spacing:-.3px}p{margin:0}.muted{color:var(--muted);font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:8px;border:1px solid #dce2d8;background:white;padding:12px 19px;font-size:14px;font-weight:550;white-space:nowrap}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button:hover{filter:brightness(.94)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 34px}.stat{border:1px solid var(--line);border-radius:13px;background:#fff;padding:24px}.stat>span{font-size:13px;color:#66776f}.stat strong{font-weight:450;display:flex;align-items:center;gap:12px;font-size:39px;line-height:1.6;letter-spacing:-1px}.stat small{font-size:12px;color:#89948b}.panel{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 26px}.panel-heading h2{margin:0;font-size:16px}.count{display:inline-block;background:#f1f3ec;color:#869177;font-size:12px;padding:2px 8px;border-radius:6px;margin-left:9px}.panel-heading>.muted{font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#fafbf8;border-block:1px solid var(--line);font-size:11px;font-weight:550;color:#859086;padding:13px 24px;text-transform:uppercase;letter-spacing:.7px}td{padding:23px 24px;border-bottom:1px solid #eef0e9;font-size:13px}td.muted{font-size:12px}.person{display:flex;align-items:center;gap:12px}.person strong{font-size:14px;font-weight:550}.person small{display:block;color:#859086;font-size:12px;margin-top:3px}.you{font-size:10px;color:#889179;margin-left:8px}.badge{font-size:12px;background:#f3f4f0;padding:5px 10px;border-radius:5px}.badge.admin{background:#edf0df;color:#697649}.status{display:flex;align-items:center;gap:7px;font-size:12px;color:#8b8f88}.status i{background:#a8aca6}.status.active{color:#3d7b5b}.status.active i{background:#669d70}.edit-link{font-size:12px;font-weight:550;color:#476c58}.panel-foot{background:#fcfdfb;padding:17px 26px;font-size:12px;color:#8a948c}footer{display:flex;justify-content:space-between;color:#929b90;font-size:12px;margin-top:32px}footer span{font-size:11px}.back{display:inline-block;font-size:14px;color:#677b6e;margin-top:10px}.form-panel{max-width:820px;padding:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 25px}.wide{grid-column:1/-1}.field{margin-bottom:23px}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}input:not([type=checkbox]),select{width:100%;border:1px solid #d8e0d4;border-radius:7px;background:#fcfdfb;padding:12px;color:var(--ink);min-height:45px}input:focus,select:focus{border-color:#78957c;outline-color:#a5b88b}.help{display:block;font-size:12px;color:var(--muted);margin-top:6px}.check-label{display:flex!important;align-items:center;gap:10px}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:25px}.errorlist{list-style:none;padding:12px;margin:10px 0;color:#9b3832;background:#fff0ed;border-radius:7px;font-size:13px}.notice{padding:14px 18px;border:1px solid #cdddc5;background:#eaf3e2;border-radius:8px;margin-bottom:20px;font-size:14px}.narrow{max-width:590px}.profile{padding:38px;max-width:600px}.big{width:60px;height:60px;font-size:25px}.profile dl{display:grid;grid-template-columns:100px 1fr;gap:15px;font-size:14px;margin:25px 0}.profile dt{color:var(--muted)}.profile dd{margin:0}.auth-main{min-height:100vh;display:grid;grid-template-columns:46% 54%}.login-art{position:relative;display:flex;flex-direction:column;min-height:100vh;background:#183e35;color:#eef2df;padding:45px 55px;overflow:hidden}.login-art .brand img{background:#e0ecad;padding:3px;border-radius:10px}.login-art .brand-dot{color:#dce7a8}.orbit{position:absolute;width:440px;height:440px;top:20%;left:50%;transform:translateX(-50%);border:1px solid #42634c;border-radius:50%;display:grid;place-items:center}.orbit:before,.orbit:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #4b7056;border-radius:50%}.orbit:after{width:510px;height:510px;border-color:#315540}.orbit-inner{width:245px;height:245px;border-radius:50%;border:1px solid #829762;display:grid;place-items:center;background:radial-gradient(circle,#3d6243 0%,transparent 70%)}.orbit-inner span{font-family:Georgia,serif;font-size:140px;font-weight:400;color:#dce7a8;line-height:1;transform:translateY(-7px)}.orbit i{position:absolute;width:12px;height:12px;background:#e0ecad;top:75px;right:50px;border-radius:50%;box-shadow:0 0 24px #b7ca7a}.art-caption{margin-top:auto;padding-top:460px;position:relative;z-index:1}.art-caption h1{font-size:48px;letter-spacing:-1.7px;line-height:1.12;margin:15px 0 16px;font-weight:450}.art-caption .eyebrow{color:#abc29b}.art-caption p{color:#acbfad;font-size:14px}.art-foot{font-size:10px;letter-spacing:2px;color:#8aa78f;margin-top:40px}.login-panel{display:grid;place-items:center;padding:50px}.login-card{width:100%;max-width:365px}.login-card h2{font-size:34px;font-weight:500;letter-spacing:-1px;margin:12px 0}.login-card form{margin-top:35px}.full{width:100%;justify-content:space-between}.login-help{font-size:12px;color:#8a9489;margin-top:26px;line-height:1.7}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}@media(min-width:1500px){.login-art{padding:60px 85px}.orbit{top:22%}}@media(max-width:1100px){.sidebar{width:215px;padding:30px 15px}.main{margin-left:215px;padding:25px}.stats{gap:12px}.stat{padding:18px}.page-header{align-items:flex-start}h1{font-size:29px}.login-art{padding:36px}.orbit{transform:translateX(-50%) scale(.8)}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px 20px;flex-direction:row;align-items:center;gap:15px;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:23px}.brand img{width:29px;height:29px}.nav-label{display:none}.sidebar nav{order:3;display:flex;width:100%;gap:8px}.nav-item{margin:0;padding:9px;font-size:12px}.side-bottom{border:0;padding:0;margin:0 0 0 auto}.side-bottom .avatar,.side-bottom small{display:none}.main{margin:0;padding:22px 18px}.topline{padding-bottom:15px}.page-header{margin:30px 0 25px;flex-direction:column;gap:20px}.stats{grid-template-columns:1fr;gap:10px}.stat{display:grid;grid-template-columns:1fr auto;padding:15px 19px;align-items:center}.stat strong{grid-row:1/3;grid-column:2;font-size:29px}.stat small{grid-column:1}.panel-heading{padding:20px}.panel-heading>.muted{display:none}.form-grid{grid-template-columns:1fr}.form-panel{padding:22px}.form-actions{flex-wrap:wrap}.auth-main{grid-template-columns:1fr}.login-art{min-height:auto;padding:25px}.orbit,.art-caption,.art-foot{display:none}.login-panel{padding:50px 25px}.login-card{max-width:420px}.profile dl{grid-template-columns:85px 1fr}footer{margin-top:25px}}

/* Chronion dark theme — reference color converted to sRGB: var(--user-accent,#05a394). */
:root{color-scheme:dark;--bg:#0c1215;--ink:#e7f0ef;--muted:#98aaa9;--green:var(--user-accent,#05a394);--lime:var(--user-accent,#05a394);--line:#263638}
.sidebar{background:#101a1d}.brand-dot{color:var(--green)}
.nav-item{color:#a4b6b5}.nav-item.selected,.nav-item:hover{background:#153a38;color:var(--accent-light,#53dacb)}
.avatar{background:#163a37;color:var(--accent-light,#64ddcf)}.logout{color:#a5b8b6}
.eyebrow{color:var(--accent-light,#59c8bc)}.button{background:#1a292d;border-color:#344648;color:#e7f0ef}
.button.primary{background:var(--green);border-color:var(--green);color:#031e1b}
.button.primary:hover{background:var(--user-accent,#22b9a9);border-color:var(--user-accent,#22b9a9);filter:none}
.button:not(.primary):hover{background:#253b3e;filter:none}
.stat,.panel{background:#131f23}.stat>span{color:#acbcbb}.stat small{color:#93a6a5}
.stat-dot,.live i,.status.active i{background:var(--green)}
.count{background:#193b38;color:var(--accent-light,#72dbce)}th{background:#101b1e;color:#9fafae}
 td{border-bottom-color:#243336}.person small{color:#91a5a3}.you{color:#9db6b3}
.badge{background:#273539;color:#bac9c8}.badge.admin{background:#173c37;color:#67d5c8}
.status{color:#a2aeae}.status i{background:#7a898b}.status.active{color:#65d2c4}
.edit-link{color:var(--accent-light,#65d5c8)}.edit-link:hover{color:var(--accent-light,#9aece2)}.panel-foot{background:#101b1e;color:#94aaa7}
footer,footer span{color:#8a9f9d}.back{color:var(--accent-light,#8fc7c0)}
input:not([type=checkbox]),select{background:#0e181b;border-color:#364b4c;color:var(--ink)}
input:focus,select:focus{border-color:var(--green);outline-color:var(--user-accent,#05a394)}
input:-webkit-autofill{-webkit-text-fill-color:#e7f0ef;box-shadow:0 0 0 1000px #102b2a inset;caret-color:#e7f0ef}
.errorlist{color:#ffb7af;background:#422523}.notice{border-color:#2d6559;background:#143c32;color:#b8eddb}
.login-art{background:#102e2d;color:#e5f3ef}.login-art .brand img{background:var(--user-accent,#05a394)}
.login-art .brand-dot{color:#35c9b8}.orbit{border-color:#25605a}.orbit:before{border-color:#327970}
.orbit:after{border-color:#204b48}.orbit-inner{border-color:var(--user-accent,#05a394);background:radial-gradient(circle,#125148 0%,transparent 70%)}
.orbit-inner span{color:#37d5c0}.orbit i{background:#39dfc8;box-shadow:0 0 24px var(--user-accent,#05a394)}
.art-caption .eyebrow{color:#7fcbbf}.art-caption p{color:#a3c2bc}.art-foot{color:#8eb8b0}
.login-help{color:#94aaa6}

.button:disabled{cursor:not-allowed;opacity:.55}.button.primary:disabled:hover{background:var(--green);border-color:var(--green);filter:none}
.orders-empty{text-align:center;padding:75px 25px 85px;white-space:normal}.empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#153a38;color:#50caba;border-radius:14px;font-size:29px}.orders-empty h2{font-size:18px;margin:20px 0 8px}.orders-empty p{font-size:14px;color:var(--muted)}
@media(max-width:760px){.sidebar nav{flex-wrap:wrap}.orders-empty{padding:55px 20px}}

.order-form{max-width:950px}.section-title{margin:0 0 24px;font-size:17px}.production-data{border-top:1px solid var(--line);padding:25px 0}.data-actions{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}.zip-input{position:relative;flex:1;min-width:230px}.zip-input .button{cursor:pointer;margin:0 0 9px}.zip-input input[type=file]{position:absolute;width:1px;height:1px;padding:0;min-height:0;overflow:hidden;clip-path:inset(50%)}.zip-input:focus-within .button{outline:2px solid var(--green);outline-offset:3px}.zip-input .help{overflow-wrap:anywhere}.button:disabled:hover{filter:none}.order-summary{padding:26px;margin-bottom:25px}.order-summary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0}.order-summary dt{font-size:12px;color:var(--muted);margin-bottom:8px}.order-summary dd{margin:0;font-size:16px;overflow-wrap:anywhere}.archive-caption{padding:0 26px 24px;display:flex;gap:15px;flex-wrap:wrap;overflow-wrap:anywhere}.archive-path{white-space:normal;overflow-wrap:anywhere;max-width:650px}@media(max-width:760px){.order-summary dl{grid-template-columns:1fr 1fr}.data-actions{flex-direction:column}.data-actions .button{white-space:normal}.panel-heading .button{white-space:normal;text-align:center}.form-actions .button{white-space:normal}}

body:has(#gerber-workspace)>.sidebar{display:none}body:has(#gerber-workspace)>.main{margin:0;padding:0;max-width:none}#gerber-workspace{height:100dvh;display:flex;flex-direction:column;background:#0b1215}.viewer-toolbar{display:flex;gap:26px;align-items:center;padding:17px 24px;border-bottom:1px solid var(--line);background:#111d21}.viewer-toolbar .back{margin:0}.viewer-toolbar h1{font-size:23px;margin:2px 0}.viewer-toolbar .eyebrow{font-size:10px}.viewer-tools{display:flex;gap:9px;margin-left:auto}.viewer-tools .button{padding:9px 14px}.viewer-layout{flex:1;min-height:0;display:grid;grid-template-columns:300px 1fr}.file-sidebar{background:#111c20;border-right:1px solid var(--line);padding:22px 16px;overflow:auto}.file-sidebar h2{font-size:16px;margin:0 0 22px}.file-add{cursor:pointer}.file-sidebar>.help{font-size:12px;line-height:1.8;margin-top:13px}#file-list{margin-top:23px}.layer-row{border:1px solid #2a3c40;background:#152429;border-radius:9px;margin:10px 0;padding:12px}.layer-row:focus{outline:1px solid var(--green)}.layer-top{display:flex;gap:8px;align-items:center}.layer-top input{width:14px;height:14px;flex-shrink:0}.layer-top strong{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-color{width:7px;height:18px;border-radius:2px;flex-shrink:0}.layer-more{margin-left:auto;border:0;background:none;color:#b7ceca;padding:0 7px;font-size:22px}.layer-row small{font-size:11px;color:#9aafac;display:block;line-height:1.5;margin:7px 0}.viewer-canvas{position:relative;overflow:hidden;background-color:#080f12;background-image:radial-gradient(#253339 .8px,transparent .8px);background-size:22px 22px}.viewer-canvas.drop-active{outline:3px solid var(--green);outline-offset:-3px}#board{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#board:active{cursor:grabbing}#viewer-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#9bb2b0}#viewer-empty[hidden]{display:none}#viewer-empty h2{font-size:20px;color:#d6e5e3;margin:20px 0 7px}#viewer-empty p{font-size:14px}.canvas-bottom{position:absolute;bottom:0;left:0;right:0;background:#101b20dd;display:flex;justify-content:space-between;gap:15px;padding:13px 19px;font-size:11px;color:#9ab3b0;pointer-events:none}.zoom-tools{position:absolute;right:20px;bottom:65px;display:flex;flex-direction:column;gap:5px}.zoom-tools button{background:#192c30;border:1px solid #344b4c;color:#e0efed;width:38px;height:38px;border-radius:7px;font-size:22px}#viewer-message{font-size:13px;padding:8px 20px;color:#9bcebf;min-height:35px;border-top:1px solid var(--line);background:#101c20}#file-menu{position:fixed;z-index:100;background:#223438;padding:6px;border:1px solid #48615f;border-radius:7px;box-shadow:0 10px 35px #0009}#file-menu button{padding:10px 15px;background:none;border:0;color:#ffbbb1;font-size:14px}.viewer-tools [aria-pressed=true]{border-color:var(--green);color:#67ded0}#undo-delete[hidden]{display:none}@media(max-width:850px){.viewer-layout{grid-template-columns:235px 1fr}.viewer-toolbar{flex-wrap:wrap;gap:12px;padding:12px}.viewer-tools{flex-wrap:wrap}.viewer-tools .button{font-size:12px}.canvas-bottom span:last-child{display:none}}@media(max-width:550px){.viewer-layout{grid-template-columns:170px 1fr}.file-sidebar{padding:15px 8px}.file-sidebar h2{font-size:13px}.file-add{font-size:12px;padding:10px 6px}.viewer-tools{margin-left:0}#viewer-empty h2{font-size:15px;text-align:center}#viewer-empty p{font-size:12px;text-align:center}}
#viewer-files.sr-only{width:1px;height:1px;min-height:0;padding:0;border:0;clip-path:inset(50%)}.viewer-layout{min-width:0}.viewer-canvas{min-width:0}

/* Compact, grouped production file list. */
#file-list{margin:18px -8px 0}.file-group{margin:0}.file-group h3{margin:0;padding:3px 8px;background:#233139;color:#a8bbc5;font-size:13px;line-height:22px;font-weight:650}.layer-row{margin:0;padding:0 6px;border:0;border-bottom:1px solid #ffffff12;border-radius:0;background:#0c1418;min-height:30px}.layer-row:focus-within,.layer-row:focus{outline:2px solid #65e2d1;outline-offset:-2px}.layer-top{gap:7px;min-height:30px}.layer-top input[type=checkbox]{width:16px;height:16px;margin:0 3px;accent-color:#087de0}.layer-top strong{font-size:13px;font-weight:500;line-height:30px;min-width:0;flex:1}.layer-more{color:inherit;font-size:19px;padding:0 5px;line-height:26px;flex-shrink:0;opacity:.65}.layer-more:hover,.layer-more:focus{opacity:1}.layer-warning{font-size:12px;font-weight:700;color:#ffb779}.file-sidebar{min-width:0}.file-group .layer-row:hover{outline:1px solid #ffffff80;outline-offset:-1px}

#file-menu button{display:block;width:100%;text-align:left;border-radius:4px;color:var(--ink)}#file-menu button:hover:not(:disabled){background:#344b4e}#file-menu button:disabled{opacity:.35;cursor:default}#file-menu #remove-file{color:#ffbbb1;border-top:1px solid #48615f;margin-top:4px;border-radius:0}

.layer-row{cursor:grab}.layer-row:active{cursor:grabbing}.layer-row.is-dragging{opacity:.45}.layer-row.drop-before{box-shadow:inset 0 3px var(--user-accent,#05a394)}.layer-row.drop-after{box-shadow:inset 0 -3px var(--user-accent,#05a394)}.layer-row button,.layer-row input{cursor:pointer}

#file-menu button[hidden]{display:none}

#file-menu{max-height:calc(100dvh - 8px);overflow-y:auto;min-width:220px}#layer-palette[hidden]{display:none}.palette-title{font-size:13px;padding:10px 8px 7px;color:#bbc9c9;border-top:1px solid #48615f;margin-top:5px}#color-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:0 8px 8px}#file-menu .color-swatch{width:32px;height:25px;padding:0;border:1px solid #ffffff55;border-radius:2px;justify-self:center}#file-menu .color-swatch:hover{outline:2px solid #fff;outline-offset:1px}#file-menu .color-swatch[aria-pressed=true]{outline:2px solid var(--user-accent,#05a394);outline-offset:1px;box-shadow:inset 0 0 0 2px #182426}

#invert-layer[aria-checked=true]::before{content:"✓ "}.inversion-badge{font-size:13px;font-weight:700;flex-shrink:0}

#layer-settings[hidden]{display:none}#layer-settings{padding:8px;border-top:1px solid #48615f;margin-top:5px}#layer-settings label{font-size:13px;display:block;margin:6px 0}#layer-settings select{font-size:13px;min-height:30px;padding:5px 8px}#layer-settings .opacity-heading{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:13px}#layer-opacity{padding:0;border:0;min-height:20px;height:20px;accent-color:var(--user-accent,#05a394)}#file-menu{min-width:250px}

.layer-row.pos-unchecked{background:#6c202d!important;color:#ffe7eb!important}.layer-row.pos-checked{background:#164a38!important;color:#c5f5dc!important}.pos-status{font-size:13px;font-weight:700;flex-shrink:0}#pos-review[hidden]{display:none}#pos-review{position:absolute;z-index:4;top:12px;right:12px;width:285px;max-height:calc(100% - 80px);overflow:auto;background:#132329f5;border:1px solid #3b575a;border-radius:10px;padding:15px;box-shadow:0 8px 30px #0006;font-size:13px}.review-heading{display:flex;align-items:center;justify-content:space-between}.review-heading button{border:0;background:none;color:#fff;font-size:24px}#pos-review label{display:block;margin-top:12px;margin-bottom:5px}#pos-review select{font-size:13px;min-height:32px;padding:6px}#pos-filename{overflow-wrap:anywhere;margin-top:7px;color:#8ad8cb}#pos-review .help{font-size:12px;line-height:1.5}.review-actions{display:flex;gap:5px;margin:12px 0}.review-actions .button{padding:7px 10px;font-size:12px;flex:1}#pos-coordinates,#pos-progress{font-size:12px;line-height:1.5;margin:9px 0}#pos-complete{font-size:12px;padding:10px}#pos-review .button:disabled{opacity:.4}

#pos-review{width:330px}.alignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}#pos-review .alignment-grid input,#pos-tolerance{min-height:30px;padding:5px;font-size:12px}#pos-review details{border-block:1px solid #385156;padding:8px 0;margin-top:10px}#pos-review summary{cursor:pointer;font-weight:600}#pos-residuals{font-size:12px;line-height:1.7;padding:8px 0;color:#b4ccc8}#pos-review input[type=checkbox]{vertical-align:middle}

.axis-flips{border:1px solid #385156;border-radius:6px;margin:10px 0;padding:6px 10px;display:flex;gap:18px}.axis-flips legend{font-size:12px;color:#b4ccc8}.axis-flips label{display:flex!important;align-items:center;gap:6px}.viewer-canvas{overscroll-behavior:contain}

#pos-checklist{font-size:12px;line-height:1.8;color:#b4ccc8;margin-top:10px}

#zip-download-dialog{max-width:520px;width:calc(100% - 32px);border:1px solid #3b575a;border-radius:12px;background:#132329;color:#e7f0ef;padding:26px;box-shadow:0 20px 80px #0008}#zip-download-dialog::backdrop{background:#0009}#zip-download-dialog h2{margin-top:0}#zip-download-dialog p{font-size:14px;color:#b4c7c4}.download-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:24px}.download-actions .button{white-space:normal}
#id_groups label,#id_permissions label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin:5px 0;background:#0e181b;border:1px solid #2a4141;border-radius:6px}#id_groups input,#id_permissions input{flex-shrink:0;margin:2px 0 0}.group-rights{white-space:normal;min-width:270px}.group-rights div+div{margin-top:6px}

.management-tabs{display:flex;gap:10px;margin:0 0 24px;flex-wrap:wrap}

.order-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:24px}.pcb-thumbnail{height:300px;display:flex;align-items:center;justify-content:center;padding:20px;background:#101b20;border-radius:0 0 14px 14px}.pcb-thumbnail svg{width:100%;height:100%}.pcb-thumbnail svg[hidden]{display:none}.production-status-placeholder{padding:28px}.production-status-placeholder h3{margin-top:22px}@media(max-width:800px){.order-overview{grid-template-columns:1fr}}

.position-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.position-search input{width:340px;max-width:100%}.position-search select{max-width:240px}.viewer-toolbar{flex-wrap:wrap}.pcb-thumbnail{text-decoration:none}.pcb-thumbnail:hover{outline:2px solid var(--user-accent,#05a394)}

#gerber-workspace[data-readonly="true"] #use-data,#gerber-workspace[data-readonly="true"] #remove-file,#gerber-workspace[data-readonly="true"] #undo-delete{display:none}

#minimap{position:absolute;left:16px;top:16px;width:180px;height:140px;background:#101b20;border:1px solid #53706b;border-radius:8px;overflow:hidden;pointer-events:none;z-index:2}#minimap[hidden]{display:none}#minimap-side{display:block;padding:3px 8px;font-size:11px;color:#fff}#minimap-svg{width:180px;height:120px;display:block}.pcb-thumbnail:hover{outline:none}

.pcb-two-sides{display:flex;width:100%;gap:12px}.pcb-two-sides figure{margin:0;min-width:0;flex:1;text-align:center}.pcb-two-sides img{width:100%;max-height:245px;object-fit:contain}.pcb-two-sides figcaption{font-size:12px;color:#a3b6b4}

#viewer-loading{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;text-align:center;background:#0b1215;color:#e5efed}#viewer-loading h2{margin:4px 0 0;font-size:22px}#viewer-loading p{margin:0;color:#9ab4ae;max-width:420px}.viewer-spinner{width:42px;height:42px;border:3px solid #24413b;border-top-color:var(--user-accent,#05a394);border-radius:50%;animation:viewer-spin .9s linear infinite}#viewer-loading[hidden],#viewer-empty[hidden],#viewer-retry[hidden]{display:none}#gerber-workspace[aria-busy="true"] #viewer-empty{display:none}@keyframes viewer-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.viewer-spinner{animation:none;border-color:var(--user-accent,#05a394)}}

#position-results[hidden]{display:none}

.order-filters{padding:20px;margin-bottom:22px}.order-filter-fields{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.order-filter-fields .field{margin:0;flex:1;min-width:145px}.order-filter-fields .field:first-child{flex:2;min-width:230px}.order-filter-fields .button{margin-bottom:0}.column-picker{margin-top:14px}.column-picker summary{cursor:pointer;color:#a9c5be}.column-picker .check-label{margin-top:12px}#production-table [hidden]{display:none}.order-row{cursor:pointer}.order-row:hover{background:#16302c}

.sort-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.sort-link:hover{color:var(--user-accent,#05c3ab)}.sort-link span{color:var(--user-accent,#05a394)}th[aria-sort="ascending"],th[aria-sort="descending"]{color:#e4f5f0}

.panel-heading .column-picker{margin:0 0 0 auto;position:relative;flex-shrink:0}.panel-heading .column-picker summary{list-style:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.panel-heading .column-picker summary::-webkit-details-marker{display:none}.panel-heading .column-picker[open] .check-label{position:absolute;right:0;top:100%;z-index:5;min-width:210px;padding:14px;margin-top:8px;background:#142327;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0006;white-space:nowrap}

.group-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px}.delete-link{color:#ff9595;text-decoration:none}.delete-link:hover{text-decoration:underline}.danger-button{background:#a53743;border-color:#a53743;color:white}

.schedule-week{margin-bottom:24px}.week-title{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.schedule-week .panel-heading{gap:16px;flex-wrap:wrap}.schedule-week table{table-layout:fixed}.schedule-week td{overflow-wrap:anywhere}

.schedule-table .schedule-week-divider th{padding:7px 20px;background:#172a2d;font-size:12px;text-transform:none;letter-spacing:normal;border-top:1px solid var(--line)}.schedule-week-divider .week-date{margin-left:18px;color:#94aaa5;font-weight:400}.schedule-week-divider .week-current{margin-left:18px;color:var(--user-accent,#05c3ab)}.schedule-table .schedule-week-divider.current th{border-left:3px solid var(--user-accent,#05a394)}.schedule-table td{padding-top:12px;padding-bottom:12px}

.order-departments{margin-bottom:24px}.department-badges{padding:18px 24px;display:flex;gap:10px;flex-wrap:wrap}#id_departments{display:grid;gap:10px}#id_departments label{display:flex;gap:10px;align-items:center}#id_departments input{width:auto;min-height:0}

.department-select-actions{margin-bottom:20px}#id_is_department{width:auto;min-height:0;margin-right:10px}

.legacy-schedule{font-size:12px;white-space:nowrap}.legacy-schedule td{padding:7px 10px}.legacy-schedule th{padding:10px}.legacy-schedule .entry-marker{border-left:4px solid var(--entry-color,transparent)}.legacy-schedule .schedule-cell{width:140px;min-height:30px;padding:5px 7px;font-size:12px;background:transparent;border:1px solid transparent;color:inherit}.legacy-schedule .schedule-cell:focus{border-color:var(--user-accent,#05a394);background:#101c20}.legacy-schedule .late{background:#643536}.legacy-schedule .near{background:#614c29}.schedule-comment{max-width:260px;overflow:hidden;text-overflow:ellipsis}.legacy-form{padding:24px;margin-bottom:20px}.legacy-form fieldset{border:0;padding:0;margin:0;min-width:0}.legacy-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.legacy-form input[type=checkbox]{width:auto;min-height:0}.legacy-values{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:8px}.legacy-values dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.legacy-values dt{color:#a8bbb8}.legacy-form details{padding:12px 0;border-bottom:1px solid #28403d}.legacy-form summary{cursor:pointer}.legacy-command{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#0a1518}.schedule-cell.saving{opacity:.5}.schedule-cell.save-error{outline:1px solid #ff8888}#schedule-save-status{min-height:26px;color:#b9d8d1}
.legacy-form-grid>.field{min-width:0}.legacy-form textarea{display:block;width:100%;max-width:100%;min-height:90px;resize:vertical;border:1px solid var(--line);border-radius:8px;background:#101b20;color:var(--ink);font:inherit;padding:12px}.legacy-form>p{margin:12px 0}.legacy-form h2{margin-top:0}
.schedule-actions{border:0;background:transparent;color:inherit;font-size:20px;padding:0 7px;cursor:pointer}.schedule-context-menu{position:fixed;z-index:1000;min-width:245px;padding:6px;background:#192b30;border:1px solid #45635f;border-radius:9px;box-shadow:0 10px 35px #0008}.schedule-context-menu[hidden]{display:none}.schedule-context-menu>a{display:block;width:100%;text-align:left;padding:11px 13px;background:none;border:0;border-radius:5px;color:#edf5f3;font:inherit;font-size:14px;cursor:pointer}.schedule-context-menu>a:hover,.schedule-context-menu>a:focus{background:#245449}.schedule-status-dialog{width:min(560px,calc(100vw - 32px));max-height:90vh;overflow:auto;background:#132126;color:#e1eeea;border:1px solid #45635f;border-radius:12px;padding:26px}.schedule-status-dialog::backdrop{background:#0009}.schedule-status-dialog .field{margin-top:16px}.schedule-status-dialog textarea{width:100%;padding:10px;background:#0e191d;color:inherit;border:1px solid #3a514e;border-radius:7px;font:inherit;resize:vertical}.status-date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-date-inputs input{min-width:0;color-scheme:dark}.schedule-status-dialog .form-actions{margin-top:20px}.schedule-status-dialog h2{margin:0 0 8px}#status-original{margin-top:12px;overflow-wrap:anywhere;white-space:pre-wrap}#status-dialog-error,#status-parse-warning{color:#ffbe8c;margin-top:12px}.history-table td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}.history-table td:nth-child(n+4){min-width:180px;max-width:360px}.history-table td:first-child{min-width:145px}
.schedule-status-dialog [hidden]{display:none!important}

.schedule-context-menu{width:360px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:8px}.schedule-status-editor{border-top:1px solid #3a514e;margin-top:5px;padding:10px 8px 5px}.schedule-status-editor .field{margin:10px 0}.schedule-status-editor label{font-size:12px;margin-bottom:4px}.schedule-status-editor input,.schedule-status-editor select{min-height:35px;padding:7px 9px;font-size:13px}.schedule-status-editor textarea{display:block;width:100%;resize:vertical;min-height:55px;background:#101b20;color:#e1eeea;border:1px solid #3a514e;border-radius:6px;font:inherit;font-size:13px;padding:8px}.schedule-status-editor .form-actions{margin:12px 0 0;gap:8px;justify-content:flex-end}.schedule-status-editor .button{font-size:13px;padding:8px 12px;min-height:34px}.schedule-context-menu [hidden]{display:none!important}.schedule-status-editor #status-original{margin-top:8px;max-height:45px;overflow:auto}.schedule-status-editor #status-dialog-error{font-size:12px}.schedule-status-editor .status-date-inputs{gap:8px}.schedule-status-editor #status-order-label{font-size:12px}

.schedule-status-editor .status-date-input{width:100%;min-width:0;color-scheme:dark}

/* Persistent sidebar control, kept accessible when navigation is hidden. */
.sidebar-toggle{position:fixed;top:16px;left:234px;z-index:100;width:28px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #344648;border-radius:7px;background:#1a292d;color:#9ce4da;font-size:26px;line-height:1}
.sidebar-toggle:hover{background:#245449}.sidebar-toggle:focus-visible{outline:2px solid var(--green)}
.sidebar-collapsed .sidebar{display:none}.sidebar-collapsed .sidebar-toggle{left:8px}.sidebar-collapsed .main{margin-left:32px;max-width:none}
body:has(#gerber-workspace)>.sidebar-toggle{display:none}
@media(min-width:761px) and (max-width:1100px){.sidebar-toggle{left:201px}}
@media(max-width:760px){.sidebar-toggle{top:12px;left:auto;right:8px}.sidebar{padding-right:48px}.sidebar-collapsed .sidebar-toggle{left:8px;right:auto}.sidebar-collapsed .main{margin-left:0;padding-top:48px}}

.schedule-colors{padding:4px 12px 10px}.schedule-color-options{display:flex;gap:8px;margin-top:8px}.schedule-color-options button{width:30px;height:30px;border:1px solid #96aaa6;border-radius:5px;background:#1a292d;color:white}.schedule-color-options button:hover{outline:2px solid white;outline-offset:2px}#schedule-color-error{font-size:12px;color:#ffbe8c}.legacy-schedule tr[data-entry] td:not(.department-cell):not(.department-cell ~ td){background:color-mix(in srgb,var(--entry-color) var(--marking-strength,28%),var(--marking-base,#191c20))}

.schedule-color-options{display:grid;grid-template-columns:1fr 1fr}.schedule-color-options button{display:flex;align-items:center;gap:8px;width:auto;height:auto;min-height:34px;padding:6px 8px;text-align:left;font-size:12px}.order-color-swatch{display:inline-block;width:16px;height:16px;flex-shrink:0;border:1px solid #96aaa6;border-radius:3px}

.schedule-color-options{grid-template-columns:1fr}

.schedule-title{display:flex;align-items:center;gap:12px}.schedule-info{position:relative}.schedule-info summary{list-style:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid #34736c;border-radius:50%;background:#153a38;color:var(--accent-light,#79e2d5);cursor:pointer;font-size:17px;font-weight:650;font-family:Georgia,serif}.schedule-info summary::-webkit-details-marker{display:none}.schedule-info summary:hover,.schedule-info[open] summary{background:#245449;border-color:var(--user-accent,#05a394)}.schedule-info summary:focus-visible{outline:2px solid var(--user-accent,#05a394);outline-offset:3px}.schedule-info-content{position:absolute;top:38px;left:0;z-index:200;width:350px;max-width:calc(100vw - 40px);padding:20px;background:#192b30;border:1px solid #45635f;border-radius:12px;box-shadow:0 12px 35px #0008;font-size:13px}.schedule-info-content h2{margin:0 0 14px;font-size:16px}.schedule-info-content dl{display:grid;grid-template-columns:24px 1fr;gap:5px 8px;margin:0 0 15px}.schedule-info-content dt{font-weight:700;color:var(--accent-light,#79e2d5)}.schedule-info-content dd{margin:0}.schedule-info-content p+p{margin-top:12px}.schedule-info-content code{color:var(--accent-light,#79e2d5)}@media(max-width:760px){.schedule-info-content{position:fixed;top:120px;left:20px;max-height:calc(100dvh - 140px);overflow:auto}}

.schedule-notes-tooltip{position:fixed;z-index:1100;width:360px;max-width:calc(100vw - 16px);max-height:70dvh;overflow:auto;padding:16px 18px;background:#192b30;border:1px solid #45635f;border-radius:12px;box-shadow:0 12px 35px #0009;font-size:13px;line-height:1.5}.schedule-notes-tooltip[hidden]{display:none}.notes-heading{display:block;color:var(--accent-light,#79e2d5);font-size:14px;margin-bottom:10px}.schedule-notes-tooltip section+section{border-top:1px solid #344648;margin-top:10px;padding-top:10px}.schedule-notes-tooltip section>span{display:block;color:#a4b6b5;font-size:11px;font-weight:600;margin-bottom:3px}.schedule-notes-tooltip p{white-space:pre-wrap;overflow-wrap:anywhere}

#schedule-save-status,#status-dialog-error{white-space:pre-wrap;overflow-wrap:anywhere}

.schedule-notes-tooltip .notes-heading{padding:8px 10px;border-radius:5px;overflow-wrap:anywhere}.schedule-notes-tooltip section>.notes-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:4px;color:#e7f0ef;font-size:12px;margin-bottom:6px}.notes-date{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Aligned hover cards: all headings and body text share one inset. */
.schedule-notes-tooltip{padding:12px;width:380px}
.schedule-notes-tooltip .notes-heading{padding:10px 12px;margin:0 0 12px;border-left:4px solid transparent;font-size:14px;line-height:1.45}
.schedule-notes-tooltip section>.notes-section-heading{padding:7px 12px 7px 16px;margin:0 0 4px;line-height:1.45}
.schedule-notes-tooltip section>p{padding:2px 12px 4px 16px;line-height:1.55}
.schedule-notes-tooltip section+section{margin-top:10px;padding-top:10px;border-top:1px solid #344648}
.schedule-notes-tooltip section.notes-comment{background:#ffffff04;border-radius:6px;padding:6px 0;margin-bottom:12px}
.schedule-notes-tooltip .notes-comment>.notes-section-heading{color:#a4b6b5;font-size:11px;font-weight:500;padding-bottom:2px}
.schedule-notes-tooltip .notes-comment+section{border-top:0;margin-top:0;padding-top:0}

#schedule-input-info{position:fixed;right:24px;bottom:24px;z-index:1500;max-width:min(430px,calc(100vw - 32px));padding:14px 18px;border:1px solid #438d83;border-radius:10px;background:#193b38;color:#e7f0ef;box-shadow:0 8px 28px #0007;font-size:14px}#schedule-input-info[hidden]{display:none}

/* Compact, consistently aligned department overview. */
.schedule-notes-tooltip{width:420px;padding:10px;font-size:12px}
.schedule-notes-tooltip .notes-heading{font-size:14px;padding:9px 10px;margin-bottom:8px}
.schedule-notes-tooltip .notes-columns,.schedule-notes-tooltip section:not(.notes-comment)>.notes-section-heading{display:grid;grid-template-columns:minmax(0,1fr) 36px 84px;align-items:center;gap:8px;padding:7px 10px 7px 14px}
.schedule-notes-tooltip .notes-columns{font-size:10px;color:#8ea6a3;padding-top:4px;padding-bottom:5px}
.notes-columns>span:nth-child(2){text-align:center}.notes-columns>span:last-child,.schedule-notes-tooltip .notes-date{text-align:right}
.schedule-notes-tooltip section:not(.notes-comment)>.notes-section-heading{font-size:12px;line-height:1.3;margin:0;border-radius:4px}
.schedule-notes-tooltip .notes-status{display:inline-flex;align-items:center;justify-content:center;justify-self:center;min-width:22px;height:22px;border:1px solid #ffffff25;background:#ffffff09;border-radius:4px;font-size:11px;font-weight:650}
.schedule-notes-tooltip .notes-date{font-size:11px;font-weight:500}
.schedule-notes-tooltip section+section{border:0;margin-top:3px;padding-top:0}
.schedule-notes-tooltip section>p{font-size:12px;line-height:1.4;padding:3px 10px 6px 14px;color:#bacbc9}
.schedule-notes-tooltip section.notes-comment{margin-bottom:8px;padding:4px 0;background:#ffffff05}
.schedule-notes-tooltip .notes-comment>.notes-section-heading{padding:3px 10px 0 14px;margin:0;font-size:10px}
.schedule-notes-tooltip .notes-comment>p{color:#e7f0ef;padding-top:3px;padding-bottom:4px}

.schedule-notes-tooltip section:not(.notes-comment)>p{padding-top:0;padding-bottom:2px}.schedule-notes-tooltip section:not(.notes-comment)+section{margin-top:9px}

.schedule-notes-tooltip section:not(.notes-comment){border-radius:5px;overflow:hidden}.schedule-notes-tooltip section:not(.notes-comment)>p{padding-bottom:7px}

.schedule-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid #344648;margin:0 0 22px;padding:0 4px}.schedule-tabs a{position:relative;flex-shrink:0;padding:12px 20px;border:1px solid transparent;border-bottom:0;border-radius:9px 9px 0 0;font-size:14px;font-weight:550;color:#98aaa9;white-space:nowrap}.schedule-tabs a:hover{background:#14272a;color:#d9eeea}.schedule-tabs a[aria-current="page"]{background:#173b38;border-color:#345c57;color:var(--accent-light,#79e2d5)}.schedule-tabs a[aria-current="page"]:after{content:"";position:absolute;bottom:0;left:14px;right:14px;height:3px;background:var(--user-accent,#05a394);border-radius:3px 3px 0 0}.schedule-tabs a:focus-visible{outline:2px solid var(--user-accent,#05a394);outline-offset:-3px}@media(max-width:760px){.schedule-tabs a{padding:10px 13px;font-size:12px}}

.schedule-context-menu:focus{outline:none}

.schedule-filters{padding:10px 12px;margin-bottom:8px}.schedule-filters .order-filter-fields{gap:10px}.schedule-filters .field{flex:0 1 180px;min-width:140px}.schedule-filters .field:first-child{flex:0 1 300px;min-width:220px}.schedule-filters .field:nth-child(2){flex-basis:210px}.schedule-filters .field label{font-size:11px;margin-bottom:4px}.schedule-filters input,.schedule-filters select{min-height:32px;padding:5px 8px;font-size:12px}.schedule-filters .button{min-height:32px;padding:6px 12px;font-size:12px}.schedule-filters~#schedule-save-status{min-height:0;font-size:12px}.schedule-filters~#schedule-save-status:not(:empty){padding:2px 0 6px}@media(max-width:760px){.schedule-filters .field:first-child{flex:1 1 100%;min-width:0}.schedule-filters .field{flex:1 1 140px}}

/* Compact schedule rows while keeping text and controls unchanged. */
.legacy-schedule tr[data-entry]>td{padding-top:5px;padding-bottom:5px}

.nav-item .nav-icon{width:22px;height:22px;flex:0 0 22px}

.schedule-filters .field:first-child{flex:1 1 360px;max-width:440px}.schedule-title{gap:10px}.schedule-title h1{margin:10px 0}.schedule-info summary{width:22px;height:22px;font-size:14px;background:transparent;border-color:#345c57;color:var(--accent-light,#81beb7)}.schedule-info-content{top:32px}@media(max-width:760px){.schedule-filters .field:first-child{flex-basis:100%;max-width:none}}

/* Shared medium sizing for schedule and production search bars. */
.schedule-filters,#order-search-form{padding:14px 16px;margin-bottom:10px}
.schedule-filters .order-filter-fields,#order-search-form .order-filter-fields{gap:12px}
.schedule-filters .field label,#order-search-form .field label{font-size:12px;margin-bottom:5px}
.schedule-filters input,.schedule-filters select,#order-search-form input,#order-search-form select{min-height:38px;padding:8px 10px;font-size:13px}
.schedule-filters .button,#order-search-form .button{min-height:38px;padding:8px 15px;font-size:13px}
.schedule-filters .field:first-child,#order-search-form .field:first-child{flex:1 1 360px;min-width:220px;max-width:400px}
@media(max-width:760px){.schedule-filters .field:first-child,#order-search-form .field:first-child{flex-basis:100%;min-width:0;max-width:none}}

/* Readable content with quieter labels and table headings. */
.schedule-filters .field label,#order-search-form .field label{font-size:12px;font-weight:500;color:var(--muted)}
.schedule-filters input,.schedule-filters select,#order-search-form input,#order-search-form select{font-size:14px}
.legacy-schedule td,#production-table td{font-size:14px}
.legacy-schedule .schedule-cell{font-size:13px}
.legacy-schedule thead th,#production-table thead th{font-size:11px;font-weight:600;letter-spacing:.45px}
.schedule-table .schedule-week-divider th{font-size:12px;font-weight:600;color:#a8bfbb}
.schedule-tabs a{font-size:14px;font-weight:550;padding:10px 18px}

/* Production orders use the same compact table rhythm as the schedule. */
.production-list-panel .panel-heading{padding:12px 14px}
.production-list-panel .panel-heading h2{font-size:14px}
.production-list-panel .column-picker summary{font-size:12px}
#production-table th{padding:10px}
#production-table tbody .order-row{height:42px}
#production-table tbody .order-row>td{padding:5px 10px}
#production-table .edit-link{font-size:14px;font-weight:400;color:inherit}
#production-table .edit-link:hover{text-decoration:underline;color:var(--accent-light,#79e2d5)}
#production-table .badge{font-size:12px;padding:2px 7px}

/* Receipts share the schedule's compact filter and table styling. */
.receipts-filters .field:first-child,.receipts-filters .field:nth-child(2){flex:0 1 180px;min-width:140px;max-width:180px}
.receipts-panel .panel-heading{padding:12px 14px;font-size:12px;font-weight:600;color:#a8bfbb}
.receipts-table thead th{padding:10px;font-size:11px;font-weight:600;letter-spacing:.45px}
.receipts-table tbody tr{height:42px}
.receipts-table td{padding:5px 10px;font-size:14px}
.receipts-table th:nth-child(n+2),.receipts-table td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.receipts-table tfoot th,.receipts-table tfoot td{padding:11px 10px;background:#172a2d;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:normal}
.receipts-caption{margin-top:10px;font-size:12px;color:var(--muted)}

.receipts-view-switch{display:flex;gap:3px;margin-left:auto;padding:3px;border:1px solid #34504e;border-radius:8px;background:#0e191d}
.receipts-view-switch button{border:0;border-radius:5px;padding:7px 12px;background:transparent;color:var(--muted);font-size:13px;white-space:nowrap}
.receipts-view-switch button[aria-pressed="true"]{background:#204943;color:var(--accent-light,#79e2d5)}
.receipts-view-switch button:hover{color:#e1eeea}
.receipts-details th:nth-child(n),.receipts-details td:nth-child(n){text-align:left}
.receipts-details .numeric:nth-child(n){text-align:right;font-variant-numeric:tabular-nums}
.receipts-details .receipt-comment{min-width:200px;max-width:320px;white-space:normal}
@media(max-width:760px){.receipts-view-switch{margin-left:0;flex-wrap:wrap}}

.legacy-schedule .amount-cell{height:31.5px;min-height:31.5px;padding:4px 7px;line-height:21px;font-size:14px;width:100px;text-align:right;font-variant-numeric:tabular-nums}.legacy-schedule [data-amount]{text-align:right;font-variant-numeric:tabular-nums}.legacy-schedule .schedule-value-total{padding:12px 10px;background:#172a2d;font-size:13px}

/* Personal accents are separate from semantic order and Gerber colors. */
html[data-custom-accent]{--green:var(--user-accent);--lime:var(--user-accent)}
html[data-custom-accent] .button.primary{color:var(--accent-text)}
html[data-custom-accent] .button.primary:hover{background:var(--user-accent);border-color:var(--user-accent);filter:brightness(1.08)}
html[data-custom-accent] .nav-item.selected,html[data-custom-accent] .nav-item:hover,html[data-custom-accent] .avatar,html[data-custom-accent] .count,html[data-custom-accent] .schedule-tabs a[aria-current="page"],html[data-custom-accent] .receipts-view-switch button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-light);border-color:var(--user-accent)}
html[data-custom-accent] .eyebrow,html[data-custom-accent] .edit-link,html[data-custom-accent] .back,html[data-custom-accent] .sort-link:hover,html[data-custom-accent] .sort-link span,html[data-custom-accent] .schedule-info summary{color:var(--accent-light)}
html[data-custom-accent] input:focus,html[data-custom-accent] select:focus,html[data-custom-accent] textarea:focus,html[data-custom-accent] .schedule-tabs a:focus-visible{outline-color:var(--user-accent);border-color:var(--user-accent)}
html[data-custom-accent] .schedule-tabs a[aria-current="page"]:after{background:var(--user-accent)}
html[data-custom-accent] .schedule-context-menu>a:hover,html[data-custom-accent] .schedule-context-menu>a:focus{background:var(--accent-soft)}
.appearance-panel{margin-bottom:20px}.accent-field{margin-top:22px}.accent-field input[type=color]{width:90px;height:48px;padding:4px;cursor:pointer}.appearance-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Neutral custom-theme surfaces keep arbitrary accent hues coherent. */
html[data-custom-accent]{--bg:var(--theme-base);--ink:#ececee;--muted:#a4a5aa;--line:var(--theme-border)}
html[data-custom-accent] .sidebar{background:var(--theme-sidebar)}
html[data-custom-accent] :is(.panel,.stat){background:var(--theme-panel)}
html[data-custom-accent] :is(th,.panel-foot){background:var(--theme-sidebar);color:#aeb0b7}
html[data-custom-accent] td{border-bottom-color:var(--theme-border)}
html[data-custom-accent] :is(input:not([type=checkbox]),select,textarea){background:var(--theme-input);border-color:var(--theme-border)}
html[data-custom-accent] .legacy-schedule .schedule-cell{background:transparent;border-color:transparent}
html[data-custom-accent] .legacy-schedule .schedule-cell:focus{background:var(--theme-input);border-color:var(--user-accent)}
html[data-custom-accent] :is(.button:not(.primary),.sidebar-toggle){background:var(--theme-raised);border-color:var(--theme-border);color:#e4e4e8}
html[data-custom-accent] :is(.button:not(.primary):hover,.sidebar-toggle:hover){background:var(--theme-hover);border-color:var(--accent-light)}
html[data-custom-accent] .nav-item{color:#b1b2b8}
html[data-custom-accent] .nav-item:hover{background:var(--theme-raised);color:#ececee}
html[data-custom-accent] .nav-item.selected{background:var(--accent-soft);color:var(--accent-light);box-shadow:inset 3px 0 var(--user-accent)}
html[data-custom-accent] .schedule-tabs{border-color:var(--line)}
html[data-custom-accent] .schedule-tabs a[aria-current="page"]{border-color:var(--line);background:var(--accent-soft)}
html[data-custom-accent] .schedule-tabs a:hover{background:var(--theme-raised);color:var(--accent-light)}
html[data-custom-accent] .schedule-info summary{border-color:var(--theme-border);color:var(--accent-light)}
html[data-custom-accent] .schedule-info summary:hover{background:var(--accent-soft)}
html[data-custom-accent] :is(.schedule-context-menu,.schedule-info-content,.schedule-notes-tooltip,.schedule-status-dialog){background:var(--theme-raised);border-color:var(--theme-border)}
html[data-custom-accent] :is(.schedule-table .schedule-week-divider th,.receipts-table tfoot th,.receipts-table tfoot td,.legacy-schedule .schedule-value-total){background:var(--theme-raised);color:#bdc0c8}
html[data-custom-accent] .receipts-view-switch{background:var(--theme-input);border-color:var(--line)}
html[data-custom-accent] .order-row:hover{background:var(--theme-raised)}
html[data-custom-accent] .brand-mark{width:35px;height:35px;flex-shrink:0}
@media(max-width:760px){html[data-custom-accent] .brand-mark{width:29px;height:29px}}

.appearance-colors{display:flex;gap:32px;flex-wrap:wrap}

/* Screen-filling schedule when the navigation is collapsed. */
.schedule-short-label{display:none}
@media(min-width:1100px){
.sidebar-collapsed .main:has(.schedule-tabs){margin-left:36px;padding:16px 12px;max-width:none}
.sidebar-collapsed .main:has(.schedule-tabs) .page-header{margin:4px 0 14px;align-items:center}
.sidebar-collapsed .main:has(.schedule-tabs) h1{font-size:26px;margin:4px 0}
.sidebar-collapsed .main:has(.schedule-tabs) .eyebrow{display:none}
.sidebar-collapsed .main:has(.schedule-tabs) .schedule-tabs{margin-bottom:10px}
.sidebar-collapsed .main:has(.schedule-tabs) .schedule-tabs a{padding:8px 14px}
.sidebar-collapsed .schedule-filters{padding:9px 12px;margin-bottom:8px}
.sidebar-collapsed .legacy-schedule{table-layout:fixed;width:100%;min-width:1280px}
.sidebar-collapsed .legacy-schedule.schedule-mode-office{min-width:1740px}
.sidebar-collapsed .legacy-schedule .schedule-col-article_number{width:94px}
.sidebar-collapsed .legacy-schedule .schedule-col-number{width:90px}
.sidebar-collapsed .legacy-schedule .schedule-col-customer{width:90px}
.sidebar-collapsed .legacy-schedule :is(.schedule-col-quantity,.schedule-col-delivered,.schedule-col-open_quantity){width:46px}
.sidebar-collapsed .legacy-schedule .schedule-col-due_date{width:76px}
.sidebar-collapsed .legacy-schedule .schedule-col-calendar_week{width:52px}
.sidebar-collapsed .legacy-schedule .schedule-col-department{width:clamp(80px,5vw,96px)}
.sidebar-collapsed .legacy-schedule .schedule-col-comment{width:90px}
.sidebar-collapsed .legacy-schedule :is(.schedule-col-price,.schedule-col-value){width:86px}
.sidebar-collapsed .legacy-schedule .schedule-col-flag{width:64px}
.sidebar-collapsed .legacy-schedule .schedule-col-status{width:100px}
.sidebar-collapsed .legacy-schedule :is(td,th){padding-left:5px;padding-right:5px;overflow:hidden;text-overflow:ellipsis}
.sidebar-collapsed .legacy-schedule tr[data-entry]>td{font-size:12px;padding-top:3px;padding-bottom:3px}
.sidebar-collapsed .legacy-schedule .schedule-cell{width:100%;min-width:0;font-size:12px;padding:3px 1px;min-height:27px;height:27px;line-height:19px;text-overflow:ellipsis}
.sidebar-collapsed .legacy-schedule thead th{font-size:10px;letter-spacing:0;padding-top:8px;padding-bottom:8px}
.sidebar-collapsed .legacy-schedule .sort-link{gap:3px;max-width:100%}
.sidebar-collapsed .legacy-schedule .sort-link span{color:inherit}
.sidebar-collapsed .schedule-full-label{display:none}
.sidebar-collapsed .schedule-short-label{display:inline}
.sidebar-collapsed .legacy-schedule .schedule-week-divider th{padding:5px 10px}
}

@media(min-width:1600px){
.sidebar-collapsed .legacy-schedule.schedule-mode-production .schedule-col-description{width:18%}
.sidebar-collapsed .legacy-schedule.schedule-mode-production .schedule-col-customer{width:10%}
.sidebar-collapsed .legacy-schedule.schedule-mode-production .schedule-col-comment{width:10%}
}

/* Per-user light mode; semantic markings retain their fixed colors. */
.appearance-mode{display:flex;align-items:center;gap:10px;width:fit-content;cursor:pointer;margin-top:20px;font-weight:600;position:relative}
.appearance-mode input{position:absolute;opacity:0;width:44px;height:26px;min-height:0;margin:0}
.appearance-switch{width:44px;height:26px;border-radius:20px;background:var(--muted);padding:3px;display:block}
.appearance-switch:before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:white;transition:transform .15s}
.appearance-mode input:checked+.appearance-switch{background:var(--user-accent,#05a394)}
.appearance-mode input:checked+.appearance-switch:before{transform:translateX(18px)}
.appearance-mode input:focus-visible+.appearance-switch{outline:2px solid var(--ink);outline-offset:3px}
html[data-theme="light"]{color-scheme:light;--ink:#20242b;--muted:#555a64;--marking-base:#ffffff;--marking-text:#20242b}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"] :is(input,select,textarea,.nav-item,.button:not(.primary),.sidebar-toggle,th,.panel-foot,.panel-heading,.legacy-values dt,.schedule-context-menu,.schedule-context-menu a,.schedule-context-menu button,.schedule-info-content,.schedule-notes-tooltip,.schedule-status-dialog){color:var(--ink)}
html[data-theme="light"] :is(.schedule-table .schedule-week-divider th,.receipts-table tfoot th,.receipts-table tfoot td,.legacy-schedule .schedule-value-total){color:var(--ink)}
html[data-theme="light"] :is(.nav-item:hover,.notes-section-heading,.schedule-notes-tooltip section>.notes-section-heading){color:inherit}
html[data-theme="light"] :is(.notes-columns,.schedule-notes-tooltip .notes-comment>.notes-section-heading,#schedule-save-status){color:var(--muted)}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:var(--muted);opacity:1}
html[data-theme="light"] .legacy-schedule tr[style*="--entry-color"] td:not(.department-cell):not(.department-cell ~ td),html[data-theme="light"] .legacy-schedule :is(.late,.near){color:var(--ink)}
html[data-theme="light"] .legacy-schedule .late{background:#f5cdce}
html[data-theme="light"] .legacy-schedule .near{background:#f6e4b5}
html[data-theme="light"] .legacy-schedule .schedule-cell{color:inherit}
html[data-theme="light"] .legacy-schedule .schedule-cell:focus{color:var(--ink)}
html[data-theme="light"] .schedule-notes-tooltip section[style*="background"]{color:var(--ink)}
html[data-theme="light"] .schedule-notes-tooltip section>p{color:inherit}
html[data-theme="light"] :is(.viewer-toolbar,.file-sidebar){background:var(--theme-panel);color:var(--ink)}
html[data-theme="light"] input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--theme-input) inset;caret-color:var(--ink)}

/* Tab labels follow the selected surface palette instead of fixed dark-theme grey. */
html[data-custom-accent] .schedule-tabs a:not([aria-current="page"]){color:var(--muted)}
html[data-custom-accent] .schedule-tabs a:not([aria-current="page"]):hover{color:var(--ink)}
html[data-custom-accent] .schedule-tabs a[aria-current="page"]{color:var(--accent-light);font-weight:650}
html[data-custom-accent] .receipts-view-switch button:not([aria-pressed="true"]){color:var(--muted)}
html[data-custom-accent] .receipts-view-switch button:not([aria-pressed="true"]):hover{color:var(--ink)}

html[data-theme="light"] .legacy-schedule tr[style*="#e08080" i]{--marking-strength:58%}

/* Account summaries and badges use the personal theme as well. */
html[data-custom-accent] :is(.stat>span,.stat small,.person small,.you,.status,.logout,footer,footer span){color:var(--muted)}
html[data-custom-accent] .badge{background:var(--theme-raised);color:var(--ink)}
html[data-custom-accent] .badge.admin{background:var(--accent-soft);color:var(--accent-light)}
html[data-custom-accent] .status.active{color:var(--accent-light)}

#file-import-progress{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel,#152429);display:grid;gap:8px}#file-import-progress[hidden]{display:none}#file-import-label,#file-import-detail{font-size:14px;overflow-wrap:anywhere}#file-import-detail{color:var(--muted,#9aafac)}#file-import-bar{display:block;width:100%;height:8px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#33464a;accent-color:var(--green,#05a394)}#file-import-bar::-webkit-progress-bar{background:#33464a;border-radius:8px}#file-import-bar::-webkit-progress-value{background:var(--green,#05a394);border-radius:8px;transition:width .2s}#file-import-bar:indeterminate{background:linear-gradient(90deg,#33464a 25%,var(--green,#05a394) 50%,#33464a 75%);background-size:200% 100%;animation:import-progress 1.4s linear infinite}#file-import-bar:indeterminate::-webkit-progress-bar{background:transparent}@keyframes import-progress{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){#file-import-bar:indeterminate{animation:none}}

.layer-selection-actions{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.layer-selection-actions .button{flex:1;padding:7px 9px;font-size:14px;white-space:nowrap}

.layer-selection-actions label{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:14px}.layer-selection-actions input{width:17px;height:17px;margin:0;accent-color:var(--green,#05a394)}

#positions-panel[hidden]{display:none}#positions-panel{position:absolute;z-index:4;top:12px;right:12px;width:min(460px,calc(100% - 24px));max-height:calc(100% - 80px);overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:15px;box-shadow:0 8px 30px #0004;font-size:14px}#positions-panel .review-heading{position:sticky;top:-15px;background:var(--bg);padding:6px 0;z-index:1}#positions-panel .review-heading button{color:inherit}#positions-panel h3{font-size:13px;overflow-wrap:anywhere;margin:14px 0 8px;color:var(--muted)}#positions-panel table{width:100%;border-collapse:collapse;font-size:13px}#positions-panel th,#positions-panel td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}#positions-panel th:nth-child(2),#positions-panel td:nth-child(2){text-align:right;white-space:nowrap}

#positions-panel .positions-side{margin-top:12px}#positions-panel .positions-side summary{cursor:pointer;font-weight:700;padding:8px;border-bottom:1px solid var(--line)}

#positions-panel tbody tr{cursor:pointer}#positions-panel tbody tr:hover,#positions-panel tbody tr:focus{background:var(--line)}

#positions-panel .positions-toggle{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:14px}#positions-show-all{width:auto;min-height:0}

#positions-panel tbody tr.position-selected{background:var(--line);outline:2px solid #ff3064;outline-offset:-2px;font-weight:600}

button.layer-warning{border:1px solid #e4af38;background:#4b3911;color:#ffdc70;border-radius:50%;width:19px;height:19px;min-height:0;padding:0;line-height:17px;flex-shrink:0;cursor:help}

#file-content-dialog{width:min(1000px,92vw);max-height:90vh;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:18px}#file-content-dialog::backdrop{background:#0008}#file-content-title{overflow-wrap:anywhere}#file-content-dialog .review-heading button{color:inherit}#file-content-info{font-size:13px;color:var(--muted);margin:8px 0}#file-content-text{display:block;width:100%;height:65vh;resize:vertical;white-space:pre;overflow:auto;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:12px}

#pos-review{display:flex;flex-direction:column;max-height:calc(100% - 24px);overflow:hidden;padding:12px;gap:6px}
#pos-review .review-heading,#pos-review .pos-review-footer{flex-shrink:0}
#pos-review .pos-review-body{min-height:0;overflow-y:auto;padding-right:4px}
#pos-review .pos-review-footer{border-top:1px solid #385156;padding-top:6px;background:#132329}
#pos-review label{margin-top:6px;margin-bottom:3px;font-size:13px}
#pos-review #pos-filename{font-size:12px;line-height:1.35;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pos-review .help{margin:4px 0;font-size:12px;line-height:1.35}
#pos-review select,#pos-review .alignment-grid input{min-height:28px;padding:4px 6px;font-size:13px}
#pos-review .alignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
#pos-review details{padding:6px 0;margin-top:6px}
#pos-review .axis-flips{margin:6px 0;padding:4px 8px}
#pos-review .review-actions{margin:5px 0;gap:5px}
#pos-review .review-actions .button,#pos-review #pos-complete{padding:6px 8px;font-size:12px;min-height:30px}
#pos-review #pos-progress,#pos-review #pos-coordinates{margin:4px 0;line-height:1.35}
#pos-review #pos-checklist{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:12px;margin:5px 0}

#positions-panel{display:flex;flex-direction:column;overflow:hidden}#positions-panel .review-heading{position:static;flex-shrink:0}#positions-panel .positions-toggle{flex-shrink:0}#positions-content{min-height:0;overflow:auto;overscroll-behavior:contain}

#schedule-print-dialog{width:min(390px,calc(100vw - 32px));padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);box-shadow:0 16px 60px #0005}#schedule-print-dialog::backdrop{background:#0007}#schedule-print-dialog h2{margin:0 0 20px;font-size:20px}#schedule-print-dialog .field{margin:0 0 16px}#schedule-print-dialog select{width:100%}#schedule-print-dialog .form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:24px}#schedule-print-dialog .button{font-size:14px;padding:9px 12px}
#personal-settings{width:min(660px,calc(100vw - 32px));max-height:88vh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:24px}#personal-settings::backdrop{background:#0007}#personal-settings h2{margin-top:0}#personal-settings .muted{font-size:13px}#personal-settings .form-actions{display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:-24px;background:var(--bg);padding:16px 0}.personal-column-option{display:flex;align-items:center;gap:8px;margin:6px 0}.personal-column-option label{flex:1;display:flex;align-items:center;gap:8px;margin:0}.personal-column-option input[type=checkbox],#personal-only-mine{width:auto;min-height:0}.personal-column-option input[type=number]{width:78px}.personal-column-option .button{padding:5px 10px;min-height:32px}.personal-palette-option{display:flex;align-items:center;gap:8px;margin:8px 0}.personal-palette-option input[type=color]{width:52px;padding:3px;flex-shrink:0}.personal-palette-option input:not([type=color]){flex:1;min-width:0}#personal-settings-error{color:var(--ink)}.personal-schedule-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.personal-schedule-table .personal-note{display:block;width:100%;min-height:78px;resize:vertical;background:transparent;color:inherit;border:1px solid var(--line);border-radius:5px;padding:7px;font:inherit}.personal-note-status{font-size:12px;white-space:normal}.personal-schedule-table .schedule-cell{width:100%;min-width:0}.sidebar-collapsed .personal-schedule-table{table-layout:fixed}.personal-schedule-table tr[data-entry] td:not(.department-cell){background:color-mix(in srgb,var(--entry-color) var(--marking-strength,28%),var(--marking-base,#191c20))}

.personal-schedule-table .personal-note{height:30px;min-height:30px;resize:none;padding:4px 7px;overflow:hidden;white-space:pre}.personal-schedule-table .personal-note:focus{height:110px;overflow:auto;white-space:pre-wrap;resize:none}.personal-note-status:empty{display:none}
