:root{--bg:#070b13;--panel:#0c1421;--panel2:#111b2b;--line:#1e2d43;--text:#edf4ff;--muted:#8798af;--blue:#4f8cff;--cyan:#31c7d9;--green:#35d07f;--amber:#f3b64a;--red:#ff5f70;--purple:#9d78ff;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 5%,rgba(79,140,255,.08),transparent 26%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{transition:.18s ease}small{color:var(--muted)}h1,h2,h3,h4,p{overflow-wrap:anywhere}.muted-line{color:var(--muted);line-height:1.7}.gap-top{margin-top:18px}.top-space{margin-top:26px!important}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.25fr .75fr}.login-visual{padding:54px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(19,31,50,.96),rgba(6,10,17,.98)),radial-gradient(circle,var(--blue),transparent)}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:18px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));color:white;box-shadow:0 12px 35px rgba(79,140,255,.24)}.hero{max-width:720px}.hero h1{font-size:clamp(38px,5vw,72px);line-height:1.02;margin:0 0 22px}.hero p{font-size:19px;line-height:1.65;color:#9bacc3;max-width:650px}.login-panel{display:grid;place-items:center;padding:32px}.login-card{width:min(420px,100%);padding:34px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(18,29,46,.98),rgba(10,17,28,.98));box-shadow:0 35px 90px rgba(0,0,0,.3)}.login-card h2{font-size:30px;margin:0 0 7px}.login-card>p{margin:0 0 28px;color:var(--muted)}.field{display:grid;gap:7px;margin:16px 0}.field label,label{font-size:12px;font-weight:800;color:#a9b8cc}.field input,input,select,textarea{width:100%;padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:#09111d;outline:none}.field input:focus,input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,140,255,.1)}.primary-btn,.secondary-btn,.danger-btn,.link-btn{border-radius:11px;cursor:pointer;font-weight:800}.primary-btn{border:0;background:linear-gradient(135deg,var(--blue),#6a72ff);padding:11px 15px;color:#fff;box-shadow:0 10px 24px rgba(79,140,255,.2)}.primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.login-card .primary-btn{width:100%;margin-top:8px;padding:13px}.secondary-btn{border:1px solid var(--line);background:#101a2a;padding:10px 13px}.secondary-btn:hover{border-color:#3a4f70;background:#142137}.danger-btn{border:1px solid rgba(255,95,112,.35);background:rgba(255,95,112,.1);color:#ff9ca8;padding:10px 12px}.danger-btn:disabled{opacity:.35;cursor:not-allowed}.link-btn{border:0;background:transparent;color:#85aefe;padding:6px}.error{color:#ff91a0;font-size:13px;min-height:18px;margin-top:10px}.demo-note{margin-top:20px;padding:12px;border-radius:10px;background:#091320;color:var(--muted);font-size:12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:18px;border-right:1px solid var(--line);background:rgba(7,11,19,.93);backdrop-filter:blur(20px);overflow-y:auto}.sidebar .brand{padding:0 8px 24px}.nav{display:grid;gap:6px;padding-bottom:120px}.nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:11px 13px;border-radius:12px;cursor:pointer;color:var(--muted);text-align:left}.nav button.active,.nav button:hover{color:var(--text);background:#121d2d}.nav .icon{width:24px;text-align:center}.sidebar-footer{position:fixed;bottom:22px;left:18px;width:216px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0c1421;color:var(--muted);font-size:12px}.main{min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(7,11,19,.78);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.search{flex:1;max-width:620px;position:relative}.search input{padding-left:42px;background:#0c1421}.search::before{content:'⌕';position:absolute;left:15px;top:8px;font-size:22px;color:var(--muted)}.user{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;font-weight:900}.user-text small{display:block}.content{padding:30px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.page-head h1{margin:0 0 5px;font-size:30px}.page-head p{margin:0;color:var(--muted)}.health-chip{padding:10px 14px;border-radius:999px;border:1px solid rgba(53,208,127,.35);background:rgba(53,208,127,.1);color:#8ef0b8;font-weight:800}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(17,27,43,.96),rgba(12,20,33,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.18)}.stat{padding:19px;min-height:126px;position:relative;overflow:hidden}.stat::after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;top:-44px;right:-38px;background:var(--accent,var(--blue));opacity:.12}.stat .label{color:var(--muted);font-size:13px;font-weight:700}.stat .value{margin-top:18px;font-size:24px;font-weight:900}.stat .meta{margin-top:7px;color:#8091aa;font-size:12px}.grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.section{padding:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h2,.section-title h3{margin:0}.progress-shell{height:13px;border-radius:999px;background:#172338;overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan))}.machine-list,.alert-list,.material-list{display:grid;gap:12px}.machine-row,.alert-row,.material-row{padding:13px;border:1px solid #1e2d43;border-radius:13px;background:#0c1523}.machine-top,.material-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.machine-bar{margin-top:9px;height:7px;background:#18243a;border-radius:999px;overflow:hidden}.machine-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--blue))}.severity{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.severity.critical{background:var(--red);box-shadow:0 0 18px rgba(255,95,112,.65)}.severity.warning{background:var(--amber)}.severity.info{background:var(--blue)}.alert-row strong{display:block;margin-bottom:5px}.alert-row p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.compact-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:13px;border:1px solid var(--line);border-radius:12px;background:#0b1422;cursor:pointer;margin-bottom:9px}.compact-row:hover{border-color:#3b5070}.compact-row small{display:block;margin-top:4px}.compact-row .right{text-align:right}
.scheduler-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.scheduler-toolbar input,.scheduler-toolbar select{width:auto;min-width:210px}.scheduler{display:grid;grid-auto-flow:column;grid-auto-columns:285px;gap:14px;overflow-x:auto;padding-bottom:18px;scroll-snap-type:x proximity}.stage{min-height:610px;background:rgba(12,20,33,.8);border:1px solid var(--line);border-radius:16px;padding:13px;scroll-snap-align:start}.stage.drag-over{border-color:var(--blue);box-shadow:inset 0 0 0 2px rgba(79,140,255,.25)}.stage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.stage-head h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.07em}.count{min-width:28px;height:28px;border-radius:9px;background:#17243a;display:grid;place-items:center;color:#a9b8cd;font-size:12px;font-weight:800}.job-list{display:grid;gap:10px}.job{padding:13px;border:1px solid #263750;border-left:4px solid var(--priority-color,var(--blue));border-radius:13px;background:linear-gradient(180deg,#121d2e,#0d1725);cursor:grab}.job:active{cursor:grabbing}.job.dragging{opacity:.45}.job .job-id{color:#a6b6cc;font-size:11px;font-weight:800}.job h4{margin:7px 0 4px;font-size:14px}.job p{margin:0;color:var(--muted);font-size:12px}.job-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px;font-size:11px;color:#9fb0c7}.job-progress{height:5px;margin-top:11px;border-radius:999px;background:#1a2940;overflow:hidden}.job-progress span{display:block;height:100%;background:var(--priority-color,var(--blue))}.priority-urgent{--priority-color:var(--red)}.priority-high{--priority-color:var(--amber)}.priority-normal{--priority-color:var(--blue)}.priority-low{--priority-color:var(--green)}.empty-state{color:#66778f;border:1px dashed #263750;border-radius:12px;padding:20px 10px;text-align:center;font-size:12px}
.catalog-grid,.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-card{overflow:hidden}.product-visual{height:170px;padding:22px;display:flex;align-items:flex-end;background:linear-gradient(145deg,#25344b,#101824);position:relative}.product-visual::before{content:'';position:absolute;inset:25px 32px 18px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.045) 32%,transparent 32%,transparent 34%,rgba(255,255,255,.04) 34%,rgba(255,255,255,.04) 66%,transparent 66%,transparent 68%,rgba(255,255,255,.035) 68%);box-shadow:0 22px 35px rgba(0,0,0,.25)}.product-visual.walnut{background:linear-gradient(145deg,#4a352a,#171414)}.product-visual.grey{background:linear-gradient(145deg,#3e4651,#161c24)}.product-visual.oak{background:linear-gradient(145deg,#6b583c,#202018)}.product-visual.charcoal{background:linear-gradient(145deg,#353940,#101317)}.product-code{position:relative;z-index:1;padding:7px 10px;border-radius:9px;background:rgba(6,10,17,.76);font-size:12px;font-weight:900}.product-body{padding:18px}.product-body h3,.material-card h3{margin:0 0 6px}.product-body p{margin:0;color:var(--muted);font-size:13px}.product-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.metric{padding:10px;border-radius:10px;background:#0a1320;border:1px solid #1e2d43}.metric small{display:block;margin-bottom:4px}.product-actions{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap}.material-card{padding:18px}.material-card-head{display:flex;justify-content:space-between;gap:14px}.stock-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.stock-numbers div{padding:11px;border-radius:10px;background:#0a1320;border:1px solid #1e2d43}.stock-numbers small{display:block;margin-bottom:4px}.data-table{width:100%;border-collapse:collapse}.data-table th{color:var(--muted);font-size:12px;text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:14px 12px;border-bottom:1px solid #1b293d;font-size:13px;vertical-align:top}.data-table td small{display:block;margin-top:4px}.data-table.clickable tbody tr{cursor:pointer}.data-table.clickable tbody tr:hover{background:#101a2a}.status-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#15243a;font-size:11px;font-weight:900}.order-progress{width:120px;height:7px;background:#17243a;border-radius:999px;overflow:hidden;margin-bottom:5px}.order-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,5,10,.82);z-index:80;display:grid;place-items:center;padding:20px;overflow:auto}.modal-card{width:min(650px,100%);max-height:92vh;overflow:auto;padding:24px;border:1px solid #293d5a;border-radius:20px;background:linear-gradient(180deg,#111d2e,#09111c);box-shadow:0 35px 100px rgba(0,0,0,.55)}.modal-card.wide{width:min(1050px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.modal-head h2{margin:4px 0}.modal-head p{margin:4px 0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:7px}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.quote-line{display:grid;grid-template-columns:2.1fr .55fr 1fr 1fr 1fr 1fr;gap:10px;padding:14px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:#0a1320;align-items:end}.quote-line label{display:grid;gap:6px}.quote-line .span-2{grid-column:span 2}.quote-line .danger-btn{height:42px}.quote-total{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.quote-total div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0a1320}.quote-total small,.detail-grid small,.note-box small{display:block;margin-bottom:6px}.quote-total .grand{border-color:rgba(53,208,127,.4);background:rgba(53,208,127,.08)}.quote-total .grand strong{font-size:20px;color:#88efb4}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.detail-grid>div,.note-box{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0a1320}.note-box{margin-top:12px}.note-box p{margin:0;color:#c6d2e1}.search-results{display:grid;gap:9px}.search-results button{display:grid;grid-template-columns:100px 1fr 1.2fr;gap:12px;align-items:center;text-align:left;padding:13px;border:1px solid var(--line);border-radius:12px;background:#0a1320;cursor:pointer}.search-results button:hover{border-color:var(--blue)}.result-type{font-size:11px;font-weight:900;color:#83adff;text-transform:uppercase}.toast{position:fixed;right:24px;bottom:24px;padding:13px 16px;border-radius:12px;background:#14233a;border:1px solid #345077;box-shadow:0 20px 60px rgba(0,0,0,.34);z-index:100}
@media(max-width:1200px){.stats{grid-template-columns:repeat(3,1fr)}.stats.four{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.quote-line{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.catalog-grid,.material-grid{grid-template-columns:1fr}.data-table{min-width:850px}.table-wrap{overflow-x:auto}.detail-grid,.quote-total{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 14px}.content{padding:18px 14px}.stats,.stats.four,.stats.three{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}.user .user-text{display:none}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.quote-line{grid-template-columns:1fr 1fr}.quote-line .span-2{grid-column:1/-1}.search-results button{grid-template-columns:1fr}.modal-backdrop{padding:8px}.modal-card{padding:17px}}@media(max-width:520px){.stats,.stats.four,.stats.three{grid-template-columns:1fr}.quote-total,.detail-grid{grid-template-columns:1fr}.topbar .search{display:none}}
.product-visual.has-image{padding:0;background:#080d15;overflow:hidden}.product-visual.has-image::before{display:none}.product-visual.has-image img{width:100%;height:100%;object-fit:cover;display:block}.product-visual.has-image .product-code{position:absolute;left:18px;bottom:16px}.product-visual.large{height:270px;border-radius:16px}.product-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.product-detail-hero{display:grid;grid-template-columns:minmax(300px,.9fr) 1.25fr;gap:18px;align-items:start}.image-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.image-gallery figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0a1320}.image-gallery img{display:block;width:100%;height:180px;object-fit:cover}.image-gallery figcaption{padding:10px;color:var(--muted);font-size:12px}.upload-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#101a2a;color:var(--text);cursor:pointer}.image-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.image-editor-grid article{padding:10px;border:1px solid var(--line);border-radius:14px;background:#0a1320}.image-editor-grid img{width:100%;height:155px;object-fit:cover;border-radius:10px;margin-bottom:10px}.cut-settings{align-items:end}.approval-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;padding:12px;border:1px solid var(--line);border-radius:11px;background:#0a1320}.approval-check input{width:auto}.cut-rule-row,.bom-rule-row{display:grid;gap:12px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:#0a1320}.cut-rule-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cut-rule-main label,.bom-rule-row label{display:grid;gap:6px}.bom-rule-row{grid-template-columns:1.3fr 1.5fr .7fr .7fr 1fr auto;align-items:end}.cut-rule-row>.danger-btn{justify-self:end}.cut-config-inputs{grid-template-columns:1fr 1fr 1fr auto;align-items:end;margin-bottom:18px}.warning-banner{padding:13px 15px;margin:14px 0;border:1px solid rgba(243,182,74,.45);border-radius:12px;background:rgba(243,182,74,.09);color:#ffd793}.delta-add{color:#ffb0ba;font-weight:800}.delta-deduct{color:#8ae7b2;font-weight:800}code{padding:3px 6px;border-radius:6px;background:#07101c;color:#a9c6ff}.line-cutlist{height:42px}
@media(max-width:1100px){.product-detail-hero{grid-template-columns:1fr}.cut-rule-main{grid-template-columns:repeat(2,minmax(0,1fr))}.bom-rule-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cut-config-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.image-gallery,.image-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.product-title-row{display:block}.product-title-row .status-badge{margin-top:10px}.cut-rule-main,.bom-rule-row,.cut-config-inputs,.image-gallery,.image-editor-grid{grid-template-columns:1fr}.product-visual.large{height:220px}}

.cutlist-review{border:0;cursor:pointer;white-space:nowrap}.cutlist-review:hover{filter:brightness(1.18);transform:translateY(-1px);box-shadow:0 0 0 2px rgba(79,140,255,.16)}


/* Build 033: visual plywood sheet nesting */
.info-banner{padding:13px 15px;margin:14px 0;border:1px solid rgba(79,140,255,.38);border-radius:12px;background:rgba(79,140,255,.08);color:#cfe0ff}.nesting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px}.nesting-summary>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0a1320}.nesting-summary small{display:block;margin-bottom:5px}.nesting-summary strong{font-size:20px}.nesting-group{margin-top:26px}.sheet-plan{padding:16px;margin:14px 0 22px;border:1px solid #2b405e;border-radius:16px;background:linear-gradient(180deg,#0d1726,#08111d)}.sheet-plan-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.sheet-plan-head small{display:block;margin-top:4px}.nesting-svg{display:block;width:100%;height:auto;aspect-ratio:2/1;border-radius:10px;background:#08111e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.sheet-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.sheet-legend>div{display:grid;grid-template-columns:30px 1fr;column-gap:9px;padding:9px;border:1px solid #1e2d43;border-radius:10px;background:#091320}.sheet-legend strong{font-size:12px}.sheet-legend small{grid-column:2;line-height:1.45}.piece-number{grid-row:1/3;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#1b3150;font-weight:900;color:#dceaff}.offcut-list{margin-top:12px;padding:10px;border-radius:10px;background:#07101b;color:#91a3bb;font-size:12px;line-height:1.6}
@media(max-width:900px){.nesting-summary{grid-template-columns:repeat(2,1fr)}.sheet-legend{grid-template-columns:1fr}}
@media(max-width:520px){.nesting-summary{grid-template-columns:1fr}.sheet-plan{padding:10px}.sheet-plan-head{align-items:flex-start;flex-direction:column}}

/* Build 034: 3-head multiboring operator plans */
.drill-approval{margin:12px 0 14px}.drill-rule-row{display:grid;gap:12px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:#0a1320}.drill-rule-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.drill-rule-main label{display:grid;gap:6px}.drill-rule-row>.danger-btn{justify-self:end}.drill-config-inputs{grid-template-columns:1fr 1fr 1fr auto;align-items:end;margin-bottom:16px}.drill-panel-card{padding:16px;margin:18px 0 26px;border:1px solid #2b405e;border-radius:16px;background:linear-gradient(180deg,#0d1726,#08111d)}.drill-face-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.drilling-svg{display:block;width:100%;height:auto;max-height:520px;min-height:220px;border-radius:10px;background:#08111e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.invalid-hole{background:rgba(255,95,112,.08)}
@media(max-width:1100px){.drill-rule-main{grid-template-columns:repeat(2,minmax(0,1fr))}.drill-config-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.drill-rule-main,.drill-config-inputs{grid-template-columns:1fr}.drill-panel-card{padding:10px}}

/* Build 035: simple hole identification and Minifix standards */
.drill-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.drill-legend-item{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#091320}.drill-legend-item strong,.drill-legend-item small{display:block}.drill-legend-item small{line-height:1.45;margin-top:3px}.hole-symbol{--hole:#4f8cff;min-width:34px;height:34px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:var(--hole);color:#07101b;font-weight:950;border:2px solid rgba(255,255,255,.75);box-shadow:0 0 0 3px color-mix(in srgb,var(--hole) 18%,transparent)}.hole-symbol.shape-circle{border-radius:50%}.hole-symbol.shape-ring{border-radius:50%;background:#08111e;color:var(--hole);border:6px solid var(--hole)}.hole-symbol.shape-diamond{border-radius:5px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.hole-symbol.shape-square{border-radius:6px}.drill-rule-heading{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.drill-rule-heading>div{flex:1}.drill-rule-heading small{display:block;margin-top:4px;line-height:1.45}.drill-template-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:13px;margin:12px 0;border:1px solid rgba(79,140,255,.35);border-radius:13px;background:rgba(79,140,255,.07)}.drill-template-bar label{display:grid;gap:6px}.drill-template-bar small{grid-column:1/-1}.drill-standard-guide{padding:16px;margin:14px 0}.standard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.standard-grid>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#08111e}.standard-grid strong,.standard-grid span{display:block}.standard-grid span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.standard-warning{margin:12px 0 0;color:#ffd793;font-size:12px;line-height:1.55}.data-table .hole-symbol{min-width:42px;height:32px;font-size:11px}.data-table .shape-diamond{transform:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
@media(max-width:1100px){.drill-legend,.standard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drill-template-bar{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.drill-legend,.standard-grid,.drill-template-bar{grid-template-columns:1fr}.drill-rule-heading{align-items:flex-start;flex-wrap:wrap}.drill-template-bar small{grid-column:auto}}

/* Build 036 — production job packs */
.job-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.job-pack-card{padding:18px;display:flex;flex-direction:column;gap:14px}.job-pack-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.job-pack-head h3{margin:4px 0}.job-pack-head p{margin:0;color:var(--muted)}.pack-readiness{display:flex;flex-wrap:wrap;gap:8px}.pack-readiness span,.pack-approval span{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border)}.pack-readiness .ready,.pack-approval .ready{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.pack-readiness .missing{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.pack-readiness .review,.pack-approval .review{color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}.job-pack-title{padding:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.job-pack-title h2{margin:4px 0}.job-pack-title p{margin:0;color:var(--muted)}.pack-approval{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workflow-strip{display:grid;grid-template-columns:repeat(11,minmax(88px,1fr));gap:8px;margin:16px 0;overflow-x:auto;padding-bottom:4px}.process-step{min-width:88px;border:1px solid var(--border);border-radius:12px;padding:10px 8px;text-align:center;background:var(--panel)}.process-step span{display:block;font-size:18px;margin-bottom:4px}.process-step small{font-size:10px;line-height:1.2}.process-step.completed{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,var(--border))}.process-step.current{color:var(--cyan);box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 20%,transparent)}.process-step.pending{color:var(--muted)}.panel-label-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.panel-label{border:2px dashed var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px;background:var(--panel)}.panel-label h4{margin:2px 0}.panel-label span,.panel-label small,.panel-label code{font-size:11px;color:var(--muted)}.panel-label code{margin-top:4px;word-break:break-all}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.checklist-grid label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--panel)}.checklist-grid label span{font-size:20px;color:var(--muted)}.pack-size-inputs{align-items:end}.sticky-pack-actions{position:sticky;top:0;z-index:5;padding:10px 0;background:linear-gradient(var(--bg) 70%,transparent)}
@media(max-width:900px){.job-pack-title{align-items:flex-start;flex-direction:column}.pack-approval{justify-content:flex-start}.workflow-strip{grid-template-columns:repeat(11,100px)}}

/* Build 037 — Operator scan, live task control and automatic stage movement */
.operator-scan{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:24px;align-items:center;padding:22px}.operator-scan h2{margin:5px 0}.operator-scan p{margin:0;color:var(--muted);line-height:1.55}.scan-input-row{display:grid;grid-template-columns:1fr auto auto;gap:10px}.operator-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.operator-toolbar label{display:grid;gap:6px;min-width:280px}.operator-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.operator-job-list{display:grid;gap:11px}.operator-job-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#101b2c,#0a1421);cursor:pointer}.operator-job-card:hover{border-color:#405777;transform:translateY(-1px)}.operator-job-main{display:flex;align-items:flex-start;gap:12px}.operator-job-main h3{margin:4px 0}.operator-job-main p{margin:0;color:var(--muted);font-size:12px}.status-dot{--status:var(--blue);width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--status);box-shadow:0 0 15px color-mix(in srgb,var(--status) 70%,transparent)}.operator-job-side{display:grid;justify-items:end;gap:5px;white-space:nowrap}.operator-job-side .live-timer{font-size:20px;font-weight:900}.issue-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px;margin-bottom:10px;border:1px solid rgba(255,95,112,.25);border-radius:12px;background:rgba(255,95,112,.055)}.issue-row small{display:block;margin-top:4px}.issue-row p{margin:7px 0;color:#d5dfed;line-height:1.45}.operator-job-hero{display:grid;grid-template-columns:260px 1fr;gap:18px}.operator-state{--status:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px;padding:20px;border:1px solid color-mix(in srgb,var(--status) 40%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--status) 8%,#0b1422)}.operator-state>strong{margin:8px 0;color:var(--status);font-size:25px}.operator-big-timer{font-size:38px;font-weight:950}.operator-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.timeline-list{display:grid;gap:10px}.timeline-list>div{display:grid;grid-template-columns:18px 1fr;gap:9px;padding:11px;border-left:2px solid var(--line)}.timeline-list>div>span{color:var(--blue)}.timeline-list small{display:block;margin-top:4px}.timeline-list p{margin:5px 0 0;color:var(--muted)}.code128{display:block;width:100%;max-width:520px;height:auto;margin:12px auto;border-radius:6px;background:#fff}.panel-label .code128{margin:7px 0 1px;max-height:52px}.scan-video{display:block;width:100%;max-height:65vh;object-fit:cover;border:1px solid var(--line);border-radius:14px;background:#02050a}
@media(max-width:1000px){.operator-scan,.operator-layout,.operator-job-hero{grid-template-columns:1fr}.scan-input-row{grid-template-columns:1fr 1fr}.scan-input-row input{grid-column:1/-1}.operator-state{min-height:160px}}
@media(max-width:620px){.scan-input-row{grid-template-columns:1fr}.scan-input-row input{grid-column:auto}.operator-toolbar{align-items:stretch;flex-direction:column}.operator-toolbar label{min-width:0;width:100%}.operator-job-card{align-items:flex-start;flex-direction:column}.operator-job-side{justify-items:start}.operator-actions>*{width:100%}}

/* Build 038 — mobile phone camera scanning and local-network operator access */
.camera-btn{border:1px solid rgba(49,199,217,.45);background:linear-gradient(135deg,rgba(49,199,217,.18),rgba(79,140,255,.18));color:#baf7ff;padding:10px 13px;border-radius:11px;cursor:pointer;font-weight:900}.camera-btn:hover{border-color:var(--cyan);transform:translateY(-1px)}.mobile-help-button{margin-top:7px;text-align:left}.mobile-scanner-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scanner-mode-card{position:relative;padding:18px;border:1px solid var(--line);border-radius:16px;background:#091320;overflow:hidden}.scanner-mode-card h3{margin:8px 0}.scanner-mode-card p{color:var(--muted);line-height:1.55}.scanner-disabled{opacity:.72}.mode-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(49,199,217,.1);border:1px solid rgba(49,199,217,.3);color:#a9f3fb;font-size:11px;font-weight:900}.capture-label{display:inline-flex;align-items:center;justify-content:center;margin:7px 0;cursor:pointer}.barcode-photo-preview{display:block;width:100%;max-height:260px;object-fit:contain;margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#03070d}.scanner-status{min-height:42px;margin:10px 0 0!important;color:#a7b8ce!important;font-size:12px}.scanner-status.scan-error{color:#ff9ca8!important}.live-scanner-target{position:relative;min-height:250px;margin-top:12px;border:1px dashed #35506f;border-radius:14px;background:#03070d;overflow:hidden;display:grid;place-items:center}.live-scanner-target video,.live-scanner-target canvas{width:100%!important;height:100%!important;max-height:440px;object-fit:cover}.scanner-crosshair{position:absolute;inset:28% 8%;display:grid;place-items:center;border:3px solid var(--cyan);border-radius:12px;color:white;font-size:12px;font-weight:900;text-shadow:0 2px 8px #000;background:rgba(0,0,0,.08);pointer-events:none}.mobile-access-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 18px}.mobile-access-steps>div{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#091320}.mobile-access-steps b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white}.mobile-access-steps span{font-size:12px;line-height:1.45;color:#c5d1e0}.network-url-list{display:grid;gap:9px}.network-url{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#07101c;cursor:pointer;text-align:left}.network-url:hover{border-color:var(--blue)}.network-url code{font-size:15px;color:#aee8ff;word-break:break-all}.network-url span{color:var(--blue);font-weight:900}.secure-context-note{margin-top:16px;padding:14px;border:1px solid rgba(243,182,74,.28);border-radius:12px;background:rgba(243,182,74,.07)}.secure-context-note p{margin:6px 0 0;color:#d5c39f;line-height:1.55}.secondary-btn:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:900px){.mobile-scanner-grid{grid-template-columns:1fr}.mobile-access-steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.mobile-access-steps{grid-template-columns:1fr}.camera-btn{width:100%}.modal-card.wide{width:96vw;padding:14px}.scanner-mode-card{padding:14px}.live-scanner-target{min-height:220px}}


/* Build 039 — installable mobile app, stage checklists and supervisor approval */
.install-app-btn{border:1px solid rgba(49,199,217,.42);background:rgba(49,199,217,.11);color:#bff9ff;padding:9px 12px;border-radius:10px;font-weight:900;cursor:pointer}.install-app-btn:hover{border-color:var(--cyan)}
.stage-guide{margin:18px 0;padding:18px;border:1px solid rgba(79,140,255,.3);border-radius:16px;background:linear-gradient(135deg,rgba(79,140,255,.08),rgba(49,199,217,.045))}.stage-guide h3{margin:4px 0}.stage-guide p{margin:0;color:var(--muted)}.stage-guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.stage-guide-steps label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#081321;cursor:pointer}.stage-guide-steps input{width:21px;height:21px;accent-color:var(--green);flex:0 0 auto}.stage-guide-steps span{display:flex;gap:9px;line-height:1.45}.stage-guide-steps b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(79,140,255,.18);color:#bcd4ff;flex:0 0 auto}.approval-waiting{padding:11px 14px;border:1px solid rgba(49,199,217,.36);border-radius:11px;background:rgba(49,199,217,.08);color:#baf8ff;font-weight:900}.approval-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;margin-bottom:10px;border:1px solid rgba(49,199,217,.26);border-radius:13px;background:rgba(49,199,217,.05)}.approval-row p{margin:6px 0 0;color:var(--muted)}
@media(max-width:760px){.stage-guide-steps{grid-template-columns:1fr}.topbar .user-text{display:none}.install-app-btn{padding:8px 9px;font-size:12px}.approval-row{flex-direction:column}.approval-row .quick-actions{width:100%}.approval-row .quick-actions button{flex:1}}

/* Build 040 — mobile photo evidence, QC release and defect/rework tracking */
.evidence-capture{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:18px 0;padding:16px;border:1px solid rgba(49,199,217,.3);border-radius:15px;background:linear-gradient(135deg,rgba(49,199,217,.07),rgba(79,140,255,.05))}.evidence-capture h3{margin:4px 0}.evidence-capture p{margin:0;color:var(--muted);line-height:1.5}.evidence-capture-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.evidence-preview{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.evidence-preview span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#081321;color:#b9c8db;font-size:11px}.photo-count{display:inline-flex;align-items:center;padding:7px 9px;border-radius:999px;background:rgba(49,199,217,.08);border:1px solid rgba(49,199,217,.25);color:#b7f8ff;font-size:11px;font-weight:900}.evidence-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}.evidence-photo{position:relative;min-height:120px;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#050a12;cursor:pointer}.evidence-photo img{width:100%;height:140px;object-fit:cover;display:block}.evidence-photo span{position:absolute;left:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:rgba(0,0,0,.72);font-size:10px;font-weight:900}.empty-evidence{padding:18px;border:1px dashed #31435e;border-radius:12px;color:var(--muted);text-align:center}.evidence-full{display:block;width:100%;max-height:75vh;object-fit:contain;border-radius:14px;background:#02050a}.review-checklist{display:grid;gap:8px;margin:12px 0 20px}.review-checklist>div{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;background:#091321}.review-checklist span{color:var(--green);font-weight:950}.quality-job-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#091321;margin-bottom:10px}.quality-job-row small{display:block;margin-top:5px}.defect-card{padding:14px;border:1px solid rgba(255,95,112,.28);border-radius:14px;background:rgba(255,95,112,.05);margin-bottom:12px}.defect-head,.defect-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.defect-head small{display:block;margin-top:4px}.defect-card>p{line-height:1.55;color:#d8e1ee}.defect-footer{align-items:center;margin-top:12px}.defect-footer small{max-width:70%;line-height:1.5}
@media(max-width:760px){.evidence-capture{grid-template-columns:1fr}.evidence-capture-btn{width:100%}.quality-job-row,.defect-head,.defect-footer{align-items:stretch;flex-direction:column}.quality-job-row .quick-actions,.quality-job-row .quick-actions button,.defect-footer button{width:100%}.defect-footer small{max-width:none}.evidence-photo img{height:115px}}

/* Build 041 — Appearance Studio and company-wide themes */
:root{
  --theme-bg:#070b13;--theme-panel:#0c1421;--theme-panel2:#111b2b;--theme-input:#09111d;--theme-row:#0c1523;--theme-hover:#121d2d;--theme-line:#1e2d43;--theme-line-strong:#344a68;--theme-text:#edf4ff;--theme-muted:#8798af;--theme-soft:#a9b8cc;--theme-shadow:rgba(0,0,0,.22);--theme-sidebar:rgba(7,11,19,.93);--theme-topbar:rgba(7,11,19,.78);--theme-card-start:rgba(17,27,43,.96);--theme-card-end:rgba(12,20,33,.96);--theme-job-start:#121d2e;--theme-job-end:#0d1725;color-scheme:dark
}
html[data-theme="timber"]{
  --theme-bg:#100d09;--theme-panel:#1a1510;--theme-panel2:#231c15;--theme-input:#120f0b;--theme-row:#1d1711;--theme-hover:#2a2118;--theme-line:#3b3024;--theme-line-strong:#66513b;--theme-text:#f7efe5;--theme-muted:#ab9982;--theme-soft:#d2c1ad;--theme-shadow:rgba(0,0,0,.32);--theme-sidebar:rgba(16,13,9,.96);--theme-topbar:rgba(16,13,9,.88);--theme-card-start:rgba(36,29,21,.98);--theme-card-end:rgba(24,19,14,.98);--theme-job-start:#2a2118;--theme-job-end:#19130e;color-scheme:dark
}
html[data-theme="studio"]{
  --theme-bg:#f2f5f8;--theme-panel:#ffffff;--theme-panel2:#f6f8fb;--theme-input:#ffffff;--theme-row:#f8fafc;--theme-hover:#eaf0f6;--theme-line:#d8e0e9;--theme-line-strong:#aab8c8;--theme-text:#172132;--theme-muted:#687588;--theme-soft:#4c5c70;--theme-shadow:rgba(42,58,79,.1);--theme-sidebar:rgba(255,255,255,.96);--theme-topbar:rgba(255,255,255,.9);--theme-card-start:rgba(255,255,255,.99);--theme-card-end:rgba(248,250,252,.99);--theme-job-start:#ffffff;--theme-job-end:#f5f8fb;color-scheme:light
}
html[data-theme="contrast"]{
  --theme-bg:#000000;--theme-panel:#080808;--theme-panel2:#111111;--theme-input:#000000;--theme-row:#0a0a0a;--theme-hover:#1d1d1d;--theme-line:#f0f0f0;--theme-line-strong:#ffffff;--theme-text:#ffffff;--theme-muted:#d0d0d0;--theme-soft:#ffffff;--theme-shadow:rgba(0,0,0,.5);--theme-sidebar:#000000;--theme-topbar:#000000;--theme-card-start:#111111;--theme-card-end:#050505;--theme-job-start:#151515;--theme-job-end:#050505;color-scheme:dark
}
html[data-radius="rounded"]{--radius:18px;--control-radius:12px}
html[data-radius="soft"]{--radius:10px;--control-radius:8px}
html[data-radius="square"]{--radius:3px;--control-radius:2px}
body{background:radial-gradient(circle at 80% 5%,color-mix(in srgb,var(--blue) 9%,transparent),transparent 28%),var(--theme-bg);color:var(--theme-text)}
small,.muted-line,.page-head p,.alert-row p,.job p,.login-card>p,.stage-guide p,.approval-row p,.evidence-capture p{color:var(--theme-muted)}
.field label,label{color:var(--theme-soft)}
.login-visual{background:linear-gradient(145deg,color-mix(in srgb,var(--theme-panel2) 96%,transparent),color-mix(in srgb,var(--theme-bg) 98%,transparent)),radial-gradient(circle,var(--blue),transparent)}
.login-card,.card{background:linear-gradient(180deg,var(--theme-card-start),var(--theme-card-end));border-color:var(--theme-line);box-shadow:0 18px 50px var(--theme-shadow)}
input,select,textarea,.field input{background:var(--theme-input);border-color:var(--theme-line);color:var(--theme-text);border-radius:var(--control-radius)}
.secondary-btn,.upload-btn{background:var(--theme-panel2);border-color:var(--theme-line);color:var(--theme-text);border-radius:var(--control-radius)}
.secondary-btn:hover,.upload-btn:hover{background:var(--theme-hover);border-color:var(--theme-line-strong)}
.primary-btn,.danger-btn,.link-btn,.camera-btn,.install-app-btn{border-radius:var(--control-radius)}
.sidebar{background:var(--theme-sidebar);border-color:var(--theme-line)}
.sidebar-footer{background:var(--theme-panel);border-color:var(--theme-line);color:var(--theme-muted)}
.nav button{color:var(--theme-muted);border-radius:var(--control-radius)}
.nav button.active,.nav button:hover{color:var(--theme-text);background:var(--theme-hover)}
.topbar{background:var(--theme-topbar);border-color:var(--theme-line)}
.search input{background:var(--theme-panel)}
.machine-row,.alert-row,.material-row,.compact-row,.stage-guide-steps label,.review-checklist>div,.quality-job-row,.mobile-access-steps>div,.scanner-mode-card,.issue-row,.image-gallery figure,.note-box,.detail-grid>div,.metric,.stock-numbers>div,.checklist-grid>label,.process-step,.drill-face-block,.drill-panel-card,.job-pack-card,.panel-label,.approval-row{background:var(--theme-row);border-color:var(--theme-line)}
.compact-row:hover,.network-url:hover{border-color:var(--theme-line-strong)}
.progress-shell,.machine-bar,.job-progress{background:color-mix(in srgb,var(--theme-panel2) 75%,var(--theme-line))}
.stage{background:color-mix(in srgb,var(--theme-panel) 88%,transparent);border-color:var(--theme-line)}
.count{background:var(--theme-panel2);color:var(--theme-soft)}
.job{border-color:var(--theme-line-strong);background:linear-gradient(180deg,var(--theme-job-start),var(--theme-job-end))}
.job .job-id,.job-meta,.stat .meta{color:var(--theme-muted)}
.empty-state,.empty-evidence{color:var(--theme-muted);border-color:var(--theme-line-strong)}
.modal-backdrop{background:rgba(0,0,0,.7)}
.modal-card{background:linear-gradient(180deg,var(--theme-card-start),var(--theme-card-end));border:1px solid var(--theme-line);color:var(--theme-text)}
.table-wrap{border-color:var(--theme-line)}
.data-table th{background:var(--theme-panel2);color:var(--theme-soft)}
.data-table td{border-color:var(--theme-line)}
.data-table tr:hover td{background:color-mix(in srgb,var(--blue) 5%,var(--theme-row))}
.toast{background:var(--theme-text);color:var(--theme-bg);box-shadow:0 16px 50px var(--theme-shadow)}
.product-visual{background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 18%,var(--theme-panel2)),var(--theme-panel))}
.product-visual.has-image{background:var(--theme-panel)}
.operator-state{background:color-mix(in srgb,var(--status) 8%,var(--theme-row))}
.scanner-mode-card,.mobile-access-steps>div,.network-url,.barcode-photo-preview,.live-scanner-target,.scan-video,.evidence-photo,.evidence-full{background:var(--theme-input)}

/* Theme-specific refinements */
html[data-theme="studio"] .brand-mark,html[data-theme="studio"] .avatar{color:#fff}
html[data-theme="studio"] .health-chip{color:#087b43}
html[data-theme="studio"] .danger-btn{color:#b42335}
html[data-theme="studio"] .login-visual{color:#fff;background:linear-gradient(145deg,#1f2937,#101827),radial-gradient(circle,var(--blue),transparent)}
html[data-theme="studio"] .login-visual small,html[data-theme="studio"] .hero p{color:#c8d4e3}
html[data-theme="studio"] .code128,html[data-theme="studio"] .nesting-svg,html[data-theme="studio"] .drilling-svg{box-shadow:0 5px 20px rgba(42,58,79,.08)}
html[data-theme="contrast"] body{font-size:17px}
html[data-theme="contrast"] .card,html[data-theme="contrast"] .stage,html[data-theme="contrast"] input,html[data-theme="contrast"] select,html[data-theme="contrast"] textarea,html[data-theme="contrast"] .secondary-btn{border-width:2px}
html[data-theme="contrast"] .nav button.active{outline:2px solid var(--blue)}
html[data-theme="contrast"] .muted-line,html[data-theme="contrast"] small,html[data-theme="contrast"] .page-head p{color:#e4e4e4}
html[data-theme="timber"] .brand-mark,html[data-theme="timber"] .avatar{box-shadow:0 12px 35px color-mix(in srgb,var(--blue) 25%,transparent)}

/* Density */
html[data-density="compact"] .content{padding:20px}
html[data-density="compact"] .topbar{height:64px}
html[data-density="compact"] .section{padding:15px}
html[data-density="compact"] .stat{padding:14px;min-height:104px}
html[data-density="compact"] .stat .value{margin-top:10px}
html[data-density="compact"] .machine-row,html[data-density="compact"] .alert-row,html[data-density="compact"] .material-row,html[data-density="compact"] .compact-row{padding:9px 11px}
html[data-density="compact"] .nav button{padding:8px 10px}
html[data-density="compact"] .scheduler{grid-auto-columns:260px}
html[data-density="compact"] .stage{padding:9px;min-height:560px}
html[data-density="compact"] .job{padding:10px}

/* Compact sidebar */
@media(min-width:801px){
  html[data-sidebar="compact"] .app-shell{grid-template-columns:88px minmax(0,1fr)}
  html[data-sidebar="compact"] .sidebar{padding:16px 12px}
  html[data-sidebar="compact"] .sidebar .brand{justify-content:center;padding:0 0 22px}
  html[data-sidebar="compact"] .sidebar .brand span{display:none}
  html[data-sidebar="compact"] .nav button{font-size:0;justify-content:center;padding:11px}
  html[data-sidebar="compact"] .nav .icon{font-size:18px;width:auto}
  html[data-sidebar="compact"] .sidebar-footer{display:none}
}

/* Appearance Studio */
.appearance-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;align-items:start}
.appearance-controls,.appearance-live{min-height:600px}
.theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.theme-option{position:relative;display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto auto;gap:3px 13px;align-items:center;text-align:left;padding:13px;border:1px solid var(--theme-line);border-radius:var(--radius);background:var(--theme-row);color:var(--theme-text);cursor:pointer}
.theme-option:hover,.theme-option.selected{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 16%,transparent)}
.theme-option strong{align-self:end}.theme-option small{line-height:1.4}.theme-selected{position:absolute;right:10px;top:9px;color:var(--blue);font-size:10px;font-weight:900;text-transform:uppercase}
.theme-preview{grid-row:1/3;width:82px;height:64px;padding:8px;border-radius:10px;display:grid;grid-template-columns:18px 1fr;grid-template-rows:12px 1fr;gap:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.theme-preview::before{content:'';grid-row:1/3;border-radius:4px}.theme-preview i{display:block;border-radius:3px}.theme-preview i:first-of-type{grid-column:2}.theme-preview i:nth-of-type(2),.theme-preview i:nth-of-type(3){grid-row:2}
.theme-preview-graphite{background:#070b13}.theme-preview-graphite::before{background:#111b2b}.theme-preview-graphite i{background:#1e2d43}.theme-preview-graphite i:nth-of-type(2){background:#4f8cff}
.theme-preview-timber{background:#100d09}.theme-preview-timber::before{background:#231c15}.theme-preview-timber i{background:#3b3024}.theme-preview-timber i:nth-of-type(2){background:#d99b32}
.theme-preview-studio{background:#f2f5f8;box-shadow:inset 0 0 0 1px #d8e0e9}.theme-preview-studio::before{background:#fff}.theme-preview-studio i{background:#d8e0e9}.theme-preview-studio i:nth-of-type(2){background:#4f8cff}
.theme-preview-contrast{background:#000;box-shadow:inset 0 0 0 2px #fff}.theme-preview-contrast::before{background:#111;border:1px solid #fff}.theme-preview-contrast i{background:#fff}.theme-preview-contrast i:nth-of-type(2){background:#ffcc00}
.accent-picker{display:flex;gap:9px;flex-wrap:wrap}.accent-option{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--theme-line);border-radius:999px;background:var(--theme-row);color:var(--theme-text);cursor:pointer}.accent-option.selected{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 16%,transparent)}.accent-dot{width:16px;height:16px;border-radius:50%}.accent-blue{background:#4f8cff}.accent-emerald{background:#22b982}.accent-amber{background:#d99b32}.accent-purple{background:#8a6cff}
.appearance-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.appearance-form label{display:grid;gap:7px}
.mini-os-preview{height:330px;display:grid;grid-template-columns:58px 1fr;border:1px solid var(--theme-line);border-radius:var(--radius);overflow:hidden;background:var(--theme-bg);box-shadow:0 18px 45px var(--theme-shadow)}
.mini-sidebar{padding:10px 8px;display:grid;align-content:start;gap:10px;background:var(--theme-sidebar);border-right:1px solid var(--theme-line)}.mini-logo{height:36px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff;font-weight:900;font-size:11px}.mini-sidebar span{height:22px;border-radius:6px;background:var(--theme-panel2)}.mini-sidebar span.active{background:var(--blue)}
.mini-main{padding:12px}.mini-top{height:34px;display:flex;justify-content:space-between}.mini-top span{width:55%;height:16px;border-radius:8px;background:var(--theme-panel2)}.mini-top i{width:24px;height:24px;border-radius:50%;background:var(--blue)}.mini-title{width:38%;height:20px;margin:14px 0;background:var(--theme-text);opacity:.8;border-radius:6px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-stats article,.mini-grid article{border:1px solid var(--theme-line);background:linear-gradient(180deg,var(--theme-card-start),var(--theme-card-end));border-radius:calc(var(--radius) * .65)}.mini-stats article{height:70px}.mini-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8px;margin-top:9px}.mini-grid article{height:145px;padding:12px}.mini-grid b,.mini-grid span{display:block;height:8px;border-radius:4px;background:var(--theme-panel2);margin-bottom:10px}.mini-grid b{width:45%;background:var(--blue)}
.appearance-notes{display:grid;gap:10px;margin-top:16px}.appearance-notes>div{display:flex;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--theme-line);border-radius:var(--control-radius);background:var(--theme-row)}.appearance-notes span{color:var(--theme-muted);text-align:right;font-size:12px}
@media(max-width:1100px){.appearance-layout{grid-template-columns:1fr}.appearance-live{min-height:auto}}
@media(max-width:700px){.theme-picker,.appearance-form{grid-template-columns:1fr}.theme-option{grid-template-columns:72px 1fr}.theme-preview{width:72px}.appearance-notes>div{flex-direction:column}.appearance-notes span{text-align:left}}
:root{--bg:var(--theme-bg);--panel:var(--theme-panel);--panel2:var(--theme-panel2);--line:var(--theme-line);--text:var(--theme-text);--muted:var(--theme-muted)}

/* Build 042 — Company logo and branding */
.brand-lockup{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--theme-text)}
.company-logo-frame{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid color-mix(in srgb,var(--theme-line) 70%,#fff);box-shadow:0 10px 30px var(--theme-shadow)}
.company-logo-frame img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.login-brand{align-self:flex-start}.login-company-logo{width:min(360px,50vw);height:180px;border-radius:18px;padding:12px}
.sidebar-brand{padding:0 4px 22px;min-width:0}.sidebar-company-logo{width:58px;height:48px;border-radius:12px;padding:5px;flex:0 0 auto}.sidebar-brand>span{font-size:17px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-login-brand{display:none;justify-content:center;margin-bottom:22px}.mobile-company-logo{width:220px;height:120px;border-radius:16px;padding:9px}
.brand-studio{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;padding:16px;border:1px solid var(--theme-line);border-radius:var(--radius);background:var(--theme-row)}
.brand-upload-preview{min-height:220px;display:grid;place-items:center;border:1px dashed var(--theme-line-strong);border-radius:var(--control-radius);background:color-mix(in srgb,var(--theme-panel2) 70%,#fff 30%);padding:14px}.appearance-company-logo{width:100%;height:190px;border-radius:12px;padding:10px;box-shadow:none}
.brand-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.brand-fields label{display:grid;gap:7px}.brand-fields label:nth-child(3),.brand-upload-actions,.brand-fields>.muted-line{grid-column:1/-1}.brand-upload-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.brand-upload-actions .camera-btn{width:auto;margin:0}
.mini-logo{padding:4px;background:#fff!important}.mini-logo img{width:100%;height:100%;object-fit:contain;border-radius:5px}
.brand-document-preview{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;margin-top:16px;padding:16px;border:1px solid var(--theme-line);border-radius:var(--control-radius);background:var(--theme-row)}.document-preview-logo{width:140px;height:85px;border-radius:10px;padding:7px;box-shadow:none}.brand-document-preview section{display:flex;flex-direction:column;gap:4px}.brand-document-preview section strong{font-size:18px}.brand-document-preview section span{color:var(--theme-muted);font-size:12px}.brand-document-preview section b{margin-top:8px;color:var(--blue);font-size:13px;letter-spacing:.08em}
html[data-sidebar="compact"] .sidebar-brand{justify-content:center;padding:0 0 22px}html[data-sidebar="compact"] .sidebar-brand>span{display:none}html[data-sidebar="compact"] .sidebar-company-logo{width:58px;height:48px}
@media(max-width:900px){.brand-studio{grid-template-columns:1fr}.brand-upload-preview{min-height:180px}.appearance-company-logo{height:165px}}
@media(max-width:800px){.mobile-login-brand{display:flex}.login-card{padding-top:24px}}
@media(max-width:650px){.brand-fields{grid-template-columns:1fr}.brand-fields label:nth-child(3),.brand-upload-actions,.brand-fields>.muted-line{grid-column:auto}.brand-document-preview{grid-template-columns:1fr;text-align:center}.document-preview-logo{margin:auto}.brand-upload-actions{align-items:stretch}.brand-upload-actions>*{width:100%!important}}

/* Build 043 — Data Safety & Backup Center */
.backup-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.backup-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-bottom:18px}
.backup-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.import-backup-label{width:auto;margin:0;cursor:pointer}
.safety-note{margin-top:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--amber) 55%,var(--theme-line));border-radius:var(--control-radius);background:color-mix(in srgb,var(--amber) 9%,var(--theme-row));color:var(--theme-muted);line-height:1.55}.safety-note strong{color:var(--amber)}
.health-list{display:grid;gap:0}.health-list>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--theme-line)}.health-list>div:last-child{border-bottom:0}.health-list span{color:var(--theme-muted)}.health-list strong{text-align:right;max-width:60%;overflow-wrap:anywhere}
.backup-table-wrap{overflow:auto}.backup-table{min-width:760px}.backup-table td:first-child strong,.backup-table td:first-child small{display:block}.backup-table td:first-child small{margin-top:4px;color:var(--theme-muted);max-width:340px;overflow-wrap:anywhere}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.status-pill.automatic{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.status-pill.manual{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}.status-pill.before-restore,.status-pill.before-import{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.export-data-card{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;text-align:left;padding:14px;border:1px solid var(--theme-line);border-radius:var(--control-radius);background:var(--theme-row);color:var(--theme-text);cursor:pointer}.export-data-card:hover{border-color:var(--blue);transform:translateY(-1px)}.export-data-card>span{grid-row:1/3;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue);font-size:22px}.export-data-card small{color:var(--theme-muted)}
@media(max-width:1100px){.backup-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-grid{grid-template-columns:1fr}}
@media(max-width:700px){.backup-stats,.export-grid{grid-template-columns:1fr}.backup-actions>*{width:100%!important}.health-list>div{flex-direction:column;gap:5px}.health-list strong{text-align:left;max-width:100%}}

/* Build 044 — Live multi-device sync and cloud foundation */
.live-sync-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--theme-line);background:var(--theme-row);color:var(--theme-muted);border-radius:999px;padding:8px 11px;cursor:pointer;white-space:nowrap}.live-sync-chip i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 12%,transparent)}.live-sync-chip.connected{color:var(--green);border-color:color-mix(in srgb,var(--green) 38%,var(--theme-line))}.live-sync-chip.connected i{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 13%,transparent)}.live-sync-chip.update{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 50%,var(--theme-line));animation:sync-pulse 1.5s infinite}.live-sync-chip.update i{background:var(--amber)}
@keyframes sync-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 10%,transparent)}}
.sync-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sync-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px;margin-bottom:18px}.access-link-list{display:grid;gap:10px}.access-link-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--theme-line);border-radius:var(--control-radius);background:var(--theme-row)}.access-link-list span{min-width:0;display:grid;gap:4px}.access-link-list small{color:var(--theme-muted);overflow-wrap:anywhere}.sync-storage-badge{padding:7px 10px;border-radius:999px;font-size:11px;letter-spacing:.11em;font-weight:900}.sync-storage-badge.local{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}.sync-storage-badge.cloud{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 35%,transparent)}
.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.device-grid article{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--theme-line);border-radius:var(--control-radius);background:var(--theme-row)}.device-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);font-size:23px}.device-grid article div{display:grid;gap:3px;min-width:0}.device-grid article small{color:var(--theme-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-grid article>i{font-style:normal;font-weight:900;font-size:10px;letter-spacing:.12em;color:var(--green)}
.cloud-next-card{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,var(--theme-panel)),var(--theme-panel))}.cloud-next-card h2{margin:5px 0 8px}.cloud-next-card p{color:var(--theme-muted);line-height:1.55;margin:0}.cloud-next-card>div>small{color:var(--blue);letter-spacing:.12em;font-weight:900}.cloud-checks{display:grid;gap:9px}.cloud-checks span{padding:10px 12px;border:1px solid var(--theme-line);border-radius:var(--control-radius);background:var(--theme-row);color:var(--green);font-weight:750}
@media(max-width:1100px){.sync-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-grid,.cloud-next-card{grid-template-columns:1fr}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.live-sync-chip span{display:none}.live-sync-chip{padding:9px}.sync-stats,.device-grid{grid-template-columns:1fr}.access-link-list>div{align-items:flex-start;flex-direction:column}.access-link-list button{width:100%}.device-grid article{grid-template-columns:44px 1fr}.device-grid article>i{grid-column:2}.cloud-next-card{gap:14px}}


/* Build 046 — Factory Command Center base */
.command-center{display:flex;flex-direction:column;gap:18px}.command-eyebrow{display:block;color:var(--primary);font-weight:800;letter-spacing:.16em;margin-bottom:7px}.command-page-head{align-items:flex-start}.command-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.command-clock{display:flex;flex-direction:column;align-items:flex-end;min-width:112px;margin-right:4px}.command-clock strong{font-size:22px;letter-spacing:.04em}.command-clock small{color:var(--muted)}
.command-status-strip{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:12px}.command-status-strip>article{min-height:106px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-lg);padding:17px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center}.command-status-strip>article>small{font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:800}.command-status-strip>article>strong{font-size:28px;margin:6px 0 3px}.command-status-strip>article>span{font-size:12px;color:var(--muted)}.command-status-strip .command-health{flex-direction:row;align-items:center;gap:15px}.health-orb{width:66px;height:66px;flex:0 0 66px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;background:conic-gradient(var(--green) calc(var(--health,96)*1%),rgba(255,255,255,.08) 0);position:relative}.health-orb:before{content:"";position:absolute;inset:6px;background:var(--panel);border-radius:50%}.health-orb strong,.health-orb span{position:relative;z-index:1}.health-orb strong{font-size:25px}.health-orb span{font-size:11px}.command-health.warning .health-orb{background:conic-gradient(var(--amber) 70%,rgba(255,255,255,.08) 0)}.command-health.critical .health-orb{background:conic-gradient(var(--red) 45%,rgba(255,255,255,.08) 0)}.command-health>div:last-child{display:flex;flex-direction:column}.command-health>div:last-child small{font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:800}.command-health>div:last-child strong{font-size:18px;margin:4px 0}.command-health>div:last-child span{font-size:12px;color:var(--muted)}
.command-grid{display:grid;gap:16px}.command-grid-top{grid-template-columns:1.15fr .9fr .95fr}.command-grid-main{grid-template-columns:1.65fr .8fr}.command-grid-bottom{grid-template-columns:1fr 1fr}.command-target-card,.command-bottleneck-card,.command-money-card{padding:20px}.target-visual{display:flex;align-items:center;gap:24px;margin-top:18px}.target-ring{--target:0deg;width:126px;height:126px;border-radius:50%;background:conic-gradient(var(--primary) var(--target),rgba(128,145,170,.14) 0);display:grid;place-items:center;flex:0 0 auto}.target-ring:before{content:"";width:94px;height:94px;border-radius:50%;background:var(--panel);grid-area:1/1}.target-ring>div{grid-area:1/1;display:flex;flex-direction:column;align-items:center;z-index:1}.target-ring strong{font-size:25px}.target-ring span{font-size:11px;color:var(--muted)}.target-details{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:13px}.target-details>div:not(.mini-progress){display:flex;flex-direction:column}.target-details span{font-size:11px;color:var(--muted)}.target-details strong{font-size:20px;margin-top:4px}.mini-progress{grid-column:1/-1;height:7px;border-radius:999px;background:rgba(128,145,170,.15);overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px}.bottleneck-name{margin:25px 0 16px}.bottleneck-name span{display:block;color:var(--muted);font-size:12px}.bottleneck-name strong{display:block;font-size:29px;margin-top:4px}.bottleneck-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.bottleneck-numbers div{padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);text-align:center}.bottleneck-numbers strong{display:block;font-size:20px}.bottleneck-numbers span{font-size:10px;color:var(--muted)}.command-bottleneck-open{width:100%}.money-control{display:grid;gap:10px;margin-top:16px}.money-control>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.money-control span{color:var(--muted);font-size:12px}.money-control strong{font-size:17px}.money-control .outstanding strong{color:var(--amber)}
.command-department-board{overflow:hidden}.board-legend{display:flex;gap:12px;color:var(--muted);font-size:11px}.board-legend span{display:flex;align-items:center;gap:5px}.board-legend i{width:7px;height:7px;border-radius:50%;background:var(--green)}.board-legend i.approval{background:var(--cyan)}.board-legend i.blocked{background:var(--red)}.command-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.command-stage-card{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-md);padding:14px;text-align:left;color:var(--text);cursor:pointer;transition:.18s transform,.18s border-color}.command-stage-card:hover{transform:translateY(-2px);border-color:var(--primary)}.command-stage-card.has-blocked{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 50%,transparent)}.command-stage-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.command-stage-head span{font-size:12px;font-weight:750}.command-stage-head strong{font-size:22px}.command-load-track{height:5px;border-radius:999px;background:rgba(128,145,170,.15);overflow:hidden;margin:11px 0}.command-load-track i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px}.command-stage-meta{display:grid;grid-template-columns:1fr;gap:3px;font-size:10px;color:var(--muted)}
.command-priority{min-width:0}.command-table-wrap{overflow:auto;margin-top:4px}.command-table{min-width:760px}.command-job-row{cursor:pointer}.command-job-row:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.tiny-progress{height:4px;width:96px;background:rgba(128,145,170,.14);border-radius:999px;overflow:hidden;margin-top:6px}.tiny-progress i{height:100%;display:block;background:var(--primary)}.risk-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.risk-pill.critical{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.risk-pill.warning{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.risk-pill.info{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.attention-count{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red);font-weight:800}.command-alert-list{max-height:410px;overflow:auto}.dispatch-list,.activity-list{display:flex;flex-direction:column}.dispatch-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.dispatch-row>div{display:flex;flex-direction:column;gap:4px}.dispatch-row>div:last-child{align-items:flex-end}.dispatch-row small{color:var(--muted)}.stage-chip{font-size:10px;font-weight:800;color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,transparent);padding:4px 8px;border-radius:999px}.activity-row{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 4px color-mix(in srgb,var(--secondary) 13%,transparent)}.activity-row>div{display:flex;flex-direction:column;gap:3px}.activity-row small,.activity-row time{color:var(--muted);font-size:11px}
html[data-wallboard="true"] .sidebar,html[data-wallboard="true"] .topbar{display:none}html[data-wallboard="true"] .main{margin:0;width:100%}html[data-wallboard="true"] .content{padding:18px;max-width:none}html[data-wallboard="true"] .command-center{font-size:105%}html[data-wallboard="true"] .command-page-head p{display:none}html[data-wallboard="true"] body{overflow:auto}
@media(max-width:1300px){.command-status-strip{grid-template-columns:repeat(3,1fr)}.command-status-strip .command-health{grid-column:span 2}.command-grid-top{grid-template-columns:1fr 1fr}.command-money-card{grid-column:1/-1}.command-stage-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.command-status-strip{grid-template-columns:1fr 1fr}.command-status-strip .command-health{grid-column:1/-1}.command-grid-top,.command-grid-main,.command-grid-bottom{grid-template-columns:1fr}.command-stage-grid{grid-template-columns:repeat(2,1fr)}.command-head-actions{justify-content:flex-start}.command-clock{align-items:flex-start}.target-visual{align-items:flex-start}.target-details{grid-template-columns:1fr}}
@media(max-width:560px){.command-status-strip{grid-template-columns:1fr 1fr}.command-status-strip>article{min-height:92px;padding:13px}.command-status-strip>article>strong{font-size:23px}.command-stage-grid{grid-template-columns:1fr 1fr}.target-visual{flex-direction:column}.target-ring{width:110px;height:110px}.target-ring:before{width:82px;height:82px}.command-head-actions .secondary-btn,.command-head-actions .primary-btn{flex:1}.command-clock{width:100%;margin-bottom:5px}.command-status-strip .command-health{flex-direction:column;align-items:flex-start}.bottleneck-numbers{grid-template-columns:1fr 1fr}}

.stage.focus-stage{outline:2px solid var(--primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 12%,transparent)}

/* Build 046 — Command Center drill-down details */
.command-status-strip>button{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--radius-lg);padding:17px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;text-align:left;font:inherit;min-height:106px}
.command-status-strip>button.command-health{flex-direction:row;align-items:center;justify-content:flex-start;gap:15px}
.command-click-card{cursor:pointer;position:relative;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.command-click-card:hover,.command-click-card:focus-visible{transform:translateY(-2px);border-color:var(--primary)!important;box-shadow:0 12px 32px color-mix(in srgb,var(--primary) 10%,transparent);outline:none}
.command-detail-hint{display:block;margin-top:9px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.04em;color:var(--primary)!important;opacity:.9}
.command-health .command-detail-hint{margin-top:6px!important}
.target-details>button{appearance:none;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-2);color:var(--text);padding:11px;text-align:left;display:flex;flex-direction:column;cursor:pointer;transition:border-color .16s ease,background .16s ease}
.target-details>button:hover,.target-details>button:focus-visible{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--panel-2));outline:none}
.target-details>button span{font-size:11px;color:var(--muted)}.target-details>button strong{font-size:20px;margin-top:4px}
.bottleneck-numbers button{appearance:none;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;background:var(--panel-2);color:var(--text);cursor:pointer;font:inherit}
.bottleneck-numbers button:hover,.bottleneck-numbers button:focus-visible{border-color:var(--primary);outline:none}.bottleneck-numbers button strong{display:block;font-size:20px}.bottleneck-numbers button span{font-size:10px;color:var(--muted)}
.money-control>button{appearance:none;display:flex;align-items:center;justify-content:space-between;padding:12px 9px;border:0;border-bottom:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.money-control>button:hover,.money-control>button:focus-visible{background:color-mix(in srgb,var(--primary) 7%,transparent);outline:none}.money-control>button span{color:var(--muted);font-size:12px}.money-control>button strong{font-size:17px}.money-control>button.outstanding strong{color:var(--amber)}
.command-stage-card .command-detail-hint{margin-top:8px!important}.command-stage-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.command-detail-head{position:sticky;top:0;z-index:2;background:var(--panel);padding-bottom:14px;border-bottom:1px solid var(--line)}
.command-detail-body{display:flex;flex-direction:column;gap:14px;max-height:72vh;overflow:auto;padding:4px 3px 10px}.command-detail-body h3{margin:8px 0 0}
.command-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.command-detail-summary article{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column}.command-detail-summary small{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.08em}.command-detail-summary strong{font-size:24px;margin:6px 0 3px}.command-detail-summary span{font-size:11px;color:var(--muted)}
.command-detail-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md)}.command-detail-table{min-width:840px;margin:0}.command-detail-table th{position:sticky;top:0;background:var(--panel-2);z-index:1}.command-detail-row{cursor:pointer}.command-detail-row:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.command-balance{color:var(--amber)}
.command-device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.command-device-list article{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-2);padding:13px}.command-device-list article>div{display:flex;flex-direction:column;gap:3px}.command-device-list small{color:var(--muted)}.command-device-list i{font-style:normal;font-size:10px;font-weight:800;color:var(--green)}
.command-full-activity{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.command-full-activity article{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:13px;border-bottom:1px solid var(--line)}.command-full-activity article:last-child{border-bottom:0}.command-full-activity article>div{display:flex;flex-direction:column;gap:3px}.command-full-activity small,.command-full-activity time{color:var(--muted);font-size:11px}
@media(max-width:760px){.command-detail-summary{grid-template-columns:1fr 1fr}.command-device-list{grid-template-columns:1fr}.command-detail-head{position:static}.command-detail-body{max-height:none}.command-status-strip>button{min-height:92px;padding:13px}}
@media(max-width:480px){.command-detail-summary{grid-template-columns:1fr}.command-status-strip>button.command-health{flex-direction:column;align-items:flex-start}.command-detail-head .quick-actions{width:100%}.command-detail-head .quick-actions button{flex:1}}

/* Build 047 — Command Center Action Center */
.command-filter-bar{display:grid;grid-template-columns:1.15fr repeat(5,minmax(125px,1fr)) auto;gap:10px;align-items:end;padding:14px 16px;position:sticky;top:68px;z-index:5;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(16px)}
.command-filter-bar .filter-title{display:flex;flex-direction:column;gap:3px;align-self:center}.command-filter-bar .filter-title small{color:var(--muted);font-size:11px}.command-filter-bar label{font-size:10px;color:var(--muted);font-weight:750}.command-filter-bar select,.command-filter-bar input{margin-top:5px;padding:9px 10px;min-width:0}.command-filter-bar .custom-date{display:none}.command-filter-bar .custom-date.show{display:block}
.command-action-layout{display:grid;grid-template-columns:1.55fr .75fr;gap:16px}.command-action-center,.management-notes{min-width:0}.command-action-list,.management-note-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto;padding-right:2px}.command-action-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-md);padding:12px}.command-action-row .action-severity{width:8px;height:100%;min-height:48px;border-radius:999px;background:var(--amber)}.command-action-row.severity-critical .action-severity{background:var(--red)}.action-copy{min-width:0}.action-copy>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-copy p{margin:4px 0;color:var(--muted);font-size:12px}.action-copy small{color:var(--muted);font-size:10px}.action-buttons{display:flex;gap:7px}.action-buttons button{white-space:nowrap}.detail-actions{max-height:none}
.management-note{position:relative;border:1px solid var(--line);background:var(--panel-2);border-left:4px solid var(--primary);border-radius:var(--radius-md);padding:12px 42px 12px 12px}.management-note.priority-high{border-left-color:var(--amber)}.management-note.priority-critical{border-left-color:var(--red)}.management-note>div{display:flex;justify-content:space-between;gap:8px}.management-note>div strong{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.management-note>div span,.management-note small{font-size:10px;color:var(--muted)}.management-note p{font-size:13px;line-height:1.45;margin:8px 0}.management-note .command-note-archive{position:absolute;right:9px;bottom:8px}
.command-capacity-line{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px;margin-top:8px}.command-stage-card.is-overload{border-color:color-mix(in srgb,var(--red) 55%,var(--line));background:color-mix(in srgb,var(--red) 5%,var(--panel-2))}.command-stage-card.is-overload .command-load-track i{background:linear-gradient(90deg,var(--amber),var(--red))}.overload-label{display:inline-block;margin-top:7px;color:var(--red);font-size:10px}.prediction-table{min-width:1080px}.late-text{color:var(--red)}
.order-timeline-list{display:flex;flex-direction:column;gap:10px}.order-timeline-card{appearance:none;width:100%;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:var(--radius-md);padding:14px;text-align:left;cursor:pointer}.order-timeline-card:hover{border-color:var(--primary)}.timeline-order-head,.timeline-dates{display:flex;justify-content:space-between;gap:12px;align-items:center}.timeline-order-head>div{display:flex;flex-direction:column;gap:3px}.timeline-order-head small,.timeline-dates{color:var(--muted);font-size:10px}.timeline-stage-track{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:15px 0 11px}.timeline-stage{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.timeline-stage i{display:block;width:100%;height:7px;border-radius:999px;background:rgba(128,145,170,.18)}.timeline-stage small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.timeline-stage.done i{background:var(--green)}.timeline-stage.active i{background:var(--primary)}.timeline-stage.approval i{background:var(--cyan)}.timeline-stage.blocked i{background:var(--red)}.timeline-stage.pending i{background:rgba(128,145,170,.18)}
.command-analytics-grid{grid-template-columns:1.15fr .85fr}.trend-legend{display:flex;gap:10px;color:var(--muted);font-size:10px}.trend-legend span{display:flex;gap:5px;align-items:center}.trend-legend i{width:8px;height:8px;border-radius:2px;background:var(--line)}.trend-legend i.actual{background:var(--primary)}.trend-chart{height:230px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end;padding:18px 8px 2px;border-bottom:1px solid var(--line)}.trend-day{height:100%;display:grid;grid-template-rows:1fr auto auto auto;align-items:end;text-align:center;gap:4px}.trend-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:5px}.trend-bars i{display:block;width:14px;border-radius:4px 4px 0 0;min-height:2px}.trend-bars .target{background:rgba(128,145,170,.28)}.trend-bars .actual{background:linear-gradient(180deg,var(--secondary),var(--primary))}.trend-day strong{font-size:12px}.trend-day span{font-size:10px;color:var(--muted)}.trend-day em{font-style:normal;font-size:8px;color:var(--red)}
.operator-performance-list{display:flex;flex-direction:column}.operator-performance-row{appearance:none;display:grid;grid-template-columns:minmax(0,1fr) repeat(3,70px);gap:8px;align-items:center;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.operator-performance-row:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}.operator-performance-row>div{display:flex;flex-direction:column}.operator-performance-row small{color:var(--muted);font-size:9px}.operator-performance-row>span{text-align:center;font-weight:800}.operator-performance-row>span small{display:block;font-weight:500}.operator-performance-row .bad{color:var(--red)}
.action-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.action-source-box{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);background:var(--panel-2);padding:14px;border-radius:var(--radius-md);margin-top:14px}.action-source-box small,.action-source-box span{color:var(--muted);font-size:10px}.action-comment-history{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto}.action-comment-history article{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-md);padding:11px}.action-comment-history article strong{font-size:11px}.action-comment-history article time{float:right;font-size:9px;color:var(--muted)}.action-comment-history article p{margin:7px 0 0;font-size:12px;line-height:1.45}.capacity-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.capacity-setting-row{display:grid;grid-template-columns:minmax(120px,1fr) 1fr 1fr;gap:8px;align-items:end;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-md);padding:10px}.capacity-setting-row label{font-size:9px;color:var(--muted)}.capacity-setting-row input{margin-top:4px;padding:8px}.timeline-modal-track{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.timeline-modal-track article{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.timeline-modal-track i{width:100%;height:9px;border-radius:999px;background:var(--line)}.timeline-modal-track .done i{background:var(--green)}.timeline-modal-track .active i{background:var(--primary)}.timeline-modal-track .approval i{background:var(--cyan)}.timeline-modal-track .blocked i{background:var(--red)}.timeline-modal-track strong{font-size:9px}.timeline-modal-track span{font-size:8px;color:var(--muted);text-transform:uppercase}
@media(max-width:1300px){.command-filter-bar{grid-template-columns:repeat(4,1fr);position:static}.command-filter-bar .filter-title{grid-column:1/-1}.command-action-layout{grid-template-columns:1fr}.command-analytics-grid{grid-template-columns:1fr}}
@media(max-width:800px){.command-filter-bar{grid-template-columns:1fr 1fr}.command-action-row{grid-template-columns:7px 1fr}.action-buttons{grid-column:2;justify-content:flex-start}.action-manage-grid{grid-template-columns:1fr}.capacity-settings{grid-template-columns:1fr}.timeline-stage-track,.timeline-modal-track{overflow:auto;display:flex}.timeline-stage,.timeline-modal-track article{min-width:72px}.timeline-dates{align-items:flex-start;flex-direction:column}.operator-performance-row{grid-template-columns:1fr repeat(3,55px)}}
@media(max-width:520px){.command-filter-bar{grid-template-columns:1fr}.command-action-row{grid-template-columns:7px 1fr}.action-buttons{grid-column:1/-1}.action-buttons button{flex:1}.capacity-setting-row{grid-template-columns:1fr 1fr}.capacity-setting-row>strong{grid-column:1/-1}.trend-chart{gap:5px}.trend-bars i{width:9px}.operator-performance-row{grid-template-columns:1fr 45px 45px 45px}}

/* Build 048 — Production Planning Board */
.planner-page-head{align-items:flex-end}.planner-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:16px;position:sticky;top:0;z-index:10}.planner-view-tabs{display:flex;gap:5px;padding:4px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px}.planner-view-tabs button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:9px;font-weight:800;cursor:pointer}.planner-view-tabs button.active{background:var(--blue);color:#fff}.planner-week-controls{display:flex;align-items:center;gap:8px}.planner-week-controls strong{min-width:205px;text-align:center;font-size:13px}.planner-kpis{margin-bottom:16px}.planner-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}.planner-backlog{padding:14px;position:sticky;top:72px;max-height:calc(100vh - 98px);overflow:hidden}.planner-backlog .section-title{margin-bottom:10px}.planner-backlog>input{width:100%;margin-bottom:10px}.planner-backlog-list{display:grid;gap:9px;overflow:auto;max-height:calc(100vh - 220px);padding-right:3px}.planner-unscheduled-card{border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--panel-2);border-radius:12px;padding:11px;cursor:grab;transition:.18s ease}.planner-unscheduled-card:hover{transform:translateY(-1px);border-color:var(--blue)}.planner-unscheduled-card.priority-urgent{border-left-color:var(--red)}.planner-unscheduled-card.priority-high{border-left-color:var(--amber)}.planner-unscheduled-card.priority-low{border-left-color:var(--green)}.planner-unscheduled-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-unscheduled-card h4{margin:8px 0 3px;font-size:13px}.planner-unscheduled-card p,.planner-unscheduled-card small{margin:0;color:var(--muted);font-size:11px}.planner-week-board{display:grid;grid-template-columns:repeat(7,minmax(210px,1fr));gap:10px;overflow-x:auto;padding-bottom:10px}.planner-day-column{min-height:610px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--panel) 88%,transparent);padding:10px;transition:.18s ease}.planner-day-column.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--blue) 65%,transparent);background:color-mix(in srgb,var(--blue) 6%,var(--panel))}.planner-day-column.drag-over{border-color:var(--blue);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--blue) 32%,transparent)}.planner-day-column>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 2px 9px}.planner-day-column>header div{display:grid}.planner-day-column>header small{color:var(--blue);font-weight:900;letter-spacing:.08em}.planner-day-column>header strong{font-size:14px}.planner-day-column>header>span{font-size:10px;color:var(--muted);text-align:right}.planner-day-conflicts{font-size:10px;color:var(--muted);padding:6px 8px;background:var(--panel-2);border-radius:8px;margin-bottom:8px}.planner-day-list{display:grid;gap:8px}.planner-drop-placeholder{border:1px dashed var(--line);border-radius:11px;padding:28px 8px;text-align:center;color:var(--muted);font-size:11px}.planner-entry-card{border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--panel-2);border-radius:12px;padding:10px;cursor:grab;transition:.18s ease}.planner-entry-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 70%,var(--line))}.planner-entry-card.dragging,.planner-unscheduled-card.dragging{opacity:.35}.planner-entry-card.status-running{border-left-color:var(--green)}.planner-entry-card.status-blocked{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--panel-2))}.planner-entry-card.status-approval{border-left-color:var(--amber)}.planner-entry-card.status-done{opacity:.65;border-left-color:var(--green)}.planner-entry-card.status-paused{border-left-color:var(--purple)}.planner-entry-card.has-conflict{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 55%,transparent)}.planner-entry-card.planner-dim{opacity:.18}.planner-entry-top,.planner-entry-foot,.planner-entry-meta{display:flex;align-items:center;justify-content:space-between;gap:6px}.planner-entry-top{margin-bottom:7px}.planner-entry-top span,.planner-entry-top b{font-size:10px}.planner-entry-top i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font-style:normal;font-size:11px;font-weight:900}.planner-entry-card>strong{display:block;font-size:12px;line-height:1.3}.planner-entry-card>small{display:block;color:var(--muted);font-size:10px;margin:3px 0 8px}.planner-entry-meta{display:grid;grid-template-columns:1fr;gap:3px;padding:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.planner-entry-meta span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-entry-foot{margin-top:7px}.planner-entry-foot span{font-size:9px}.planner-entry-foot .status-badge{font-size:8px}.planner-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.planner-stage-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.planner-stage-summary{display:grid;text-align:left;gap:3px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:11px;border-radius:11px;cursor:pointer}.planner-stage-summary:hover{border-color:var(--blue)}.planner-stage-summary strong{font-size:19px}.planner-stage-summary small{color:var(--muted)}.planner-conflict-list,.planner-conflict-modal-list{display:grid;gap:8px}.planner-conflict{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}.planner-conflict>i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--amber);color:#111;font-style:normal;font-weight:900}.planner-conflict.critical>i{background:var(--red);color:#fff}.planner-conflict strong{font-size:12px}.planner-conflict p,.planner-conflict small{display:block;margin:2px 0 0;color:var(--muted);font-size:10px}.planner-modal-summary{display:grid;gap:3px;background:var(--panel-2);border:1px solid var(--line);padding:11px;border-radius:11px;margin-top:12px}.planner-modal-summary span{color:var(--muted);font-size:11px}.planner-machine-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-machine-settings textarea{min-height:55px}
@media(max-width:1300px){.planner-week-board{grid-template-columns:repeat(7,220px)}.planner-stage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.planner-backlog{position:static;max-height:none}.planner-backlog-list{max-height:330px}.planner-toolbar{position:static;align-items:stretch;flex-direction:column}.planner-week-controls{justify-content:space-between}.planner-lower-grid{grid-template-columns:1fr}.planner-head-actions{justify-content:flex-start}.planner-machine-settings{grid-template-columns:1fr}.planner-week-board{grid-template-columns:repeat(7,235px)}}


/* Build 049 — Command Center Receivables & Payables */
.command-cash-section{margin-top:18px;overflow:hidden;position:relative}
.command-cash-section:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--green),var(--amber),var(--red))}
.command-cash-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.cash-control-card{border:1px solid var(--border);background:var(--panel-2);border-radius:var(--radius);padding:18px;text-align:left;min-height:142px;display:flex;flex-direction:column;gap:8px;cursor:pointer;color:var(--text);transition:.18s ease;position:relative;overflow:hidden}
.cash-control-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--blue)}
.cash-control-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}
.cash-control-card small{font-weight:800;letter-spacing:.08em;color:var(--muted)}
.cash-control-card strong{font-size:clamp(22px,2.4vw,34px);line-height:1.1}
.cash-control-card span:not(.command-detail-hint){font-size:12px;color:var(--muted);line-height:1.5}
.cash-control-card.collect:before,.cash-control-card.received:before{background:var(--green)}
.cash-control-card.payable:before{background:var(--red)}
.cash-control-card.paid:before{background:var(--amber)}
.cash-control-card.net:before{background:var(--blue)}
.cash-control-card.net.negative strong{color:var(--red)}
.command-cash-preview{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.command-cash-preview h3{margin:0 0 10px;font-size:14px}
.command-cash-preview>div>button{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;text-align:left;padding:10px 4px;cursor:pointer}
.command-cash-preview>div>button:hover{background:var(--panel-2)}
.command-cash-preview span{display:flex;flex-direction:column;gap:3px}.command-cash-preview small{color:var(--muted)}.command-cash-preview b{font-size:15px}
.command-modal-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.compact-payment-btn{padding:8px 11px;font-size:12px;white-space:nowrap}
.payment-balance-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}
.payment-balance-preview span{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px}.payment-balance-preview strong{color:var(--text);font-size:15px}
@media(max-width:1200px){.command-cash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-control-card.net{grid-column:span 2}}
@media(max-width:760px){.command-cash-grid{grid-template-columns:1fr 1fr}.cash-control-card.net{grid-column:1/-1}.command-cash-preview{grid-template-columns:1fr}.payment-balance-preview{grid-template-columns:1fr}.command-cash-section .section-title{align-items:flex-start}.command-cash-section .quick-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.command-cash-section .quick-actions button{width:100%}}
@media(max-width:480px){.command-cash-grid{grid-template-columns:1fr}.cash-control-card.net{grid-column:auto}.command-cash-section .quick-actions{grid-template-columns:1fr}}

/* Build 050 — Profit, Expense & Cash-Flow Control */
/* Build 051 — Material Planning & Purchase Control additions follow later in this file */
.finance-command-section{margin-top:18px;overflow:hidden;position:relative}.finance-command-section:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--blue),var(--green),var(--amber),var(--red))}.finance-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:17px 0}.finance-kpi{appearance:none;min-height:132px;padding:17px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);color:var(--text);text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;position:relative;overflow:hidden;transition:.18s ease}.finance-kpi:before{content:"";height:4px;position:absolute;inset:0 0 auto;background:var(--blue)}.finance-kpi.inflow:before,.finance-kpi.available:before{background:var(--green)}.finance-kpi.outflow:before{background:var(--red)}.finance-kpi.projected:before{background:var(--blue)}.finance-kpi.profit:before{background:var(--amber)}.finance-kpi:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}.finance-kpi small{font-weight:850;letter-spacing:.075em;color:var(--muted)}.finance-kpi strong{font-size:clamp(21px,2.15vw,31px);line-height:1.12}.finance-kpi>span:not(.command-detail-hint){font-size:11px;line-height:1.45;color:var(--muted)}.finance-kpi.negative strong{color:var(--red)}
.finance-control-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:13px}.finance-panel,.finance-profit-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);padding:15px}.finance-profit-table{margin-top:13px}.finance-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.finance-panel-head h3{margin:0;font-size:15px}.finance-panel-head small{display:block;color:var(--muted);margin-top:4px;line-height:1.4}.cashflow-chart{height:130px;display:flex;align-items:center;gap:3px;padding:10px 4px;border-bottom:1px solid var(--border);overflow:hidden}.cashflow-day{appearance:none;flex:1;min-width:5px;height:112px;border:0;background:transparent;color:var(--muted);display:grid;grid-template-rows:94px 14px;gap:2px;cursor:pointer;padding:0}.cashflow-day>div{height:94px;display:flex;align-items:flex-end;justify-content:center;gap:1px;border-bottom:1px solid var(--border)}.cashflow-day i{width:42%;min-height:1px;border-radius:3px 3px 0 0;display:block}.cashflow-day i.inflow{background:var(--green)}.cashflow-day i.outflow{background:var(--red)}.cashflow-day span{font-size:8px}.cashflow-day:hover>div{background:color-mix(in srgb,var(--blue) 7%,transparent)}.cashflow-day.negative>div{box-shadow:inset 0 -3px var(--red)}.cashflow-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.cashflow-summary span{display:flex;flex-direction:column;color:var(--muted);font-size:10px}.cashflow-summary strong{font-size:13px;color:var(--text);margin-top:3px}.pnl-lines{display:grid}.pnl-lines button,.pnl-total{appearance:none;width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.pnl-lines button:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}.pnl-lines span{font-size:12px;color:var(--muted)}.pnl-lines strong{font-size:14px}.pnl-total{margin-top:8px;padding:13px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--green) 7%,transparent)}.pnl-total span,.pnl-total strong{color:var(--green);font-weight:900}.pnl-total.negative{border-color:color-mix(in srgb,var(--red) 35%,var(--border));background:color-mix(in srgb,var(--red) 7%,transparent)}.pnl-total.negative span,.pnl-total.negative strong{color:var(--red)}.finance-expense-list{display:grid}.finance-expense-row{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.finance-expense-row:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}.finance-expense-row span{display:grid;gap:3px}.finance-expense-row small{color:var(--muted);font-size:10px}.finance-expense-row b{white-space:nowrap}.finance-setting-row{display:grid;grid-template-columns:1.2fr 1fr .8fr .55fr auto;gap:9px;align-items:end;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}.finance-settings-list{display:grid;gap:9px}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px;padding-bottom:10px}.checkbox-label input{width:auto!important}.cost-live-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}.cost-live-preview span{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:11px}.cost-live-preview strong{font-size:16px;color:var(--text)}.cash-in{color:var(--green)}.cash-out{color:var(--red)}
@media(max-width:1280px){.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-control-grid{grid-template-columns:1fr 1fr}.finance-control-grid .finance-panel:first-child{grid-column:1/-1}}
@media(max-width:900px){.finance-kpi-grid{grid-template-columns:1fr 1fr}.finance-control-grid{grid-template-columns:1fr}.finance-control-grid .finance-panel:first-child{grid-column:auto}.finance-setting-row{grid-template-columns:1fr 1fr}.finance-setting-row .checkbox-label{padding:4px 0}.finance-command-section .section-title{align-items:flex-start}.finance-command-section .quick-actions{width:100%;display:grid;grid-template-columns:1fr}.cost-live-preview{grid-template-columns:1fr}}
@media(max-width:560px){.finance-kpi-grid{grid-template-columns:1fr}.cashflow-chart{gap:2px}.cashflow-day{min-width:4px}.cashflow-summary{grid-template-columns:1fr}.finance-setting-row{grid-template-columns:1fr}}


/* Build 051 — Material Planning & Purchase Control */
.material-command-section{margin-top:18px}.material-command-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.material-command-summary button{display:grid;gap:4px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);color:var(--text);cursor:pointer}.material-command-summary strong{font-size:22px}.material-command-summary span{font-size:11px;color:var(--muted)}.material-command-order{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.material-command-order small{display:block;margin-top:5px}.material-command-order>span{display:grid;grid-template-columns:auto 130px;gap:10px;align-items:center}.material-command-order i{display:block;width:130px;height:8px;border-radius:99px;background:var(--input);overflow:hidden}.material-command-order em{display:block;height:100%;background:var(--green)}
.material-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.material-plan-order{padding:18px;border-left:4px solid var(--green)}.material-plan-order.risk-high{border-left-color:var(--red)}.material-plan-order.risk-medium,.material-plan-order.risk-mapping-incomplete{border-left-color:var(--amber)}.material-plan-order-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.material-plan-order-head h3{margin:4px 0}.material-plan-order-head p{margin:0;color:var(--muted)}.readiness-ring{--score:0;display:grid;place-items:center;align-content:center;width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--score)*1%),var(--input) 0);box-shadow:inset 0 0 0 9px var(--panel)}.readiness-ring strong{font-size:18px}.readiness-ring small{font-size:9px}.material-plan-tags{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:16px 0}.material-plan-tags>span:not(.risk-pill){padding:6px 8px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:10px}.material-plan-actions{display:flex;gap:8px;flex-wrap:wrap}.material-plan-actions button{flex:1;min-width:120px}.late-text{color:var(--red)}.bom-rule-row{grid-template-columns:1.4fr 1.5fr .8fr .8fr .7fr .7fr 1fr auto}.material-plan-order .risk-pill{text-transform:uppercase}
@media(max-width:900px){.material-command-summary{grid-template-columns:repeat(2,1fr)}.material-command-order>span{grid-template-columns:auto 80px}.material-command-order i{width:80px}.bom-rule-row{grid-template-columns:1fr 1fr}.bom-rule-row .remove-bom{grid-column:1/-1}.material-plan-actions button{min-width:100%}}


/* Build 052 — Editable Material Hub and stock masters */
.material-hub-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) minmax(150px,1fr) auto;gap:14px;align-items:end;padding:16px}.material-hub-toolbar label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.material-hub-toolbar input,.material-hub-toolbar select{width:100%}.material-result-count{min-width:110px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);display:grid;gap:3px}.material-result-count small{color:var(--muted)}.material-result-count strong{font-size:17px}.material-variant{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--blue) 13%,transparent);color:var(--blue);font-weight:750;font-size:12px;border:1px solid color-mix(in srgb,var(--blue) 32%,transparent)}.material-meta-line{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:12px;margin:12px 0}.material-meta-line span{position:relative}.material-meta-line span+span:before{content:'•';position:absolute;left:-9px;color:var(--line-strong)}.material-actions{gap:7px}.material-actions button{flex:1 1 auto}.material-archived{opacity:.64}.material-archived .stock-numbers{filter:grayscale(.6)}.material-master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.material-size-preview{margin:16px 0;padding:14px 16px;border:1px dashed color-mix(in srgb,var(--blue) 45%,var(--line));border-radius:var(--radius-md);background:color-mix(in srgb,var(--blue) 7%,var(--surface));display:grid;gap:5px}.material-size-preview small,.material-size-preview p{color:var(--muted)}.material-size-preview strong{font-size:22px}.edge-roll-field{opacity:.55}.edge-material-mode .edge-roll-field{opacity:1}.check-field{display:flex!important;align-items:center;gap:9px}.check-field input{width:auto!important}.material-card .primary-btn[disabled],.material-card .secondary-btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:980px){.material-hub-toolbar{grid-template-columns:1fr 1fr}.material-master-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.material-hub-toolbar,.material-master-grid{grid-template-columns:1fr}.material-result-count{min-width:0}.material-actions{display:grid;grid-template-columns:1fr 1fr}.material-actions button{width:100%}}


/* Build 053 — fixed sidebar status island and independent menu scrolling */
@media(min-width:801px){
  .sidebar{
    position:sticky;
    top:0;
    height:100vh;
    height:100dvh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .sidebar>.brand-lockup,
  .sidebar>.brand{
    flex:0 0 auto;
  }
  .sidebar .nav{
    flex:1 1 auto;
    min-height:0;
    align-content:start;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding:0 5px 16px 0;
  }
  .sidebar-footer{
    position:static;
    inset:auto;
    width:auto;
    flex:0 0 auto;
    margin-top:10px;
    padding:12px 13px;
    z-index:2;
    box-shadow:0 -10px 24px color-mix(in srgb,var(--theme-sidebar) 88%,transparent);
  }
  html[data-density="compact"] .sidebar-footer{padding:9px 11px;margin-top:8px}
  html[data-sidebar="compact"] .sidebar .nav{padding:0;scrollbar-width:none}
  html[data-sidebar="compact"] .sidebar .nav::-webkit-scrollbar{display:none}
}

/* Build 054 — product-specific production routes */
.route-chip-strip{display:flex;gap:8px;overflow-x:auto;padding:7px 2px 10px;scrollbar-width:thin}
.route-chip{min-width:max-content;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);font-size:12px;color:var(--text)}
.route-chip b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--blue) 20%,transparent);color:var(--blue);font-size:10px}
.route-chip small{color:var(--muted);font-size:10px}
.route-chip.current{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 16%,transparent);background:color-mix(in srgb,var(--blue) 9%,var(--panel-2))}
.route-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.route-detail-grid article{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}
.route-detail-grid span,.route-detail-grid small{color:var(--muted)}
.route-editor-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);margin-bottom:10px}
.route-order-controls{display:grid;gap:6px;justify-items:center;align-items:center}
.route-order-controls button{padding:5px 9px;min-width:36px}
.route-order-controls b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:white}
.route-editor-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}
.route-editor-fields label{min-width:0}
.route-editor-fields textarea{resize:vertical;min-height:90px}
.route-total{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--blue) 8%,var(--panel));margin-top:8px}
.route-total span{color:var(--muted);font-size:12px;text-align:right}
.route-source-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0;color:var(--muted);font-size:12px}
.route-source-line strong{color:var(--text)}
.route-workflow .process-step{min-width:128px}
.route-workflow .process-step em,.route-workflow .process-step i{font-size:10px;color:var(--muted);font-style:normal;display:block;margin-top:2px}
@media(max-width:900px){.route-editor-row{grid-template-columns:1fr}.route-order-controls{display:flex;justify-content:flex-start}.route-editor-fields{grid-template-columns:1fr 1fr}.route-total{align-items:flex-start;flex-direction:column}.route-total span{text-align:left}}
@media(max-width:580px){.route-editor-fields{grid-template-columns:1fr}.route-editor-fields .span-2{grid-column:auto}.route-chip{padding:7px 9px}}

/* Build 055 — catalogue DNA library and safe record deletion */
.product-library-tabs{display:flex;gap:8px;margin:0 0 18px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg)}
.product-library-tabs button{flex:1;border:0;background:transparent;color:var(--muted);padding:12px 16px;border-radius:calc(var(--radius-lg) - 5px);font-weight:750;cursor:pointer}
.product-library-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.catalogue-library-toolbar,.record-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px}
.catalogue-library-toolbar p{margin:5px 0 0;color:var(--muted);max-width:760px}
.catalogue-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.catalogue-model-card{overflow:hidden;display:flex;flex-direction:column}
.catalogue-model-image{height:220px;background:rgba(127,127,127,.08);overflow:hidden;border-bottom:1px solid var(--line)}
.catalogue-model-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.catalogue-model-card:hover .catalogue-model-image img{transform:scale(1.025)}
.catalogue-model-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}
.catalogue-model-body h3{margin:3px 0 0}.catalogue-model-body p,.catalogue-description{color:var(--muted);font-size:.9rem;line-height:1.45}
.catalogue-specs{display:flex;flex-wrap:wrap;gap:7px}.catalogue-specs span{font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:rgba(127,127,127,.06)}
.catalogue-draft-badge{color:var(--purple)}.product-card-badges{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.record-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 240px minmax(260px,1fr)}
.record-toolbar label{display:grid;gap:7px}.record-safety-note{border-left:3px solid var(--green);padding:7px 0 7px 14px;display:grid;gap:3px}.record-safety-note small{color:var(--muted)}
.delete-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.delete-preview>div{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;display:grid;gap:5px}.dependency-list{margin:8px 0 18px;padding-left:22px;color:var(--muted)}
.danger-btn{background:rgba(235,75,85,.12);border:1px solid rgba(235,75,85,.38);color:var(--red);border-radius:var(--radius-md);padding:9px 12px;font-weight:700;cursor:pointer}.danger-btn:hover{background:rgba(235,75,85,.2)}.danger-btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.catalogue-library-toolbar{align-items:stretch;flex-direction:column}.record-toolbar{grid-template-columns:1fr}.catalogue-model-grid{grid-template-columns:1fr}.catalogue-model-image{height:260px}}


/* Build 056 — clear catalogue photos and full-screen viewer */
.product-photo-button,.catalogue-photo-button{position:relative;width:100%;height:100%;border:0;padding:0;background:transparent;display:block;cursor:zoom-in;overflow:hidden;color:inherit}
.product-photo-button img,.catalogue-photo-button img{width:100%;height:100%;display:block;object-fit:contain;image-rendering:auto}
.photo-open-hint{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(5,12,22,.82);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;opacity:0;transform:translateY(4px);transition:.18s ease;pointer-events:none}
.product-photo-button:hover .photo-open-hint,.catalogue-photo-button:hover .photo-open-hint,.product-photo-button:focus-visible .photo-open-hint,.catalogue-photo-button:focus-visible .photo-open-hint{opacity:1;transform:none}
.catalogue-model-image{height:260px;background:#f5f3ef}.catalogue-model-image img{object-fit:contain}.catalogue-model-card:hover .catalogue-model-image img{transform:none}
.catalogue-quality{color:var(--blue)!important;font-weight:800}
.photo-viewer-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(2,7,14,.96);display:flex;padding:18px;align-items:stretch;justify-content:center}
.photo-viewer-shell{width:min(1600px,100%);height:100%;display:grid;grid-template-rows:auto 1fr auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.photo-viewer-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--panel)}
.photo-viewer-head h2{margin:2px 0}.photo-viewer-head p{margin:5px 0 0;color:var(--muted);max-width:760px;font-size:12px}
.photo-viewer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.photo-viewer-stage{overflow:auto;display:flex;align-items:center;justify-content:center;background:#111820;padding:24px;min-height:0}
.photo-viewer-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .12s ease;box-shadow:0 8px 38px rgba(0,0,0,.4)}
.photo-viewer-stage img.actual-size{max-width:none;max-height:none}
.photo-viewer-foot{display:flex;justify-content:space-between;gap:15px;padding:10px 18px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.photo-zoom-label{color:var(--text);font-weight:800}
@media(max-width:760px){.photo-viewer-backdrop{padding:0}.photo-viewer-shell{border-radius:0}.photo-viewer-head{display:block}.photo-viewer-actions{margin-top:10px;justify-content:flex-start}.photo-viewer-stage{padding:10px}.photo-viewer-foot span:last-child{display:none}.catalogue-model-image{height:300px}.photo-open-hint{opacity:1;transform:none}}

/* Build 057 — collapsible icon sidebar */
@media(min-width:801px){
  .app-shell{transition:grid-template-columns .22s ease}
  .sidebar{z-index:45;transition:width .22s ease,padding .22s ease,box-shadow .22s ease}
  .sidebar-head{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0;margin-bottom:2px}
  .sidebar-head .sidebar-brand{flex:1 1 auto;padding-bottom:18px}
  .sidebar-toggle{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-panel);color:var(--theme-text);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
  .sidebar-toggle:hover{background:var(--theme-hover);border-color:var(--theme-line-strong)}
  .sidebar-toggle-icon{font-size:23px;line-height:1;transform:translateY(-1px)}
  .nav button{position:relative;white-space:nowrap;overflow:hidden}
  .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
  html[data-sidebar="compact"] .sidebar{width:88px}
  html[data-sidebar="compact"] .sidebar-head{justify-content:center;flex-direction:column;gap:4px}
  html[data-sidebar="compact"] .sidebar-head .sidebar-brand{padding-bottom:4px}
  html[data-sidebar="compact"] .sidebar-toggle{width:44px;height:30px;flex-basis:30px}
  html[data-sidebar="compact"] .nav button{font-size:0;justify-content:center;padding:11px}
  html[data-sidebar="compact"] .nav .icon{font-size:18px;width:24px;flex:0 0 24px}
  html[data-sidebar="compact"] .nav-label{display:none}
  html[data-sidebar="compact"] .sidebar-footer{display:none}
  html[data-sidebar="compact"] .sidebar:hover,
  html[data-sidebar="compact"] .sidebar:focus-within{width:252px;padding:18px;box-shadow:22px 0 44px rgba(0,0,0,.34)}
  html[data-sidebar="compact"] .sidebar:hover .sidebar-head,
  html[data-sidebar="compact"] .sidebar:focus-within .sidebar-head{flex-direction:row;justify-content:initial;gap:8px}
  html[data-sidebar="compact"] .sidebar:hover .sidebar-head .sidebar-brand,
  html[data-sidebar="compact"] .sidebar:focus-within .sidebar-head .sidebar-brand{justify-content:flex-start;padding:0 4px 18px}
  html[data-sidebar="compact"] .sidebar:hover .sidebar-brand>span,
  html[data-sidebar="compact"] .sidebar:focus-within .sidebar-brand>span{display:block}
  html[data-sidebar="compact"] .sidebar:hover .sidebar-toggle,
  html[data-sidebar="compact"] .sidebar:focus-within .sidebar-toggle{width:34px;height:34px;flex-basis:34px}
  html[data-sidebar="compact"] .sidebar:hover .nav button,
  html[data-sidebar="compact"] .sidebar:focus-within .nav button{font-size:14px;justify-content:flex-start;padding:11px 13px}
  html[data-sidebar="compact"] .sidebar:hover .nav-label,
  html[data-sidebar="compact"] .sidebar:focus-within .nav-label{display:inline;overflow:hidden;text-overflow:ellipsis}
  html[data-sidebar="compact"] .sidebar:hover .sidebar-footer,
  html[data-sidebar="compact"] .sidebar:focus-within .sidebar-footer{display:block}
  .mobile-menu-toggle,.sidebar-backdrop{display:none}
}
@media(max-width:800px){
  .sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(84vw,300px);height:100dvh;z-index:110;transform:translateX(-105%);transition:transform .22s ease;box-shadow:24px 0 48px rgba(0,0,0,.42);padding:16px;overflow:hidden}
  html[data-mobile-sidebar="open"] .sidebar{transform:translateX(0)}
  .sidebar-head{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .sidebar-head .sidebar-brand{flex:1 1 auto;padding-bottom:16px}
  .sidebar-toggle{display:none}
  .sidebar .nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 4px 18px 0}
  .sidebar .nav button{font-size:14px;justify-content:flex-start}
  .sidebar .nav-label{display:inline}
  .sidebar-footer{position:static;width:auto;margin-top:8px;flex:0 0 auto}
  .mobile-menu-toggle{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--theme-line);border-radius:11px;background:var(--theme-panel);color:var(--theme-text);font-size:20px;cursor:pointer}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:105;border:0;background:rgba(0,0,0,.56);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  html[data-mobile-sidebar="open"] .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
}
@media(max-width:800px){
  html[data-sidebar="compact"] .sidebar-brand>span{display:block}
  html[data-sidebar="compact"] .sidebar-footer{display:block}
  html[data-sidebar="compact"] .sidebar-company-logo{width:58px;height:48px}
}

/* Build 058 — dispatch, delivery and installation control */
.dispatch-stats .stat{min-height:118px}.dispatch-calendar{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.dispatch-day{border:1px solid var(--line);border-radius:14px;background:#0b1422;min-height:170px;padding:10px}.dispatch-day>header{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.dispatch-day>header small{font-size:10px}.dispatch-calendar-item{width:100%;display:grid;gap:3px;text-align:left;border:1px solid #243752;border-radius:10px;background:#101b2b;color:var(--text);padding:9px;margin-bottom:7px;cursor:pointer}.dispatch-calendar-item:hover{border-color:var(--blue)}.dispatch-calendar-item span,.dispatch-calendar-item small{color:var(--muted);font-size:11px}.dispatch-day-empty{color:var(--muted);font-size:12px;padding:12px 4px}.fg-row,.dispatch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);border-radius:13px;background:#0b1422;padding:13px;margin-bottom:9px;text-align:left;color:var(--text)}.dispatch-row{cursor:pointer}.dispatch-row:hover{border-color:#3b5070}.fg-row small,.dispatch-row small{display:block;color:var(--muted);margin-top:4px}.fg-row>div:last-child{display:flex;align-items:center;gap:8px}.dispatch-row-progress{text-align:right}.dispatch-row-progress>span{font-weight:900}.dispatch-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.dispatch-detail-grid>div{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:4px}.dispatch-detail-grid small{color:var(--muted)}.dispatch-detail-grid strong{font-size:13px}.ean-barcode{display:block;width:150px;max-width:100%;height:58px;background:white;border-radius:4px}.barcode-fallback{font-family:monospace;background:#fff;color:#111;padding:6px}.package-plan-grid{display:grid;gap:9px}.package-plan-grid label{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:12px;padding:11px;background:#0b1422}.package-plan-grid label span{display:grid;gap:3px}.package-plan-grid input{width:110px}.loading-scan-panel{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px}.package-load-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.package-load-grid article{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:10px;background:#0b1422}.package-load-grid small{display:block;color:var(--muted);margin-top:3px}.package-load-grid code{font-size:10px}.package-dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}.package-dot.loaded{background:var(--cyan)}.package-dot.dispatched{background:var(--amber)}.package-dot.delivered{background:var(--green)}.package-dot.damaged,.package-dot.missing{background:var(--red)}.delivery-package-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.delivery-package-select label{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px;background:#0b1422}.delivery-package-select span{display:grid;gap:3px}.delivery-package-select small{color:var(--muted)}.signature-section{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#0b1422}.signature-section>div:first-child{display:grid;gap:3px;margin-bottom:9px}.signature-section small{color:var(--muted)}.signature-section canvas{display:block;width:100%;height:180px;background:white;border-radius:10px;touch-action:none;cursor:crosshair}.signature-section .quick-actions{margin-top:9px}.installation-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.installation-checklist label{border:1px solid var(--line);border-radius:10px;padding:10px;background:#0b1422}.delivery-receipt-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:1px solid var(--line);border-radius:13px;padding:12px;margin-top:9px}.delivery-receipt-card small{display:block;color:var(--muted);margin-top:4px}.success-banner{display:flex;justify-content:space-between;gap:12px;border:1px solid rgba(53,208,127,.35);background:rgba(53,208,127,.08);padding:13px;border-radius:12px;margin-bottom:14px}.timeline-list{display:grid;gap:8px}.timeline-list>div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center}.timeline-list i{width:8px;height:8px;border-radius:50%;background:var(--blue)}.timeline-list span{color:var(--muted);font-size:11px}
@media(max-width:1100px){.dispatch-calendar{grid-template-columns:repeat(7,180px)}.dispatch-detail-grid{grid-template-columns:repeat(2,1fr)}.package-load-grid{grid-template-columns:1fr}.loading-scan-panel{grid-template-columns:1fr 1fr}.delivery-receipt-card{grid-template-columns:1fr}}
@media(max-width:700px){.dispatch-detail-grid,.delivery-package-select,.installation-checklist{grid-template-columns:1fr}.loading-scan-panel{grid-template-columns:1fr}.fg-row,.dispatch-row{align-items:flex-start;flex-direction:column}.dispatch-row-progress{text-align:left}.signature-section canvas{height:150px}.ean-barcode{width:120px}.dispatch-stats{grid-template-columns:1fr 1fr!important}}

/* Build 060 — Sales CRM + permission-safe interface */
.command-sales-strip{margin-top:18px}.crm-pipeline-strip{display:flex;gap:10px;overflow:auto;padding:2px 0 14px}.crm-stage{min-width:145px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);cursor:pointer}.crm-stage strong,.crm-stage span,.crm-stage small{display:block}.crm-stage strong{font-size:22px}.crm-stage span{margin-top:5px;font-weight:700}.crm-stage small{color:var(--muted);margin-top:4px}.crm-stage.active{outline:2px solid var(--blue);border-color:transparent}.crm-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr)}.crm-activity-list{display:grid;gap:9px}.crm-activity{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.crm-activity strong,.crm-activity small{display:block}.crm-activity small{color:var(--muted);margin-top:4px}.crm-activity.overdue{border-color:rgba(255,90,90,.55)}.crm-top-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.link-button{background:none;border:0;color:var(--text);padding:0;cursor:pointer;text-align:left}.link-button:hover{color:var(--blue)}.quote-line-with-photo{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:stretch}.quote-line-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.quote-product-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);padding:0;overflow:hidden;min-height:130px;cursor:pointer;color:var(--muted)}.quote-product-preview img{width:100%;height:100%;min-height:130px;object-fit:cover;display:block}.crm-linked-quote{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.crm-command-lead{width:100%}@media(max-width:1100px){.crm-main-grid{grid-template-columns:1fr}.quote-line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-top-products{grid-template-columns:1fr}}@media(max-width:700px){.quote-line-with-photo{grid-template-columns:1fr}.quote-product-preview{max-height:220px}.quote-line-fields{grid-template-columns:1fr}.crm-stage{min-width:125px}}

/* Build 060 — permission-aware UI */
.app-shell.no-crm .command-sales-strip{display:none!important}
.app-shell.no-finance .finance-command-section{display:none!important}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 18px}
.permission-option{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer;min-height:48px}
.permission-option:hover{border-color:var(--blue)}
.permission-option input{width:18px;height:18px;flex:0 0 auto}
.permission-option span{display:block}
.permission-option strong{font-size:13px}
@media(max-width:700px){.permission-grid{grid-template-columns:1fr}}

/* Build 061 — Billing, receivables and collection control */
.billing-ageing{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:16px 0;overflow-x:auto}
.billing-ageing>div{min-width:120px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2);padding:13px;display:grid;gap:4px}
.billing-ageing strong{font-size:18px}.billing-ageing small{color:var(--muted)}
.billing-tabs{display:flex;gap:8px;overflow-x:auto;margin:14px 0 18px;padding-bottom:4px}
.billing-tabs button{white-space:nowrap;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--muted);padding:10px 13px;cursor:pointer;font-weight:700}
.billing-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.billing-milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.billing-milestone-card{border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:14px}
.billing-milestone-row{display:grid;grid-template-columns:minmax(0,1fr) 135px 110px;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.billing-milestone-row:first-of-type{border-top:0}.billing-milestone-row span:first-child{display:grid;gap:3px}.billing-milestone-row small{display:block;color:var(--muted);margin-top:2px}.billing-milestone-row>b{text-align:right}.billing-milestone-row>b small{font-weight:500}
.billing-milestone-edit-head,.billing-milestone-edit-row{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(130px,1fr) 100px 120px 150px 90px;gap:8px;align-items:end}
.billing-milestone-edit-head{color:var(--muted);font-size:11px;padding:0 4px 5px}.billing-milestone-edit-row{padding:8px 0;border-top:1px solid var(--line)}
.billing-milestone-edit-row input,.billing-milestone-edit-row select{width:100%}.billing-milestone-edit-row .check-field{min-height:43px;align-items:center}
.finance-command-section .stats{margin-bottom:0}
@media(max-width:1100px){.billing-milestone-grid{grid-template-columns:1fr}.billing-milestone-edit-head{display:none}.billing-milestone-edit-row{grid-template-columns:1fr 1fr 1fr}.billing-milestone-edit-row .check-field{align-self:end}}
@media(max-width:700px){.billing-ageing{grid-template-columns:repeat(5,150px)}.billing-milestone-row{grid-template-columns:1fr}.billing-milestone-row>b{text-align:left}.billing-milestone-edit-row{grid-template-columns:1fr}.billing-tabs button{padding:9px 11px}}

/* Build 064 workforce */
.employee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.employee-card{display:flex;flex-direction:column;gap:12px}.employee-card h3{margin:0}.employee-card p{margin:0;color:var(--muted)}.employee-meta{display:grid;gap:7px;font-size:13px}.employee-meta span{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:7px}.employee-meta strong{text-align:right}.shift-list{display:grid;gap:12px}.shift-edit{padding:14px}.workforce-command-section .material-command-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media(max-width:760px){.employee-grid{grid-template-columns:1fr}.page-head input[type=month]{width:100%}}

/* Build 065 — Orange Time Track biometric attendance bridge */
.orange-bridge{margin:0 0 22px;padding:18px;border:1px solid color-mix(in srgb,var(--blue) 34%,var(--theme-line));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--theme-panel)),var(--theme-panel));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.orange-bridge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.orange-bridge-head small{font-weight:900;letter-spacing:.08em;color:var(--blue)}.orange-bridge-head h3{font-size:22px;margin:4px 0}.orange-bridge-head p{margin:0;max-width:760px;color:var(--theme-muted);line-height:1.5}
.orange-status{flex:0 0 auto;padding:7px 11px;border:1px solid var(--theme-line);border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.orange-status.ok{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--theme-line));background:color-mix(in srgb,var(--green) 8%,transparent)}.orange-status.bad{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--theme-line));background:color-mix(in srgb,var(--red) 8%,transparent)}.orange-status.idle{color:var(--theme-muted)}
.orange-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.orange-status-grid>div{display:grid;gap:5px;padding:11px 12px;border:1px solid var(--theme-line);border-radius:calc(var(--radius) * .72);background:var(--theme-row)}.orange-status-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--theme-muted);font-weight:800}.orange-status-grid strong{font-size:14px}
.orange-connection-line{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--theme-row);font-size:12px;color:var(--theme-muted)}.orange-connection-line b{color:var(--theme-text);margin-right:4px}
.orange-warning,.orange-error{margin-top:12px;padding:11px 12px;border-radius:10px;font-size:12px;line-height:1.5}.orange-warning{border:1px solid color-mix(in srgb,var(--amber) 45%,var(--theme-line));background:color-mix(in srgb,var(--amber) 8%,var(--theme-panel));color:var(--theme-text)}.orange-error{border:1px solid color-mix(in srgb,var(--red) 45%,var(--theme-line));background:color-mix(in srgb,var(--red) 8%,var(--theme-panel));color:var(--red)}.orange-warning code{font-weight:900;color:var(--theme-text)}
.orange-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.orange-actions button:disabled{opacity:.45;cursor:not-allowed}.orange-footnote{display:block;margin-top:10px;color:var(--theme-muted)}
.orange-suggestion{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;margin:8px 0 16px;padding:14px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--theme-line));border-radius:var(--radius);background:color-mix(in srgb,var(--green) 7%,var(--theme-panel))}.orange-suggestion strong{grid-column:1}.orange-suggestion span{grid-column:1;color:var(--theme-muted);font-size:12px}.orange-suggestion button{grid-column:2;grid-row:1/3}
.orange-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.orange-discovery-grid>section{min-width:0}.orange-discovery-grid h3{margin:0 0 9px}.orange-candidate{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 11px;margin-bottom:7px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-row)}.orange-candidate>div{display:grid;gap:3px;min-width:0}.orange-candidate strong,.orange-candidate small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orange-candidate small{color:var(--theme-muted)}.orange-candidate>b{flex:0 0 auto;color:var(--blue);font-size:13px}
@media(max-width:900px){.orange-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-discovery-grid{grid-template-columns:1fr}.orange-suggestion{grid-template-columns:1fr}.orange-suggestion button{grid-column:1;grid-row:auto}.orange-bridge-head{align-items:stretch;flex-direction:column}.orange-status{align-self:flex-start}}
@media(max-width:560px){.orange-status-grid{grid-template-columns:1fr}.orange-actions>*{flex:1 1 46%}.orange-connection-line{display:grid;gap:6px}}


/* Build 072A — Smart Inventory → exact Product DNA repair navigation */
.unlinked-dna-jump{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;cursor:pointer;color:var(--text);font:inherit;margin:10px 0;padding:15px 18px;transition:.16s ease;border-color:color-mix(in srgb,var(--amber) 65%,var(--line))}
.unlinked-dna-jump:hover{transform:translateY(-1px);border-color:var(--amber);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.unlinked-dna-copy{display:grid;gap:4px;min-width:0}.unlinked-dna-copy>strong{font-size:16px;color:#ffd18a}.unlinked-dna-copy small{display:block;color:var(--muted);line-height:1.35}.unlinked-dna-copy small b{color:var(--text)}
.unlinked-dna-action{flex:0 0 auto;font-weight:900;color:#ffd18a;white-space:nowrap}
.dna-issue-editor-banner{margin:0 0 18px}.dna-issue-editor-banner>div{display:grid;gap:5px}.dna-issue-editor-banner small{display:block;color:var(--muted);line-height:1.4}
.dna-issue-focus{outline:2px solid var(--amber)!important;outline-offset:4px;border-radius:14px;animation:dnaIssuePulse 1.25s ease-in-out 2}
.dna-issue-field{border-color:var(--amber)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)!important}
@keyframes dnaIssuePulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--amber) 0%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--amber) 16%,transparent)}}
@media(max-width:700px){.unlinked-dna-jump{align-items:flex-start;flex-direction:column}.unlinked-dna-action{white-space:normal}}


/* Build 072B — clickable order history and complete Order Detail */
.order-open-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
.order-open-row:hover td{background:color-mix(in srgb,var(--blue) 7%,transparent)}
.order-open-row td:first-child strong,.order-open-row td:nth-child(2) strong{text-decoration-color:transparent;text-underline-offset:3px}
.order-open-row:hover td:first-child strong,.order-open-row:hover td:nth-child(2) strong{text-decoration:underline;text-decoration-color:var(--blue)}
.order-party-grid{margin-top:18px}
.order-linked-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.order-linked-actions button{justify-content:flex-start}

/* Build 072C — order correction + practical module search */
.module-search-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-top:16px}
.module-search-field{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.module-search-field>span{color:var(--muted);font-size:20px;line-height:1}
.module-search-field input{width:100%;min-width:0;margin:0}
.module-search-bar small{white-space:nowrap;color:var(--muted)}
.compact-size-inputs{display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:6px}
#order-correction-form .data-table input{min-width:80px}
#order-correction-form .correct-keep{min-width:0;width:18px;height:18px}
#order-correction-form tr:has(.correct-keep:not(:checked)){opacity:.5;text-decoration:line-through}
@media(max-width:780px){.module-search-bar{align-items:stretch;flex-direction:column}.module-search-bar small{white-space:normal}.compact-size-inputs{grid-template-columns:1fr}}


/* Build 073 — scan-driven live production line */
.operator-line-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:12px 2px}.operator-line-tools>div:first-child{display:grid;gap:3px}.operator-line-tools small{color:var(--muted)}.operator-line-tools input{min-width:310px}
.operator-line-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,310px);gap:12px;overflow-x:auto;padding:3px 2px 18px;scroll-snap-type:x proximity}
.operator-line-column{scroll-snap-align:start;min-height:520px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(8,16,28,.72);display:flex;flex-direction:column;gap:10px}
.operator-line-column.device-station{border-color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(49,199,217,.22),0 0 24px rgba(49,199,217,.08)}
.operator-line-column-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.operator-line-column-head small{font-size:10px;letter-spacing:.1em;color:var(--muted)}.operator-line-column-head h3{margin:3px 0 0;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.operator-bind-stage{width:100%;padding:8px 10px;font-size:11px}.operator-line-work{display:grid;gap:9px;align-content:start}
.operator-line-card{width:100%;padding:11px;text-align:left;border:1px solid #263750;border-radius:12px;background:linear-gradient(180deg,#101b2c,#0a1421);color:var(--text);cursor:pointer}.operator-line-card:hover{border-color:#486384;transform:translateY(-1px)}.operator-line-card[hidden]{display:none}
.operator-line-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.operator-line-card h4{margin:8px 0 3px;font-size:13px}.operator-line-card p{margin:6px 0;color:var(--muted);font-size:11px;line-height:1.4}.operator-line-card small{font-size:10px;color:#8fa3bc}.operator-line-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:10px;color:#aebdd0}
.operator-type-badge{display:inline-flex;padding:3px 6px;border-radius:999px;background:rgba(49,199,217,.12);border:1px solid rgba(49,199,217,.25);color:#9cecf5;font-size:9px;font-weight:900;letter-spacing:.08em}.operator-type-badge.job{background:rgba(79,140,255,.12);border-color:rgba(79,140,255,.28);color:#a9c8ff}
.operator-station-picker{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.operator-station-choice{padding:16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--theme-row);color:var(--text);cursor:pointer;display:grid;gap:4px}.operator-station-choice:hover,.operator-station-choice.active{border-color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(49,199,217,.2)}.operator-station-choice small{color:var(--muted)}
.empty-state.compact{padding:14px 8px}
@media(max-width:800px){.operator-line-tools{align-items:stretch;flex-direction:column}.operator-line-tools .quick-actions{width:100%}.operator-line-tools input{min-width:0;width:100%}.operator-station-picker{grid-template-columns:1fr 1fr}.operator-line-board{grid-auto-columns:minmax(260px,86vw)}}
@media(max-width:520px){.operator-station-picker{grid-template-columns:1fr}}


/* Build 078 — workflow cleanup + mobile/operator simplification */
.mobile-work-nav{display:none}
.operator-device-fixed{padding:8px 10px;border:1px solid rgba(49,199,217,.28);border-radius:10px;background:rgba(49,199,217,.10);color:#a8f2fa;font-size:11px;font-weight:800}
.operator-scan-simple{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:center;padding:18px}
.operator-scan-simple h2{margin:4px 0 6px}
.operator-scan-copy>p{margin:0;color:var(--muted)}
.operator-scan-controls{display:grid;gap:10px}
.operator-big-scan{width:100%;min-height:54px;font-size:15px;font-weight:900;letter-spacing:.03em}
.operator-last-scan{margin-top:12px;padding:9px 11px;border-radius:10px;background:rgba(53,208,127,.09);border:1px solid rgba(53,208,127,.22);color:#a8f3c8;font-weight:800;font-size:12px}
.operator-attention-panel{max-width:100%}
.frontline-shell .sidebar-footer{border-color:rgba(49,199,217,.25)}
.frontline-shell .content{max-width:1600px;width:100%}
@media(max-width:1000px){
  .operator-scan-simple{grid-template-columns:1fr}
}
@media(max-width:800px){
  .mobile-work-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:8px;right:8px;bottom:8px;z-index:90;min-height:62px;padding:6px;border:1px solid var(--theme-line);border-radius:16px;background:color-mix(in srgb,var(--theme-panel) 94%,transparent);backdrop-filter:blur(18px);box-shadow:0 16px 45px rgba(0,0,0,.38)}
  .mobile-work-nav button{border:0;background:transparent;color:var(--muted);border-radius:11px;display:grid;place-items:center;align-content:center;gap:3px;min-width:0;padding:5px 2px;cursor:pointer}
  .mobile-work-nav button.active{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--text)}
  .mobile-work-nav button>span{font-size:18px;line-height:1}
  .mobile-work-nav button>small{display:block;max-width:100%;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .content{padding-bottom:88px}
  .frontline-shell .topbar{height:58px}
  .frontline-shell .topbar .search{display:none}
  .frontline-shell .topbar .live-sync-chip,.frontline-shell .topbar .install-app-btn,.frontline-shell .topbar .user-text{display:none}
  .frontline-shell .topbar .user{margin-left:auto;gap:7px}
  .frontline-shell .topbar #logout{padding:8px 9px;font-size:10px}
  .operator-page-head{margin-bottom:12px}
  .operator-page-head h1{font-size:24px}
  .operator-page-head p{font-size:12px}
  .operator-scan-simple{padding:13px;gap:12px;position:sticky;top:66px;z-index:12}
  .operator-scan-simple .operator-scan-copy p{font-size:11px;line-height:1.35}
  .operator-scan-simple .operator-scan-copy h2{font-size:18px}
  .operator-big-scan{min-height:58px;font-size:14px}
  .operator-scan-simple .scan-input-row{grid-template-columns:minmax(0,1fr) auto}
  .operator-scan-simple #operator-camera-button{display:none}
  .operator-scan-simple .quick-actions{gap:5px}
  .operator-scan-simple .quick-actions button{font-size:10px;padding:8px}
  .operator-line-stats{display:none}
  .operator-line-tools{margin-top:12px!important}
  .operator-line-tools>div:first-child small{display:none}
  .operator-line-board{grid-auto-columns:minmax(248px,82vw);padding-bottom:8px}
  .operator-line-column{min-height:390px}
  .operator-line-card{padding:12px;min-height:108px}
  .operator-line-card h4{font-size:14px}
  .operator-line-card p{font-size:12px}
  .operator-attention-panel{padding:14px}
}
@media(max-width:520px){
  .mobile-work-nav{left:5px;right:5px;bottom:5px}
  .operator-scan-simple .scan-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .operator-scan-simple .scan-input-row input{min-width:0}
  .operator-scan-simple .quick-actions{display:grid;grid-template-columns:1fr 1fr}
  .operator-scan-simple #operator-mobile-help{display:none}
  .operator-line-tools .quick-actions{display:grid;grid-template-columns:1fr auto}
}

/* Build 078B — mobile drawer hardening. Desktop compact-sidebar preferences must never hide the phone menu. */
.mobile-sidebar-close{display:none}
@media(max-width:800px){
  .sidebar{flex-direction:column!important;width:min(88vw,320px)!important;max-width:320px;min-width:260px;overflow:hidden!important}
  .sidebar-head{width:100%;flex-direction:row!important;justify-content:flex-start!important}
  .sidebar-head .sidebar-brand{min-width:0}
  .mobile-sidebar-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-panel);color:var(--theme-text);font-size:25px;line-height:1;cursor:pointer}
  .sidebar .nav{display:grid!important;width:100%;min-width:0;flex:1 1 auto;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 3px 18px 0!important}
  .sidebar .nav button,html[data-sidebar="compact"] .sidebar .nav button{display:flex!important;width:100%!important;font-size:14px!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;padding:11px 13px!important;text-align:left!important}
  .sidebar .nav .icon,html[data-sidebar="compact"] .sidebar .nav .icon{display:inline-block!important;width:24px!important;flex:0 0 24px!important;font-size:18px!important;text-align:center!important}
  .sidebar .nav-label,html[data-sidebar="compact"] .sidebar .nav-label{display:inline!important;min-width:0!important;font-size:14px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  html[data-sidebar="compact"] .sidebar{width:min(88vw,320px)!important;padding:16px!important}
  html[data-sidebar="compact"] .sidebar-head{flex-direction:row!important;justify-content:flex-start!important;gap:8px!important}
  html[data-sidebar="compact"] .sidebar-head .sidebar-brand{justify-content:flex-start!important;padding:0 4px 16px!important}
  html[data-sidebar="compact"] .sidebar-brand>span{display:block!important}
  .sidebar-footer,html[data-sidebar="compact"] .sidebar-footer{display:block!important;position:static!important;width:100%!important;margin-top:8px!important;flex:0 0 auto!important}
}


/* Build 079B — premium secure login */
.login-shell-premium{position:relative;overflow:hidden;background:#07101c}
.premium-login-visual{position:relative;isolation:isolate;padding:54px 62px 36px;background:
  radial-gradient(circle at 18% 20%,rgba(79,140,255,.16),transparent 34%),
  radial-gradient(circle at 82% 76%,rgba(45,205,190,.11),transparent 32%),
  linear-gradient(145deg,#111d2f 0%,#0a1422 58%,#07101b 100%)}
.premium-login-visual::before{content:'';position:absolute;inset:0;z-index:-2;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),transparent 88%)}
.premium-login-visual::after{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(96,168,255,.1);border-radius:50%;right:-250px;top:calc(50% - 260px);z-index:-1;box-shadow:0 0 0 80px rgba(96,168,255,.02),0 0 0 160px rgba(96,168,255,.015)}
.login-visual-top{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.login-suite-pill{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid rgba(150,181,222,.16);border-radius:999px;background:rgba(8,18,31,.48);backdrop-filter:blur(8px);font-size:11px;font-weight:900;letter-spacing:.09em;color:#b9c8dc;text-transform:uppercase;white-space:nowrap}
.login-suite-pill i{width:7px;height:7px;border-radius:50%;background:#4ee0bd;box-shadow:0 0 15px rgba(78,224,189,.7)}
.login-premium-hero{max-width:780px;margin:8vh 0 5vh}
.login-eyebrow{display:block;margin-bottom:17px;font-size:11px;font-weight:900;letter-spacing:.18em;color:#7faeff}
.login-premium-hero h1{font-size:clamp(44px,5.25vw,78px);line-height:.98;letter-spacing:-.045em;margin-bottom:24px;color:#f4f8ff}
.login-premium-hero h1 span{color:#8fb4ff}
.login-premium-hero p{max-width:650px;font-size:18px;color:#a9b9cd;line-height:1.7;margin:0}
.login-feature-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.login-feature-chips span{padding:8px 11px;border:1px solid rgba(132,164,207,.14);border-radius:9px;background:rgba(13,27,45,.54);font-size:11px;font-weight:800;letter-spacing:.02em;color:#bdcce0}
.login-workflow-preview{width:min(650px,100%);display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;padding:14px 16px;border:1px solid rgba(136,167,210,.13);border-radius:16px;background:rgba(7,16,28,.46);backdrop-filter:blur(10px)}
.login-workflow-preview div{display:flex;align-items:center;gap:9px;min-width:0}.login-workflow-preview i{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(79,140,255,.13);color:#8cb4ff;font-size:9px;font-style:normal;font-weight:900}.login-workflow-preview strong{font-size:11px;color:#dce7f7}.login-workflow-preview b{color:#50637d;font-weight:500}
.login-visual-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;font-size:11px;color:#72859d}
.premium-login-panel{position:relative;padding:42px;background:linear-gradient(180deg,#091321,#07101c)}
.premium-login-panel::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 43%,rgba(79,140,255,.07),transparent 32%)}
.premium-login-card{position:relative;width:min(430px,100%);padding:40px;border-radius:26px;border:1px solid #20334e;background:linear-gradient(180deg,rgba(18,30,48,.97),rgba(10,19,32,.98));box-shadow:0 38px 100px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.025)}
.login-card-kicker{display:flex;align-items:center;gap:8px;margin-bottom:17px;color:#8397b2;font-size:10px;font-weight:900;letter-spacing:.14em}.secure-dot{width:7px;height:7px;border-radius:50%;background:#4ee0bd;box-shadow:0 0 13px rgba(78,224,189,.65)}
.premium-login-card h2{font-size:34px;letter-spacing:-.025em;margin-bottom:7px;color:#f4f8ff}.premium-login-card>p{font-size:14px;line-height:1.55;margin-bottom:30px;color:#8fa3be}
.premium-login-field{margin:17px 0}.premium-login-field label{font-size:11px;letter-spacing:.02em;color:#aab9ce}
.login-input-wrap{position:relative}.login-input-wrap .login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:25px;height:25px;border-radius:7px;background:#14243a;color:#7188a7;font-size:9px;font-weight:900;pointer-events:none}.premium-login-field .login-input-wrap input{height:56px;padding-left:51px;border-color:#263a57;background:#08121f;color:#eef5ff}.premium-login-field .login-input-wrap input::placeholder{color:#586d88}.premium-login-field .login-input-wrap input:focus{border-color:#5d93ef;box-shadow:0 0 0 4px rgba(79,140,255,.09)}
.premium-login-btn{display:flex;align-items:center;justify-content:space-between!important;height:56px;margin-top:22px!important;padding:0 20px!important;border-radius:13px!important;background:linear-gradient(135deg,#4f8cff 0%,#6574ff 100%)!important;box-shadow:0 14px 32px rgba(79,140,255,.24)!important}.premium-login-btn b{font-size:20px;font-weight:500}.premium-login-btn span{font-size:14px}
.login-security-note{display:flex;align-items:flex-start;gap:8px;margin-top:17px;padding-top:17px;border-top:1px solid rgba(122,151,190,.1);font-size:10px;line-height:1.45;color:#647a96}.login-security-note span{color:#4ee0bd;font-size:7px;line-height:1.8}
.login-panel-footer{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:10px;color:#4e627c;letter-spacing:.04em}
.login-card .demo-note{display:none!important}
@media(max-width:1100px){.login-shell-premium{grid-template-columns:1.1fr .9fr}.premium-login-visual{padding:44px}.login-suite-pill{display:none}.login-workflow-preview{grid-template-columns:1fr auto 1fr auto 1fr}.login-workflow-preview>div:nth-of-type(4),.login-workflow-preview>b:nth-of-type(3){display:none}}
@media(max-width:800px){.login-shell-premium{display:block;min-height:100svh;background:radial-gradient(circle at 50% 0%,rgba(79,140,255,.13),transparent 35%),#07101c}.premium-login-visual{display:none}.premium-login-panel{min-height:100svh;padding:24px 18px 72px;align-items:center}.premium-login-card{padding:28px 22px;border-radius:22px}.premium-login-card .mobile-login-brand{display:flex;margin-bottom:26px}.premium-login-card h2{font-size:30px}.login-panel-footer{bottom:20px}.premium-login-field .login-input-wrap input{font-size:16px}}
@media(max-width:420px){.premium-login-panel{padding-inline:13px}.premium-login-card{padding:25px 18px}.mobile-company-logo{width:190px;height:100px}.premium-login-card h2{font-size:28px}}


/* Build 079B — AS Surface warm wood login */
.login-shell-premium{background:#120c08 url('/brand/as-surface-login-warm.svg') center/cover no-repeat fixed}
.premium-login-visual{background:linear-gradient(90deg,rgba(7,9,12,.94) 0%,rgba(11,10,10,.88) 55%,rgba(31,18,11,.46) 100%);backdrop-filter:saturate(.9)}
.premium-login-visual::before{opacity:.18;background-image:linear-gradient(110deg,rgba(212,147,76,.09),transparent 28%,rgba(255,255,255,.025) 28.5%,transparent 29%);background-size:220px 100%;mask-image:none}
.premium-login-visual::after{width:460px;height:460px;right:-255px;border-color:rgba(216,154,84,.13);box-shadow:0 0 0 74px rgba(194,124,55,.025),0 0 0 148px rgba(194,124,55,.014)}
.login-suite-pill{border-color:rgba(222,168,104,.24);background:rgba(18,12,8,.58);color:#dcc6ad}.login-suite-pill i{background:#d7a15f;box-shadow:0 0 15px rgba(215,161,95,.55)}
.login-eyebrow{color:#d69a54}.login-premium-hero h1{color:#fff9f2}.login-premium-hero h1 span{color:#d9a15f}.login-premium-hero p{color:#d9c9b8;font-size:20px;max-width:620px}
.login-feature-chips span{border-color:rgba(218,160,92,.25);background:rgba(31,20,13,.52);color:#f0d6b8;padding:9px 13px}
.login-workflow-preview{width:min(850px,100%);grid-template-columns:repeat(11,max-content);justify-content:start;gap:8px;padding:14px 15px;border-color:rgba(215,157,87,.2);background:rgba(18,12,9,.58);box-shadow:0 18px 55px rgba(0,0,0,.18)}
.login-workflow-preview div{gap:7px}.login-workflow-preview i{background:rgba(213,147,75,.16);color:#e1aa69;border:1px solid rgba(215,155,86,.14)}.login-workflow-preview strong{color:#f2e2d0;white-space:nowrap}.login-workflow-preview b{color:#9a6d42}
.login-visual-footer{color:#a78c70}.login-visual-footer span:first-child{color:#d2b18c}
.premium-login-panel{background:linear-gradient(90deg,rgba(13,10,8,.58),rgba(10,9,9,.78));backdrop-filter:blur(2px)}
.premium-login-panel::before{background:radial-gradient(circle at 50% 44%,rgba(210,141,70,.16),transparent 34%)}
.premium-login-card{border-color:rgba(222,166,98,.38);background:linear-gradient(180deg,rgba(25,21,19,.92),rgba(12,13,14,.95));box-shadow:0 42px 110px rgba(0,0,0,.48),inset 0 1px rgba(255,240,220,.035);backdrop-filter:blur(18px)}
.login-card-kicker{color:#a98e70}.secure-dot{background:#d5a05f;box-shadow:0 0 13px rgba(213,160,95,.6)}
.premium-login-card h2{color:#fff7ef}.premium-login-card>p{color:#a99989}
.premium-login-field label{color:#d0bba4}.login-input-wrap .login-input-icon{background:#241a14;color:#a7805a;border:1px solid rgba(209,150,83,.13)}
.premium-login-field .login-input-wrap input{border-color:#4b392c;background:rgba(9,11,13,.82);color:#fff8f0}.premium-login-field .login-input-wrap input::placeholder{color:#77695e}.premium-login-field .login-input-wrap input:focus{border-color:#d19a5d;box-shadow:0 0 0 4px rgba(209,154,93,.11)}
.premium-login-btn{background:linear-gradient(135deg,#c6843f 0%,#e2ad6b 100%)!important;color:#17100b!important;box-shadow:0 14px 34px rgba(197,126,57,.25)!important}.premium-login-btn:hover{filter:brightness(1.06)}
.login-security-note{border-top-color:rgba(213,161,100,.13);color:#89786a}.login-security-note span{color:#d2a164}.login-panel-footer{color:#8e745b}
@media(max-width:1320px){.login-workflow-preview{grid-template-columns:repeat(7,max-content)}.login-workflow-preview>div:nth-of-type(5),.login-workflow-preview>div:nth-of-type(6),.login-workflow-preview>b:nth-of-type(4),.login-workflow-preview>b:nth-of-type(5){display:none}}
@media(max-width:1100px){.login-workflow-preview{grid-template-columns:repeat(5,max-content)}.login-workflow-preview>div:nth-of-type(4),.login-workflow-preview>b:nth-of-type(3){display:none}}
@media(max-width:800px){.login-shell-premium{background:#120c08 url('/brand/as-surface-login-warm.svg') 68% center/cover no-repeat fixed}.premium-login-panel{background:linear-gradient(180deg,rgba(8,8,9,.58),rgba(11,8,6,.82));backdrop-filter:blur(3px)}.premium-login-card{background:linear-gradient(180deg,rgba(24,20,18,.94),rgba(11,12,13,.96));border-color:rgba(223,167,100,.34)}.premium-login-card h2{font-size:28px}.login-panel-footer{color:#aa8c6d}}

/* Build 080 — AS Surface factory-first Command Center refresh */
.as-command-center{--as-gold:#c89255;--as-gold-soft:#e0b27c;display:grid;gap:18px}
.as-command-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.75fr);gap:24px;padding:28px;border:1px solid color-mix(in srgb,var(--as-gold) 28%,var(--line));border-radius:calc(var(--radius) * 1.08);overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--theme-panel) 94%,#1d1209),var(--theme-panel));box-shadow:0 18px 45px var(--theme-shadow)}
.as-command-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 86% 10%,color-mix(in srgb,var(--as-gold) 12%,transparent),transparent 31%),linear-gradient(100deg,transparent 0 60%,color-mix(in srgb,var(--as-gold) 3%,transparent))}
.as-command-hero-copy,.as-command-hero-side{position:relative;z-index:1}.as-command-hero-copy{align-self:center}.as-command-hero-copy .command-eyebrow{color:var(--as-gold-soft)}.as-command-hero-copy h1{margin:6px 0 8px;font-size:clamp(30px,3vw,46px);letter-spacing:-.035em}.as-command-hero-copy p{max-width:760px;margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.as-command-live-line{display:flex;align-items:center;gap:7px;margin-top:17px;color:var(--muted);font-size:11px;font-weight:750}.as-command-live-line>span{width:8px;height:8px;border-radius:50%;background:var(--amber)}.as-command-live-line>span.online{background:var(--green);box-shadow:0 0 12px color-mix(in srgb,var(--green) 55%,transparent)}
.as-command-hero-side{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:stretch}.as-health-card{grid-row:span 2;border:1px solid var(--line);border-radius:18px;background:var(--panel-2);color:var(--text);padding:17px;text-align:left;cursor:pointer}.as-health-card>small{color:var(--muted);font-size:9px;letter-spacing:.09em;font-weight:900}.as-health-card>div{display:flex;align-items:flex-start;margin:9px 0 4px}.as-health-card>div strong{font-size:40px;line-height:1}.as-health-card>div span{color:var(--muted);font-size:13px;margin:4px 0 0 3px}.as-health-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.35}.as-health-card.healthy{border-color:color-mix(in srgb,var(--green) 42%,var(--line))}.as-health-card.warning{border-color:color-mix(in srgb,var(--amber) 55%,var(--line))}.as-health-card.critical{border-color:color-mix(in srgb,var(--red) 55%,var(--line))}
.as-command-clock{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2);display:flex;align-items:center;justify-content:space-between;gap:12px}.as-command-clock strong{font-size:20px}.as-command-clock small{font-size:9px;color:var(--muted);text-align:right}.as-command-hero-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.as-command-hero-actions button{min-width:0;padding-inline:9px}
.as-quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.as-quick-actions button{min-height:76px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:13px 14px;text-align:left;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;cursor:pointer;transition:.16s ease}.as-quick-actions button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--as-gold) 55%,var(--line));box-shadow:0 10px 28px var(--theme-shadow)}.as-quick-actions button>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--as-gold) 13%,var(--panel-2));color:var(--as-gold-soft);font-size:15px}.as-quick-actions strong{font-size:12px;align-self:end}.as-quick-actions small{color:var(--muted);font-size:9px;align-self:start}
.as-command-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.as-kpi-card{min-height:110px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,var(--panel),var(--panel-2));color:var(--text);padding:17px;text-align:left;display:flex;flex-direction:column;gap:7px;cursor:pointer;position:relative;overflow:hidden}.as-kpi-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:color-mix(in srgb,var(--as-gold) 65%,var(--blue))}.as-kpi-card.warning:before{background:var(--amber)}.as-kpi-card.critical:before{background:var(--red)}.as-kpi-card.ready:before{background:var(--green)}.as-kpi-card small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.075em}.as-kpi-card strong{font-size:30px;line-height:1}.as-kpi-card span{font-size:10px;color:var(--muted)}.as-kpi-card:hover{border-color:color-mix(in srgb,var(--as-gold) 46%,var(--line))}
.as-command-filter-panel{padding:0;overflow:hidden}.as-command-filter-panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;cursor:pointer}.as-command-filter-panel>summary::-webkit-details-marker{display:none}.as-command-filter-panel>summary span{font-weight:850}.as-command-filter-panel>summary small{color:var(--muted)}.as-command-filter-panel[open]>summary{border-bottom:1px solid var(--line)}.as-command-filter-panel .command-filter-bar{margin:0;border:0;border-radius:0;box-shadow:none}
.as-factory-flow{overflow:hidden}.as-factory-flow .section-title{margin-bottom:14px}.as-flow-track{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin}.as-flow-step{min-width:190px;flex:1 0 190px;position:relative;display:grid;grid-template-columns:28px 1fr auto;grid-template-rows:auto auto;gap:2px 9px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer}.as-flow-step:not(:last-child):after{content:"›";position:absolute;right:-8px;top:50%;transform:translateY(-50%);z-index:2;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);color:var(--as-gold-soft);font-size:12px}.as-flow-number{grid-row:1/3;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--as-gold) 13%,var(--panel));color:var(--as-gold-soft);font-size:10px;font-weight:900}.as-flow-step div{display:grid;gap:3px;min-width:0}.as-flow-step div strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-flow-step div small{font-size:8px;color:var(--muted);white-space:nowrap}.as-flow-step>b{font-size:20px}.as-flow-step>em{grid-column:2/4;color:var(--red);font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.as-flow-step.has-blocked{border-color:color-mix(in srgb,var(--red) 50%,var(--line))}.as-flow-step.is-overload{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 30%,transparent)}
.as-dashboard-focus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:18px}.as-today-card,.as-attention-card{min-width:0}.as-today-card>.section-title>strong{font-size:25px;color:var(--as-gold-soft)}.as-today-body{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;margin-top:8px}.as-today-metrics{display:grid;gap:8px}.as-today-metrics button{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;padding:9px 2px;cursor:pointer}.as-today-metrics button span{color:var(--muted);font-size:11px}.as-today-metrics button strong{font-size:17px}.as-progress-line{height:7px;border-radius:99px;background:var(--input);overflow:hidden;margin-top:2px}.as-progress-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--as-gold),var(--green))}.as-bottleneck-inline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.as-bottleneck-inline>div{display:grid;gap:3px}.as-bottleneck-inline small{font-size:9px;letter-spacing:.07em;color:var(--amber);font-weight:900}.as-bottleneck-inline strong{font-size:17px}.as-bottleneck-inline span{font-size:10px;color:var(--muted)}
.as-attention-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 14px}.as-attention-summary button{border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text);padding:11px;display:grid;gap:3px;text-align:left;cursor:pointer}.as-attention-summary strong{font-size:19px}.as-attention-summary span{color:var(--muted);font-size:8px;text-transform:uppercase}.as-attention-list{max-height:410px;overflow:auto;padding-right:3px}.as-attention-list .command-action-row{padding:11px 0}.as-attention-list .action-copy p{margin:3px 0;font-size:10px}.as-attention-list .action-copy small{font-size:8px}.as-attention-list .action-buttons{gap:5px}.as-attention-list .action-buttons button{padding:7px 9px;font-size:9px}
.as-material-readiness{border-color:color-mix(in srgb,var(--green) 22%,var(--line))}.as-readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0}.as-readiness-score{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.as-readiness-score strong{font-size:22px}.as-readiness-score span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.as-readiness-score.risk strong{color:var(--amber)}.as-material-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.as-material-orders .material-command-order{margin:0}
.as-commercial-summary{padding:18px}.as-commercial-summary .money-control{grid-template-columns:repeat(4,minmax(0,1fr))}
.as-command-center .command-department-board,.as-command-center .command-priority,.as-command-center .order-timeline-board,.as-command-center .management-notes,.as-command-center .command-sales-strip,.as-command-center .command-cash-section,.as-command-center .finance-command-section,.as-command-center .workforce-command-section{margin-top:0}
html[data-theme="timber"] .as-command-hero{background:linear-gradient(120deg,#241910,#17120d)}
html[data-theme="studio"] .as-command-hero{background:linear-gradient(120deg,#fff,#f7f2eb)}
html[data-theme="studio"] .as-quick-actions button>span,html[data-theme="studio"] .as-flow-number{background:#f5eadc;color:#8b5b25}
@media(max-width:1280px){.as-command-hero{grid-template-columns:1fr}.as-command-hero-side{grid-template-columns:150px minmax(0,1fr)}.as-command-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.as-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.as-dashboard-focus-grid{grid-template-columns:1fr}.as-material-orders{grid-template-columns:1fr}.as-commercial-summary .money-control{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.as-command-center{gap:13px}.as-command-hero{padding:19px;border-radius:16px}.as-command-hero-copy h1{font-size:30px}.as-command-hero-copy p{font-size:13px}.as-command-hero-side{grid-template-columns:1fr 1fr}.as-health-card{grid-row:auto}.as-command-clock{display:grid;align-content:center}.as-command-clock small{text-align:left}.as-command-hero-actions{grid-column:1/-1}.as-quick-actions{display:flex;overflow-x:auto;padding-bottom:4px}.as-quick-actions button{min-width:180px}.as-command-kpis{display:flex;overflow-x:auto;padding-bottom:4px}.as-kpi-card{min-width:160px}.as-today-body{grid-template-columns:120px 1fr}.as-attention-summary{grid-template-columns:repeat(2,1fr)}.as-readiness-grid{grid-template-columns:repeat(2,1fr)}.as-flow-step{min-width:170px;flex-basis:170px}.as-command-filter-panel .command-filter-bar{grid-template-columns:1fr 1fr}.as-command-filter-panel .filter-title{grid-column:1/-1}}
@media(max-width:540px){.as-command-hero-side{grid-template-columns:1fr}.as-command-hero-actions{grid-column:auto}.as-command-clock{display:flex}.as-command-hero-actions{grid-template-columns:1fr 1fr 1fr}.as-command-kpis{margin-inline:-2px}.as-today-body{grid-template-columns:1fr}.as-today-card .target-ring{margin:auto}.as-bottleneck-inline{align-items:flex-start;flex-direction:column}.as-bottleneck-inline button{width:100%}.as-readiness-grid{grid-template-columns:1fr 1fr}.as-commercial-summary .money-control{grid-template-columns:1fr}.as-command-filter-panel .command-filter-bar{grid-template-columns:1fr}.as-command-filter-panel .filter-title{grid-column:auto}}


/* Build 081 — Today-first Production Planner */
.today-plan-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin-bottom:16px;position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--amber) 10%,var(--panel)),var(--panel))}
.today-plan-hero:after{content:"";position:absolute;right:-70px;top:-110px;width:260px;height:260px;border-radius:50%;background:color-mix(in srgb,var(--amber) 12%,transparent);pointer-events:none}.today-plan-hero>div{position:relative;z-index:1}.today-plan-hero h2{margin:4px 0 5px;font-size:24px}.today-plan-hero p{margin:0;color:var(--muted);max-width:720px;line-height:1.5}.today-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;position:relative;z-index:1}.today-floor-section{margin-top:16px}.today-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;align-items:start}.today-stage-lane{border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:12px;min-width:0}.today-stage-lane.machine-down{border-color:color-mix(in srgb,var(--red) 65%,var(--line));background:color-mix(in srgb,var(--red) 6%,var(--panel-2))}.today-stage-lane>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.today-stage-lane>header div{display:grid;gap:3px}.today-stage-lane>header small{font-size:9px;letter-spacing:.09em;color:var(--muted);font-weight:900}.today-stage-lane>header strong{font-size:12px}.today-stage-lane>header>span{min-width:48px;padding:5px 7px;border-radius:99px;text-align:center;background:color-mix(in srgb,var(--green) 13%,transparent);color:var(--green);font-size:10px;font-weight:900}.today-stage-lane>header>span.overload{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}.today-stage-meter{height:5px;margin:10px 0 11px;border-radius:99px;background:var(--input);overflow:hidden}.today-stage-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--amber),var(--red))}.today-stage-jobs{display:grid;gap:8px}.today-floor-job{width:100%;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:11px;background:var(--panel);color:var(--text);padding:10px;text-align:left;cursor:pointer;transition:.16s ease}.today-floor-job:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 60%,var(--line));box-shadow:0 10px 24px var(--theme-shadow)}.today-floor-job.status-running{border-left-color:var(--green)}.today-floor-job.status-blocked{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 6%,var(--panel))}.today-floor-job.status-approval{border-left-color:var(--amber)}.today-floor-job.status-done{border-left-color:var(--green);opacity:.64}.today-floor-job.has-conflict{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 55%,transparent)}.today-floor-job-top,.today-floor-job-meta,.today-floor-job-foot{display:flex;align-items:center;justify-content:space-between;gap:7px}.today-floor-job-top{margin-bottom:6px}.today-floor-job-top b{font-size:11px;color:var(--blue)}.today-floor-job-top span,.today-floor-job-meta span,.today-floor-job-foot span{font-size:9px;color:var(--muted)}.today-floor-job>strong{display:block;font-size:12px;line-height:1.35}.today-floor-job>small{display:block;margin:3px 0 7px;color:var(--muted);font-size:10px}.today-floor-job-meta{padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.today-floor-job-meta span{max-width:49%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-floor-job-foot{margin-top:7px}.today-floor-job-foot em{font-style:normal;font-size:9px;font-weight:900;text-transform:uppercase;color:var(--text)}.today-lane-empty{padding:18px 8px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:10px}.today-ready-list{display:grid;gap:8px}.today-ready-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer}.today-ready-row:hover{border-color:var(--blue)}.today-ready-row.blocked{border-left:4px solid var(--red)}.today-ready-row>div{min-width:0}.today-ready-row strong{display:block;font-size:12px}.today-ready-row small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.today-ready-row>span{display:grid;justify-items:end;gap:4px}.today-machine-list{display:grid;gap:8px}.today-machine-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}.today-machine-row strong{display:block;font-size:12px}.today-machine-row small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.machine-state{padding:6px 9px;border-radius:99px;background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green);font-size:9px;font-weight:900;white-space:nowrap}.machine-state.down{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}.today-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.today-control-grid button{min-height:78px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}.today-control-grid button strong{font-size:12px}.today-control-grid button small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:500}.planner-view-tabs{overflow-x:auto;max-width:100%;scrollbar-width:thin}.planner-view-tabs button{white-space:nowrap}
@media(max-width:1100px){.today-plan-hero{align-items:flex-start;flex-direction:column}.today-plan-actions{justify-content:flex-start}.today-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.today-stage-grid{grid-template-columns:1fr}.today-plan-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.today-plan-actions button:last-child{grid-column:1/-1}.today-control-grid{grid-template-columns:1fr}.today-ready-row{grid-template-columns:1fr}.today-ready-row>span{justify-items:start}.today-machine-row{align-items:flex-start;flex-direction:column}.planner-view-tabs{width:100%}.planner-toolbar{gap:10px}.planner-toolbar>.health-chip{align-self:flex-start}}

/* =====================================================================
   Build 086 — AS Surface OS full-system visual language
   One factory. One live system.
   ===================================================================== */
:root{
  --as-gold:#c89a5b;
  --as-gold-strong:#e0b777;
  --as-gold-soft:color-mix(in srgb,var(--as-gold) 12%,transparent);
  --as-surface-line:color-mix(in srgb,var(--theme-line) 78%,var(--as-gold) 22%);
  --as-surface-glow:0 18px 50px color-mix(in srgb,var(--theme-shadow) 86%,var(--as-gold) 14%);
}
body{background:radial-gradient(circle at 86% 2%,color-mix(in srgb,var(--as-gold) 8%,transparent),transparent 24%),radial-gradient(circle at 10% 92%,color-mix(in srgb,var(--blue) 5%,transparent),transparent 28%),var(--bg)}
.app-shell{isolation:isolate}.main{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 98%,var(--as-gold) 2%),var(--bg));}
.content{padding:26px 28px 42px}.content[data-route]{animation:as-route-in .18s ease both}@keyframes as-route-in{from{opacity:.72;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Global top bar */
.topbar{height:72px;padding:0 24px;gap:16px;border-bottom-color:var(--as-surface-line);background:color-mix(in srgb,var(--theme-topbar) 94%,var(--as-gold) 6%);box-shadow:0 8px 28px color-mix(in srgb,var(--theme-shadow) 86%,transparent)}
.topbar-context{display:grid;gap:2px;min-width:136px;padding-right:15px;border-right:1px solid var(--theme-line)}
.topbar-context small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--as-gold-strong);font-weight:900}.topbar-context strong{font-size:13px;white-space:nowrap}
.topbar .search{max-width:760px}.topbar .search input{height:42px;border-radius:13px;background:color-mix(in srgb,var(--theme-input) 92%,var(--as-gold) 8%);border-color:var(--theme-line)}
.topbar .search input:focus{border-color:color-mix(in srgb,var(--as-gold) 60%,var(--blue));box-shadow:0 0 0 3px color-mix(in srgb,var(--as-gold) 12%,transparent)}
.avatar{background:linear-gradient(135deg,var(--as-gold),var(--blue));box-shadow:0 8px 22px color-mix(in srgb,var(--as-gold) 24%,transparent)}
.live-sync-chip{border-radius:999px!important}

/* Grouped factory navigation */
.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-sidebar) 94%,var(--as-gold) 6%),var(--theme-sidebar));border-right-color:var(--as-surface-line)}
.grouped-nav{display:grid;gap:12px;padding-bottom:16px}.nav-group{display:grid;gap:5px;min-width:0}.nav-group+.nav-group{padding-top:9px;border-top:1px solid color-mix(in srgb,var(--theme-line) 72%,transparent)}
.nav-group-label{height:23px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;color:var(--theme-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;white-space:nowrap;overflow:hidden}.nav-group-label i{font-style:normal;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--theme-panel2);color:var(--theme-muted);font-size:8px;letter-spacing:0}
.nav-group.active-group>.nav-group-label span{color:var(--as-gold-strong)}.nav-group-items{display:grid;gap:4px}
.grouped-nav button{min-height:42px;border:1px solid transparent!important;position:relative}.grouped-nav button:hover{background:color-mix(in srgb,var(--theme-hover) 88%,var(--as-gold) 12%);border-color:color-mix(in srgb,var(--theme-line) 75%,var(--as-gold) 25%)!important}
.grouped-nav button.active{background:linear-gradient(90deg,color-mix(in srgb,var(--as-gold) 16%,var(--theme-panel2)),var(--theme-panel2));border-color:color-mix(in srgb,var(--as-gold) 45%,var(--theme-line))!important;color:var(--theme-text)}
.grouped-nav button.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--as-gold-strong);box-shadow:0 0 14px color-mix(in srgb,var(--as-gold) 45%,transparent)}
.grouped-nav button.active .icon{color:var(--as-gold-strong)}
.sidebar-footer{border-color:var(--as-surface-line);background:linear-gradient(135deg,color-mix(in srgb,var(--theme-panel) 92%,var(--as-gold) 8%),var(--theme-panel));line-height:1.45}
html[data-sidebar="compact"] .nav-group-label{display:none}html[data-sidebar="compact"] .nav-group{gap:4px}html[data-sidebar="compact"] .nav-group+.nav-group{padding-top:7px;margin-top:3px}
@media(min-width:801px){html[data-sidebar="compact"] .sidebar:hover .nav-group-label,html[data-sidebar="compact"] .sidebar:focus-within .nav-group-label{display:flex}}

/* Consistent module entry header */
.content:not(.route-dashboard)>.page-head,.content:not(.route-dashboard)>.analytics-head{position:relative;align-items:center;margin-bottom:18px;padding:18px 20px;border:1px solid var(--as-surface-line);border-radius:16px;background:linear-gradient(110deg,color-mix(in srgb,var(--theme-panel) 96%,var(--as-gold) 4%),var(--theme-panel));box-shadow:0 14px 36px color-mix(in srgb,var(--theme-shadow) 84%,transparent);overflow:hidden}
.content:not(.route-dashboard)>.page-head:before,.content:not(.route-dashboard)>.analytics-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--as-gold-strong),var(--blue))}
.content:not(.route-dashboard)>.page-head>div:first-child,.content:not(.route-dashboard)>.analytics-head>div:first-child{min-width:0}
.page-head small:first-child,.analytics-head small:first-child,.command-eyebrow{color:var(--as-gold-strong)!important;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.page-head h1,.analytics-head h1{font-size:clamp(24px,2.2vw,31px);line-height:1.1}.page-head p,.analytics-head p{max-width:900px;line-height:1.48}
.planner-head-actions,.quick-actions,.analytics-actions{align-items:center}.planner-head-actions button,.quick-actions button,.analytics-actions button{white-space:nowrap}

/* Cards / KPIs / sections */
.card{border-color:var(--as-surface-line);box-shadow:var(--as-surface-glow)}
.section{padding:18px}.section-title{margin-bottom:14px}.section-title h2,.section-title h3{letter-spacing:-.015em}.section-title small{line-height:1.45}
.stat{min-height:112px;padding:17px 18px;border-color:var(--as-surface-line)}.stat:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent,var(--as-gold));opacity:.88}.stat:after{width:108px;height:108px;top:-58px;right:-48px;opacity:.08}.stat .label{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.stat .value{margin-top:15px;font-size:clamp(21px,2vw,28px)}.stat .meta{line-height:1.4}
.stats,.stats.four,.stats.three{gap:11px}
.grid-2{gap:14px;margin-top:14px}.gap-top{margin-top:14px}.top-space{margin-top:20px!important}
.empty-state{border-color:color-mix(in srgb,var(--theme-line) 82%,var(--as-gold) 18%);background:color-mix(in srgb,var(--theme-panel2) 90%,var(--as-gold) 10%);line-height:1.5}

/* Buttons and controls */
.primary-btn{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 78%,var(--as-gold) 22%),var(--blue));border:1px solid color-mix(in srgb,var(--blue) 72%,white 8%);box-shadow:0 9px 22px color-mix(in srgb,var(--blue) 20%,transparent)}
.secondary-btn{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-panel2) 96%,var(--as-gold) 4%),var(--theme-panel2));border-color:var(--as-surface-line)}.secondary-btn:hover{border-color:color-mix(in srgb,var(--as-gold) 48%,var(--theme-line));background:color-mix(in srgb,var(--theme-hover) 90%,var(--as-gold) 10%)}
input,select,textarea{background:color-mix(in srgb,var(--theme-input) 96%,var(--as-gold) 4%);border-color:var(--theme-line)}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--blue) 62%,var(--as-gold) 38%);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 8%,var(--as-gold) 5%)}
.tabs{gap:6px;padding:5px;border:1px solid var(--theme-line);border-radius:14px;background:var(--theme-panel2)}.tabs button{border-radius:10px!important}.tabs button.active{background:color-mix(in srgb,var(--as-gold) 15%,var(--theme-panel));color:var(--theme-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--as-gold) 42%,var(--theme-line))}

/* Tables: dense enough for factory use, easier to scan */
.table-wrap{border-radius:13px;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--theme-panel2) 92%,var(--as-gold) 8%);color:var(--theme-muted);font-size:9px;text-transform:uppercase;letter-spacing:.065em;font-weight:900;border-bottom:1px solid var(--as-surface-line)}.data-table th,.data-table td{padding:11px 12px}.data-table tbody tr{transition:background .14s ease}.data-table tbody tr:hover{background:color-mix(in srgb,var(--theme-hover) 90%,var(--as-gold) 10%)}.data-table td strong{font-weight:850}.data-table td small{line-height:1.35}
.status-pill,.status-badge,.pill,.risk-pill{border:1px solid color-mix(in srgb,currentColor 22%,transparent);font-weight:850}

/* Module search / filters */
.module-search-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;margin-bottom:14px}.module-search-field{display:flex;align-items:center;gap:9px;flex:1}.module-search-field>span{color:var(--as-gold-strong);font-size:18px}.module-search-field input{height:39px}.module-search-bar>small{white-space:nowrap}
.scheduler-toolbar,.material-hub-toolbar,.command-filter-bar,.planner-toolbar{border-color:var(--as-surface-line)!important;background:color-mix(in srgb,var(--theme-panel) 96%,var(--as-gold) 4%)!important}

/* Product / material / sales cards */
.product-card,.material-card,.crm-stage,.material-plan-order,.purchase-card,.quotation-card,.order-card{border-color:var(--as-surface-line)!important}
.product-card:hover,.material-card:hover,.crm-stage:hover,.material-plan-order:hover{border-color:color-mix(in srgb,var(--as-gold) 52%,var(--theme-line))!important;box-shadow:0 15px 35px color-mix(in srgb,var(--theme-shadow) 82%,transparent)}
.product-code,.material-variant,.catalogue-quality{color:var(--as-gold-strong)!important}

/* Operator / QC / dispatch / frontline touch targets */
.frontline-shell .content{padding-bottom:92px}.route-operator .primary-btn,.route-parts .primary-btn,.route-labels .primary-btn,.route-qc .primary-btn,.route-dispatch .primary-btn{min-height:42px}.route-operator .card,.route-qc .card,.route-dispatch .card{box-shadow:0 12px 34px color-mix(in srgb,var(--theme-shadow) 86%,transparent)}
.route-operator .stage-guide,.route-qc .quality-job-row,.route-dispatch .dispatch-row{border-color:var(--as-surface-line)}

/* Production planner + floor status */
.today-plan-hero{border:1px solid color-mix(in srgb,var(--as-gold) 38%,var(--theme-line));background:linear-gradient(125deg,color-mix(in srgb,var(--as-gold) 11%,var(--theme-panel)),var(--theme-panel))}.today-stage-lane{border-color:var(--as-surface-line)}.today-floor-job{border-color:var(--theme-line)}.today-floor-job:hover{border-color:color-mix(in srgb,var(--as-gold) 42%,var(--blue))}.planner-view-tabs button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--as-gold) 16%,var(--theme-panel2)),var(--theme-panel2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--as-gold) 42%,var(--theme-line))}

/* Modal language */
.modal-backdrop{backdrop-filter:blur(6px)}.modal-card{border-color:var(--as-surface-line);box-shadow:0 38px 110px rgba(0,0,0,.48)}.modal-head{padding-bottom:14px;border-bottom:1px solid var(--theme-line)}.modal-head small{color:var(--as-gold-strong);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.modal-head h2{margin-top:5px}

/* System pages */
.route-sync .health-list>div,.route-backup .health-list>div,.route-records .health-list>div,.route-users .permission-option{border-color:var(--as-surface-line)}
.route-appearance .theme-option.active{border-color:var(--as-gold)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--as-gold) 12%,transparent)}

/* Mobile: one-screen work mode */
@media(max-width:1000px){.topbar-context{display:none}.topbar{gap:10px;padding-inline:16px}.content{padding:20px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
  .content{padding:15px 13px 88px}.topbar{height:62px;padding:0 12px}.topbar .search{max-width:none}.topbar .search input{height:39px;font-size:12px}.user{gap:7px}.user .secondary-btn#logout{padding:8px 9px;font-size:11px}.avatar{width:34px;height:34px}.live-sync-chip span{display:none}
  .content:not(.route-dashboard)>.page-head,.content:not(.route-dashboard)>.analytics-head{align-items:stretch;flex-direction:column;padding:15px 16px;margin-bottom:13px}.page-head h1,.analytics-head h1{font-size:24px}.page-head p,.analytics-head p{font-size:12px}.page-head .quick-actions,.page-head .planner-head-actions,.analytics-actions{width:100%;display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.page-head .quick-actions>* ,.page-head .planner-head-actions>* ,.analytics-actions>*{flex:0 0 auto}
  .stats,.stats.four,.stats.three{display:flex;overflow-x:auto;gap:9px;padding-bottom:4px}.stats>.stat{min-width:158px;min-height:102px}.stat .value{font-size:22px}
  .grid-2{grid-template-columns:1fr}.section{padding:14px}.section-title{align-items:flex-start;flex-direction:column;gap:8px}.section-title>.quick-actions{width:100%}
  .data-table th,.data-table td{padding:9px 10px;white-space:nowrap}.table-wrap{margin-inline:-2px}.module-search-bar{align-items:stretch;flex-direction:column;gap:7px}.module-search-bar>small{white-space:normal}
  .nav-group-label{font-size:9px;padding-inline:9px}.grouped-nav{gap:11px}.sidebar .nav{padding-bottom:12px!important}
  .mobile-work-nav{border-top-color:var(--as-surface-line)!important;background:color-mix(in srgb,var(--theme-panel) 94%,var(--as-gold) 6%)!important}.mobile-work-nav button.active{color:var(--as-gold-strong)!important}
  .route-operator .primary-btn,.route-parts .primary-btn,.route-labels .primary-btn,.route-qc .primary-btn,.route-dispatch .primary-btn{min-height:46px;font-size:13px}
}
@media(max-width:520px){.content{padding-inline:10px}.topbar .search input{padding-left:36px}.topbar .search::before{left:12px}.user-text{display:none}.page-head .quick-actions button,.page-head .planner-head-actions button{min-height:40px}.stats>.stat{min-width:148px}.card{border-radius:14px}.section{padding:12px}}
