
    :root{
      --bg:#1c1d1f;--panel:#2a2b2e;--panel2:#232427;--line:#3a3b3e;
      --text:#f2f1ee;--sub:#a5a6a8;--amber:#f2a900;--amberDim:#3b3018;
      --green:#3fae5c;--greenDim:#1c3322;--red:#e05a4e;--redDim:#3a2220;
      --blue:#4fa8d8;--blueDim:#162b37;--teal:#52b8b0;--tealDim:#17302f;
      --purple:#a999e8;--purpleDim:#292836;
    }
    *{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}
    button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}.hidden{display:none!important}
    .header{position:sticky;top:0;z-index:40;background:var(--panel2);border-bottom:1px solid var(--line)}
    .header-inner{max-width:1280px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:12px}
    .brand{display:flex;align-items:center;gap:11px;min-width:0}.bar{width:6px;height:26px;border-radius:2px;background:var(--amber);flex:0 0 auto}
    .brand-title{font-size:18px;font-weight:800;letter-spacing:.015em}.brand-sub{font-size:11px;color:var(--sub);margin-top:1px}
    .header-spacer{flex:1}.header-actions{display:flex;gap:7px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--sub);display:flex;align-items:center;justify-content:center;padding:0}.icon-btn:hover{color:var(--text)}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .nav-wrap{border-top:1px solid #303135}.nav{max-width:1280px;margin:0 auto;padding:7px 16px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
    .nav-btn{border:1px solid var(--line);background:var(--panel);color:var(--sub);border-radius:9px;padding:7px 11px;font-size:11px;font-weight:700;white-space:nowrap}.nav-btn.active{color:#1c1d1f;background:var(--amber);border-color:var(--amber)}
    .wrap{max-width:1280px;margin:0 auto;padding:18px 16px 42px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.page-title{font-size:21px;font-weight:800}.page-sub{font-size:11.5px;color:var(--sub);line-height:1.45;margin-top:3px}.read-only{display:inline-flex;align-items:center;gap:6px;border:1px solid #4a4b4f;background:#252629;color:#bfc0c2;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
    .card{background:var(--panel);border:1px solid var(--line);border-radius:12px}.card2{background:var(--panel2);border:1px solid var(--line);border-radius:12px}
    .module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-card{min-height:160px;padding:16px;text-align:left;color:var(--text);display:flex;flex-direction:column;justify-content:space-between}.module-card:hover{border-color:#5a5b5f}.module-card.operations{border-color:#68614b}.module-card.production{border-color:#2d5a76}.module-card.quality{border-color:#39694a}.module-title{font-size:18px;font-weight:800}.module-desc{font-size:11.5px;color:var(--sub);line-height:1.45;margin-top:5px}.module-metric{font-size:26px;font-weight:850;line-height:1;margin-top:18px}.module-caption{font-size:10px;color:var(--sub);margin-top:5px}.module-arrow{font-size:18px;color:var(--sub)}
    .stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.stat{padding:11px}.stat-value{font-size:22px;font-weight:850}.stat-label{font-size:9.5px;color:var(--sub);margin-top:4px;line-height:1.2}.stat.amber{background:var(--amberDim);border-color:#6d561d}.stat.green{background:var(--greenDim);border-color:#345f40}.stat.blue{background:var(--blueDim);border-color:#2d5a76}.stat.red{background:var(--redDim);border-color:#7a3732}
    .section{margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.section-title{font-size:11.5px;color:var(--amber);font-weight:850;text-transform:uppercase;letter-spacing:.055em}.section-title.amber{color:#f2c766}.section-title.blue{color:#8fcdf0}.section-title.light-blue{color:#a8d8f0}.section-title.green{color:#7bd891}.section-title.red{color:#f3a89f}.section-title.purple{color:#c8bdf2}.section-title.teal{color:#8bd8d2}.section-title.neutral{color:#c8c9ca}.section-count{font-size:9.5px;color:var(--sub);font-weight:750}.section-head.amber .section-count{color:#d8b85f}.section-head.blue .section-count,.section-head.light-blue .section-count{color:#8fcdf0}.section-head.green .section-count{color:#7bd891}.section-head.red .section-count{color:#f3a89f}.section-head.purple .section-count{color:#c8bdf2}.section-head.teal .section-count{color:#8bd8d2}
    .list{display:flex;flex-direction:column;gap:7px}.list-card{width:100%;padding:12px 13px;text-align:left;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:11px}.list-card:hover{border-color:#5d5e62}.list-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ref-title{font-size:12px;font-weight:850;color:#f2c766;letter-spacing:.01em}.ref-title.amber,.ref-title.prestart{color:#f2c766}.ref-title.signoff{color:#f2a900}.ref-title.light-blue{color:#a8d8f0}.ref-title.blue{color:#8fcdf0}.ref-title.green{color:#7bd891}.ref-title.red{color:#f3a89f}.ref-title.purple{color:#c8bdf2}.ref-title.teal{color:#8bd8d2}.ref-title.neutral{color:#c8c9ca}.list-title{font-size:13px;font-weight:750}.list-sub{font-size:10.8px;color:#d2d3d4;line-height:1.4;margin-top:4px}.list-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px;font-size:9.5px;color:#8e8f91}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:8.5px;font-weight:800;white-space:nowrap;color:var(--sub);background:var(--panel2)}.pill.amber{border-color:#72591b;color:#f1c864;background:#3b3018}.pill.green{border-color:#356443;color:#8bd59d;background:#1c3322}.pill.light-blue{border-color:#43718a;color:#a8d8f0;background:#1a303b}.pill.blue{border-color:#2d5a76;color:#9ed0eb;background:#162b37}.pill.red{border-color:#7a3732;color:#f3a89f;background:#3a2220}.pill.purple{border-color:#5d5878;color:#c8bdf2;background:#292836}
    .history-details{margin-top:20px;background:transparent}.history-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:10px 11px}.history-details>summary::-webkit-details-marker{display:none}.history-details>summary::after{content:'⌄';color:var(--sub);font-size:13px}.history-details[open]>summary::after{content:'⌃'}.history-summary-left{display:flex;align-items:center;gap:8px}.history-details .details-body{padding-top:2px}
    .workflow-details{margin-top:18px;background:transparent}.workflow-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:8px 4px;cursor:pointer}.workflow-details>summary::-webkit-details-marker{display:none}.workflow-details>summary::after{content:'⌄';color:var(--sub);font-size:13px}.workflow-details[open]>summary::after{content:'⌃'}.workflow-details .details-body{padding-top:2px}.workflow-summary-left{display:flex;align-items:center;gap:8px}
    .cross-status{display:inline-flex;align-items:center;margin-top:7px;padding:4px 7px;border-radius:7px;border:1px solid #6d561d;background:rgba(242,169,0,.08);color:#f2c766;font-size:9.5px;font-weight:800}.cross-status.prestart{border-color:#72591b;background:rgba(242,199,102,.08);color:#f2c766}.cross-status.signoff{border-color:#8a6412;background:rgba(242,169,0,.08);color:#f2a900}.cross-status.light-blue{border-color:#43718a;background:rgba(168,216,240,.08);color:#a8d8f0}.cross-status.blue{border-color:#2d5a76;background:rgba(79,168,216,.08);color:#9ed0eb}.cross-status.red{border-color:#7a3732;background:rgba(224,90,78,.08);color:#f3a89f}
    .version-foot{margin-top:20px;padding-top:10px;border-top:1px solid #2f3033;text-align:right;color:#66676a;font-size:9px}.page-actions{display:flex;gap:8px;margin-bottom:12px}.new-order-btn{border:1px solid var(--amber);background:var(--amber);color:#1c1d1f;border-radius:10px;padding:9px 12px;font-weight:850}.danger-soft{border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;border-radius:10px;padding:9px 12px;font-weight:800}.hold-soft{border:1px solid #72591b;background:var(--amberDim);color:#f2c766;border-radius:10px;padding:9px 12px;font-weight:800}.green-soft{border:1px solid #356443;background:var(--greenDim);color:#8bd59d;border-radius:10px;padding:9px 12px;font-weight:800}
    .editor-shell{max-width:920px}.form-card{padding:14px;margin-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field{min-width:0}.field.full{grid-column:1/-1}.label{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub);font-weight:800;margin-bottom:5px}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:7px}.type-btn{border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:9px;padding:9px 10px;font-weight:800}.type-btn.active{border-color:#72591b;background:var(--amberDim);color:#f2c766}.type-btn.liquid.active{border-color:#2d5a76;background:var(--blueDim);color:#9ed0eb}
    .search-select{position:relative}.search-dropdown{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 4px);max-height:230px;overflow:auto;background:var(--panel2);border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 28px rgba(0,0,0,.4)}.search-option{display:block;width:100%;border:0;border-bottom:1px solid #343538;background:transparent;color:var(--text);text-align:left;padding:9px 10px;font-size:11px}.search-option:last-child{border-bottom:0}.search-option:hover{background:#2e3033}.search-empty{padding:10px;color:var(--sub);font-size:10px}
    .order-line-edit{display:grid;grid-template-columns:minmax(0,1.7fr) 120px 110px 36px;gap:8px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}.order-line-edit:first-child{border-top:0;padding-top:0}.remove-line{width:36px;height:38px;border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;border-radius:9px;font-weight:900}.add-line{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:8px 10px;font-weight:800}.form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.form-error{margin:10px 0}.upload-box{border:1px dashed #57585b;border-radius:10px;padding:16px;text-align:center;color:var(--sub);font-size:10.5px;cursor:pointer}.upload-box.drag{border-color:var(--amber);background:rgba(242,169,0,.05)}.attachment-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.attachment-row{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line);background:var(--panel2);border-radius:8px}.attachment-name{font-size:10.5px;font-weight:750;word-break:break-word}.attachment-meta{font-size:9px;color:var(--sub);margin-top:2px}.attachment-actions{margin-left:auto;display:flex;gap:5px}.small-btn{padding:6px 8px;border-radius:8px;font-size:9.5px;font-weight:800}.detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.muted-inline{color:var(--sub);font-size:9.5px}.required-dot{color:#f3a89f}
    .search-row{display:flex;gap:8px;margin-bottom:12px}.input{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text);font-size:13px;outline:none}.input:focus{border-color:#7b5c16}.secondary{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:9px 12px;font-weight:700}.primary{border:none;background:var(--amber);color:#1c1d1f;border-radius:10px;padding:9px 12px;font-weight:800}.back{display:inline-flex;align-items:center;gap:6px;border:none;background:none;color:var(--sub);padding:0 0 12px;font-size:11px;font-weight:750}.back:hover{color:var(--text)}
    .detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:12px}.detail-card{padding:14px}.detail-heading{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub);font-weight:800;margin-bottom:9px}.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:7px 12px;font-size:11px}.kv .k{color:var(--sub)}.kv .v{color:var(--text);word-break:break-word}.line-row{padding:9px 0;border-top:1px solid var(--line)}.line-row:first-child{border-top:none;padding-top:0}.line-name{font-size:12px;font-weight:750}.line-detail{font-size:10px;color:var(--sub);margin-top:3px;line-height:1.4}.note{padding:9px 10px;border:1px solid var(--line);background:var(--panel2);border-radius:9px;font-size:10.5px;line-height:1.45;margin-bottom:7px}.note:last-child{margin-bottom:0}.empty{padding:18px;text-align:center;color:#7f8082;font-size:11px;border:1px dashed var(--line);border-radius:10px}.error{padding:10px;border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;border-radius:9px;font-size:11px}.loading{padding:24px;text-align:center;color:var(--sub);font-size:11px}.load-time{font-size:9px;color:#6f7072;margin-top:11px;text-align:right}.speed-good{color:#79c98c}.speed-mid{color:#e8c668}.speed-slow{color:#e79a91}
    .action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.action{padding:11px}.action.urgent{border-color:#7a3732;background:#342322}.action-title{font-size:12px;font-weight:750;line-height:1.35}.action-owner{font-size:9.5px;color:var(--sub);margin-top:5px}.action-due{font-size:9.5px;color:#d9bf81;margin-top:4px}.action.urgent .action-due{color:#f3a89f}
    .settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.settings-card{position:relative;padding:13px;min-height:105px;text-align:left;color:var(--text);overflow:hidden;text-decoration:none;display:block}.settings-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#4b4c50}.settings-card[data-setting='peopleAccess']:before,.settings-card[data-setting='staff']:before,.settings-card[data-setting='customers']:before,.settings-card[data-setting='suppliers']:before{background:#6f7073}.settings-card[data-setting='products']:before,.settings-card[data-products-formulas]:before,.settings-card[data-setting='productsFormulas']:before,.settings-card[data-setting='rawMaterials']:before,.settings-card[data-setting='equipment']:before,.settings-card[data-setting='productAvailability']:before,.settings-card[data-setting='liquidSizes']:before{background:var(--amber)}.settings-card[data-setting='qualityRules']:before,.settings-card[data-setting='checks']:before{background:var(--blue)}.settings-card[data-setting='hazardsPpe']:before{background:var(--red)}.settings-title{font-size:13px;font-weight:800}.settings-desc{font-size:10px;color:var(--sub);line-height:1.35;margin-top:4px}.settings-count{font-size:20px;font-weight:850;margin-top:12px}.settings-list{display:flex;flex-direction:column;gap:6px}.settings-item{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-name{font-size:11.5px;font-weight:700}.settings-sub{font-size:9.5px;color:var(--sub);margin-top:2px}.settings-state{font-size:9px;color:#89d29b}.settings-state.off{color:#8b8c8e}
    .colour-box{padding:10px 11px;border-radius:9px;margin-bottom:8px}.hazard{background:var(--redDim);border:1px solid #7a3732}.ppe{background:var(--blueDim);border:1px solid #2d5a76}.colour-label{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.hazard .colour-label{color:#f3a89f}.ppe .colour-label{color:#9ed0eb}.colour-text{font-size:10.5px;line-height:1.45;color:var(--text)}
    details{border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin-top:8px}summary{padding:10px 11px;cursor:pointer;font-size:11px;font-weight:750;color:var(--text)}.details-body{padding:0 11px 11px}
    .modal-bg{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-width:340px;padding:16px}.modal-title{font-size:16px;font-weight:800}.modal-sub{font-size:10.5px;color:var(--sub);line-height:1.4;margin-top:4px}.modal-actions{display:flex;gap:8px;margin-top:13px}.modal-actions button{flex:1}.modal-error{margin-top:9px}
    .footer{margin-top:28px;text-align:center;font-size:9.5px;color:#696a6c}.desktop-note{margin-top:8px;font-size:10px;color:#7c7d7f;text-align:center}
    .settings-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:11px}.settings-toolbar .search-row{margin:0;flex:1}.small-btn{padding:7px 9px;border-radius:8px;font-size:10px}.danger{border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;border-radius:10px;padding:9px 12px;font-weight:800}.danger:hover{border-color:#a94d45}.edit-btn{min-width:58px}.settings-item.clickable{cursor:pointer}.settings-item.clickable:hover{border-color:#5d5e62}
    .field{margin-top:11px}.label{display:block;font-size:9.5px;color:var(--sub);font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.select,.textarea{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text);font-size:12px;outline:none}.textarea{min-height:82px;resize:vertical;line-height:1.4}.select:focus,.textarea:focus{border-color:#7b5c16}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.yn-row{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:11px;color:var(--text)}.yn-row input{accent-color:var(--amber)}
    .modal.large{max-width:680px;max-height:88vh;overflow:auto}.modal-actions.three{justify-content:flex-end}.modal-actions.three button{flex:0 1 auto;min-width:100px}.modal-actions .danger{margin-right:auto}.editor-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.editor-section:first-child{margin-top:0;padding-top:0;border-top:0}.editor-title{font-size:10px;color:var(--sub);font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.save-state{font-size:10px;color:#8bd59d;margin-top:8px;min-height:14px}
    .search-select{position:relative}.search-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:130;max-height:220px;overflow:auto;background:#202124;border:1px solid #4a4b4f;border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.42)}.search-option{display:block;width:100%;padding:9px 10px;border:0;border-bottom:1px solid #343538;background:transparent;color:var(--text);text-align:left;font-size:11px}.search-option:last-child{border-bottom:0}.search-option:hover{background:#303135}.search-empty{padding:10px;color:var(--sub);font-size:10px}
    .choice-list{display:flex;flex-direction:column;gap:5px;max-height:260px;overflow:auto;margin-top:8px}.choice-row{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:10.5px}.choice-row input{accent-color:var(--amber)}
    .chip-area{display:flex;flex-wrap:wrap;gap:6px}.chip-wrap{display:inline-flex;align-items:stretch}.chip{border:1px solid var(--line);background:var(--panel2);color:var(--sub);padding:6px 8px;border-radius:8px 0 0 8px;font-size:9.5px;font-weight:750}.chip.solo{border-radius:8px}.chip.on.hazard-chip{background:var(--redDim);border-color:#7a3732;color:#f3a89f}.chip.on.ppe-chip{background:var(--blueDim);border-color:#2d5a76;color:#9ed0eb}.chip-x{border:1px solid var(--line);border-left:0;background:var(--panel2);color:#858689;border-radius:0 8px 8px 0;padding:5px 7px}.chip-x:hover{color:#f3a89f}.add-row{display:flex;gap:7px;margin-top:8px}.add-row .input{padding:8px 10px;font-size:11px}.check-edit-row{display:flex;gap:7px;align-items:center;margin-bottom:6px}.check-edit-row .input{flex:1;min-width:0;padding:8px 10px;font-size:11px}.move-mini,.remove-mini{width:32px;height:32px;flex:0 0 32px;padding:0;border-radius:8px;font-size:14px;font-weight:850}.move-mini{border:1px solid #4a4b4f;background:#292a2d;color:#c8c9ca}.move-mini:hover:not(:disabled){border-color:#6d561d;color:#f2c766}.move-mini:disabled{opacity:.28;cursor:default}.remove-mini{border:1px solid #5d3c39;background:#322321;color:#d99a93;font-size:15px}.subtle-box{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.muted-note{font-size:9.5px;color:var(--sub);line-height:1.4}.raw-selected{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.raw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid #5d5878;background:var(--purpleDim);color:#c8bdf2;border-radius:999px;font-size:9px}.raw-pill button{border:0;background:none;color:#b6aacd;padding:0;font-size:12px}.inline-save{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:14px}
    @media(max-width:900px){.module-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}
    @media(max-width:560px){.header-inner{padding:11px 13px}.nav{padding:6px 13px}.wrap{padding:14px 13px 36px}.brand-title{font-size:16px}.brand-sub{font-size:10px}.page-title{font-size:19px}.page-head{align-items:center}.read-only{font-size:8px;padding:4px 7px}.module-card{min-height:126px;padding:14px}.module-title{font-size:16px}.module-metric{font-size:23px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:9px}.action-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.kv{grid-template-columns:112px minmax(0,1fr)}.list-title{font-size:12.5px}.list-sub{font-size:10px}.icon-btn{width:36px;height:36px}.detail-card{padding:12px}.order-line-edit{grid-template-columns:minmax(0,1fr) 90px 36px}.order-line-edit .size-field{grid-column:1/2}.order-line-edit .qty-field{grid-column:2/3}.order-line-edit .remove-line{grid-column:3/4;grid-row:1/3;align-self:stretch;height:auto}.form-actions>*{flex:1;min-width:120px}}

    /* Production polish — compact, open workflow layout */
    details.workflow-details,details.history-details{border:0;background:transparent;border-radius:0;overflow:visible}
    details.workflow-details .details-body,details.history-details .details-body{padding-left:0;padding-right:0;padding-bottom:0}
    .section-title.prestart{color:#f2c766}.section-title.signoff{color:#f2a900}
    .pill.prestart{border-color:#72591b;color:#f2c766;background:#3b3018}.pill.signoff{border-color:#8a6412;color:#f2a900;background:#352b13}
    input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}
    .production-tools{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.production-tools button{border-radius:999px;padding:7px 11px;font-size:10.5px;font-weight:800}
    .type-toggle{display:flex;gap:6px;flex-wrap:wrap}.type-btn{flex:0 0 auto;border-radius:999px;padding:6px 11px;font-size:10.5px}
    .form-card{padding:12px 13px}.form-card .section-head{margin-bottom:7px}.add-line{border-radius:999px;padding:5px 9px;font-size:10px;color:#f2c766;background:transparent;border-color:#65521d}
    .order-line-edit{padding:4px 0;border-top:0;align-items:end}.order-line-edit.liquid-line-edit{grid-template-columns:minmax(0,1fr) 94px 80px 32px}.order-line-edit.powder-line-edit{grid-template-columns:minmax(0,1fr) 80px 32px}.order-line-edit .field{margin-top:0}.order-line-edit:not(:first-child){padding-top:1px}.remove-line{width:32px;height:36px;border-radius:10px;font-size:15px}
    .compact-upload-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.photo-btn,.file-btn{border-radius:11px;padding:7px 10px;font-size:10.5px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.photo-btn{background:var(--blueDim);border:1px solid #2d5a76;color:#9ed0eb}.file-btn{background:var(--panel2);border:1px dashed #5a5b5f;color:#c3c4c6}.upload-icon{font-size:13px;line-height:1;display:inline-flex;align-items:center}.upload-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
    .detail-actions.main-actions,.detail-actions.note-actions{gap:6px;margin-bottom:7px}.detail-actions.main-actions button{padding:7px 10px;border-radius:11px;font-size:10.5px}.detail-actions.note-actions{padding-top:2px;margin-bottom:10px}.detail-actions.note-actions button{padding:5px 9px;border-radius:999px;font-size:9.5px;color:#a9aaac;background:#242528;border-color:#3a3b3e}
    .management-list{display:flex;flex-direction:column;gap:7px}.management-card{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);text-align:left}.management-card:hover{border-color:#5d5e62}.management-name{font-size:12px;font-weight:850}.management-meta{font-size:9.8px;color:var(--sub);margin-top:3px;line-height:1.4}.state-tag{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8.5px;font-weight:850}.state-tag.current{background:var(--greenDim);color:#8bd59d}.state-tag.draft{background:var(--amberDim);color:#f2c766}.state-tag.superseded{background:#303135;color:#8f9092}.state-tag.off{background:#303135;color:#999a9c}.state-tag.inProgress{background:var(--blueDim);color:#9ed0eb}
    .setup-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:11px}.setup-bar .input{max-width:360px}.setup-filter{border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:999px;padding:6px 9px;font-size:9.5px;font-weight:800}.setup-filter.active{border-color:#72591b;background:var(--amberDim);color:#f2c766}
    .version-card{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:6px}.version-name{font-size:11.5px;font-weight:850}.version-meta{font-size:9.5px;color:var(--sub);margin-top:3px}.version-actions{display:flex;gap:5px;flex-wrap:wrap}.version-actions button{padding:5px 7px;border-radius:8px;font-size:9px}
    .formula-line{padding:9px 0;border-bottom:1px solid #323337}.formula-line:last-child{border-bottom:0}.formula-grid{display:grid;grid-template-columns:minmax(0,1.6fr) 90px 78px 120px 32px;gap:7px;align-items:end}.formula-note{margin-top:6px}.component-line{padding:8px 0;border-bottom:1px solid #323337}.component-line:last-child{border-bottom:0}.component-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px 32px;gap:7px;align-items:end}.formula-files{margin-top:8px}.calc-box{padding:9px 10px;border-left:3px solid #6d561d;background:#25251f;border-radius:7px;margin-top:7px}.calc-title{font-size:9.5px;font-weight:850;color:#f2c766;text-transform:uppercase}.calc-line{font-size:10px;color:#c9cacc;margin-top:4px;line-height:1.4}.calc-materials{margin-top:6px;font-size:9.5px;color:var(--sub);line-height:1.5}.batch-material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px 0;border-bottom:1px solid #333438}.batch-material-row:last-child{border-bottom:0}.batch-material-name{font-size:10.5px;font-weight:800}.batch-material-qty{font-size:10.5px;color:#f2c766;font-weight:800}.batch-material-meta{font-size:9px;color:var(--sub);margin-top:2px}.batch-actions-compact{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.batch-actions-compact button{padding:6px 9px;border-radius:10px;font-size:9.5px}
    @media(max-width:700px){.formula-grid{grid-template-columns:minmax(0,1fr) 72px 70px 90px 30px}.component-grid{grid-template-columns:minmax(0,1fr) 100px 30px}.formula-grid .input{padding-left:7px;padding-right:7px;font-size:10.5px}.formula-grid .label{font-size:8px}}
    @media(max-width:560px){.order-line-edit.liquid-line-edit{grid-template-columns:minmax(0,1fr) 82px 66px 30px}.order-line-edit.powder-line-edit{grid-template-columns:minmax(0,1fr) 68px 30px}.order-line-edit .input{padding:9px 8px;font-size:12px}.order-line-edit .label{font-size:8px}.order-line-edit .remove-line{grid-column:auto;grid-row:auto;height:36px}.production-tools{gap:5px}.production-tools button{padding:6px 9px}.formula-grid{grid-template-columns:minmax(0,1fr) 66px 64px 82px 28px;gap:5px}.component-grid{grid-template-columns:minmax(0,1fr) 88px 28px;gap:5px}.formula-note{margin-left:0}.form-card{padding:11px}.detail-actions.main-actions button{padding:6px 8px}}
  

    /* Prestige UI specification pass — 2026.08.14
       Keep the working page architecture; standardise scale, spacing and controls. */
    .primary,.secondary,.new-order-btn,.danger,.danger-soft,.hold-soft,.green-soft,.small-btn,
    .production-tools button,.setup-filter,.add-line,.batch-actions-compact button{
      border-radius:999px;
    }
    .primary,.secondary,.new-order-btn,.danger,.danger-soft,.hold-soft,.green-soft{
      padding:7px 11px;font-size:10.5px;
    }
    .page-head{margin-bottom:12px}
    .search-row{margin-bottom:11px}
    .search-row .secondary{flex:0 0 auto}
    .list{gap:6px}
    .list-card{padding:10px 11px;border-radius:10px}
    .workflow-details{margin-top:16px}
    .workflow-details>summary{padding:7px 2px}
    .history-details>summary{padding:8px 2px}
    .empty,.empty-detail{padding:12px;text-align:center;color:#7f8082;font-size:10.5px;border:1px dashed var(--line);border-radius:9px}
    .detail-card{border-radius:11px;padding:12px}
    .detail-actions{gap:6px}
    .detail-actions.main-actions button,.detail-actions.main-actions a{border-radius:999px}
    .settings-item{border-radius:10px;padding:9px 10px}
    .modal-actions .primary,.modal-actions .secondary,.modal-actions .danger{border-radius:999px}
    .pin-numeric-masked{-webkit-text-security:disc;text-security:disc;letter-spacing:.12em;font-variant-numeric:tabular-nums}
    .loading{position:relative}
    .loading:before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px;vertical-align:-1px;border:2px solid #51451f;border-top-color:var(--amber);border-radius:50%;animation:prestige-spin .75s linear infinite}
    @keyframes prestige-spin{to{transform:rotate(360deg)}}
    @media(max-width:560px){
      .primary,.secondary,.new-order-btn,.danger,.danger-soft,.hold-soft,.green-soft{padding:7px 10px}
      .list-card{padding:9px 10px}
      .workflow-details{margin-top:14px}
      .search-row{gap:6px}
    }

    /* v2026.08.14.19 - shared Prestige shell sizing lock.
       Keep the header and top navigation identical on every standalone page. */
    .header-inner{max-width:1280px!important;margin:0 auto!important;padding:12px 16px!important;gap:12px!important}
    .nav,.nav-wrap .nav{max-width:1280px!important;margin:0 auto!important;padding:7px 16px!important;gap:7px!important;display:flex!important;align-items:center!important;overflow-x:auto!important;scrollbar-width:none!important}
    .nav::-webkit-scrollbar,.nav-wrap .nav::-webkit-scrollbar{display:none!important}
    .nav>button,.nav .nav-btn{box-sizing:border-box!important;height:34px!important;min-height:34px!important;padding:0 12px!important;border-radius:9px!important;font-size:11px!important;font-weight:750!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;flex:0 0 auto!important}
    .header .icon-btn,.header .icon-link{box-sizing:border-box!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important}
    @media(max-width:700px){
      .header-inner{padding:11px 13px!important}
      .nav,.nav-wrap .nav{padding:6px 13px!important;gap:7px!important}
      .nav>button,.nav .nav-btn{height:36px!important;min-height:36px!important;padding:0 12px!important;font-size:12px!important;border-radius:9px!important}
      .header .icon-btn,.header .icon-link{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
    }

    /* Operations is the Prestige home page — compact live dashboard + staff Actions */
    .ops-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 8px}.ops-section-head.live-head{margin-top:20px}
    .ops-collapsible{border:0!important;background:transparent!important;border-radius:0!important;margin:16px 0 0!important;overflow:visible}.ops-collapsible>summary{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 2px!important;border-bottom:1px solid #303135!important;background:transparent!important;cursor:pointer!important}.ops-collapsible>summary::-webkit-details-marker{display:none!important}.ops-collapsible>summary:after{content:'⌄';color:var(--sub);font-size:14px;font-weight:850;line-height:1}.ops-collapsible[open]>summary:after{content:'⌃'}.ops-collapsible-body{padding-top:9px}.ops-collapsible-actions{display:flex;justify-content:flex-end;margin:0 0 8px}.ops-collapsible .ops-section-head{margin-top:0}.ops-collapsible .ops-overview-shell{margin-top:0}
    .ops-important-notice{position:relative;border:1px solid #2f7771;background:#153936;border-radius:11px;padding:12px 44px 12px 12px;margin:2px 0 15px;color:#daf4f1}.ops-notice-label{font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#7de0d7}.ops-notice-text{font-size:12px;font-weight:800;line-height:1.45;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.ops-notice-until{font-size:9px;color:#93d7d1;margin-top:5px}.ops-notice-edit{position:absolute;right:8px;top:8px;border:1px solid #3d7e79;background:#1d4844;color:#b8e8e4;border-radius:999px;padding:5px 8px;font-size:8.5px;font-weight:850}.ops-notice-add-row{display:flex;justify-content:flex-end;margin:0 0 4px}.ops-notice-add{border:1px solid #356b66;background:transparent;color:#80cfc7;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}
    .ops-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.ops-action-tile{min-height:94px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text)}.ops-action-tile.has-work{border-color:#5d507d;background:#292737}.ops-action-name{font-size:11px;font-weight:850}.ops-action-count{font-size:24px;font-weight:900;color:#c7a6ff;margin-top:9px;line-height:1}.ops-action-meta{font-size:9px;color:var(--sub);margin-top:4px;line-height:1.35}.ops-action-tile.locked{opacity:.72;cursor:default}.ops-action-tile.locked:after{content:'View only';display:inline-flex;margin-top:7px;padding:2px 6px;border:1px solid #4a4b4f;border-radius:999px;color:#85878a;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
    .ops-overview-shell{border:1px solid var(--line);border-radius:12px;background:#222326;padding:10px}.ops-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.ops-overview-tile{min-height:67px;border:1px solid #3a3b3f;border-radius:9px;background:#242528;color:#8e9093;text-align:left;padding:9px}.ops-overview-count{min-height:17px;font-size:18px;font-weight:900;color:#77797c}.ops-overview-label{font-size:9.5px;line-height:1.2}.ops-overview-sub{font-size:8.5px;color:#8d8f92;margin-top:2px}.ops-overview-tile.active{color:#fff}.ops-overview-tile.active .ops-overview-count{color:#fff}.ops-overview-tile.active.amber,.ops-overview-tile.active.signoff{border-color:#7d5c08;background:#3a3012}.ops-overview-tile.active.prestart{border-color:#796625;background:#39331d}.ops-overview-tile.active.light-blue{border-color:#397e9d;background:#203a49}.ops-overview-tile.active.blue{border-color:#2c6e94;background:#1b3648}.ops-overview-tile.active.red{border-color:#8b3f38;background:#472522}.ops-overview-tile.active.purple{border-color:#5d507d;background:#302b42}.ops-overview-tile.active.attention{border-color:#8a6512;background:#4b350c}.ops-overview-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}.ops-overview-mini{min-height:35px;border:1px solid #3a3b3f;border-radius:8px;background:#242528;color:#8e9093;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.ops-overview-mini-label{font-size:9px;line-height:1.15;font-weight:750;min-width:0}.ops-overview-mini-count{font-size:12px;font-weight:900;line-height:1;color:#77797c;flex:0 0 auto}.ops-overview-mini.active{color:#fff}.ops-overview-mini.active .ops-overview-mini-count{color:#fff}.ops-overview-mini.active.purple{border-color:#5d507d;background:#302b42}.ops-overview-mini.active.attention{border-color:#8a6512;background:#4b350c}.ops-overview-mini.active.red{border-color:#8b3f38;background:#472522}
    .ops-detail{margin-top:10px;padding:12px}.ops-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.ops-detail-title{font-size:13px;font-weight:900}.ops-detail-sub{font-size:9.5px;color:var(--sub);margin-top:2px}.ops-detail-group{margin-top:10px}.ops-task-row,.ops-overview-row,.ops-quality-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);text-align:left}.ops-task-row.urgent{border-color:#7a3732}.ops-task-copy{min-width:0;flex:1}.ops-task-title{font-size:10.5px;font-weight:850}.ops-task-meta{font-size:9px;color:var(--sub);margin-top:2px;line-height:1.35}.task-complete-btn,.xero-action-btn{flex:0 0 auto;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}.task-complete-btn{border:1px solid #315e3a;background:var(--greenDim);color:#9fe0ad}.xero-action-btn{border:1px solid #5d507d;background:#302b42;color:#c7a6ff}.ops-quality-row strong{font-size:14px;color:#f2a900}.ops-overview-row span{font-size:9px;color:var(--sub);flex:0 0 auto}
    .settings-help-block{font-size:10px;color:var(--sub);line-height:1.45;margin-bottom:10px}.ops-choice-grid{display:flex;flex-wrap:wrap;gap:7px}.ops-choice{border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:999px;padding:6px 10px;font-size:9.5px;font-weight:800}.ops-choice.selected{border-color:#2d88b3;background:#163345;color:#9ed8f1}.ops-choice.management-choice.selected{border-color:#8a6412;background:#3b3018;color:#f2c766}.responsibility-list{display:flex;flex-direction:column;gap:7px}.responsibility-row{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:10px}.responsibility-name{font-size:10.5px;font-weight:850;margin-bottom:7px}.ops-choice-grid.compact{gap:5px}
    @media(max-width:850px){.ops-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:560px){.ops-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ops-action-tile{min-height:88px;padding:10px}.ops-overview-shell{padding:7px}.ops-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ops-overview-tile{min-height:58px;padding:7px}.ops-overview-count{font-size:16px;min-height:15px}.ops-overview-label{font-size:8.7px}.ops-overview-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ops-overview-mini{min-height:33px;padding:6px 7px}.ops-overview-mini-label{font-size:8.2px}.ops-overview-mini-count{font-size:11px}.ops-task-row{align-items:flex-start;flex-direction:column}.task-complete-btn,.xero-action-btn{align-self:flex-end}.ops-important-notice{padding:12px 42px 12px 11px}.ops-notice-text{font-size:13px}.ops-notice-label{font-size:9px}}

    /* Operations read-only Production Planner — default two-week window */
    .ops-planner-shell{margin-top:18px}.ops-planner-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ops-planner-title-wrap{display:flex;align-items:center;gap:8px;min-width:0}.ops-planner-readonly{display:inline-flex;align-items:center;border:1px solid #4b4c50;border-radius:999px;padding:3px 7px;color:#9fa1a4;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.ops-planner-open{border:1px solid #2d5a76;background:var(--blueDim);color:#a8d8f0;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}.ops-planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:#222326}.ops-planner-nav{display:flex;align-items:center;gap:5px}.ops-planner-nav button{border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:8px;padding:6px 8px;font-size:9px;font-weight:850}.ops-planner-period{font-size:10px;font-weight:900;color:#d7d8da;text-align:right}.ops-planner-scroll{overflow:auto;border:1px solid var(--line);border-radius:0 0 10px 10px;background:#202124}.ops-planner-calendar{min-width:760px}.ops-planner-grid-head{display:grid;grid-template-columns:126px repeat(7,minmax(88px,1fr));position:sticky;top:0;z-index:5;background:#202124;border-bottom:1px solid var(--line)}.ops-planner-resource-head{padding:8px;border-right:1px solid var(--line);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--sub)}.ops-planner-day-head{padding:7px 4px;text-align:center;border-right:1px solid var(--line)}.ops-planner-day-head.today{background:#30270d}.ops-planner-day-head.weekend{background:#18191b}.ops-planner-day-head.weekend .ops-planner-day-name,.ops-planner-day-head.weekend .ops-planner-day-date{color:#66686b}.ops-planner-day-name{font-size:7.5px;text-transform:uppercase;font-weight:850;color:var(--sub)}.ops-planner-day-date{font-size:9px;font-weight:900;margin-top:2px}.ops-planner-resource-row{display:grid;grid-template-columns:126px minmax(0,1fr);border-bottom:1px solid var(--line);min-height:58px}.ops-planner-resource-row:last-child{border-bottom:0}.ops-planner-resource-label{padding:9px 8px;border-right:1px solid var(--line);background:#242528;font-size:9px;font-weight:850;line-height:1.3}.ops-planner-lane{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));grid-auto-rows:minmax(48px,auto);position:relative}.ops-planner-day-cell{border-right:1px solid #343538;min-height:56px}.ops-planner-day-cell.today{background:rgba(242,169,0,.035)}.ops-planner-day-cell.weekend{background:repeating-linear-gradient(135deg,#1a1b1d 0,#1a1b1d 7px,#202124 7px,#202124 14px);position:relative}.ops-planner-day-cell.weekend:after{content:'Weekend';display:block;padding:7px 4px;color:#5f6164;font-size:6.8px;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.04em}.ops-planner-block{z-index:2;margin:4px 3px;padding:6px 6px;border:1px solid #4c4d50;border-left:3px solid #6f7073;border-radius:7px;background:#292a2d;color:var(--text);min-width:0;text-align:left}.ops-planner-block.clickable{cursor:pointer}.ops-planner-block.status-new{border-left-color:#a999e8}.ops-planner-block.status-onHold{border-left-color:#e05a4e;background:#332525}.ops-planner-block.status-ready{border-left-color:#f2a900;background:#312a1c}.ops-planner-block.status-inProduction{border-left-color:#4fa8d8;background:#20303a}.ops-planner-block.status-produced{border-left-color:#3fae5c;background:#203025;opacity:.75}.ops-planner-ref{font-size:8.8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-planner-customer{font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.ops-planner-product{font-size:7.5px;color:#bfc0c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.ops-planner-empty{padding:14px;color:#85878a;font-size:9.5px;border:1px dashed var(--line);border-radius:10px}.ops-planner-note{font-size:8.5px;color:var(--sub);margin-top:6px;line-height:1.35}.ops-planner-fortnight{display:flex;flex-direction:column;min-width:760px}.ops-planner-week{min-width:760px}.ops-planner-week+.ops-planner-week{border-top:2px solid #45464a;margin-top:9px;padding-top:9px}.ops-planner-week-label{padding:0 8px 6px;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#a8d8f0}
    @media(max-width:700px){.ops-planner-head{align-items:flex-start}.ops-planner-title-wrap{flex-wrap:wrap}.ops-planner-calendar{min-width:760px}.ops-planner-toolbar{align-items:flex-start;flex-direction:column}.ops-planner-period{text-align:left}.ops-planner-open{flex:0 0 auto}}

  
    .system-doc{border:1px solid var(--line);border-radius:11px;background:var(--panel);margin:0 0 10px;overflow:hidden}.system-doc summary{cursor:pointer;padding:11px 12px;font-size:11px;font-weight:850;list-style:none;display:flex;justify-content:space-between;gap:10px}.system-doc summary::-webkit-details-marker{display:none}.system-doc summary:after{content:'⌄';color:var(--sub)}.system-doc[open] summary:after{content:'⌃'}.system-doc-body{border-top:1px solid var(--line);padding:11px 12px}.system-section{margin:0 0 12px}.system-section:last-child{margin-bottom:0}.system-section-title{font-size:10.5px;font-weight:850;color:var(--amber);margin-bottom:5px}.system-bullets{margin:0;padding-left:18px;color:var(--text);font-size:10.5px;line-height:1.55}.system-change{padding:9px 0;border-bottom:1px solid var(--line)}.system-change:last-child{border-bottom:0}.system-change-title{font-size:10.5px;font-weight:850}.system-change-meta{font-size:9px;color:var(--sub);margin-top:2px}.system-current{display:inline-flex;align-items:center;gap:6px;border:1px solid #5c4a18;background:#30270d;color:#ffd05c;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850;margin-bottom:10px}
    .ops-sds-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #3a3b3f;background:var(--panel);color:var(--text);border-radius:11px;padding:10px 12px;text-align:left;margin:0 0 14px;cursor:pointer}.ops-sds-card:hover{border-color:#6d561d}.ops-sds-card.attention{border-color:#70413b}.ops-sds-title{font-size:12px;font-weight:850}.ops-sds-sub{font-size:9.5px;color:var(--sub);margin-top:2px}.ops-sds-status{font-size:9.5px;color:#8bd59d;margin-top:4px;font-weight:750}.ops-sds-card.attention .ops-sds-status{color:#f3a89f}.ops-sds-open{font-size:10px;color:#f2c766;font-weight:800;white-space:nowrap}

    .auth-screen{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:min(420px,100%);padding:24px;background:var(--panel2);border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 50px rgba(0,0,0,.38)}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:20px}.auth-brand .bar{height:34px}.auth-title{font-size:23px;font-weight:850}.auth-sub{font-size:11px;color:var(--sub);margin-top:3px}.auth-field{margin-top:12px}.auth-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.auth-error{margin-top:11px;padding:9px 10px;border-radius:8px;border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;font-size:11px;line-height:1.4}.user-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:7px 9px;white-space:nowrap}.user-chip-name{font-size:10.5px;font-weight:850}.user-chip-role{font-size:8.5px;color:var(--sub);text-transform:uppercase;letter-spacing:.04em}.logout-btn{border:1px solid var(--line);background:var(--panel);color:var(--sub);border-radius:10px;padding:8px 10px;font-size:10px;font-weight:800}.logout-btn:hover{color:var(--text)}.worker-locked{opacity:.58}.user-list{display:flex;flex-direction:column;gap:8px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:11px}.user-name{font-size:12.5px;font-weight:800;color:#fff}.user-meta{font-size:10px;color:var(--sub);margin-top:3px}.temp-password{padding:12px;border:1px solid #72591b;background:var(--amberDim);color:#f2c766;border-radius:10px;font-size:12px;line-height:1.5;margin-top:10px}.temp-password strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;user-select:all}.access-note{padding:10px 12px;border:1px solid var(--line);background:var(--panel2);border-radius:10px;color:var(--sub);font-size:10.5px;line-height:1.45;margin-bottom:12px}.auth-loading-card{width:min(320px,100%);padding:26px 24px;text-align:center}.auth-loading-brand{display:flex;align-items:center;justify-content:center;gap:10px}.auth-loading-message{font-size:9.5px;color:var(--sub);line-height:1.4;margin-top:9px;min-height:14px}.auth-loading-spinner{width:18px;height:18px;border:2px solid #55575a;border-top-color:var(--amber);border-radius:50%;animation:prestigeAuthSpin .75s linear infinite;margin:16px auto 0}.auth-loading-problem{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.auth-loading-problem-copy{font-size:10px;color:#c8c9cb;line-height:1.45}.auth-loading-problem-actions{display:flex;gap:7px;justify-content:center;margin-top:10px}.auth-loading-problem-actions button{min-width:100px}@keyframes prestigeAuthSpin{to{transform:rotate(360deg)}}

    /* Prestige unified chrome / mobile consistency — v2026.09.02.01 */
    .header .brand{display:flex;align-items:center;gap:11px;min-width:0}
    .header .header-actions{display:flex;align-items:center;gap:7px;min-width:0}
    .header .header-spacer,.header .spacer{flex:1 1 auto}
    .header a.icon-btn,.header a.icon-link,.header a.nav-btn{text-decoration:none}
    body.worker-mode .nav-btn[data-route="production"],body.worker-mode .nav-btn[data-route="sds"],body.worker-mode #settingsBtn{display:none!important}
    .header .nav-wrap{overflow:hidden}
    .header .nav{display:flex;align-items:center;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .header .nav::-webkit-scrollbar,.header .header-actions::-webkit-scrollbar{display:none}
    .header .nav-btn{box-sizing:border-box;min-height:36px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto;text-decoration:none}
    #prestigeTaskBadge{order:1!important}
    #userChip,#qualityUser,#prestigeStandaloneUser{order:2!important}
    #logoutBtn,#qualityLogout{order:3!important}
    #homeBtn,#homeIcon{order:4!important}
    #printBtn{order:5!important}
    #refreshBtn{order:6!important}
    #settingsBtn,#settingsIcon{order:7!important}
    #prestigeStandaloneUser{display:flex!important;align-items:center!important;gap:7px!important;margin-left:0!important;padding:6px 8px!important;border:1px solid var(--line)!important;background:var(--panel)!important;border-radius:10px!important;color:var(--text)!important;font:800 10px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;white-space:nowrap!important}
    #prestigeStandaloneUser>button{border:1px solid var(--line)!important;background:var(--panel2)!important;color:var(--sub)!important;border-radius:8px!important;padding:5px 7px!important;font:800 9px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important}
    .management-card.prestige-real-link,.list-card.prestige-real-link{display:block;text-decoration:none;color:var(--text)}
    .prestige-real-link{cursor:pointer}
    @media(max-width:700px){
      .header-inner{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:10px 12px!important}
      .header-inner>.brand{flex:1 1 100%!important;width:100%!important}
      .header-inner>.header-spacer,.header-inner>.spacer{display:none!important}
      .header-actions{flex:1 1 100%!important;width:100%!important;display:flex!important;align-items:center!important;gap:6px!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;padding-bottom:1px!important}
      .header-actions>*{flex:0 0 auto!important}
      .brand-title{font-size:17px!important;line-height:1.05!important}
      .brand-sub{font-size:9.5px!important;margin-top:2px!important}
      #prestigeTaskBadge{min-height:36px!important;padding:7px 9px!important}
      #prestigeStandaloneUser{min-height:36px!important}
      .user-chip,.quality-user{min-height:36px!important;padding:6px 8px!important}
      .user-chip-role,.quality-user-role{display:none!important}
      .logout-btn,.quality-logout{min-height:36px!important;padding:7px 9px!important}
      .header .icon-btn,.header .icon-link{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
      .nav-wrap{overflow:hidden!important}
      .nav{padding:7px 12px!important;gap:7px!important;overflow-x:auto!important;white-space:nowrap!important}
      .nav-btn{height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:11.5px!important}
      .wrap{padding-left:12px!important;padding-right:12px!important}
      .modal,.modal-card,.pin-box,.confirm-box,.edit-box,.export-box,.dialog-box{max-width:calc(100vw - 24px)!important}
      .form-grid,.detail-grid{min-width:0}
      .management-row,.list-top{min-width:0}
      .management-name,.management-meta,.list-title,.list-sub{overflow-wrap:anywhere}
      input,select,textarea{max-width:100%}
    }
    @media(max-width:420px){
      .header-inner{padding:9px 10px!important}
      .nav{padding-left:10px!important;padding-right:10px!important}
      .wrap{padding-left:10px!important;padding-right:10px!important}
      .header .icon-btn,.header .icon-link{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
    }


    .audit-history-card{margin-top:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden;padding:0!important}
    .audit-history-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;font-size:10.5px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;color:var(--sub)}
    .audit-history-card>summary::-webkit-details-marker{display:none}.audit-history-card>summary:after{content:'⌄';font-size:13px}.audit-history-card[open]>summary:after{content:'⌃'}
    .audit-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--text);font-size:9px;letter-spacing:0;text-transform:none;margin-left:auto;margin-right:6px}
    .audit-body{border-top:1px solid var(--line);padding:8px 11px 11px}.audit-loading,.audit-empty{padding:9px 2px;color:var(--sub);font-size:10px}.audit-event{padding:9px 0;border-bottom:1px solid var(--line)}.audit-event:last-child{border-bottom:0}
    .audit-event-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.audit-action{font-size:10.5px;font-weight:850;color:var(--text)}.audit-meta{font-size:8.8px;color:var(--sub);text-align:right;white-space:nowrap}
    .audit-change{margin-top:5px;font-size:9.5px;line-height:1.45;color:#d5d6d8}.audit-field{font-weight:800;color:#bfc1c4}.audit-old{color:#f1aaa3}.audit-new{color:#92dca3}.audit-arrow{color:#777;margin:0 4px}.audit-details{margin-top:5px;font-size:9px;color:var(--sub);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
    @media(max-width:640px){.audit-event-top{display:block}.audit-meta{text-align:left;margin-top:3px;white-space:normal}}
    @media print{.audit-history-card{display:none!important}}



/* v2026.08.15.42 - controlled Start Fresh maintenance tool. */
    .settings-card{min-height:98px;padding:12px;border-radius:11px}
    .settings-title{font-size:12.5px}.settings-desc{font-size:9.5px;line-height:1.4}.settings-count{font-size:18px;margin-top:10px}
    .settings-item{padding:8px 10px;background:transparent}.settings-list{gap:5px}
    .section+.section{margin-top:18px}.settings-item>a.secondary{text-decoration:none;white-space:nowrap}.settings-item.clickable{width:100%;color:var(--text);text-align:left}.detail-card .choice-list{max-height:360px}
    .management-card,.version-card{background:transparent}
    .empty{padding:14px;background:transparent;color:#85878a}
    .secondary,.primary,.new-order-btn,.danger-soft,.hold-soft{border-radius:9px}
    .small-btn{min-height:30px;display:inline-flex;align-items:center;justify-content:center}
    .ops-overview-shell{background:#212225}
    .customer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}
    .customer-main{display:flex;flex-direction:column;gap:12px;min-width:0}.customer-side{min-width:0}
    .customer-product-tools{display:flex;flex-direction:column;gap:8px;margin-bottom:9px}.customer-product-filters{display:flex;gap:6px;flex-wrap:wrap}.customer-product-filter{border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.customer-product-filter.active{border-color:#72591b;background:var(--amberDim);color:#f2c766}
    .customer-product-list{display:flex;flex-direction:column;gap:5px;max-height:560px;overflow:auto;padding-right:3px}.customer-product-row{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:8px 9px;color:var(--text);cursor:pointer}.customer-product-row:hover{border-color:#56575b}.customer-product-row.selected{border-color:#8a6412;background:#30270d}.customer-product-check{display:flex;align-items:center;justify-content:center}.customer-product-check input{width:15px;height:15px;margin:0}.customer-product-name{font-size:10.5px;font-weight:800;line-height:1.3}.customer-product-status{font-size:8.8px;color:var(--sub);margin-top:2px;line-height:1.3}.customer-product-row.selected .customer-product-name{color:#f2c766}
    .customer-selected-card{min-height:260px}.customer-selected-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.customer-selected-title{font-size:15px;font-weight:900}.customer-selected-sub{font-size:9.5px;color:var(--sub);margin-top:3px}.quality-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quality-summary-item{border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:9px}.quality-summary-label{font-size:8.2px;color:var(--sub);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.quality-summary-value{font-size:10.5px;font-weight:800;margin-top:4px;line-height:1.35}.customer-inline-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:12px}
    .customer-files-list{display:flex;flex-direction:column;gap:6px}.customer-file-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.customer-file-copy{min-width:0;flex:1}.customer-file-name{font-size:10.5px;font-weight:800;word-break:break-word}.customer-file-meta{font-size:8.8px;color:var(--sub);margin-top:2px;line-height:1.35}.customer-file-actions{display:flex;gap:5px;flex:0 0 auto}.customer-file-upload{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:7px;align-items:end;margin-top:9px}.customer-file-input{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.customer-file-picker{display:flex;align-items:center;gap:8px;min-height:38px}.customer-file-choose{flex:0 0 auto;white-space:nowrap}.customer-file-name-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub);font-size:9.5px}.customer-file-other{grid-column:1 / -1;margin-top:1px}.customer-entity-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.22);text-underline-offset:2px;cursor:pointer;font-weight:800}.customer-entity-link:hover{color:inherit;text-decoration-color:currentColor}.customer-entity-link:focus{outline:1px solid currentColor;outline-offset:2px;border-radius:3px}
    .override-intro{font-size:9.5px;color:var(--sub);line-height:1.45;margin-bottom:10px}.override-legacy{border:1px solid #72591b;background:var(--amberDim);color:#f2c766;border-radius:9px;padding:8px 10px;font-size:9.5px;line-height:1.4;margin-bottom:10px}.override-section{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.override-section:first-of-type{border-top:0;padding-top:0}.override-section-title{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub);font-weight:850;margin-bottom:7px}.override-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.override-item{border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:9px;min-width:0}.override-toggle{display:flex;align-items:center;gap:7px;font-size:9.5px;font-weight:800;cursor:pointer}.override-toggle input{margin:0}.override-fields{margin-top:8px}.override-fields.hidden{display:none}.override-fields .form-grid{gap:7px;align-items:end}.override-fields .field{margin-top:0}.override-fields .yn-row{height:38px;min-height:38px;padding:8px 9px}.override-fields .label{font-size:8.5px}.override-fields .input,.override-fields .select{height:38px;padding:8px 10px;font-size:11px}.override-fields .textarea{font-size:11px;min-height:72px}.customer-save-line{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:9px}
    @media(max-width:1000px){.customer-workspace{grid-template-columns:minmax(0,1fr) 320px}.quality-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:760px){.customer-workspace{grid-template-columns:1fr}.customer-product-list{max-height:420px}.quality-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.override-grid{grid-template-columns:1fr}.customer-file-upload{grid-template-columns:1fr}.customer-file-actions{flex-wrap:wrap}}
    .people-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}.people-main{min-height:330px}.people-side{padding:12px;min-width:0}.people-list{display:flex;flex-direction:column;gap:5px;max-height:620px;overflow:auto;padding-right:3px}.people-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);padding:9px 10px}.people-row:hover{border-color:#56575b}.people-row.selected{border-color:#8a6412;background:#30270d}.people-row-name{font-size:10.8px;font-weight:850}.people-row-sub{font-size:8.8px;color:var(--sub);margin-top:2px;line-height:1.35}.people-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.people-section{border-top:1px solid var(--line);padding-top:11px;margin-top:11px}.people-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.people-section-title{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub);font-weight:850;margin-bottom:7px}.people-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.people-stage{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:9px 10px;font-size:9.8px;font-weight:800;line-height:1.3}.people-stage input{margin:0;flex:0 0 auto}.people-stage.disabled{opacity:.55}.people-ops-order{display:flex;flex-direction:column;gap:6px}.people-ops-order-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:7px 8px}.people-ops-order-row.dragging{opacity:.45}.people-ops-drag{font-size:15px;color:#777;text-align:center;cursor:grab;user-select:none}.people-ops-copy{min-width:0}.people-ops-copy label{display:flex;align-items:flex-start;gap:8px;font-size:9.8px;font-weight:800;line-height:1.3}.people-ops-copy small{display:block;color:var(--sub);font-weight:500;margin-top:2px}.people-ops-move{display:flex;gap:4px}.people-ops-move button{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--sub);font-weight:900}.people-ops-order-row.disabled{opacity:.55}.people-login-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:9px 10px;margin-top:6px}.people-login-line:first-child{margin-top:0}@media(max-width:1000px){.people-workspace{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:760px){.people-workspace{grid-template-columns:1fr}.people-list{max-height:420px}.people-stage-grid{grid-template-columns:1fr}}
    @media(max-width:560px){.settings-card{min-height:92px}.settings-title{font-size:12px}.settings-desc{font-size:9.4px}.quality-summary-grid{grid-template-columns:1fr 1fr}.customer-selected-head{flex-direction:column}.customer-inline-actions{justify-content:stretch}.customer-inline-actions>*{flex:1}.customer-product-list{max-height:360px}}
  

/* Firebase migration additions — stays inside the same Prestige app */
body.firebase-app .header{display:none}
body.firebase-app.signed-in .header{display:block}
.firebase-login-note{font-size:9px;color:var(--sub);margin-top:8px;line-height:1.4}
.firebase-placeholder{padding:18px}
.firebase-placeholder-title{font-size:14px;font-weight:850}
.firebase-placeholder-copy{font-size:10.5px;color:var(--sub);line-height:1.5;margin-top:5px;max-width:680px}
.firebase-error{margin-top:10px;padding:10px 11px;border-radius:9px;border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;font-size:10.5px;line-height:1.45}
.firebase-success{margin-top:10px;padding:10px 11px;border-radius:9px;border:1px solid #356443;background:var(--greenDim);color:#8bd59d;font-size:10.5px;line-height:1.45}
.firebase-inline-note{font-size:9px;color:var(--sub);margin-top:4px;line-height:1.35}
.auth-screen{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{width:min(420px,100%);padding:24px;background:var(--panel2);border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 50px rgba(0,0,0,.38)}
.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:20px}.auth-brand .bar{height:34px}
.auth-title{font-size:23px;font-weight:850}.auth-sub{font-size:11px;color:var(--sub);margin-top:3px}
.auth-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.auth-error{margin-top:11px;padding:9px 10px;border-radius:8px;border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;font-size:11px;line-height:1.4}
.auth-loading-card{width:min(320px,100%);padding:26px 24px;text-align:center}
.auth-loading-brand{display:flex;align-items:center;justify-content:center;gap:10px}
.auth-loading-message{font-size:9.5px;color:var(--sub);line-height:1.4;margin-top:9px;min-height:14px}
.auth-loading-spinner{width:18px;height:18px;border:2px solid #55575a;border-top-color:var(--amber);border-radius:50%;animation:prestigeAuthSpin .75s linear infinite;margin:16px auto 0}
@keyframes prestigeAuthSpin{to{transform:rotate(360deg)}}
.user-chip{display:flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.user-chip-name{font-size:9.5px;font-weight:850;color:var(--text)}.user-chip-role{font-size:8px;color:var(--sub);margin-top:1px}
.logout-btn{border:1px solid var(--line);background:var(--panel);color:var(--sub);border-radius:9px;padding:7px 9px;font-size:9.5px;font-weight:800}
.logout-btn:hover{color:var(--text)}
.input,.select,textarea.input{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:var(--text);outline:none}
.input:focus,.select:focus,textarea.input:focus{border-color:#72591b}
.select{appearance:auto}
.primary{border:1px solid var(--amber);background:var(--amber);color:#1c1d1f;font-weight:850}
.secondary{border:1px solid var(--line);background:var(--panel2);color:var(--text);font-weight:800}
.danger{border:1px solid #7a3732;background:var(--redDim);color:#f3a89f;font-weight:800}
.modal-bg{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:18px}
.modal{width:100%;max-width:340px;padding:16px}.modal.large{max-width:680px;max-height:88vh;overflow:auto}
.modal-title{font-size:16px;font-weight:800}.modal-sub{font-size:10.5px;color:var(--sub);line-height:1.4;margin-top:4px}
.modal-actions{display:flex;gap:8px;margin-top:13px}.modal-actions button{flex:1}.modal-actions.three{justify-content:flex-end}.modal-actions.three button{flex:0 1 auto;min-width:100px}.modal-actions .danger{margin-right:auto}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field{min-width:0;margin-top:10px}
.label{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub);font-weight:800;margin-bottom:5px}
.muted-note{font-size:9.5px;color:var(--sub);line-height:1.4}.loading{color:var(--sub);font-size:10.5px;padding:12px 2px}
.detail-heading{font-size:9px;color:var(--sub);font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.ops-overview-row{text-decoration:none}
.ops-overview-row:hover,.ops-task-row:hover{border-color:#56575b}
@media(max-width:560px){
  .user-chip{display:none}
  .form-grid{grid-template-columns:1fr}
}


/* ============================================================
   PRESCON.COM.AU / PRESTIGE WEBSITE DESIGN SYSTEM
   Dark industrial palette + Prestige green.
   Operational red/amber/blue colours remain meaningful.
   ============================================================ */

:root{
  --brand-green:#8bc53f;
  --brand-green-strong:#9bd64a;
  --brand-green-dim:#23321a;

  --bg:#121516;
  --panel:#1b1f20;
  --panel2:#151819;
  --line:#303536;
  --text:#f4f5f1;
  --sub:#a4aaa3;

  /* Keep operational colours separate from the brand green */
  --amber:#e4a53c;
  --amberDim:#352a17;
  --green:#4da96b;
  --greenDim:#193020;
  --red:#d15c52;
  --redDim:#351d1b;
  --blue:#5a9fc4;
  --blueDim:#172a35;
  --teal:#4b9f98;
  --tealDim:#17302e;
  --purple:#8e79bb;
  --purpleDim:#282238;
}

html,body{
  background:var(--bg);
  color:var(--text);
}

/* HEADER — mirrors the full-width dark website header */
.header{
  background:#0d1011;
  border-bottom:1px solid #272b2c;
  box-shadow:0 4px 18px rgba(0,0,0,.22);
}

.header-inner{
  max-width:none;
  width:100%;
  padding:13px 24px 11px;
}

.brand .bar{
  width:5px;
  height:31px;
  background:var(--brand-green);
}

.brand-title{
  color:#fff;
  font-size:19px;
  font-weight:850;
  letter-spacing:.045em;
}

.brand-sub{
  color:#9ca29b;
  font-size:10px;
}

.header-actions{gap:7px}

.icon-btn,
.logout-btn,
.user-chip{
  background:#171b1c;
  border-color:#303536;
  color:#d4d8d2;
}

.icon-btn:hover,
.logout-btn:hover{
  background:#202526;
  border-color:#48504f;
  color:#fff;
}

.user-chip-name{color:#fff}
.user-chip-role{color:#939992}

.nav-wrap{
  background:#0d1011;
  border-top:1px solid #202425;
}

.nav{
  max-width:none;
  width:100%;
  padding:7px 24px 11px;
}

.nav-btn{
  border-color:#303536;
  background:#151819;
  color:#c2c7c0;
  border-radius:7px;
  padding:7px 13px;
}

.nav-btn:hover{
  border-color:#566055;
  color:#fff;
}

.nav-btn.active{
  background:var(--brand-green);
  border-color:var(--brand-green);
  color:#10140d;
}

/* MAIN APP */
.wrap{
  max-width:1380px;
  padding:23px 22px 52px;
}

.page-title{
  color:#fff;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.02em;
}

.page-sub{
  color:#979d96;
}

.card,
.card2{
  background:var(--panel);
  border-color:var(--line);
  box-shadow:none;
}

.card2{background:#181c1d}

.version-foot{
  color:#707770;
  border-top-color:#2b3031;
}

/* Collapsible headings */
.ops-collapsible>summary{
  border-bottom-color:#303536!important;
}

.section-title{
  color:#e7e9e4;
  letter-spacing:.065em;
}

/* Brand-green controls */
.primary,
.new-order-btn{
  background:var(--brand-green);
  border-color:var(--brand-green);
  color:#10140d;
}

.primary:hover,
.new-order-btn:hover{
  background:var(--brand-green-strong);
  border-color:var(--brand-green-strong);
}

.auth-brand .bar,
.auth-loading-brand .bar{
  background:var(--brand-green);
}

.auth-loading-spinner{
  border-color:#424849;
  border-top-color:var(--brand-green);
}

.input:focus,
.select:focus,
textarea.input:focus{
  border-color:var(--brand-green);
  box-shadow:0 0 0 3px rgba(139,197,63,.10);
}

/* LOGIN — website family, not orange/light */
.auth-screen{
  background:#0f1213;
}

.auth-card{
  background:#191d1e;
  border-color:#34393a;
  box-shadow:0 26px 80px rgba(0,0,0,.35);
}

.auth-title{color:#fff}
.auth-sub{color:#9ca29b}

.input,
.select,
textarea.input{
  background:#111415;
  border-color:#353a3b;
  color:#f2f4ef;
}

.input::placeholder,
textarea.input::placeholder{
  color:#737a73;
}

.label{
  color:#a1a7a0;
}

/* Important notice */
.ops-important-notice{
  background:#1f251b;
  border-color:#465d30;
  color:#edf4e7;
}

.ops-notice-label{
  color:var(--brand-green-strong);
}

.ops-notice-text{color:#eef1eb}
.ops-notice-until{color:#a8b29f}
.ops-notice-edit,
.ops-notice-add{color:var(--brand-green)}

/* Action tiles */
.ops-action-tile{
  background:#181c1d;
  border-color:#303536;
  color:#eef0ec;
}

.ops-action-tile:hover{
  background:#1e2324;
  border-color:#4a524d;
}

.ops-action-tile.has-work{
  background:#1b2218;
  border-color:#4d6634;
}

.ops-action-name{color:#eef0ec}
.ops-action-count{color:var(--brand-green-strong)}
.ops-action-meta{color:#959c95}

/* Live overview */
.ops-overview-shell{
  background:#101314;
  border-color:#2d3233;
}

.ops-overview-tile,
.ops-overview-mini{
  background:#181c1d;
  border-color:#303536;
  color:#a7ada6;
}

.ops-overview-tile:hover,
.ops-overview-mini:hover{
  background:#1e2324;
  border-color:#49504c;
}

/* Operational colours remain operational, not branded */
.ops-overview-tile.active.amber,
.ops-overview-tile.active.signoff{
  background:#2d2516;
  border-color:#89692c;
  color:#f0c467;
}

.ops-overview-tile.active.prestart{
  background:#2c2818;
  border-color:#777039;
  color:#ddd27b;
}

.ops-overview-tile.active.light-blue,
.ops-overview-tile.active.blue{
  background:#172934;
  border-color:#3d6f89;
  color:#8cc9e7;
}

.ops-overview-tile.active.red,
.ops-overview-mini.active.red{
  background:#321c1a;
  border-color:#7c3d38;
  color:#efa099;
}

.ops-overview-tile.active.purple,
.ops-overview-mini.active.purple{
  background:#292239;
  border-color:#655488;
  color:#c3b4e5;
}

.ops-overview-tile.active.attention,
.ops-overview-mini.active.attention{
  background:#312617;
  border-color:#806130;
  color:#efc06b;
}

/* Detail rows */
.ops-detail-title,
.ops-task-title{
  color:#f1f3ee;
}

.ops-detail-sub,
.ops-task-meta,
.ops-overview-row span{
  color:#969d96;
}

.ops-task-row,
.ops-overview-row,
.ops-quality-row{
  background:#151819;
  border-color:#303536;
  color:#eef0ec;
}

.ops-task-row:hover,
.ops-overview-row:hover,
.ops-quality-row:hover{
  background:#1d2223;
  border-color:#49514c;
}

.secondary,
.add-line,
.type-btn{
  background:#171b1c;
  border-color:#353a3b;
  color:#e2e5df;
}

.secondary:hover,
.add-line:hover,
.type-btn:hover{
  background:#212627;
}

.empty{
  background:#151819;
  border-color:#303536;
  color:#868d86;
}

.read-only{
  background:#121516;
  border-color:#303536;
  color:#989f98;
}

.firebase-placeholder{
  background:#191d1e;
}

.firebase-placeholder-title{color:#f1f3ee}
.firebase-placeholder-copy,
.firebase-inline-note,
.muted-note{color:#929991}

/* Modal */
.modal-bg{
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(2px);
}

.modal-title{color:#fff}
.modal-sub{color:#989f98}

/* Small website-like green highlights */
.status-good,
.firebase-success,
.success{
  background:#192b1c;
  border-color:#3d6743;
  color:#9bdda3;
}

a{color:var(--brand-green)}

/* MOBILE */
@media(max-width:700px){
  .header-inner{padding:10px 13px 8px}
  .nav{padding:7px 13px 9px;overflow-x:auto}
  .wrap{padding:17px 12px 38px}
  .page-title{font-size:21px}
}


/* ============================================================
   FIREBASE PRODUCTION — Orders + detail preview
   ============================================================ */

.production-module-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 13px;
}

.production-module-tab{
  border:1px solid var(--line);
  background:#151819;
  color:#b9beb8;
  border-radius:8px;
  padding:7px 11px;
  font-size:9.5px;
  font-weight:850;
  cursor:pointer;
}

.production-module-tab:hover{
  border-color:#4c554f;
  color:#fff;
}

.production-module-tab.active{
  border-color:var(--brand-green);
  background:var(--brand-green-dim);
  color:var(--brand-green-strong);
}

.prod-list-card{
  padding:10px 12px;
  cursor:pointer;
}

.prod-list-card .list-top{
  align-items:center;
}

.prod-card-main{
  min-width:0;
  flex:1;
}

.prod-card-side{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  margin-left:10px;
}

.prod-card-side .cross-status{
  margin-top:0;
  padding:3px 7px;
  border-radius:999px;
  font-size:8.5px;
}

.prod-hold-note{
  font-size:9px;
  color:#efa099;
  margin-top:3px;
}

.section-count{
  display:inline-flex;
  min-width:22px;
  height:20px;
  padding:0 6px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#171b1c;
  border:1px solid #353a3b;
  color:#9da49d;
  font-size:8.5px;
  font-weight:850;
}

.production-preview-note{
  margin-top:13px;
  padding:9px 11px;
  border-left:2px solid #465d30;
  background:#171c16;
  color:#8f9a89;
  border-radius:0 7px 7px 0;
}

.production-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);
  gap:12px;
  align-items:start;
}

.detail-card{
  padding:14px;
}

.detail-heading{
  font-size:9px;
  color:#9ba199;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.055em;
  margin-bottom:10px;
}

.kv{
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  gap:8px 12px;
  align-items:center;
  font-size:10.5px;
}

.kv .k{
  color:#8f968f;
}

.kv .v{
  color:#eef0ec;
  min-width:0;
}

.production-line-readonly{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid #2c3132;
}

.production-line-readonly:last-child{
  border-bottom:0;
}

.production-line-name{
  font-size:11px;
  font-weight:800;
  color:#eef0ec;
}

.production-line-meta{
  margin-top:2px;
  font-size:8.5px;
  color:#868d86;
  text-transform:capitalize;
}

.production-line-qty{
  font-size:11px;
  font-weight:850;
  color:var(--brand-green-strong);
  white-space:nowrap;
}

.production-detail-stat{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #2c3132;
  font-size:9.5px;
  color:#919891;
}

.production-detail-stat:last-child{
  border-bottom:0;
}

.production-detail-stat strong{
  color:#e8ebe5;
  font-weight:800;
  text-align:right;
}

.production-history-row{
  padding:7px 0;
  border-bottom:1px solid #2c3132;
  font-size:9px;
  color:#d2d6cf;
}

.production-history-row:last-child{
  border-bottom:0;
}

.production-history-row span{
  display:block;
  margin-top:2px;
  color:#757c75;
  font-size:8px;
}

.note{
  padding:8px 0;
  border-bottom:1px solid #2c3132;
  font-size:9.5px;
  line-height:1.45;
  color:#d8dbd5;
}

.note:last-child{border-bottom:0}

@media(max-width:760px){
  .production-detail-grid{
    grid-template-columns:1fr;
  }

  .kv{
    grid-template-columns:110px minmax(0,1fr);
  }
}

@media(max-width:560px){
  .prod-card-side{
    margin-left:5px;
  }

  .prod-card-side .cross-status{
    font-size:8px;
    padding:3px 6px;
  }

  .prod-list-card{
    padding:9px 10px;
  }

  .production-module-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
  }

  .production-module-tab{
    white-space:nowrap;
  }

  .kv{
    grid-template-columns:1fr;
    gap:2px;
  }

  .kv .v{
    margin-bottom:7px;
  }
}


/* Production interactive editor */
.production-detail-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
.production-detail-actions button{
  padding:7px 10px;
  border-radius:8px;
  font-size:10px;
  font-weight:800;
}
.order-editor-section{
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.order-editor-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.order-editor-line{
  display:grid;
  grid-template-columns:minmax(200px,1fr) minmax(90px,.3fr) 34px;
  gap:8px;
  align-items:end;
  padding:9px;
  margin-top:7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
}
.order-editor-line:has([data-line-size]){
  grid-template-columns:minmax(200px,1fr) minmax(90px,.28fr) minmax(90px,.28fr) 34px;
}
.order-line-remove{
  height:36px;
  border:1px solid #68413e;
  background:var(--redDim);
  color:#ef9b94;
  border-radius:8px;
  font-size:18px;
  line-height:1;
}
.order-check{
  display:flex;
  gap:9px;
  align-items:center;
  margin-top:12px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel2);
  font-size:10.5px;
}
.order-check input{accent-color:var(--brand-green,#8bc53f)}
@media(max-width:760px){
  .order-editor-line,
  .order-editor-line:has([data-line-size]){
    grid-template-columns:1fr 1fr;
  }
  .order-editor-product{grid-column:1/-1}
  .order-line-remove{align-self:end}
}


/* ============================================================
   Operations action visibility
   ============================================================ */
.ops-action-tile.has-work{
  background:#1d2a19;
  border-color:#5d7f3a;
  box-shadow:inset 0 0 0 1px rgba(139,197,63,.10),0 0 0 1px rgba(0,0,0,.06);
}
.ops-action-tile.has-work:hover{
  background:#22331c;
  border-color:#7ca64d;
}
.ops-action-tile.has-work .ops-action-count{
  color:#a8df5d;
  text-shadow:0 0 14px rgba(139,197,63,.18);
}
.ops-action-tile.has-work .ops-action-name{
  color:#f4f7ef;
}

/* ============================================================
   Production files
   ============================================================ */
.production-files-list{display:flex;flex-direction:column;gap:7px;margin-top:5px}
.production-file-link{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-decoration:none;border:1px solid var(--line);background:#151819;
  color:var(--text);border-radius:9px;padding:9px 10px
}
.production-file-link:hover{border-color:#5a6651;background:#1c211d}
.production-file-link span{font-size:10px;font-weight:850}
.production-file-link small{font-size:8.5px;color:var(--sub);max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.production-file-empty{padding:10px;border:1px dashed var(--line);border-radius:9px;color:var(--sub);font-size:9.5px}

/* ============================================================
   Production Planner
   ============================================================ */
.prod-planner-shell{display:grid;grid-template-columns:255px minmax(0,1fr);gap:12px;align-items:start;margin-top:12px}
.prod-planner-sidebar{position:sticky;top:118px;max-height:calc(100vh - 145px);overflow:auto;padding:12px}
.prod-planner-side-head{display:flex;justify-content:space-between;gap:8px;align-items:start}
.prod-planner-unscheduled{
  display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:10px;
  border:1px dashed #4d5350;border-radius:9px;color:#818980;font-size:8.5px;font-weight:850;
  text-transform:uppercase;letter-spacing:.04em;background:#111415
}
.prod-planner-unscheduled.drag-over{border-color:#d15c52;background:#321c1a;color:#efa099}
.prod-planner-order-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.prod-planner-order-card{
  border:1px solid var(--line);background:#161a1b;border-left:4px solid #7c7f7b;
  border-radius:9px;padding:9px;cursor:grab
}
.prod-planner-order-card.status-ready{border-left-color:#e4a53c}
.prod-planner-order-card.status-inProduction{border-left-color:#5a9fc4}
.prod-planner-order-card.status-onHold{border-left-color:#d15c52}
.prod-planner-order-card.status-new{border-left-color:#8e79bb}
.prod-planner-order-ref{font-size:10px;font-weight:900;color:#d7e6c6}
.prod-planner-order-customer{font-size:9.5px;font-weight:800;margin-top:2px}
.prod-planner-order-product{font-size:8.5px;color:var(--sub);line-height:1.35;margin-top:3px}
.prod-planner-order-actions{display:flex;gap:5px;margin-top:7px}.prod-planner-order-actions button{flex:1}
.prod-planner-main{min-width:0}
.prod-planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 10px;margin:0 0 8px}
.prod-planner-toolbar-left,.prod-planner-toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.prod-planner-toolbar strong{font-size:11px;margin-left:5px}
.prod-planner-calendar-wrap{min-width:0}
.prod-planner-scroll{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#111415}
.prod-planner-week{min-width:850px}
.prod-planner-week-head{
  display:grid;grid-template-columns:repeat(var(--planner-days),minmax(92px,1fr));
  background:#151819;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5
}
.prod-planner-day-head{padding:8px 5px;text-align:center;border-right:1px solid var(--line)}
.prod-planner-day-head span{display:block;font-size:7.5px;color:var(--sub);text-transform:uppercase;font-weight:850}
.prod-planner-day-head strong{display:block;font-size:9.5px;margin-top:2px}
.prod-planner-day-head.today{background:#1e2a19}.prod-planner-day-head.weekend{background:#101213;color:#626762}
.prod-planner-week-body{
  display:grid;grid-template-columns:repeat(var(--planner-days),minmax(92px,1fr));
  grid-auto-rows:minmax(68px,auto);position:relative;min-height:78px
}
.prod-planner-day-drop{border-right:1px solid #2b3031;min-height:76px;z-index:0}
.prod-planner-day-drop.today{background:rgba(139,197,63,.035)}
.prod-planner-day-drop.weekend{
  background:repeating-linear-gradient(135deg,#0f1213 0,#0f1213 7px,#151819 7px,#151819 14px)
}
.prod-planner-day-drop.drag-over,.prod-planner-month-day.drag-over{background:rgba(139,197,63,.12);outline:1px dashed #8bc53f;outline-offset:-3px}
.prod-planner-block{
  z-index:2;margin:5px 4px;padding:7px 28px 7px 8px;border:1px solid #454b49;border-left:4px solid #777d77;
  border-radius:8px;background:#1d2223;min-width:0;position:relative;cursor:grab;box-shadow:0 2px 7px rgba(0,0,0,.15)
}
.prod-planner-block.status-ready{border-left-color:#e4a53c;background:#292416}
.prod-planner-block.status-inProduction{border-left-color:#5a9fc4;background:#172934}
.prod-planner-block.status-onHold{border-left-color:#d15c52;background:#321c1a}
.prod-planner-block.status-new{border-left-color:#8e79bb;background:#282238}
.prod-planner-block.status-produced{border-left-color:#4da96b;background:#193020;opacity:.76}
.prod-planner-block.risk{border-color:#803f39}
.prod-planner-edit{
  position:absolute;right:5px;top:5px;width:22px;height:22px;border:1px solid #414845;background:#151819;color:#afb6ae;border-radius:6px;padding:0
}
.prod-planner-block-ref{font-size:9.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-planner-block-customer{font-size:8.5px;font-weight:800;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-planner-block-product{font-size:8px;color:#aeb5ae;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-planner-risk{font-size:7.5px;color:#efa099;font-weight:850;margin-top:4px}
.prod-planner-month{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px}
.prod-planner-month-head{padding:8px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:8px;font-weight:900;color:var(--sub)}
.prod-planner-month-day{min-height:125px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#151819}
.prod-planner-month-day.other{background:#111415;color:#626762}.prod-planner-month-day.today{background:#1e2a19}
.prod-planner-month-day.weekend{background:repeating-linear-gradient(135deg,#0f1213 0,#0f1213 8px,#151819 8px,#151819 16px)}
.prod-planner-month-num{font-size:9px;font-weight:900;margin-bottom:4px}
.prod-planner-month-chip{
  display:flex;align-items:center;gap:4px;width:100%;border:1px solid #414745;border-left:3px solid #777d77;
  background:#1d2223;color:var(--text);border-radius:6px;padding:4px 5px;margin-top:4px;font-size:7.8px;cursor:grab
}
.prod-planner-month-chip button{border:0;background:transparent;color:#9da49c;padding:0 2px}
.prod-planner-month-chip.status-ready{border-left-color:#e4a53c}.prod-planner-month-chip.status-inProduction{border-left-color:#5a9fc4}
.prod-planner-month-chip.status-onHold{border-left-color:#d15c52}.prod-planner-month-chip.status-new{border-left-color:#8e79bb}

/* ============================================================
   Manufacturing Batches
   ============================================================ */
.batch-list-section{margin-top:14px}.section-head{display:flex;align-items:center;gap:7px;margin:0 0 8px}
.batch-list-card{width:100%;text-align:left}
.batch-material-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:8px 0;border-bottom:1px solid #303536
}
.batch-material-row:last-child{border-bottom:0}
.batch-material-name{font-size:10.5px;font-weight:850}
.batch-material-meta{font-size:8.5px;color:var(--sub);margin-top:2px}
.batch-material-qty{font-size:10.5px;color:#a8df5d;font-weight:850}
.preserve-lines{white-space:pre-wrap;line-height:1.5}

@media(max-width:800px){
  .prod-planner-shell{grid-template-columns:1fr}
  .prod-planner-sidebar{position:static;max-height:none}
  .prod-planner-toolbar{align-items:flex-start;flex-direction:column}
}


/* ==========================================================
   Production v4 — planner parity with the existing QMS
   ========================================================== */

.customer-entity-link{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(139,197,63,.48);
  text-underline-offset:2px;
  cursor:pointer;
  font-weight:900;
}
.customer-entity-link:hover{color:var(--brand-green-strong,#9bd64a);text-decoration-color:currentColor}
.customer-entity-link:focus{outline:1px solid var(--brand-green,#8bc53f);outline-offset:2px;border-radius:3px}
.customer-product-chip-list{display:flex;flex-wrap:wrap;gap:6px}
.customer-product-chip{display:inline-flex;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);font-size:9px;font-weight:800;color:var(--text)}
.customer-order-link{width:100%;text-align:left}
.customer-production-record strong{font-weight:900}

.prod-planner-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px;align-items:start;margin-top:12px}
.prod-planner-sidebar{padding:12px;position:sticky;top:120px;max-height:calc(100vh - 145px);overflow:auto}
.prod-planner-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.prod-planner-mini-tabs{display:flex;gap:5px;margin:8px 0}
.prod-planner-mini-tab{flex:1;border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:8px;padding:6px 7px;font-size:8.5px;font-weight:850}
.prod-planner-mini-tab.active{border-color:#4d6634;background:#1b2218;color:var(--brand-green-strong,#9bd64a)}
.prod-planner-unscheduled{display:flex;align-items:center;justify-content:center;min-height:52px;margin:8px 0 4px;border:1px dashed #565d5a;border-radius:9px;background:#151819;color:#a8afaa;font-size:9px;font-weight:850;text-align:center;padding:8px;transition:.12s ease}
.prod-planner-unscheduled.drag-over{border-color:#d15c52;background:#351d1b;color:#efa099}
.prod-planner-order-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.prod-planner-order-card{border:1px solid var(--line);border-left:4px solid #6f7073;background:var(--panel2);border-radius:9px;padding:9px;cursor:grab}
.prod-planner-order-card:active{cursor:grabbing}
.prod-planner-order-card.status-ready{border-left-color:#e4a53c}
.prod-planner-order-card.status-inProduction{border-left-color:#5a9fc4}
.prod-planner-order-card.status-onHold{border-left-color:#d15c52}
.prod-planner-order-card.status-new{border-left-color:#8e79bb}
.prod-planner-order-ref{font-size:10.5px;font-weight:900;color:#f2c766}
.prod-planner-order-customer{font-size:10px;font-weight:900;margin-top:2px}
.prod-planner-order-product{font-size:9px;color:#d1d2d4;line-height:1.35;margin-top:3px}
.prod-planner-order-meta{font-size:8px;color:var(--sub);margin-top:4px}
.prod-planner-order-actions{display:flex;gap:5px;margin-top:7px}.prod-planner-order-actions button{flex:1}
.prod-planner-side-note{font-size:9px;color:var(--sub);line-height:1.45;margin-top:10px}

.prod-planner-main{min-width:0}
.prod-planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:9px 10px;margin-bottom:8px}
.prod-planner-toolbar-left,.prod-planner-toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.prod-planner-toolbar strong{font-size:12px;min-width:210px}
.prod-planner-calendar-wrap{min-width:0}
.prod-planner-scroll{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#111415}

.prod-planner-fortnight-stack{display:flex;flex-direction:column;min-width:820px}
.prod-planner-week-slice{min-width:820px}
.prod-planner-week-slice+.prod-planner-week-slice{border-top:2px solid #3d4442;margin-top:10px;padding-top:10px}
.prod-planner-week-slice-title{padding:0 9px 7px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;color:#a8d8f0}
.prod-planner-week{min-width:820px}

.prod-planner-grid-head{display:grid;grid-template-columns:145px repeat(7,minmax(118px,1fr));position:sticky;top:0;z-index:8;background:#151819;border-bottom:1px solid var(--line)}
.prod-planner-resource-head{padding:9px;border-right:1px solid var(--line);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--sub)}
.prod-planner-day-head{padding:8px 6px;text-align:center;border-right:1px solid var(--line)}
.prod-planner-day-head:last-child{border-right:0}
.prod-planner-day-head span{display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:var(--sub)}
.prod-planner-day-head strong{display:block;font-size:11px;font-weight:900;margin-top:2px}
.prod-planner-day-head.today{background:#1e2a19}
.prod-planner-day-head.weekend{background:#0f1213}
.prod-planner-day-head.weekend span,.prod-planner-day-head.weekend strong{color:#626762}

.prod-planner-resource-row{display:grid;grid-template-columns:145px minmax(0,1fr);border-bottom:1px solid var(--line);min-height:72px}
.prod-planner-resource-label{padding:10px;border-right:1px solid var(--line);font-size:10px;font-weight:850;line-height:1.3;background:#181c1d;display:flex;align-items:flex-start}
.prod-planner-lane-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));grid-auto-rows:minmax(58px,auto);position:relative;min-width:0}
.prod-planner-day-drop{border-right:1px solid #2b3031;background:transparent;min-height:68px;z-index:0}
.prod-planner-day-drop:last-child{border-right:0}
.prod-planner-day-drop.today{background:rgba(139,197,63,.035)}
.prod-planner-day-drop.weekend{background:repeating-linear-gradient(135deg,#0f1213 0,#0f1213 7px,#151819 7px,#151819 14px);cursor:not-allowed;position:relative}
.prod-planner-day-drop.weekend:after{content:'Weekend';display:block;padding:8px 5px;color:#5f6560;font-size:7px;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.04em}
.prod-planner-day-drop.drag-over,.prod-planner-month-day.drag-over{background:rgba(139,197,63,.12);outline:1px dashed var(--brand-green,#8bc53f);outline-offset:-3px}

.prod-planner-block{z-index:2;margin:5px 4px;padding:7px 13px;border:1px solid #4c4d50;border-left:4px solid #6f7073;border-radius:8px;background:#202425;color:var(--text);min-width:0;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.18);position:relative}
.prod-planner-block[draggable='true']{cursor:grab}.prod-planner-block[draggable='true']:active{cursor:grabbing}
.prod-planner-block.status-new{border-left-color:#8e79bb;background:#282238}
.prod-planner-block.status-onHold{border-left-color:#d15c52;background:#351d1b}
.prod-planner-block.status-ready{border-left-color:#e4a53c;background:#312817}
.prod-planner-block.status-inProduction{border-left-color:#5a9fc4;background:#172934}
.prod-planner-block.status-produced{border-left-color:#4da96b;background:#193020;opacity:.78}
.prod-planner-block.risk{border-color:#8b3f38;border-left-color:#d15c52}
.prod-planner-block.resize-source{outline:1px dashed #a8d8f0;outline-offset:1px}

.prod-planner-resize-handle{position:absolute;top:0;bottom:0;width:11px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;z-index:5}
.prod-planner-resize-handle:after{content:'';width:2px;height:23px;border-radius:2px;background:#9ca3a0;opacity:.9}
.prod-planner-resize-handle.start{left:0}
.prod-planner-resize-handle.end{right:0}
.prod-planner-resize-handle:hover:after{background:#a8d8f0}

.prod-planner-edit{position:absolute;top:3px;right:5px;border:0;background:transparent;color:#a8afaa;padding:1px 2px;z-index:4}
.prod-planner-block-ref{font-size:9.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-planner-block-customer{font-size:9px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.prod-planner-block-product{font-size:8.5px;color:#c5c6c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.prod-planner-block-meta{font-size:8px;color:#9fa1a4;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-planner-risk{font-size:8px;color:#f3a89f;font-weight:900;margin-top:4px}

.prod-planner-legend{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0 0;font-size:8px;color:var(--sub)}
.prod-planner-legend span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;background:#6f7073}
.prod-planner-legend .ready:before{background:#e4a53c}.prod-planner-legend .progress:before{background:#5a9fc4}.prod-planner-legend .hold:before{background:#d15c52}.prod-planner-legend .done:before{background:#4da96b}.prod-planner-legend .new:before{background:#8e79bb}

/* Month view retained; week/fortnight are the operational planning views. */
.prod-planner-month{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px}
.prod-planner-month-head{padding:8px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:8px;font-weight:900;color:var(--sub)}
.prod-planner-month-day{min-height:125px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#151819}
.prod-planner-month-day.other{background:#111415;color:#626762}.prod-planner-month-day.today{background:#1e2a19}
.prod-planner-month-day.weekend{background:repeating-linear-gradient(135deg,#0f1213 0,#0f1213 8px,#151819 8px,#151819 16px)}
.prod-planner-month-num{font-size:9px;font-weight:900;margin-bottom:4px}
.prod-planner-month-chip{display:flex;align-items:center;gap:4px;border:1px solid #45474a;border-left:3px solid #6f7073;background:#202425;color:var(--text);border-radius:6px;padding:4px 5px;margin-top:4px;font-size:7.8px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.prod-planner-month-chip button{border:0;background:transparent;color:#9da49c;padding:0 2px}
.prod-planner-month-chip.status-ready{border-left-color:#e4a53c}.prod-planner-month-chip.status-inProduction{border-left-color:#5a9fc4}
.prod-planner-month-chip.status-onHold{border-left-color:#d15c52}.prod-planner-month-chip.status-new{border-left-color:#8e79bb}

@media(max-width:900px){
  .prod-planner-shell{grid-template-columns:1fr}
  .prod-planner-sidebar{position:static;max-height:none}
  .prod-planner-toolbar{align-items:flex-start;flex-direction:column}
}


/* ===== Production v5 final polish ===== */
.production-line-block{
  border-bottom:1px solid #2c3132;
  padding-bottom:10px;
  margin-bottom:10px;
}
.production-line-block:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.production-line-block .production-line-readonly{
  border-bottom:0;
  padding-bottom:6px;
}
.production-calc-box{
  margin-top:5px;
  padding:10px 11px;
  border-left:3px solid #6d561d;
  border-radius:8px;
  background:#25251f;
}
.production-calc-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.production-calc-title{
  color:#f2c766;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.production-calc-sub{
  margin-top:3px;
  color:#c9cacc;
  font-size:9.5px;
  line-height:1.35;
}
.production-formula-btn{
  flex:0 0 auto;
  padding:6px 9px!important;
  font-size:9px!important;
}
.production-calc-materials{
  margin-top:7px;
  font-size:9.5px;
  color:#c5c8c2;
  line-height:1.55;
}
.production-calc-materials strong{color:#eef0ec}
.production-calc-materials span{color:#969d96}

.production-xero-bar{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #5a4f79;
  background:#2d2740;
  color:#f0ecfa;
  border-radius:10px;
}
.production-xero-bar:hover{border-color:#7b6ba5}
.production-xero-bar.checked{
  background:#2f2944;
  border-color:#75669a;
}
.production-xero-check{
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border-radius:5px;
  background:#7d6ca8;
  color:#fff;
  font-size:12px;
  font-weight:900;
  flex:0 0 auto;
}
.production-xero-bar strong{
  display:block;
  font-size:10.5px;
}
.production-xero-bar small{
  display:block;
  margin-top:2px;
  color:#bcb4d2;
  font-size:8.5px;
}

.production-po-inline{
  color:#f1f3ee;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}
.production-po-inline:hover{color:var(--brand-green-strong)}

.production-sds-section{
  margin-top:10px;
  border:1px solid #303536;
  background:#1b1f20;
  border-radius:10px;
  overflow:hidden;
}
.production-sds-section>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  color:#eef0ec;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.production-sds-section>summary::-webkit-details-marker{display:none}
.production-sds-section>summary span:last-child{
  color:#f2c766;
  text-transform:none;
  letter-spacing:0;
}
.production-sds-body{
  border-top:1px solid #303536;
  padding:9px 10px 10px;
}
.production-sds-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 9px;
  border:1px solid #303536;
  border-radius:8px;
  background:#151819;
  color:#eef0ec;
  text-decoration:none;
  margin-bottom:6px;
}
.production-sds-row:hover{border-color:#596655;background:#1d221e}
.production-sds-row strong{display:block;font-size:10px}
.production-sds-row small{display:block;margin-top:2px;color:#8d948d;font-size:8.5px}
.production-sds-row>span{font-size:9px;font-weight:850;color:var(--brand-green-strong)}
.production-sds-unlinked{
  margin-top:7px;
  padding:8px 9px;
  border:1px dashed #624e29;
  border-radius:8px;
  color:#c8b68d;
  font-size:9px;
  line-height:1.45;
}

.formula-detail-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.formula-detail-meta>div{
  padding:8px 9px;
  border:1px solid #303536;
  border-radius:8px;
  background:#151819;
}
.formula-detail-meta span{
  display:block;
  color:#8d948d;
  font-size:8px;
  text-transform:uppercase;
  font-weight:800;
}
.formula-detail-meta strong{
  display:block;
  margin-top:3px;
  color:#eef0ec;
  font-size:10px;
  text-transform:capitalize;
}
.formula-material-list{
  border:1px solid #303536;
  border-radius:9px;
  overflow:hidden;
}
.formula-material-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-bottom:1px solid #303536;
  background:#151819;
}
.formula-material-row:last-child{border-bottom:0}
.formula-material-row strong{display:block;font-size:10px;color:#eef0ec}
.formula-material-row small{display:block;margin-top:2px;font-size:8.5px;color:#8d948d}
.formula-material-row>span{font-size:10px;font-weight:850;color:#f2c766;white-space:nowrap}
.formula-instructions{
  padding:10px 11px;
  background:#151819;
  border:1px solid #303536;
  border-radius:9px;
  color:#cdd1cb;
  font-size:9.5px;
  line-height:1.55;
}
.customer-entity-link{
  font-weight:850!important;
}
@media(max-width:700px){
  .formula-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .production-calc-head{align-items:center}
}


/* Production v6 · shared file/photo upload layer */
.production-file-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:stretch;
}
.production-file-button{
  width:100%;
  text-align:left;
  font:inherit;
}
.production-file-remove{
  width:34px;
  min-height:42px;
  border:1px solid #6f3430;
  border-radius:8px;
  background:var(--redDim);
  color:#efa099;
  font-size:16px;
  font-weight:900;
}
.production-file-remove:hover{border-color:#a34e46}
.production-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.production-upload-label{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--sub);
  font-weight:850;
  margin-bottom:6px;
}
.production-upload-box{
  min-height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:12px;
  border:1px dashed #505758;
  border-radius:9px;
  background:#111516;
  color:#c8cdc7;
  text-align:center;
  transition:.14s ease;
}
.production-upload-box strong{font-size:10.5px}
.production-upload-box span{font-size:8.8px;color:#858d85}
.production-upload-box.drag{
  border-color:var(--brand-green);
  background:#172015;
  box-shadow:0 0 0 3px rgba(139,197,63,.08);
}
.production-upload-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.production-upload-grid .small-btn{margin-top:7px}
.production-upload-state{
  min-height:16px;
  margin-top:7px;
  font-size:9.5px;
  color:var(--sub);
}
.production-upload-state.good{color:#8ed19c}
.production-upload-state.bad{color:#efa099}
.note .list-meta{
  margin-top:5px;
  color:#929991;
  font-size:8.8px;
  font-weight:650;
}
.production-history-row span{
  white-space:normal;
  text-align:right;
  line-height:1.35;
}
@media(max-width:760px){
  .production-upload-grid{grid-template-columns:1fr}
}

/* ============================= QUALITY ============================= */

.production-note-history-row{padding:9px 0}

.quality-list-card{cursor:pointer}
.quality-list-dates{display:flex;gap:12px;flex-wrap:wrap}

.quality-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:4px 0 12px}
.quality-ref{font-size:23px;font-weight:900;letter-spacing:-.015em;color:var(--text)}
.quality-ref.prestart{color:#f2c766}.quality-ref.signoff{color:#f2a900}.quality-ref.light-blue{color:#a8d8f0}.quality-ref.blue{color:#8fcdf0}.quality-ref.green{color:#7bd891}.quality-ref.purple{color:#c8bdf2}
.quality-sub{font-size:11px;color:var(--sub);margin-top:4px}

.quality-summary-card,.quality-product-card{margin-top:10px}
.quality-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.quality-info-grid>div{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:9px 10px;min-width:0}
.quality-info-grid span{display:block;font-size:8.5px;color:var(--sub);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.quality-info-grid strong{display:block;margin-top:4px;font-size:11px;color:var(--text);line-height:1.35}
.quality-production-notes{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.quality-production-notes>strong{display:block;font-size:9px;text-transform:uppercase;color:var(--sub);letter-spacing:.05em;margin-bottom:3px}

.quality-product-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.quality-product-row:first-of-type{border-top:0}
.quality-product-row strong{display:block;font-size:11px}.quality-product-row small{display:block;color:var(--sub);font-size:9px;margin-top:3px}.quality-product-row>span{font-size:10.5px;font-weight:800;white-space:nowrap}

.quality-alert{display:flex;gap:10px;align-items:flex-start;margin-top:10px;border-radius:10px;padding:10px 12px;border:1px solid var(--line);font-size:10px;line-height:1.45}
.quality-alert strong{min-width:88px;text-transform:uppercase;font-size:9px;letter-spacing:.05em}
.quality-alert.hazard{background:#341c1a;border-color:#8b3f38;color:#f3aaa2}
.quality-alert.ppe{background:#172b38;border-color:#345f78;color:#a9d4ed}

.quality-stage-shell{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.quality-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.quality-stage-head h3{margin:0;font-size:16px;color:var(--text)}
.quality-stage-head p{margin:4px 0 0;font-size:10px;color:var(--sub);line-height:1.45}
.quality-stage-subhead{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--text);margin:15px 0 8px}
.quality-stage-done{display:flex;flex-direction:column;gap:2px;background:var(--greenDim);border:1px solid #356443;border-radius:9px;padding:9px 11px;margin-bottom:10px;color:#8bd59d}
.quality-stage-done strong{font-size:10px}.quality-stage-done span{font-size:9px;color:#9ec8aa}

.quality-block{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:11px}
.quality-block-title{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:var(--text);margin-bottom:7px}
.quality-check-block{border-color:#2f6f3e;background:#15261a;border-left:3px solid #56b86d}.safety-check-block{border-color:#7a3732;background:#2a1817;border-left:3px solid #d15c52}.quality-records-block{border-color:#315f76;background:#14242d;border-left:3px solid #5a9fc4}
.quality-check-row{padding:10px 0;border-top:1px solid var(--line)}
.quality-check-row:first-of-type{border-top:0}
.quality-check-label{font-size:10.5px;line-height:1.45;color:var(--text);margin-bottom:8px}
.quality-answer-buttons{display:flex;gap:6px;flex-wrap:wrap}
.quality-answer{min-width:56px;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:#171b1c;color:#bfc4bd;font-size:9.5px;font-weight:850}
.quality-answer.active.yes{background:var(--greenDim);border-color:#356443;color:#8bd59d}
.quality-answer.active.no{background:var(--redDim);border-color:#7a3732;color:#f3a89f}
.quality-answer.active.na{background:#282836;border-color:#55546c;color:#c8c6df}
.quality-no-note{margin-top:7px}

.quality-upload-zone{margin-top:10px;border:1px dashed #414748;border-radius:10px;background:#141718;padding:11px}
.quality-upload-zone.drag-over{border-color:var(--brand-green);background:#172016}
.quality-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.quality-upload-head strong{font-size:10.5px;color:var(--text)}.quality-upload-head small{display:block;font-size:9px;color:var(--sub);line-height:1.4;margin-top:3px}.quality-upload-head>span{font-size:9px;font-weight:850;color:var(--sub)}
.quality-upload-actions{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}
.quality-file-list{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.quality-file-row{display:flex;align-items:stretch;gap:6px}
.quality-file-open{flex:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left;text-decoration:none;background:#1b1f20;border:1px solid var(--line);border-radius:8px;padding:8px 9px;color:var(--text)}
.quality-file-open span{font-size:9.8px;font-weight:800}.quality-file-open small{font-size:8px;color:var(--sub);text-align:right}
.quality-file-remove{width:30px;border-radius:8px;border:1px solid #6b3632;background:var(--redDim);color:#f3a89f;font-weight:900}

.quality-signature-card{margin-top:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:10px}
.quality-signature-wrap{margin-top:8px;background:#101314;border:1px solid #3b4142;border-radius:8px;overflow:hidden;height:130px}
.quality-signature-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}
.quality-signature-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:8.8px;color:var(--sub)}
.quality-signoff-stack{display:flex;flex-direction:column;gap:10px}

.quality-outcome-list{display:flex;flex-direction:column;gap:7px}.quality-outcome-row,.quality-trace-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:10px;align-items:center}.quality-outcome-row label,.quality-trace-row label{font-size:9.5px;color:var(--text)}
.quality-record-subtitle{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--sub);margin:13px 0 6px}
.quality-sample-row{border:1px solid var(--line);border-radius:9px;background:#171b1c;padding:9px;margin-top:7px}.quality-sample-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quality-sample-head strong{font-size:9.5px}.quality-sample-remove{border:0;background:transparent;color:#f3a89f;font-size:8.5px;text-decoration:underline}

.quality-missing{margin-top:12px;border:1px solid #715b25;background:#322a18;color:#edcc78;border-radius:9px;padding:9px 10px;font-size:9.5px;line-height:1.5}
.quality-missing.hidden{display:none}
.quality-stage-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.quality-save-state{text-align:right;font-size:8.5px;color:var(--sub);margin-top:6px;min-height:12px}

.quality-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quality-readonly-grid>div{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:10px}.quality-readonly-grid span{display:block;font-size:8px;color:var(--sub);text-transform:uppercase}.quality-readonly-grid strong{display:block;margin-top:4px;font-size:11px}

@media(max-width:760px){
  .quality-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quality-outcome-row,.quality-trace-row{grid-template-columns:1fr}
  .quality-readonly-grid{grid-template-columns:1fr}
  .quality-detail-head{align-items:flex-start}.quality-ref{font-size:19px}
  .quality-signature-wrap{height:115px}
}


/* Quality v2 semantic colours + Approval / Dispatch */
.quality-check-block .quality-block-title{color:#7fe092}
.safety-check-block .quality-block-title{color:#f1a19a}
.quality-records-block .quality-block-title{color:#9ed3ee}
.quality-alert.hazard strong{color:#f1a19a}
.quality-alert.ppe strong{color:#9ed3ee}
.quality-check-block .quality-check-row{border-top-color:#295334}
.safety-check-block .quality-check-row{border-top-color:#5c2c29}
.quality-records-block .quality-record-subtitle{color:#9ed3ee}
.quality-approval-stage{border-color:#315f76}
.quality-dispatch-stage{border-color:#315f76}
.quality-approval-gate{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:10px 11px;border:1px solid #2f6f3e;border-radius:9px;background:#15261a}
.quality-approval-gate strong{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#7fe092}
.quality-approval-gate span{font-size:9.5px;line-height:1.45;color:#b8cfbd}
.quality-confirm-btn{width:100%;margin:0 0 10px;padding:9px 11px;border-radius:9px;border:1px solid #3c4243;background:#171b1c;color:#d8ddd7;font-size:10px;font-weight:850}
.quality-confirm-btn.confirmed{border-color:#2f6f3e;background:#18301f;color:#8de39e}
.quality-dispatch-summary{margin-top:10px;border:1px solid #315f76;border-radius:10px;background:#14242d;padding:11px}
.quality-dispatch-summary .quality-block-title{color:#9ed3ee}
.quality-dispatch-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #274a5b}
.quality-dispatch-summary-row:first-of-type{border-top:0}
.quality-dispatch-summary-row strong{display:block;font-size:10px}.quality-dispatch-summary-row small{display:block;margin-top:2px;font-size:8.8px;color:#94b4c4}
.quality-dispatch-summary-row span{font-size:9px;font-weight:850;white-space:nowrap}.quality-dispatch-summary-row .remaining{color:#f0c467}.quality-dispatch-summary-row .complete{color:#8de39e}
.quality-dispatch-choice{border-color:#315f76;background:#14242d}
.quality-dispatch-choice .quality-block-title{color:#9ed3ee}
.quality-dispatch-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.quality-mode-btn{padding:8px 10px;border-radius:8px;border:1px solid #3b4142;background:#171b1c;color:#bcc2bb;font-size:9.5px;font-weight:850}
.quality-mode-btn.active{border-color:#5a9fc4;background:#183444;color:#a8dcf5}
.quality-dispatch-list{margin-top:10px;display:flex;flex-direction:column;gap:9px}
.quality-dispatch-row{border:1px solid #315f76;border-radius:9px;background:#14242d;padding:10px}
.quality-dispatch-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.quality-dispatch-row-head strong{font-size:10px;color:#9ed3ee}
.quality-dispatch-status{margin-top:9px;border-radius:9px;padding:9px 10px;font-size:9.5px;font-weight:750}.quality-dispatch-status.good{background:#18301f;border:1px solid #2f6f3e;color:#8de39e}.quality-dispatch-status.warn{background:#322a18;border:1px solid #715b25;color:#edcc78}
@media(max-width:560px){.quality-dispatch-mode{grid-template-columns:1fr}.quality-dispatch-summary-row{align-items:flex-start;flex-direction:column}}
.quality-approval-document{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:10px 11px;border:1px solid #315f76;border-radius:9px;background:#14242d}
.quality-approval-document strong{display:block;font-size:10px;color:#9ed3ee}
.quality-approval-document small{display:block;margin-top:3px;font-size:8.8px;color:#94b4c4;line-height:1.4}
.quality-approval-document-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){.quality-approval-document{align-items:stretch;flex-direction:column}.quality-approval-document-actions{justify-content:stretch}.quality-approval-document-actions>*{flex:1;text-align:center}}


/* Quality v3 — full-width checklist controls */
.quality-answer-buttons{
  display:flex;
  width:100%;
  gap:7px;
  flex-wrap:nowrap;
}
.quality-answer{
  flex:1 1 0;
  min-width:0;
  width:auto;
  min-height:38px;
  padding:8px 10px;
  text-align:center;
}
@media(max-width:560px){
  .quality-answer-buttons{gap:5px}
  .quality-answer{min-height:42px;font-size:10px}
}

/* Completed Quality report */
.quality-completed-report{display:flex;flex-direction:column;gap:10px}
.quality-final-meta{
  border:1px solid var(--line);
  border-radius:9px;
  background:#151819;
  padding:8px 10px;
  color:var(--sub);
  font-size:9px;
  line-height:1.4;
}
.quality-final-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.quality-final-actions>*{
  text-decoration:none;
  text-align:center;
}
@media(max-width:620px){
  .quality-final-actions{display:grid;grid-template-columns:1fr}
  .quality-final-actions>*{width:100%}
}


/* Quality v4 — evidence blocks use the records blue treatment */
.quality-upload-zone.quality-upload-blue{
  border-color:#315f76;
  background:#14242d;
}
.quality-upload-zone.quality-upload-blue .quality-upload-head strong{color:#9ed3ee}
.quality-upload-zone.quality-upload-blue .quality-upload-head small,
.quality-upload-zone.quality-upload-blue .quality-upload-head>span{color:#94b4c4}
.quality-upload-zone.quality-upload-blue .quality-file-item{
  background:#101c22;
  border-color:#274a5b;
}

/* Dispatch final workflow */
.quality-dispatch-row-head>div:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.quality-dispatch-row-head small{
  color:#86a8b8;
  font-size:8px;
  font-weight:500;
}
.quality-dispatch-row-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.quality-use-remaining{
  border:1px solid #4f8aa7;
  background:#17303d;
  color:#9ed3ee;
  border-radius:7px;
  padding:5px 8px;
  font-size:8.5px;
  font-weight:800;
  cursor:pointer;
}
.quality-use-remaining:hover{background:#1d3a49}
.quality-dispatch-remaining-label{
  color:#86a8b8;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}
@media(max-width:600px){
  .quality-dispatch-row-head{align-items:flex-start;flex-direction:column}
  .quality-dispatch-row-actions{width:100%;justify-content:space-between}
}

/* Management-only completed-record reopen */
.quality-reopen-banner{
  border:1px solid #8b6a2d;
  background:#302818;
  border-radius:10px;
  padding:10px 11px;
  margin-bottom:12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.quality-reopen-banner strong{display:block;color:#f0c467;font-size:10px}
.quality-reopen-banner span{display:block;color:#c9b47a;font-size:8.8px;line-height:1.4;margin-top:2px}
.quality-reopen-meta{color:#c7af73;font-size:8px;text-align:right;max-width:42%}
.quality-reopen-btn{border-color:#8b6a2d!important;color:#e8c36b!important}
.quality-final-warning{
  border:1px solid #8b6a2d;
  background:#302818;
  color:#edca79;
  border-radius:9px;
  padding:9px 10px;
  font-size:9px;
  line-height:1.45;
}
@media(max-width:620px){
  .quality-reopen-banner{flex-direction:column}
  .quality-reopen-meta{max-width:none;text-align:left}
}
\n\n/* Quality v6 parity final styling */
.quality-production-reference{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.quality-production-formula{border:1px solid var(--line);border-radius:10px;background:#191b1c;overflow:hidden}
.quality-production-formula>summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.quality-production-formula>summary::-webkit-details-marker{display:none}
.quality-production-formula>summary span:last-child{color:var(--sub);font-size:8.5px;text-transform:none;letter-spacing:0}
.quality-production-formula-body{border-top:1px solid var(--line);padding:10px 12px}
.quality-formula-card{padding:9px 0;border-bottom:1px solid var(--line)}
.quality-formula-card:last-child{border-bottom:0}
.quality-formula-head strong{display:block;font-size:11px}
.quality-formula-head small{display:block;color:var(--sub);font-size:8.5px;margin-top:2px}
.quality-formula-empty{color:var(--sub);font-size:8.5px;margin:7px 0}
.quality-formula-materials{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.quality-formula-materials>div{display:flex;justify-content:space-between;gap:10px;padding:6px 7px;border:1px solid #2d3133;border-radius:7px;background:#121516;font-size:9px}
.quality-formula-materials strong{color:#efc96b;white-space:nowrap}
.quality-formula-instructions{margin-top:8px;padding:8px;border-left:3px solid #596064;background:#151819;white-space:pre-wrap;font-size:9px;line-height:1.45}
.quality-source-files{margin-top:8px}
.quality-pick-list-tools{border:1px solid #315f76;background:#14242d;border-radius:10px;padding:10px 11px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.quality-pick-list-tools strong{display:block;color:#9ed3ee;font-size:10px}
.quality-pick-list-tools small{display:block;color:#94b4c4;font-size:8.5px;margin-top:2px}
.quality-pick-list-tools>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.quality-video-meta{font-size:8px;color:var(--sub);margin-top:4px}
.quality-trace-row{border:1px solid #315f76;background:#14242d;border-radius:9px;padding:9px;margin-bottom:7px}
.quality-trace-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:7px}
.quality-trace-head label{display:block;color:#9ed3ee;font-size:9.5px;font-weight:800}
.quality-trace-head small{display:block;color:#94b4c4;font-size:8px;margin-top:2px}
.quality-add-trace{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:8px 0 12px}
.quality-add-trace .field{margin:0}
.quality-record-notice{border:1px solid #6e5929;background:#2c2517;color:#e0c372;border-radius:8px;padding:8px 9px;font-size:8.5px;margin-bottom:8px}
.quality-record-notice.neutral{border-color:#315f76;background:#14242d;color:#94b4c4}
.quality-qty-status{display:block;margin-top:4px;font-size:8px}.quality-qty-status.match{color:#7fd59a}.quality-qty-status.variance{color:#e3b35a}
.quality-xero-neutral{width:100%;border:1px solid #4b5053;background:#1a1d1e;color:#e8e9e9;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:9px;margin:0 0 10px;text-align:left;cursor:pointer}
.quality-xero-neutral.checked{border-color:#677074;background:#202425}
.quality-xero-neutral .quality-xero-box{width:20px;height:20px;border:1px solid #6b7377;border-radius:5px;display:grid;place-items:center;font-weight:900}
.quality-xero-neutral strong,.quality-xero-neutral small{display:block}.quality-xero-neutral small{color:var(--sub);font-size:8.5px;margin-top:2px}
@media(max-width:650px){.quality-pick-list-tools{align-items:stretch;flex-direction:column}.quality-pick-list-tools>div:last-child{justify-content:stretch}.quality-pick-list-tools>div:last-child>*{flex:1}.quality-add-trace{grid-template-columns:1fr}.quality-add-trace button{width:100%}}


/* ============================================================
   Quality v7 - consolidated Operations + Quality usability pass
   ============================================================ */
.ops-action-tile.has-work{background:#26391d!important;border-color:#82b84c!important;box-shadow:0 0 0 1px rgba(139,197,63,.18),inset 0 0 24px rgba(139,197,63,.06)!important}
.ops-action-tile.has-work:hover{background:#2d441f!important;border-color:#9bd45b!important}
.ops-action-tile.has-work .ops-action-count{display:inline-flex;min-width:36px;height:32px;align-items:center;justify-content:center;margin-top:8px;padding:0 9px;border-radius:999px;background:#8bc53f;color:#101510!important;font-size:20px!important;text-shadow:none!important}
.ops-action-tile.has-work .ops-action-meta{color:#bed3ad}
.ops-task-row.has-work,.ops-quality-row.has-work{background:#203019!important;border-color:#587f38!important}
.ops-quality-row.has-work:hover,.ops-task-row.has-work:hover{background:#29401e!important;border-color:#7cad4a!important}
.ops-quality-row.has-work strong{display:inline-flex;min-width:28px;height:24px;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;background:#8bc53f;color:#101510!important;font-size:12px!important}
.ops-task-row.urgent{background:#351c19!important;border-color:#94453d!important}
.quality-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 12px;border:1px solid #5e8039;border-radius:10px;background:#1d2c18}
.quality-filter-banner strong{display:block;color:#eaf2e2;font-size:11px}.quality-filter-banner span{display:block;color:#a9bea0;font-size:8.8px;margin-top:2px}
.quality-product-row-rich{align-items:stretch!important;gap:14px!important}.quality-product-qty{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:6px;min-width:290px}.quality-product-qty>span{display:flex;flex-direction:column;justify-content:center;min-height:42px;padding:6px 8px;border:1px solid #343a3b;border-radius:8px;background:#151819}.quality-product-qty small{display:block;color:#929b93;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em}.quality-product-qty b{display:block;margin-top:2px;font-size:10.5px;color:#f0f2ed}.quality-product-qty .balanced{border-color:#386848;background:#17271b}.quality-product-qty .balanced b{color:#8fdda1}.quality-product-qty .variance{border-color:#866628;background:#302817}.quality-product-qty .variance b{color:#efc76c}
.quality-quantity-summary{margin-top:10px;border:1px solid #315f76;border-radius:10px;overflow:hidden;background:#14242d}.quality-quantity-head,.quality-quantity-row{display:grid;grid-template-columns:minmax(180px,1.7fr) repeat(3,minmax(72px,.55fr));gap:0}.quality-quantity-head{background:#17303d;color:#9ed3ee;font-size:8px;font-weight:900;text-transform:uppercase}.quality-quantity-head span,.quality-quantity-row>*{padding:8px 10px;border-right:1px solid #274a5b}.quality-quantity-head span:last-child,.quality-quantity-row>*:last-child{border-right:0}.quality-quantity-row{border-top:1px solid #274a5b;align-items:center}.quality-quantity-row strong{font-size:9.5px}.quality-quantity-row span{font-size:9.5px;color:#d7e5ec}.quality-quantity-row .balanced{color:#8fdda1;font-weight:850}.quality-quantity-row .variance{color:#efc76c;font-weight:850}.quality-quantity-row .pending{color:#869ba6}
.quality-outcome-row-rich{display:block!important}.quality-outcome-row-rich>label{display:block;margin-bottom:6px;font-weight:850}.quality-outcome-qty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quality-outcome-qty-grid>div{min-height:54px;padding:7px 8px;border:1px solid #315f76;border-radius:8px;background:#101c22}.quality-outcome-qty-grid span{display:block;color:#94b4c4;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em}.quality-outcome-qty-grid strong{display:block;margin-top:6px;font-size:11px}.quality-outcome-qty-grid .match{border-color:#386848;background:#17271b;color:#8fdda1}.quality-outcome-qty-grid .variance{border-color:#866628;background:#302817;color:#efc76c}.quality-outcome-qty-grid .pending{color:#94b4c4}.quality-outcome-qty-grid input{margin-top:3px}
.quality-global-tools{margin-top:10px;border-color:#5b6a3c!important;background:#1b2218!important;display:flex;align-items:center;justify-content:space-between;gap:12px}.quality-global-tools strong{display:block;color:#dce8cf;font-size:10.5px}.quality-global-tools small{display:block;color:#a6b59a;font-size:8.8px;margin-top:3px;line-height:1.4}.quality-global-tools-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.quality-approval-stage{border-color:#3d7048!important;background:#141a15!important}.quality-upload-zone.quality-upload-approval{border:1px solid #3c7048!important;background:#17251a!important;box-shadow:inset 3px 0 0 #58a968}.quality-upload-zone.quality-upload-approval .quality-upload-head strong{color:#9fe1ad}.quality-upload-zone.quality-upload-approval .quality-upload-head small,.quality-upload-zone.quality-upload-approval .quality-upload-head>span{color:#aacbb1}.quality-upload-zone.quality-upload-approval .quality-file-open{background:#132017;border-color:#315a3a}.quality-approval-document.bottom{margin-top:14px;padding:13px;border-width:1px;flex-wrap:wrap}.quality-approval-document.bottom.current{background:#17291c;border-color:#3e754a}.quality-approval-document.bottom.needs-update{background:#2f2818;border-color:#80652e}.quality-approval-document.bottom strong{font-size:11px}.quality-approval-generate{min-height:38px;padding:9px 14px!important;font-size:10px!important}.quality-approval-pdf-state{width:100%;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);color:#a8bca8;font-size:8.8px}.quality-approval-pdf-state.error{color:#f1a19a}
@media(max-width:760px){.quality-product-row-rich{flex-direction:column}.quality-product-qty{min-width:0;width:100%;grid-template-columns:repeat(3,1fr)}.quality-quantity-head,.quality-quantity-row{grid-template-columns:1.4fr repeat(3,.65fr)}.quality-global-tools{align-items:stretch;flex-direction:column}.quality-global-tools-actions>*{flex:1;text-align:center}}
@media(max-width:520px){.quality-product-qty,.quality-outcome-qty-grid{grid-template-columns:1fr}.quality-quantity-head{display:none}.quality-quantity-row{grid-template-columns:1fr 1fr}.quality-quantity-row strong{grid-column:1/-1;border-right:0;border-bottom:1px solid #274a5b}}


/* ============================================================
   Quality v8 - stability & usability repair
   ============================================================ */

/* Searchable customer / product selectors */
.searchable-master{background-image:none!important}
.order-editor-po{
  margin:9px 0 12px;
  padding:10px 12px;
  border:1px dashed #4d585a;
  border-radius:9px;
  background:#15191a;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.order-editor-po.drag{border-color:#8bc53f;background:#1c2818}
.order-editor-po.disabled{opacity:.55}
.order-editor-po strong{display:block;font-size:9.5px}
.order-editor-po small{display:block;margin-top:2px;color:var(--sub);font-size:8px;line-height:1.35}

/* Management delete */
.danger-soft{
  border:1px solid #7c3935!important;
  background:#2b1817!important;
  color:#f0a39c!important;
  border-radius:8px;
  padding:7px 10px;
  font-size:9px;
  font-weight:850;
}

/* Smaller helper copy under fields */
.help,
.field .help{
  margin-top:4px!important;
  color:#929b96!important;
  font-size:7.8px!important;
  line-height:1.35!important;
  font-weight:500!important;
}

/* Consistent breathing room in every Quality stage without making it huge */
.quality-stage-shell{padding:16px 17px!important}
.quality-stage-head{margin-bottom:12px!important}
.quality-stage-head p{margin-top:3px!important;font-size:8.5px!important;line-height:1.4!important;color:var(--sub)!important}
.quality-block{padding:12px 13px!important}
.quality-upload-zone{padding:12px 13px!important}
.quality-signature-card{padding:11px 12px!important}
.quality-dispatch-row{padding:11px 12px!important}
.quality-alert{padding:11px 13px!important}
.quality-sample-row{padding:10px 11px!important}
.quality-trace-row{padding:10px 11px!important}

/* Xero is a compact status control, not a giant panel */
.quality-xero-neutral{
  width:max-content!important;
  max-width:100%;
  min-height:0!important;
  padding:5px 8px!important;
  margin:7px 0 9px!important;
  border-radius:7px!important;
  gap:6px!important;
}
.quality-xero-neutral .quality-xero-box{
  width:16px!important;
  height:16px!important;
  border-radius:4px!important;
  font-size:9px!important;
}
.quality-xero-neutral strong{font-size:8.7px!important}
.quality-xero-neutral small{font-size:7.2px!important;margin-top:1px!important}

/* Production Xero bar is compact as well */
.production-xero-bar{
  width:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  padding:6px 9px!important;
  margin:0 0 9px!important;
  border-radius:7px!important;
}
.production-xero-check{width:17px!important;height:17px!important}
.production-xero-bar strong{font-size:8.8px!important}
.production-xero-bar small{font-size:7.4px!important}

/* Balance supports both under- and over-production */
.quality-outcome-qty-grid .variance strong,
.quality-product-qty .variance b,
.quality-quantity-row .variance{color:#efc76c!important}
.quality-record-notice.hidden{display:none!important}

@media(max-width:650px){
  .order-editor-po{align-items:stretch;flex-direction:column}
  .order-editor-po button{width:100%}
}


/* ============================================================
   UNIVERSAL APP VISUAL SYSTEM - v9
   One spacing / sizing standard across Operations, Production,
   Quality, SDS, Settings and future modules.
   ============================================================ */
:root{
  --ui-page-x:20px;
  --ui-page-y:20px;
  --ui-card-pad:14px;
  --ui-card-pad-lg:16px;
  --ui-section-gap:12px;
  --ui-control-h:36px;
  --ui-control-h-sm:30px;
  --ui-radius:10px;
  --ui-border:#343a3b;
  --ui-muted:#919991;
}
.wrap{padding:var(--ui-page-y) var(--ui-page-x) 54px!important}
.page-title{margin:0 0 3px!important}
.page-sub{margin:0 0 14px!important;font-size:9px!important;line-height:1.45!important}

/* Universal panels/cards */
.card,.card2,.detail-card,.ops-detail,.quality-stage-shell,.quality-summary-card,.quality-product-card,.planner-card,.settings-card,.sds-card{
  border-radius:var(--ui-radius)!important;
}
.card,.card2,.detail-card,.ops-detail,.quality-summary-card,.quality-product-card{
  padding:var(--ui-card-pad)!important;
}
.detail-card.card{padding:var(--ui-card-pad-lg)!important}
.quality-stage-shell{padding:var(--ui-card-pad-lg)!important}

/* Universal section rhythm */
.detail-heading,.quality-stage-subhead,.quality-block-title,.section-title,.label{
  line-height:1.25!important;
}
.detail-heading{margin-bottom:9px!important}
.field{margin-bottom:10px!important}
.label{display:block!important;margin-bottom:5px!important;font-size:8px!important;letter-spacing:.045em!important}
.help,.field .help,.muted-note{font-size:7.7px!important;line-height:1.42!important;margin-top:4px!important;color:var(--ui-muted)!important}

/* Universal controls */
.input,.select,textarea.input{
  min-height:var(--ui-control-h)!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  line-height:1.35!important;
}
button,.primary,.secondary,.danger-soft,.new-order-btn{
  min-height:var(--ui-control-h)!important;
  padding:7px 11px!important;
  border-radius:8px!important;
  line-height:1.15!important;
}
.small-btn{min-height:var(--ui-control-h-sm)!important;padding:5px 9px!important}

/* Universal notes/history */
.production-history-row,.quality-history-row,.note-row,.status-history-row{
  padding:9px 2px!important;
  line-height:1.4!important;
}
.production-history-row span,.quality-history-row span,.status-history-row span{
  padding-right:4px!important;
}

/* Production detail spacing */
.production-detail-grid{gap:14px!important}
.production-detail-stat{padding:9px 2px!important}
.production-line-readonly{padding:10px 2px!important}
.production-detail-actions{gap:8px!important;margin-bottom:13px!important}
.production-preview-note{padding:10px 12px!important}
.production-note-history-row{padding-left:2px!important;padding-right:6px!important}

/* Quality spacing */
.quality-stage-head{margin-bottom:12px!important}
.quality-block,.quality-upload-zone,.quality-signature-card,.quality-dispatch-row,.quality-sample-row,.quality-trace-row,.quality-alert{
  padding:12px 13px!important;
  border-radius:9px!important;
}
.quality-stage-footer{margin-top:13px!important;padding-top:12px!important}
.quality-global-tools{
  padding:12px 13px!important;
  border-radius:9px!important;
  margin:10px 0!important;
  border:1px solid #4b6633!important;
  background:#192117!important;
}
.quality-global-tools-actions{gap:7px!important}

/* Status badges stay compact and consistent */
.pill,.cross-status{
  min-height:22px!important;
  padding:4px 8px!important;
  border-radius:6px!important;
  line-height:1.1!important;
}
.cross-status.xero-missing{border-color:#84651f!important;background:#2e2613!important;color:#efc75c!important}
.open-quality-btn{
  border:1px solid #6f9846!important;
  background:#22341a!important;
  color:#b9e386!important;
  font-weight:850!important;
}
.open-quality-btn:hover{background:#2b421f!important;border-color:#8bc53f!important}

/* Operations counts: no circles/bubbles. The card itself communicates work. */
.ops-action-tile.has-work .ops-action-count{
  display:block!important;
  width:auto!important;min-width:0!important;height:auto!important;
  margin:7px 0 0!important;padding:0!important;
  border-radius:0!important;background:transparent!important;
  color:#9ada53!important;font-size:19px!important;font-weight:900!important;
}
.ops-quality-row.has-work strong{
  display:block!important;min-width:0!important;width:auto!important;height:auto!important;
  padding:0!important;border-radius:0!important;background:transparent!important;
  color:#a1dd5b!important;font-size:12px!important;font-weight:900!important;
}
.ops-action-tile.has-work{padding:13px 14px!important}
.ops-quality-row{padding:9px 11px!important}

/* Quality owns no Xero UI. Production/Operations remain the source of truth. */
.quality-xero-neutral{display:none!important}

/* Universal branded dialog */
.prestige-dialog-host{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.prestige-dialog-host.hidden{display:none}
.prestige-dialog-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}
.prestige-dialog{position:relative;width:min(470px,100%);padding:18px;border:1px solid #414849;border-radius:12px;background:#171b1c;box-shadow:0 24px 70px rgba(0,0,0,.48)}
.prestige-dialog.tone-danger{border-color:#7f3e38}.prestige-dialog.tone-warning{border-color:#80652e}
.prestige-dialog-kicker{font-size:7.5px;font-weight:900;letter-spacing:.12em;color:#8bc53f;margin-bottom:7px}
.prestige-dialog h3{margin:0 0 8px;color:#f1f3ef;font-size:16px}
.prestige-dialog-message{color:#b5bcb5;font-size:9.5px;line-height:1.55}
.prestige-dialog-message>div+div{margin-top:6px}
.prestige-dialog-input-wrap{margin-top:13px}
.prestige-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #2f3536}
.prestige-dialog.tone-danger #prestigeDialogConfirm{background:#8d3f39!important;border-color:#8d3f39!important;color:#fff!important}
.prestige-dialog.tone-warning #prestigeDialogConfirm{background:#8b6a2d!important;border-color:#8b6a2d!important;color:#fff!important}

/* Tables and upload zones use the same breathing room everywhere */
.quality-upload-head,.quality-dispatch-row-head,.order-editor-section-head{gap:10px!important}
.quality-file-item,.attachment-row,.job-doc-row{padding:8px 9px!important}

@media(max-width:700px){
  :root{--ui-page-x:12px;--ui-page-y:14px;--ui-card-pad:12px;--ui-card-pad-lg:13px;--ui-control-h:38px}
  .production-detail-grid{gap:10px!important}
  .prestige-dialog-host{padding:12px}
  .prestige-dialog{padding:15px}
}


/* Final universal spacing refinements */
.quality-info-grid{gap:10px!important}
.quality-info-grid>div{padding:11px 12px!important;border-radius:9px!important}
.quality-info-grid span{font-size:7.8px!important}
.quality-info-grid strong{margin-top:5px!important;font-size:10.5px!important}
.quality-production-notes{margin-top:12px!important;padding:11px 3px 0!important}
.quality-production-notes>strong{margin-bottom:6px!important}
.production-note-history-row>div:first-child{padding-right:10px!important}
.production-note-history-row>span{display:block!important;text-align:right!important;padding:3px 5px 0 10px!important}
.quality-summary-card,.quality-product-card{margin-top:12px!important}
.quality-detail-head{margin-bottom:13px!important}
.prod-card-side{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}


/* ============================================================
   v11 - Prestige autocomplete
   ============================================================ */
.prestige-autocomplete-field{position:relative}
.prestige-autocomplete-menu{
  position:fixed;
  z-index:10050;
  max-height:280px;
  overflow:auto;
  padding:5px;
  border:1px solid #48514c;
  border-radius:9px;
  background:#151918;
  box-shadow:0 14px 36px rgba(0,0,0,.52);
}
.prestige-autocomplete-option{
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#eef1ec;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:1px;
}
.prestige-autocomplete-option span{
  font-size:9.5px;
  line-height:1.25;
  font-weight:750;
}
.prestige-autocomplete-option small{
  color:#8f9992;
  font-size:7.6px;
  line-height:1.25;
}
.prestige-autocomplete-option:hover,
.prestige-autocomplete-option.active{
  background:#26391d;
  color:#fff;
  box-shadow:inset 3px 0 0 #8bc53f;
}
.prestige-autocomplete-option:hover small,
.prestige-autocomplete-option.active small{color:#b9c8af}
.prestige-autocomplete-empty{
  padding:10px 9px;
  color:#89918b;
  font-size:8.5px;
}
.searchable-master:focus{
  border-color:#7eab49!important;
  box-shadow:0 0 0 2px rgba(139,197,63,.11)!important;
}


/* ============================================================
   v12 - Management Quality correction
   ============================================================ */
.quality-correction-tool{
  margin-top:var(--qms-gap,12px);
  border-color:#7f672e!important;
  background:#2c2618!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.quality-correction-tool strong{display:block;color:#f1cf7a;font-size:10px}
.quality-correction-tool small{display:block;margin-top:3px;color:#c9b77d;font-size:8px;line-height:1.4}
.quality-correction-banner{
  margin-top:var(--qms-gap,12px);
  padding:var(--qms-card-pad,16px);
  border:1px solid #8b6a2d;
  border-radius:var(--qms-radius,10px);
  background:#302818;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.quality-correction-banner strong{display:block;color:#f3d27f;font-size:10.5px}
.quality-correction-banner span{display:block;margin-top:3px;color:#d5c28d;font-size:8.5px;line-height:1.45}
.quality-correction-meta{max-width:42%;color:#c7af73;font-size:8px;text-align:right;line-height:1.4}
@media(max-width:650px){
  .quality-correction-tool,.quality-correction-banner{flex-direction:column;align-items:stretch}
  .quality-correction-tool button{width:100%}
  .quality-correction-meta{max-width:none;text-align:left}
}


/* ============================================================
   v13 - Quality gallery upload + media PDF repair
   ============================================================ */
.quality-upload-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.quality-upload-actions .small-btn{
  min-height:34px;
}
@media(max-width:700px){
  .quality-upload-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .quality-upload-actions .small-btn{
    width:100%;
    min-height:42px;
    justify-content:center;
  }
  .quality-upload-actions .small-btn:nth-child(3){
    grid-column:1 / -1;
  }
}


/* ============================================================
   v15 - Native browser links / open in new tab
   ============================================================ */
.app-native-link{
  color:inherit;
  text-decoration:none;
}
.app-native-link:visited{
  color:inherit;
}
.app-record-link{
  display:inline-block;
  cursor:pointer;
}
.app-record-link:hover,
.customer-entity-link:hover,
.prod-planner-block-ref .app-native-link:hover,
.prod-planner-month-chip .app-native-link:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
.app-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.app-card-link:hover{
  color:inherit;
}
a.open-quality-btn,
a.secondary.small-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.ops-overview-row.app-card-link,
.ops-quality-row.app-card-link{
  width:100%;
  box-sizing:border-box;
}
.customer-order-link.app-card-link,
.batch-list-card.app-card-link{
  width:100%;
  box-sizing:border-box;
}


/* ============================================================
   v16 - Native navigation must still look like the QMS
   ============================================================ */
a.nav-btn,
a.icon-btn,
a.primary,
a.secondary,
a.small-btn,
a.open-quality-btn{
  box-sizing:border-box;
  text-decoration:none!important;
  font-family:inherit;
}

/* Main module links keep exactly the old button geometry. */
.nav>a.nav-btn{
  height:34px!important;
  min-height:34px!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--sub);
  border-radius:9px;
  font-size:11px;
  font-weight:750;
  line-height:1!important;
  white-space:nowrap;
  flex:0 0 auto;
}
.nav>a.nav-btn:hover{color:var(--text);border-color:#53555a}
.nav>a.nav-btn.active{
  color:#1c1d1f!important;
  background:var(--amber)!important;
  border-color:var(--amber)!important;
}

/* Header icon anchors match the original icon buttons. */
.header a.icon-btn{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--sub);
}
.header a.icon-btn:hover{color:var(--text)}

/* Any action that became an anchor must retain normal button sizing. */
a.primary,
a.secondary,
a.open-quality-btn{
  min-height:var(--ui-control-h)!important;
  padding:7px 11px!important;
  border-radius:8px!important;
  line-height:1.15!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10.5px!important;
  font-weight:800!important;
}
a.primary{
  border:1px solid var(--amber)!important;
  background:var(--amber)!important;
  color:#1c1d1f!important;
}
a.secondary{
  border:1px solid var(--line)!important;
  background:var(--panel2)!important;
  color:var(--text)!important;
}

/* Open Quality remains green and the same physical size as its neighbouring buttons. */
a.open-quality-btn,
button.open-quality-btn{
  min-height:var(--ui-control-h)!important;
  padding:7px 11px!important;
  border-radius:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  border:1px solid #6f9846!important;
  background:#22341a!important;
  color:#b9e386!important;
  font-weight:850!important;
}
a.open-quality-btn:hover,
button.open-quality-btn:hover{
  background:#2b421f!important;
  border-color:#8bc53f!important;
}

/* The preserved Google report is intentionally obvious on historical jobs. */
.quality-historical-report-note{
  margin:11px 0!important;
  padding:11px 13px!important;
  border:1px solid #42643b!important;
  border-radius:9px!important;
  background:#172218!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}
.quality-historical-report-note strong{
  color:#9ada53!important;
  font-size:10.5px!important;
}
.quality-historical-report-note span{
  color:#b8beb9!important;
  font-size:9.5px!important;
  line-height:1.4!important;
}
.quality-historical-pdf-link{
  background:#26391d!important;
  border-color:#78a84e!important;
  color:#c7ef9c!important;
}
.quality-historical-pdf-link:hover{
  background:#304822!important;
  border-color:#8bc53f!important;
}

@media(max-width:560px){
  .nav>a.nav-btn{
    height:38px!important;
    min-height:38px!important;
    padding:0 12px!important;
    font-size:11.5px!important;
  }
  .header a.icon-btn{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
  }
}


/* v16.1 - reliable native navigation */
a.app-native-link[href^="#"]{
  cursor:pointer!important;
  pointer-events:auto!important;
}
.nav>a.nav-btn,
.header a.icon-btn,
a.app-card-link,
a.app-record-link,
a.open-quality-btn{
  pointer-events:auto!important;
}


/* ============================================================
   v17 - Brand green restored + compact Settings
   ============================================================ */

/* The QMS brand green is the ordinary positive / primary action colour.
   Amber remains reserved for workflow attention and warnings. */
.nav>a.nav-btn.active{
  color:#10140d!important;
  background:var(--brand-green)!important;
  border-color:var(--brand-green)!important;
}
a.primary,
button.primary,
.primary,
.new-order-btn{
  border:1px solid var(--brand-green)!important;
  background:var(--brand-green)!important;
  color:#10140d!important;
}
a.primary:hover,
button.primary:hover,
.primary:hover,
.new-order-btn:hover{
  border-color:var(--brand-green-strong)!important;
  background:var(--brand-green-strong)!important;
  color:#10140d!important;
}

/* Completed PDF and Batch Card actions are intentionally quiet and simple. */
.quality-final-actions,
.quality-global-tools-actions{
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}
.quality-final-meta,
.quality-historical-report-note{
  display:none!important;
}

/* Settings structure */
.settings-page-body{margin-top:12px}
.settings-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#151819;
}
.settings-tab{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:7px;
  color:var(--sub);
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}
.settings-tab:hover{color:#fff;border-color:#3d4443;background:#1b2020}
.settings-tab.active{
  color:#10140d!important;
  background:var(--brand-green)!important;
  border-color:var(--brand-green)!important;
}
.settings-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.settings-section-head.compact{margin-bottom:8px}
.settings-section-head .settings-help-block{margin:3px 0 0}
.settings-toolbar{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto auto;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.settings-toolbar .search-row{margin:0!important;min-width:0}
.settings-show-inactive{
  min-height:var(--ui-control-h);
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--sub);
  font-size:9.5px;
  font-weight:750;
  white-space:nowrap;
}
.settings-show-inactive input{accent-color:var(--brand-green)}
.settings-master-row{
  min-height:54px;
  padding:10px 12px!important;
}
.settings-master-copy{min-width:0;flex:1}
.settings-master-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.settings-customer-name{
  color:#fff!important;
  text-decoration:none!important;
}
.settings-customer-name:hover{text-decoration:underline!important;text-underline-offset:2px}
.settings-material-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:12px;
  align-items:start;
}
.settings-inline-config{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
}
.settings-inline-config strong{
  display:block;
  font-size:10.5px;
  color:#fff;
}
.settings-inline-config span{
  display:block;
  margin-top:3px;
  font-size:9px;
  color:var(--sub);
  line-height:1.4;
}
.settings-product-access-list{
  max-height:340px;
  overflow:auto;
  margin-top:7px;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-right:3px;
}
.settings-product-access-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  cursor:pointer;
}
.settings-product-access-row.hidden{display:none}
.settings-product-access-row input{margin-top:2px;accent-color:var(--brand-green)}
.settings-product-access-row span{min-width:0}
.settings-product-access-row strong{
  display:block;
  font-size:9.8px;
  color:#fff;
}
.settings-product-access-row small{
  display:block;
  margin-top:2px;
  color:var(--sub);
  font-size:8.3px;
}
.settings-quality-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.settings-list-textarea{
  min-height:125px!important;
  font-size:10.5px!important;
  line-height:1.5!important;
  white-space:pre-wrap;
}
.settings-quality-save{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:9px;
  margin-top:12px;
}
.settings-page-body .pill.neutral{
  background:#2b3030;
  color:#9ba09b;
  border-color:#454b4a;
}

/* Settings editor section dividers */
#editorBody .people-section{
  border-top:1px solid var(--line);
  margin-top:13px;
  padding-top:12px;
}
#editorBody .people-section:first-child{
  border-top:0;
  margin-top:0;
  padding-top:0;
}

@media(max-width:900px){
  .settings-material-grid,
  .settings-quality-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .settings-toolbar{
    grid-template-columns:1fr!important;
  }
  .settings-toolbar>.primary,
  .settings-toolbar>.secondary,
  .settings-show-inactive{width:100%}
  .settings-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .settings-tab{width:100%}
  .settings-section-head{flex-direction:column}
  .settings-section-head>button{width:100%}
  .settings-master-row{align-items:flex-start!important}
  .settings-master-actions{flex-direction:column;align-items:flex-end}
}


/* ============================================================
   v17.1 - Record reference colours must not change after visit
   ============================================================ */
a.ref-title:link,
a.ref-title:visited{
  text-decoration:none;
}
a.ref-title.amber:link,
a.ref-title.amber:visited,
a.ref-title.prestart:link,
a.ref-title.prestart:visited{
  color:#f2c766!important;
}
a.ref-title.signoff:link,
a.ref-title.signoff:visited{
  color:#f2a900!important;
}
a.ref-title.light-blue:link,
a.ref-title.light-blue:visited{
  color:#a8d8f0!important;
}
a.ref-title.blue:link,
a.ref-title.blue:visited{
  color:#8fcdf0!important;
}
a.ref-title.green:link,
a.ref-title.green:visited{
  color:#7bd891!important;
}
a.ref-title.red:link,
a.ref-title.red:visited{
  color:#f3a89f!important;
}
a.ref-title.purple:link,
a.ref-title.purple:visited{
  color:#c8bdf2!important;
}
a.ref-title.teal:link,
a.ref-title.teal:visited{
  color:#8bd8d2!important;
}
a.ref-title.neutral:link,
a.ref-title.neutral:visited{
  color:#c8c9ca!important;
}


/* ============================================================
   v18 - Controlled Product setup in Settings
   ============================================================ */
.settings-product-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  gap:8px;
  align-items:center;
  margin-bottom:11px;
}
.settings-filter-row{display:flex;gap:5px;flex-wrap:wrap}
.settings-filter{
  min-height:34px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--sub);
  font-size:9.5px;
  font-weight:800;
}
.settings-filter:hover{color:#fff;border-color:#535b58}
.settings-filter.active{background:#26391d;border-color:#6f9846;color:#b9e386}
.settings-product-sizes{
  margin-bottom:11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
}
.settings-product-sizes>summary{
  list-style:none;
  cursor:pointer;
  min-height:42px;
  padding:0 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:10px;
  font-weight:850;
}
.settings-product-sizes>summary::-webkit-details-marker{display:none}
.settings-product-sizes-body{border-top:1px solid var(--line);padding:11px 12px}
.settings-size-chips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.settings-size-chips>span{padding:4px 7px;border:1px solid #3b4540;border-radius:999px;background:#19201b;color:#c8e6aa;font-size:9px;font-weight:750}
.settings-size-chips>.settings-empty-chip{color:var(--sub);background:transparent;border-style:dashed}
.settings-product-card{padding:10px 12px!important}
.settings-product-control-card{margin-bottom:9px!important;padding:12px 13px!important}
.settings-product-active{margin-top:10px!important}
.settings-product-control-card .actions{justify-content:flex-end;margin-top:10px}
.settings-inactive-note{margin-bottom:9px}
.back-link{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin:0 0 9px;
  color:#aeb4ae!important;
  font-size:9.5px;
  font-weight:800;
  text-decoration:none!important;
}
.back-link:hover{color:#fff!important}
.settings-product-quality{
  margin-bottom:9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
}
.settings-product-quality>summary{
  list-style:none;
  cursor:pointer;
  min-height:42px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:10px;
  font-weight:850;
}
.settings-product-quality>summary::-webkit-details-marker{display:none}
.settings-product-quality-body{border-top:1px solid var(--line);padding:12px 13px}
.settings-quality-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.settings-quality-rule-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}
.settings-quality-rule-grid .yn-row{margin-bottom:7px}
.settings-quality-rule-section{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.settings-rule-title{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:#aeb4ae}
.settings-trace-list{margin-top:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:240px;overflow:auto}
.settings-trace-list .trace-choice{padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:#171b1a;font-size:9.5px}
.settings-trace-list .trace-choice.hidden{display:none}
.settings-quality-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px}
.settings-quality-extra-grid textarea{min-height:96px}
.settings-version-list{display:flex;flex-direction:column;gap:6px}
.settings-version-row{
  min-height:47px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#171a1a;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.settings-version-title{font-size:10px;font-weight:850;color:#eef0ec}
.settings-version-meta{margin-top:2px;font-size:8.4px;color:#8e958f}
.settings-version-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.settings-version-status-row{display:flex;justify-content:flex-end;margin:-4px 0 8px}
.settings-sub-heading{margin-top:13px!important;margin-bottom:7px!important}
.settings-formula-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:10px 0 4px}
.settings-formula-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 7px}
.settings-formula-line{padding:8px 0;border-bottom:1px solid #303536}
.settings-formula-line:last-child{border-bottom:0}
.settings-formula-grid{display:grid;grid-template-columns:minmax(210px,1.5fr) 90px 75px 125px 102px;gap:7px;align-items:end}
.settings-formula-row-actions{display:flex;gap:4px;align-items:end;padding-bottom:1px}
.tiny-btn{min-width:30px!important;min-height:34px!important;padding:5px 7px!important;border-radius:7px!important}
.settings-formula-note{margin-top:6px}
.settings-formula-component{display:grid;grid-template-columns:minmax(0,1fr) 150px 36px;gap:7px;align-items:end;padding:7px 0;border-bottom:1px solid #303536}
.settings-formula-component:last-child{border-bottom:0}
.formula-total{margin-top:10px;padding:9px 10px;border:1px solid #41493d;border-radius:8px;background:#171d18;display:flex;justify-content:space-between;gap:15px;align-items:center}
.formula-total-label{font-size:9.5px;font-weight:850;color:#d9e8cc;text-transform:uppercase}
.formula-total-help{font-size:8.3px;color:#8e958f;margin-top:2px}
.formula-total-value{font-size:13px;font-weight:900;color:var(--brand-green-strong);white-space:nowrap}
.settings-formula-files{margin-bottom:9px}
.state-tag.inactive{background:var(--redDim);color:#e59b94}

@media(max-width:900px){
  .settings-product-toolbar{grid-template-columns:1fr}
  .settings-quality-rule-grid,.settings-quality-rule-grid.compact,.settings-quality-extra-grid{grid-template-columns:1fr 1fr;max-width:none}
  .settings-formula-grid{grid-template-columns:minmax(160px,1.3fr) 78px 70px 110px 96px}
}
@media(max-width:700px){
  .settings-quality-rule-grid,.settings-quality-rule-grid.compact,.settings-quality-extra-grid,.settings-trace-list{grid-template-columns:1fr}
  .settings-version-row{align-items:flex-start;flex-direction:column}
  .settings-version-actions{width:100%;justify-content:flex-end}
  .settings-formula-grid{grid-template-columns:1fr 78px 70px}
  .settings-formula-grid>.field:nth-child(4){grid-column:1/3}
  .settings-formula-row-actions{grid-column:3;grid-row:2}
  .settings-formula-component{grid-template-columns:1fr 120px 36px}
}
@media(max-width:520px){
  .settings-filter-row{display:grid;grid-template-columns:1fr 1fr}
  .settings-filter{width:100%}
  .settings-formula-grid{grid-template-columns:1fr 72px}
  .settings-formula-grid>.field:nth-child(3){grid-column:1}
  .settings-formula-grid>.field:nth-child(4){grid-column:1/3}
  .settings-formula-row-actions{grid-column:1/3;grid-row:auto;justify-content:flex-end}
  .settings-formula-component{grid-template-columns:1fr 36px}
  .settings-formula-component>.field:nth-child(2){grid-column:1}
  .settings-formula-component>.tiny-btn{grid-column:2;grid-row:1/3}
}


/* ============================================================
   v19 - Settings consolidation / Customer Jobs & Files / Xero-ready
   ============================================================ */

/* Liquid sizes are a minor setting, not a feature card. */
.settings-liquid-sizes-compact{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:7px 10px;
  margin-bottom:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#171b1b;
}
.settings-liquid-sizes-compact>div{min-width:0}
.settings-liquid-sizes-compact strong{
  display:inline;
  color:#fff;
  font-size:9.5px;
  margin-right:8px;
}
.settings-liquid-sizes-compact span{
  color:var(--sub);
  font-size:9px;
  line-height:1.25;
}
.settings-liquid-sizes-compact .small-btn{
  min-height:28px!important;
  padding:4px 9px!important;
  flex:0 0 auto;
}

/* Data Health */
.settings-health{
  margin:0 0 12px!important;
  overflow:hidden;
}
.settings-health>summary{
  min-height:38px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  list-style:none;
  font-size:10px;
  font-weight:850;
}
.settings-health>summary::-webkit-details-marker{display:none}
.settings-health-grid{
  border-top:1px solid var(--line);
  padding:8px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.settings-health-item{
  min-height:54px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-decoration:none!important;
}
.settings-health-item span{font-size:8.8px;line-height:1.3;color:var(--sub)}
.settings-health-item strong{font-size:15px;color:#fff}
.settings-health-item.warning{border-color:#735f2f;background:#211e16}
.settings-health-item.warning strong{color:#f0c95e}
.settings-health-item.good strong{color:#81d891}
.settings-filter-notice{
  margin-bottom:9px;
  padding:8px 10px;
  border:1px solid #6a5b31;
  border-radius:8px;
  background:#211e16;
  color:#c9c0a7;
  font-size:9px;
}
.settings-filter-notice a{float:right;color:#aadb72!important;font-weight:800}

/* People access profile */
.settings-access-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.settings-access-signoff{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:8px;
}

/* Customer Product links */
.settings-product-access-link{
  display:block;
  color:#fff!important;
  font-size:9.8px;
  font-weight:800;
  text-decoration:none!important;
}
.settings-product-access-link:hover{text-decoration:underline!important;text-underline-offset:2px}

/* Customer record now acts as Customer -> Job -> Files. */
.customer-job-row{cursor:default!important}
.customer-job-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}
.customer-job-files-head{
  padding:11px 13px!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.customer-job-files-head>div{min-width:0}
.customer-job-files-head strong{display:block;color:#fff;font-size:13px}
.customer-job-files-head span{display:block;margin-top:2px;color:var(--sub);font-size:9px}
.customer-job-file-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.customer-job-file-groups .detail-heading .count{margin-left:5px;color:var(--sub);font-size:8px}
.customer-job-file-list{display:flex;flex-direction:column;gap:5px}
.customer-job-file{
  width:100%;
  min-height:42px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-decoration:none;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
}
.customer-job-file:hover{border-color:#56605c;background:#202525}
.customer-job-file span{font-size:9.3px;font-weight:800}
.customer-job-file small{margin-top:2px;color:var(--sub);font-size:7.8px}
.customer-product-chip.app-native-link{text-decoration:none!important;cursor:pointer}
.customer-product-chip.app-native-link:hover{border-color:var(--brand-green)!important;color:#c8ef9f!important}

/* Materials / Supplier health */
.settings-missing-suppliers{
  margin-bottom:10px;
  padding:10px 12px!important;
}
.settings-missing-supplier-chip{
  border:1px solid #6a5b31;
  border-radius:999px;
  background:#211e16;
  color:#f0c95e;
  padding:5px 9px;
  font-size:8.5px;
  font-weight:800;
  cursor:pointer;
}
.settings-missing-supplier-chip:hover{border-color:#9b8240}
.settings-inline-checks{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
}
.settings-inline-checks.stacked{flex-direction:column;gap:5px}

/* Xero/system settings */
.settings-system-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.settings-system-grid>section:last-child{grid-column:1 / -1}
.settings-xero-flow{
  margin:10px 0;
  padding:9px 10px;
  border:1px solid #3c5240;
  border-radius:8px;
  background:#172119;
  color:#c9e8ad;
  font-size:9px;
  font-weight:800;
  text-align:center;
}
.settings-xero-flow span{color:var(--brand-green);padding:0 5px}

@media(max-width:900px){
  .settings-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-system-grid{grid-template-columns:1fr}
  .settings-system-grid>section:last-child{grid-column:auto}
  .customer-job-file-groups{grid-template-columns:1fr}
}
@media(max-width:640px){
  .settings-liquid-sizes-compact{align-items:flex-start}
  .settings-liquid-sizes-compact strong,
  .settings-liquid-sizes-compact span{display:block;margin:0}
  .settings-liquid-sizes-compact span{margin-top:2px}
  .settings-health-grid{grid-template-columns:1fr}
  .settings-access-grid{grid-template-columns:1fr 1fr}
  .customer-job-files-head{align-items:flex-start;flex-direction:column}
  .customer-job-row-actions{justify-content:flex-start}
}

/* ============================================================
   Settings v20 - unified typography, spacing and line editors
   Brings the Product + Quality Settings pages back into the
   universal app scale and makes one-item-per-line fields obvious.
   ============================================================ */

/* Settings should use the same small, clear type hierarchy as the rest of QMS. */
.settings-page-body,
.settings-product-control-card,
.settings-product-quality,
.settings-quality-grid{
  font-size:10px;
}
.settings-product-control-card .field,
.settings-product-quality .field,
.settings-quality-grid .field{
  margin-bottom:11px!important;
}
.settings-product-control-card .input,
.settings-product-control-card .select,
.settings-product-control-card .textarea,
.settings-product-quality .input,
.settings-product-quality .select,
.settings-product-quality .textarea,
.settings-quality-grid .input,
.settings-quality-grid .select,
.settings-quality-grid .textarea{
  font-size:9.5px!important;
}
.settings-product-control-card .yn-row,
.settings-product-quality .yn-row{
  font-size:9px!important;
  line-height:1.35!important;
}
.field-help{
  margin-top:4px;
  color:var(--ui-muted);
  font-size:7.7px;
  line-height:1.4;
}

/* Product Quality summary: informative, not visually louder than the form. */
.settings-product-quality-body{padding:13px 14px!important}
.settings-product-quality .quality-summary{margin:0 0 9px}
.settings-product-quality .quality-summary-main{
  display:block;
  color:#eef1ec;
  font-size:9.8px;
  font-weight:800;
  line-height:1.4;
}
.settings-product-quality .quality-helper{
  display:block;
  margin-top:2px;
  color:var(--sub);
  font-size:8px;
  font-weight:500;
  line-height:1.4;
}
.settings-product-quality .quality-info{
  margin:0 0 12px;
  padding:8px 10px;
  border:1px solid #34403a;
  border-left:3px solid #536f45;
  border-radius:8px;
  background:#171c18;
}
.settings-product-quality .quality-info-title{
  color:#dce7d4;
  font-size:8.7px;
  font-weight:800;
  line-height:1.35;
}
.settings-product-quality .quality-info-sub{
  margin-top:2px;
  color:#929b94;
  font-size:7.8px;
  line-height:1.4;
}

/* Give the requirement controls enough air to read as separate fields. */
.settings-quality-rule-grid{
  gap:12px!important;
  margin-top:0!important;
}
.settings-quality-rule-grid .yn-row{
  min-height:36px;
  margin-bottom:9px!important;
  padding:8px 10px;
}
.settings-quality-rule-grid>.field,
.settings-quality-rule-grid>div>.field{
  margin-top:0!important;
}
.settings-quality-rule-section{
  margin-top:14px!important;
  padding-top:13px!important;
  gap:9px!important;
}

/* Separate product actions from the form instead of crowding the last field. */
.settings-product-control-card>.actions{
  margin-top:14px!important;
  padding-top:12px;
  border-top:1px solid var(--line);
  gap:7px;
}
.settings-product-active{margin-top:12px!important}
.settings-product-active + .help{margin-bottom:2px!important}

/* Clear section marker above extra line-based product rules. */
.settings-list-section-head{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.settings-list-section-head strong{
  display:block;
  color:#d9ddd7;
  font-size:8.8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.settings-list-section-head span{
  display:block;
  margin-top:3px;
  color:var(--sub);
  font-size:7.8px;
  line-height:1.4;
}
.settings-quality-extra-grid{
  gap:12px!important;
  margin-top:9px!important;
}

/* The hint stays quiet but makes the data structure explicit. */
.settings-line-hint{
  margin-left:5px;
  color:#737c75;
  font-size:7.2px;
  font-weight:650;
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}

/* Ruled textareas: every visible row is clearly a separate saved item. */
textarea.settings-line-editor{
  min-height:118px!important;
  padding:5px 10px!important;
  font-size:9px!important;
  line-height:22px!important;
  background-color:#111516!important;
  background-image:repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 21px,
    rgba(255,255,255,.055) 21px,
    rgba(255,255,255,.055) 22px
  )!important;
  background-attachment:local!important;
  resize:vertical;
}
textarea.settings-line-editor:focus{
  background-color:#131817!important;
}

/* Quality Defaults: same card rhythm as every other Settings section. */
.settings-quality-grid{gap:10px!important}
.settings-quality-grid>.detail-card{
  padding:13px 14px!important;
}
.settings-quality-grid>.detail-card>.detail-heading{
  margin-bottom:10px!important;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.settings-quality-grid .settings-list-textarea{
  min-height:118px!important;
}
.settings-quality-save{
  margin-top:14px!important;
  padding-top:12px;
  border-top:1px solid var(--line);
}

@media(max-width:700px){
  .settings-product-quality-body{padding:12px!important}
  .settings-line-hint{display:block;margin:2px 0 0}
  textarea.settings-line-editor{min-height:110px!important}
}


/* ============================================================
   Settings v21 - compact lists + clearer action separation
   Sections retain breathing room; repeated master lists are
   deliberately compact so Settings scans like an admin console.
   ============================================================ */

/* Master lists: Customers, People, Raw Materials and Suppliers. */
.settings-page-body .settings-list{
  gap:4px!important;
}

.settings-page-body .settings-master-row{
  min-height:42px!important;
  padding:6px 9px!important;
  gap:8px!important;
  border-radius:8px!important;
}

.settings-page-body .settings-master-row .settings-name,
.settings-page-body .settings-master-row .settings-customer-name{
  font-size:10.2px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

.settings-page-body .settings-master-row .settings-sub{
  margin-top:2px!important;
  font-size:8.1px!important;
  line-height:1.25!important;
}

.settings-page-body .settings-master-actions{
  gap:5px!important;
}

.settings-page-body .settings-master-row .small-btn{
  min-height:25px!important;
  padding:4px 7px!important;
  border-radius:7px!important;
  font-size:8.3px!important;
}

.settings-page-body .settings-master-row .state-tag,
.settings-page-body .settings-master-row .pill{
  padding:2px 6px!important;
  font-size:7.8px!important;
}

/* Product master list: same compact rhythm as Customers. */
.settings-product-list{
  gap:4px!important;
}

.settings-product-card{
  min-height:45px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
}

.settings-product-card .management-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-width:0!important;
}

.settings-product-card .management-row>div:first-child{
  min-width:0!important;
  flex:1 1 auto!important;
}

.settings-product-card .management-name{
  font-size:10.4px!important;
  line-height:1.2!important;
}

.settings-product-card .management-meta{
  margin-top:2px!important;
  font-size:8.1px!important;
  line-height:1.25!important;
}

.settings-product-card .state-tag{
  flex:0 0 auto!important;
  padding:2px 6px!important;
  font-size:7.7px!important;
}

/* Product detail actions need clear separation from the field they save. */
.settings-product-control-card>.actions{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px solid var(--line)!important;
  gap:7px!important;
}

.settings-product-control-card>.actions .primary,
.settings-product-control-card>.actions .danger,
.settings-product-control-card>.actions .danger-soft,
.settings-product-control-card>.actions .secondary{
  min-height:30px!important;
}

/* Keep sections visually separate even though rows inside them are compact. */
.settings-page-body .settings-section-head{
  margin-bottom:9px!important;
}

.settings-page-body .settings-toolbar,
.settings-page-body .settings-product-toolbar{
  margin-bottom:9px!important;
}

@media(max-width:700px){
  .settings-page-body .settings-master-row{
    min-height:44px!important;
    padding:7px 8px!important;
  }
  .settings-product-card{
    min-height:46px!important;
    padding:8px 9px!important;
  }
}


/* ============================================================
   Settings v22 — use the desktop width properly.
   Customers use two columns; Products use 3/2/1 columns.
   ============================================================ */
.settings-customer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.settings-customer-card{
  min-width:0;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel2);
  color:var(--text);
  text-decoration:none;
}
.settings-customer-card:hover{border-color:#53604f;background:#1c2121}
.settings-customer-card-main{min-width:0;flex:1 1 auto}
.settings-customer-card .settings-name{font-size:10.8px;line-height:1.2}
.settings-customer-card .settings-sub{margin-top:2px;font-size:8.2px;line-height:1.25}
.settings-customer-override-meta{margin-top:3px;font-size:7.9px;color:#8f978f;line-height:1.2}
.settings-customer-card-side{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.settings-open-label{font-size:8px;color:var(--brand-green);font-weight:850}

.settings-product-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px!important;
}
.settings-product-card{
  min-width:0;
  min-height:62px!important;
  height:auto;
  padding:9px 10px!important;
  display:flex!important;
  align-items:center;
}
.settings-product-card .management-row{width:100%}
.settings-product-card .management-name{font-size:10.6px!important}
.settings-product-card .management-meta{font-size:8px!important;line-height:1.3!important}

/* Product Details — this is a true action footer, not another tight row. */
.settings-product-details-actions{
  margin-top:20px!important;
  padding-top:14px!important;
  border-top:1px solid var(--line)!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
}
.settings-product-details-actions .primary{margin-left:auto}

/* Full customer setup page. */
.settings-customer-detail-card{margin-top:12px}
.settings-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.settings-card-helper{font-size:8.7px;color:var(--sub);line-height:1.4;margin-top:2px;max-width:720px}
.settings-readonly-value{min-height:36px;display:flex;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:#bfc5be;font-size:9.5px}
.settings-customer-active{margin-top:12px}
.settings-detail-action-footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.settings-detail-action-footer .primary{margin-left:auto}
.settings-customer-search{margin-bottom:9px}
.settings-customer-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:410px;overflow:auto;padding-right:3px}
.settings-customer-access-card{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);cursor:pointer;min-width:0}
.settings-customer-access-card:hover{border-color:#505a50}
.settings-customer-access-card input{margin:2px 0 0;accent-color:var(--brand-green);flex:0 0 auto}
.settings-customer-access-card span{min-width:0}
.settings-customer-access-card strong{display:block;font-size:9.3px;line-height:1.25;overflow-wrap:anywhere}
.settings-customer-access-card small{display:block;font-size:7.8px;color:var(--sub);margin-top:2px}
.settings-inline-save-footer{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:9px}
.settings-customer-override-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.settings-customer-override-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);min-width:0}
.settings-customer-override-copy{min-width:0;flex:1 1 auto}
.settings-customer-override-copy strong{display:block;font-size:9.8px;line-height:1.25;overflow-wrap:anywhere}
.settings-customer-override-copy small{display:block;font-size:7.9px;color:var(--sub);line-height:1.3;margin-top:2px}
.settings-customer-override-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}

/* Customer override editor. */
.customer-override-intro{padding:9px 10px;border:1px solid #465d30;background:#1d2619;border-radius:9px;margin-bottom:10px}
.customer-override-intro strong{display:block;font-size:10.5px;color:#f0f3ed}
.customer-override-intro span{display:block;font-size:8.5px;color:#aab2a6;line-height:1.4;margin-top:3px}
.customer-override-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.customer-override-block{border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:9px;min-width:0}
.customer-override-toggle{display:flex;align-items:flex-start;gap:7px;cursor:pointer}
.customer-override-toggle input{margin:2px 0 0;accent-color:var(--brand-green);flex:0 0 auto}
.customer-override-toggle strong{display:block;font-size:9.2px;line-height:1.25}
.customer-override-toggle small{display:block;font-size:7.8px;color:var(--sub);line-height:1.3;margin-top:2px;font-weight:500}
.customer-override-fields{margin-top:8px;padding-top:8px;border-top:1px solid #303536}
.customer-override-fields.disabled{opacity:.38;pointer-events:none}
.customer-override-fields .field{margin-top:0}
.customer-override-fields .form-grid{gap:7px}
.customer-override-fields .settings-trace-list{max-height:150px}

@media(max-width:1100px){
  .settings-product-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-customer-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .settings-customer-grid{grid-template-columns:1fr}
  .settings-customer-override-grid{grid-template-columns:1fr}
  .customer-override-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .settings-product-list{grid-template-columns:1fr}
  .settings-customer-access-grid{grid-template-columns:1fr}
  .settings-card-heading{flex-direction:column}
  .settings-customer-override-card{align-items:flex-start;flex-direction:column}
  .settings-customer-override-actions{width:100%;justify-content:flex-end}
  .settings-detail-action-footer{flex-wrap:wrap}
}

/* ============================================================
   Settings v23 — unified Customer workspace.
   Customer details stay visible; Products, customer documents
   and Jobs live underneath as remembered collapsible sections.
   ============================================================ */
.settings-customer-main-card{margin-bottom:10px}
.settings-customer-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}
.settings-customer-summary{
  min-width:0;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
}
.settings-customer-summary strong{display:block;font-size:15px;line-height:1;font-weight:900;color:#fff}
.settings-customer-summary span{display:block;margin-top:4px;font-size:7.8px;line-height:1.2;color:var(--sub);font-weight:800;text-transform:uppercase;letter-spacing:.035em}

.settings-customer-collapsible{
  margin:9px 0 0!important;
  overflow:hidden;
  border-radius:10px!important;
  background:var(--panel)!important;
}
.settings-customer-collapsible>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px!important;
  cursor:pointer;
  background:transparent;
}
.settings-customer-collapsible>summary::-webkit-details-marker{display:none}
.settings-customer-collapsible>summary>div{min-width:0;flex:1 1 auto}
.settings-customer-collapsible>summary strong{display:block;font-size:10.5px;line-height:1.2;color:#f2f4ef}
.settings-customer-collapsible>summary small{display:block;margin-top:3px;font-size:8.2px;line-height:1.35;color:var(--sub);font-weight:500}
.settings-customer-collapsible>summary:after{content:'⌄';flex:0 0 auto;color:#8e958e;font-size:13px;font-weight:900;margin-left:2px}
.settings-customer-collapsible[open]>summary:after{content:'⌃'}
.settings-customer-collapsible[open]>summary{border-bottom:1px solid var(--line)}
.settings-customer-collapsible-body{padding:11px 12px 12px}

.settings-customer-product-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.settings-customer-product-toolbar .input{max-width:440px}
.settings-customer-product-toolbar .save-state{margin:0;min-width:60px}
.settings-customer-product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.settings-customer-product-card{
  min-width:0;
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  align-items:stretch;
  border:1px solid var(--line);
  border-radius:9px;
  overflow:hidden;
  background:var(--panel2);
}
.settings-customer-product-card.enabled{border-color:#465340}
.settings-customer-product-card.disabled{opacity:.62}
.settings-customer-product-check{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:7px 5px;
  border-right:1px solid var(--line);
  background:#131617;
  cursor:pointer;
}
.settings-customer-product-check input{margin:0;width:15px;height:15px;accent-color:var(--brand-green)}
.settings-customer-product-check span{font-size:7.2px;color:var(--sub);font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.settings-customer-product-open{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  padding:8px 9px;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;
}
.settings-customer-product-open:not(:disabled):hover{background:#202522}
.settings-customer-product-open:disabled{cursor:default;opacity:.55}
.settings-customer-product-copy{min-width:0;flex:1 1 auto}
.settings-customer-product-copy strong{display:block;font-size:9.6px;line-height:1.25;overflow-wrap:anywhere}
.settings-customer-product-copy small{display:block;margin-top:2px;font-size:7.8px;line-height:1.3;color:var(--sub)}
.settings-customer-product-status{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.settings-customer-product-arrow{font-size:15px;line-height:1;color:#8fa586;font-weight:900}
.settings-customer-product-note{margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:8.3px;line-height:1.4;color:var(--sub)}
.settings-customer-product-note strong{color:#c9d0c7}

.settings-customer-files-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.settings-customer-files-head .settings-help-block{margin:0;max-width:760px}
.settings-customer-document-list{display:flex;flex-direction:column;gap:5px}
.settings-customer-document-row{display:flex;align-items:stretch;gap:5px}
.settings-customer-document-open{
  min-width:0;
  flex:1 1 auto;
  display:block;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--text);
  text-decoration:none;
  text-align:left;
}
button.settings-customer-document-open{cursor:pointer}
.settings-customer-document-open:hover{border-color:#53604f;background:#1d2220}
.settings-customer-document-open strong{display:block;font-size:9.4px;line-height:1.25;overflow-wrap:anywhere}
.settings-customer-document-open small{display:block;margin-top:2px;font-size:7.8px;line-height:1.3;color:var(--sub)}
.settings-customer-document-row>.production-file-remove{align-self:stretch;height:auto;min-height:34px}

.settings-customer-job-list{display:flex;flex-direction:column;gap:6px}
.settings-customer-job{
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--panel2)!important;
  overflow:hidden;
}
.settings-customer-job>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px!important;
  cursor:pointer;
}
.settings-customer-job>summary::-webkit-details-marker{display:none}
.settings-customer-job>summary:after{content:'⌄';color:#858b85;font-size:12px;font-weight:900;flex:0 0 auto}
.settings-customer-job[open]>summary:after{content:'⌃'}
.settings-customer-job[open]>summary{border-bottom:1px solid var(--line)}
.settings-customer-job-copy{min-width:0;flex:1 1 auto}
.settings-customer-job-copy strong{display:block;font-size:9.8px;line-height:1.25;color:#fff}
.settings-customer-job-copy small{display:block;margin-top:2px;font-size:7.9px;line-height:1.3;color:var(--sub);overflow-wrap:anywhere}
.settings-customer-job-status{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.settings-customer-job-body{padding:9px 10px 10px}
.settings-customer-job-actions{display:flex;justify-content:flex-end;margin-bottom:8px}
.settings-customer-job-file-group{min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:#151819}
.settings-customer-job-file-group .detail-heading{margin-bottom:5px}
.settings-customer-job-file-group .count{color:var(--sub);font-size:7.5px}

/* Give action footers a clearly separate visual zone everywhere. */
.settings-product-details-actions,
.settings-detail-action-footer{
  margin-top:22px!important;
  padding-top:15px!important;
}

@media(max-width:950px){
  .settings-customer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .settings-customer-product-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .settings-customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-customer-collapsible>summary{align-items:flex-start;flex-wrap:wrap}
  .settings-customer-collapsible>summary .state-tag{margin-left:auto}
  .settings-customer-product-toolbar{align-items:stretch;flex-direction:column}
  .settings-customer-product-toolbar .input{max-width:none}
  .settings-customer-files-head{align-items:stretch;flex-direction:column}
  .settings-customer-job>summary{align-items:flex-start;flex-wrap:wrap}
  .settings-customer-job-status{width:100%;justify-content:flex-start}
}
@media(max-width:430px){
  .settings-customer-summary-grid{grid-template-columns:1fr 1fr}
  .settings-customer-product-card{grid-template-columns:58px minmax(0,1fr)}
  .settings-customer-product-status .state-tag{display:none}
}

/* ============================================================
   Settings v24 — simplified workspace
   Common work stays visible; exceptions/history collapse away.
   ============================================================ */

.settings-product-toolbar-v24{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto auto auto;
  align-items:center;
  gap:8px!important;
}
.settings-compact-toggle{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--sub);
  font-size:8.6px;
  font-weight:800;
  white-space:nowrap;
}
.settings-compact-toggle input{accent-color:var(--brand-green);margin:0}

.settings-inline-details{
  margin-top:12px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--panel2)!important;
}
.settings-inline-details>summary{
  list-style:none;
  padding:8px 10px!important;
  font-size:8.8px!important;
  color:var(--sub)!important;
  font-weight:850!important;
}
.settings-inline-details>summary::-webkit-details-marker{display:none}
.settings-inline-details>summary:after{content:'⌄';float:right}
.settings-inline-details[open]>summary:after{content:'⌃'}
.settings-inline-details-body{padding:0 10px 10px}

/* Customer access from Product — same source of truth as Customer → Product Access. */
.settings-product-customer-access,
.settings-product-versions-v24{
  margin:10px 0 0!important;
  overflow:hidden;
  border-radius:10px!important;
  background:var(--panel)!important;
}
.settings-product-customer-access>summary,
.settings-product-versions-v24>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px!important;
  font-size:10.5px!important;
  font-weight:850!important;
}
.settings-product-customer-access>summary::-webkit-details-marker,
.settings-product-versions-v24>summary::-webkit-details-marker{display:none}
.settings-product-customer-access>summary:after,
.settings-product-versions-v24>summary:after{content:'⌄';color:var(--sub);font-size:13px;margin-left:4px}
.settings-product-customer-access[open]>summary:after,
.settings-product-versions-v24[open]>summary:after{content:'⌃'}
.settings-product-customer-access[open]>summary,
.settings-product-versions-v24[open]>summary{border-bottom:1px solid var(--line)}
.settings-product-customer-body,
.settings-product-versions-body-v24{padding:11px 12px 12px}
.settings-product-customer-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.settings-product-customer-toolbar .input{max-width:440px}
.settings-product-customer-toolbar .save-state{margin:0}
.settings-product-customer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  max-height:420px;
  overflow:auto;
  padding-right:2px;
}
.settings-product-customer-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
}
.settings-product-customer-check{min-width:0;display:flex;align-items:center;gap:7px;cursor:pointer}
.settings-product-customer-check input{margin:0;accent-color:var(--brand-green);flex:0 0 auto}
.settings-product-customer-check span{min-width:0;font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-product-customer-open{font-size:7.8px;font-weight:850;color:var(--brand-green);text-decoration:none;white-space:nowrap}
.settings-product-customer-open.disabled{color:#646a64;pointer-events:none}
.settings-product-customer-note{margin:9px 0 0!important;padding-top:8px;border-top:1px solid var(--line)}

/* One Product save action instead of three separate save areas. */
.settings-product-savebar{
  margin-top:10px;
  padding:13px 14px;
  border-color:#465d30!important;
  background:#192019!important;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.settings-product-savebar>div:first-child strong{display:block;font-size:10.5px;color:#f0f3ed}
.settings-product-savebar>div:first-child span{display:block;margin-top:3px;font-size:8.2px;color:#a3aba1;line-height:1.35}
.settings-product-savebar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.settings-product-savebar .save-state{margin:0;min-width:46px;text-align:right}
.settings-product-savebar>.error{grid-column:1/-1;margin:0}
.settings-quiet-actions{margin-top:11px;padding-top:9px;border-top:1px solid var(--line);display:flex;justify-content:flex-start}

/* Quality Defaults — explicit ordered rows. */
.settings-quality-checks-v24{margin-bottom:10px}
.settings-quality-ordered-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.settings-ordered-title{
  margin-bottom:6px;
  font-size:8.8px;
  line-height:1.25;
  font-weight:900;
  color:#dfe3dd;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.settings-ordered-title span{display:block;margin-top:2px;font-size:7.6px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--sub)}
.settings-ordered-editor{min-width:0}
.settings-ordered-list{display:flex;flex-direction:column;gap:4px}
.settings-ordered-row{
  min-width:0;
  display:grid;
  grid-template-columns:22px auto minmax(0,1fr) auto;
  align-items:center;
  gap:5px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#121617;
}
.settings-ordered-row.dragging{opacity:.45;border-color:var(--brand-green)}
.settings-order-drag{cursor:grab;text-align:center;color:#737a73;font-size:12px;user-select:none}
.settings-order-default{display:flex;align-items:center;gap:4px;padding:0 4px;white-space:nowrap;color:var(--sub);font-size:7.2px;font-weight:800}
.settings-order-default input{margin:0;accent-color:var(--brand-green)}
.settings-order-input{min-width:0!important;height:30px!important;padding:6px 7px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:8.6px!important}
.settings-order-input:focus{background:#191d1e!important}
.settings-order-actions{display:flex;align-items:center;gap:3px}
.settings-order-actions button{
  width:26px;height:26px;padding:0;
  border:1px solid #34393a;border-radius:6px;
  background:#191d1e;color:#9fa59f;
  font-size:10px;font-weight:900;
}
.settings-order-actions button:hover{border-color:#59615b;color:#fff}
.settings-order-actions [data-order-remove]:hover{border-color:#7a3732;color:#f3a89f}
.settings-order-add{margin-top:6px!important}

.settings-quality-type-grid-v24{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.settings-quality-type-v24{margin:0!important;overflow:hidden;background:var(--panel)!important}
.settings-quality-type-v24>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px!important;
}
.settings-quality-type-v24>summary::-webkit-details-marker{display:none}
.settings-quality-type-v24>summary>div{min-width:0;flex:1}
.settings-quality-type-v24>summary strong{display:block;font-size:10px}
.settings-quality-type-v24>summary small{display:block;margin-top:2px;font-size:7.8px;color:var(--sub);font-weight:500}
.settings-quality-type-v24>summary:after{content:'⌄';color:var(--sub);font-size:13px}
.settings-quality-type-v24[open]>summary:after{content:'⌃'}
.settings-quality-type-v24[open]>summary{border-bottom:1px solid var(--line)}
.settings-quality-type-body-v24{display:grid;grid-template-columns:1fr;gap:12px;padding:11px 12px 12px}

/* Formula history is collapsed unless a draft is actively being worked on. */
.settings-product-versions-v24 .settings-version-list{margin-bottom:8px}
.settings-product-versions-v24 .actions{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}

@media(max-width:1050px){
  .settings-quality-ordered-grid{grid-template-columns:1fr}
  .settings-product-customer-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
  .settings-product-toolbar-v24{grid-template-columns:1fr auto auto}
  .settings-product-toolbar-v24 #settingsProductSearch{grid-column:1/-1}
  .settings-quality-type-grid-v24{grid-template-columns:1fr}
}
@media(max-width:700px){
  .settings-product-toolbar-v24{grid-template-columns:1fr 1fr}
  .settings-product-toolbar-v24 #settingsProductSearch{grid-column:1/-1}
  .settings-product-toolbar-v24 #settingsAddProduct{grid-column:1/-1}
  .settings-product-savebar{grid-template-columns:1fr}
  .settings-product-savebar-actions{justify-content:space-between;flex-wrap:wrap}
  .settings-product-savebar .save-state{margin-left:auto}
  .settings-ordered-row{grid-template-columns:18px minmax(0,1fr) auto}
  .settings-order-default{grid-column:2/3;grid-row:2;padding:0 6px 3px}
  .settings-order-input{grid-column:2/3;grid-row:1}
  .settings-order-actions{grid-column:3/4;grid-row:1/3}
}


/* ============================================================
   SDS & Chemicals v25
   ============================================================ */
.sds-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.sds-stat{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);text-align:left}.sds-stat strong{font-size:19px;font-weight:900}.sds-stat span{font-size:9px;color:var(--sub);font-weight:800}.sds-stat.current{border-color:#315e3a;background:var(--greenDim)}.sds-stat.expiring{border-color:#806130;background:#312617}.sds-stat.expired,.sds-stat.missing{border-color:#7c3d38;background:#321c1a}.sds-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}.sds-search{display:flex;gap:6px;flex:1 1 420px}.sds-search .input{flex:1}.sds-toolbar>.secondary,.sds-toolbar>.primary{min-height:36px}.sds-toolbar #sdsNeedsAttention.active{border-color:#806130;background:#312617;color:#efc06b}.sds-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start}.sds-material-card{padding:11px;min-width:0}.sds-material-card.inactive{opacity:.68}.sds-material-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.sds-material-name{font-size:12px;font-weight:900;line-height:1.25}.sds-material-meta{font-size:8.7px;color:var(--sub);line-height:1.35;margin-top:3px}.sds-entry-list{display:flex;flex-direction:column;gap:5px;padding-top:7px}.sds-entry{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:7px}.sds-entry.current{border-left:3px solid var(--green)}.sds-entry.expiring{border-left:3px solid var(--amber)}.sds-entry.expired,.sds-entry.missing{border-left:3px solid var(--red)}.sds-entry-main{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;flex:1;border:0;background:transparent;color:var(--text);text-align:left;padding:0}.sds-entry-copy{display:block;min-width:0;flex:1}.sds-entry-copy strong{display:block;font-size:10.2px;font-weight:850;line-height:1.25}.sds-entry-copy small{display:block;font-size:8.2px;color:var(--sub);line-height:1.35;margin-top:2px}.sds-entry-actions{display:flex;gap:5px;flex:0 0 auto}.sds-material-actions{display:flex;justify-content:flex-end;padding-top:7px;margin-top:7px;border-top:1px solid var(--line)}.sds-footnote{margin-top:11px;color:var(--sub);font-size:8.8px;line-height:1.4}.sds-upload-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px dashed #515758;border-radius:10px;background:var(--panel2);min-height:58px}.sds-upload-drop.drag,.sds-upload-drop.selected{border-color:var(--brand-green);background:rgba(139,197,63,.06)}.sds-upload-drop>div{min-width:0}.sds-upload-drop strong{display:block;font-size:10.5px}.sds-upload-drop small{display:block;font-size:8.8px;color:var(--sub);margin-top:3px;overflow-wrap:anywhere}.sds-editor-current{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.sds-editor-current>div{min-width:0}.sds-editor-current span{display:block;font-size:8px;color:var(--sub);text-transform:uppercase;font-weight:850;letter-spacing:.04em}.sds-editor-current strong{display:block;font-size:10.5px;margin-top:2px;overflow-wrap:anywhere}.sds-editor-current small{display:block;font-size:8.5px;color:var(--sub);margin-top:2px}.sds-history{margin-top:10px;background:transparent}.sds-history>summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.sds-history-list{display:flex;flex-direction:column;gap:5px;padding:0 10px 10px}.sds-history-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.sds-history-row>div{min-width:0}.sds-history-row strong{display:block;font-size:9.5px;overflow-wrap:anywhere}.sds-history-row small{display:block;font-size:8px;color:var(--sub);line-height:1.35;margin-top:2px}.ops-sds-attention-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 14px;padding:10px 12px;border:1px solid #806130;border-radius:10px;background:#312617;color:#efc06b;text-decoration:none}.ops-sds-attention-card strong{display:block;font-size:10.5px}.ops-sds-attention-card small{display:block;font-size:8.7px;color:#c8a866;margin-top:2px}.ops-sds-attention-card>span{font-size:9px;font-weight:850;white-space:nowrap}.production-sds-row small{display:block;margin-top:2px}.state-tag.danger{background:var(--redDim);color:#f3a89f}
@media(max-width:900px){.sds-material-grid{grid-template-columns:1fr}}@media(max-width:700px){.sds-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sds-toolbar{align-items:stretch}.sds-search{flex-basis:100%}.sds-toolbar>.secondary,.sds-toolbar>.primary{flex:1}.sds-entry{align-items:flex-start;flex-wrap:wrap}.sds-entry-main{flex:1 1 100%}.sds-entry-actions{margin-left:auto}.sds-upload-drop{align-items:flex-start;flex-direction:column}.sds-upload-drop button{align-self:flex-end}.sds-editor-current{align-items:flex-start;flex-direction:column}.sds-editor-current button{align-self:flex-end}}


/* ============================================================
   v26 — SDS PDF export + management reporting
   ============================================================ */
.sds-export-choice{display:flex;align-items:center;gap:5px;padding-left:3px}.sds-export-choice>span{font-size:8.5px;color:var(--sub);font-weight:800;white-space:nowrap}.sds-export-choice .secondary{padding:7px 9px}
body.worker-mode .nav-btn[data-route="reports"]{display:none!important}

.reports-filter-card{padding:12px 13px;margin-bottom:10px}.reports-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reports-filter-grid .field{margin:0}.reports-filter-actions{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.reports-filter-spacer{flex:1}
.reports-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 11px}.reports-tab{border:1px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:999px;padding:7px 11px;font-size:9.5px;font-weight:850}.reports-tab.active{border-color:var(--brand-green);background:var(--brand-green-dim);color:var(--brand-green-strong)}
.reports-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:10px}.report-stat{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px}.report-stat strong{display:block;font-size:19px;line-height:1;font-weight:900;color:#fff}.report-stat span{display:block;margin-top:4px;font-size:8.8px;color:var(--sub);font-weight:750}
.reports-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:10px}.reports-table{width:100%;border-collapse:collapse;min-width:760px}.reports-table th{padding:8px 9px;text-align:left;background:#151819;color:#929991;border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.reports-table td{padding:8px 9px;border-bottom:1px solid #292e2f;font-size:9.6px;color:#e6e9e3;vertical-align:top}.reports-table tbody tr:last-child td{border-bottom:0}.reports-table.compact{min-width:650px}.reports-table.compact td{padding:7px 8px}.report-click-row{cursor:pointer}.report-click-row:hover td{background:#1f2425}.report-click-row.selected td{background:#1c271a}.report-order-link{font-weight:850;text-decoration:none}.report-order-link:hover{text-decoration:underline}
.report-customer-detail{padding:12px;margin-top:11px}.report-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.report-detail-title{font-size:14px;font-weight:900}.report-detail-sub{font-size:9px;color:var(--sub);margin-top:2px;line-height:1.4}.report-product-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.report-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:8px 9px}.report-breakdown-row strong{display:block;font-size:9.8px}.report-breakdown-row small{display:block;font-size:8px;color:var(--sub);margin-top:2px}.report-breakdown-row>span{font-size:13px;font-weight:900;color:var(--brand-green-strong);white-space:nowrap}.report-history-heading{margin-top:12px}.report-note{font-size:8.8px;line-height:1.45;color:var(--sub);padding:4px 2px 0}
.throughput-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.throughput-row{display:grid;grid-template-columns:95px minmax(0,1fr) 70px;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #292e2f}.throughput-row:last-child{border-bottom:0}.throughput-month{font-size:9.5px;font-weight:850}.throughput-bars{display:flex;flex-direction:column;gap:5px}.throughput-bar-row{display:grid;grid-template-columns:62px minmax(0,1fr) 26px;gap:7px;align-items:center}.throughput-bar-row>span{font-size:8px;color:var(--sub)}.throughput-bar-row>strong{font-size:9px;text-align:right}.throughput-track{height:7px;border-radius:999px;background:#101314;overflow:hidden}.throughput-track i{display:block;height:100%;min-width:2px;border-radius:999px;background:var(--brand-green)}.throughput-bar-row.completed .throughput-track i{background:var(--blue)}.throughput-days{text-align:right;font-size:8.5px;color:var(--sub);font-weight:750}

@media(max-width:900px){.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.sds-export-choice{width:100%;padding:3px 0 0}.sds-export-choice>span{margin-right:auto}.reports-filter-grid{grid-template-columns:1fr 1fr}.reports-filter-actions{flex-wrap:wrap}.reports-filter-spacer{display:none}.reports-filter-actions>*{flex:1}.reports-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-product-breakdown{grid-template-columns:1fr}.throughput-row{grid-template-columns:74px minmax(0,1fr);}.throughput-days{grid-column:2;text-align:left}.reports-tab{flex:1}.reports-tabs{display:grid;grid-template-columns:1fr}}


/* v28 — destructive Manufacturing Batch action is also available from its Quality sign-off record. */
.quality-manufacturing-actions{display:flex;justify-content:flex-end;margin:-2px 0 10px}
.quality-manufacturing-actions .danger-soft{font-size:9px;padding:6px 9px}
@media(max-width:560px){.quality-manufacturing-actions .danger-soft{width:100%;justify-content:center}}


/* Production v29 — make Manufacturing Batch deletion obvious on the Production list */
.batch-list-card{
  display:flex!important;
  align-items:stretch!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.batch-list-open{
  flex:1 1 auto!important;
  min-width:0!important;
  display:block!important;
  padding:10px 11px!important;
  color:var(--text)!important;
  text-decoration:none!important;
}
.batch-list-open:hover{
  background:rgba(255,255,255,.015)!important;
}
.batch-list-delete{
  flex:0 0 auto!important;
  align-self:center!important;
  margin:8px 9px 8px 4px!important;
  min-height:30px!important;
  padding:6px 9px!important;
  border-radius:8px!important;
  font-size:9px!important;
}
@media(max-width:560px){
  .batch-list-card{
    align-items:center!important;
  }
  .batch-list-open{
    padding:9px 8px!important;
  }
  .batch-list-delete{
    margin:7px 7px 7px 2px!important;
    padding:6px 8px!important;
  }
}


/* Production v31 — active Customer Approval is pending, not completed. */
.quality-stage-shell.quality-approval-stage{
  border-color:#315f76!important;
  background:var(--panel)!important;
}
.quality-upload-zone.quality-upload-approval-pending{
  border:1px solid #315f76!important;
  background:#14242d!important;
  box-shadow:inset 3px 0 0 #4f8dac!important;
}
.quality-upload-zone.quality-upload-approval-pending .quality-upload-head strong{color:#9ed3ee!important}
.quality-upload-zone.quality-upload-approval-pending .quality-upload-head small,
.quality-upload-zone.quality-upload-approval-pending .quality-upload-head>span{color:#94b4c4!important}
.quality-upload-zone.quality-upload-approval-pending .quality-file-open{background:#112029!important;border-color:#315f76!important}
.quality-approval-gate{
  border-color:#80652e!important;
  background:#2f2818!important;
}
.quality-approval-gate strong{color:#efc06b!important}
.quality-approval-gate span{color:#c8b47c!important}


/* Production v33 — active Customer Approval stays pending blue until completed. */
.quality-stage-shell.quality-approval-stage{
  border-color:#315f76!important;
  background:var(--panel)!important;
}
.quality-upload-zone.quality-upload-approval,
.quality-upload-zone.quality-upload-approval-pending{
  border:1px solid #315f76!important;
  background:#14242d!important;
  box-shadow:inset 3px 0 0 #4f8dac!important;
}
.quality-upload-zone.quality-upload-approval .quality-upload-head strong,
.quality-upload-zone.quality-upload-approval-pending .quality-upload-head strong{color:#9ed3ee!important}
.quality-upload-zone.quality-upload-approval .quality-upload-head small,
.quality-upload-zone.quality-upload-approval .quality-upload-head>span,
.quality-upload-zone.quality-upload-approval-pending .quality-upload-head small,
.quality-upload-zone.quality-upload-approval-pending .quality-upload-head>span{color:#94b4c4!important}

/* v35 one-time old QMS migration */
.legacy-migration-card{grid-column:1 / -1}
.legacy-migration-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.legacy-migration-actions .quality-save-state{margin-left:auto;min-width:220px;text-align:right}
.legacy-migration-results{border-top:1px solid var(--line);padding-top:10px}
.legacy-migration-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 1px 8px}
.legacy-migration-summary strong{font-size:11px}
.legacy-migration-summary span{font-size:8.8px;color:var(--sub)}
.legacy-migration-list{display:flex;flex-direction:column;gap:6px}
.legacy-migration-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.legacy-migration-main{min-width:0;flex:1}
.legacy-migration-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.legacy-migration-title strong{font-size:10.5px}
.legacy-migration-title>span:not(.state-tag){font-size:9.2px;color:var(--sub)}
.legacy-migration-main small{display:block;margin-top:3px;font-size:8.3px;line-height:1.35;color:var(--sub);overflow-wrap:anywhere}
.legacy-migration-action{flex:0 0 auto}
.legacy-migration-warning{margin-top:5px;padding:5px 7px;border:1px solid #75403a;border-radius:7px;background:var(--redDim);color:#efaaa2;font-size:8.2px;line-height:1.35}
@media(max-width:700px){
  .legacy-migration-actions{align-items:stretch}
  .legacy-migration-actions .quality-save-state{margin-left:0;min-width:0;text-align:left;flex-basis:100%}
  .legacy-migration-row{align-items:flex-start;flex-direction:column}
  .legacy-migration-action{width:100%}
  .legacy-migration-action .small-btn{width:100%}
  .legacy-migration-summary{align-items:flex-start;flex-direction:column;gap:3px}
}


/* v36 — individual login identity + self-signing */
.quality-signer-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025);margin-bottom:10px}
.quality-signer-identity span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.quality-signer-identity strong{font-size:14px}
.quality-signer-identity small{margin-left:auto;color:var(--muted);font-size:12px}
.quality-signer-identity.locked{opacity:.85}.quality-signature-wait{padding:14px;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}
.quality-signature-locked{background:rgba(255,255,255,.015)}
@media(max-width:640px){.quality-signer-identity{align-items:flex-start;flex-direction:column;gap:3px}.quality-signer-identity small{margin-left:0}}


/* v37 · login password reset polish */
.auth-login-help{display:flex;justify-content:flex-end;margin-top:8px}
.auth-link-btn{border:0;background:transparent;color:var(--amber);font:inherit;font-size:10.5px;font-weight:800;padding:6px 2px;cursor:pointer}
.auth-link-btn:hover{text-decoration:underline}
.auth-link-btn:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
.auth-link-btn:disabled{opacity:.55;cursor:wait;text-decoration:none}
.auth-error.auth-success{border-color:#315f45;background:#13271d;color:#9ed7b3}

/* v38 user password setup */
.settings-password-email-btn{margin-top:10px;max-width:100%;}


/* ============================================================
   v39 — access profile is the visible navigation source of truth
   ============================================================ */
.nav-btn[hidden],
#settingsBtn[hidden],
#homeBtn[hidden],
.nav-btn.hidden,
#settingsBtn.hidden,
#homeBtn.hidden{display:none!important}
.header-actions{justify-content:flex-end}
.header-actions #userChip{margin-left:auto}
/* Browser/app refresh is sufficient; no permanent refresh icon in the QMS chrome. */
#refreshBtn{display:none!important}

/* ============================================================
   v41 — force denied navigation items fully out of layout
   The existing nav display rule uses !important with a more specific
   selector, so hidden anchors need an equally/more specific selector.
   ============================================================ */
nav.nav > a.nav-btn[hidden],
nav.nav > a.nav-btn.hidden,
.nav-wrap nav.nav > a.nav-btn[aria-hidden="true"]{
  display:none!important;
}


/* v42 — compact signed-in user chip + personal task flag */
.user-chip-role{display:none!important}
.user-chip-name{display:flex;align-items:center;gap:6px;white-space:nowrap}
.user-chip.has-tasks{border-color:#72591b;cursor:pointer}
.user-chip.has-tasks:hover{border-color:var(--amber)}
.user-chip.has-tasks:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.user-task-flag{display:inline-flex;align-items:center;gap:3px;min-height:18px;padding:1px 5px;border-radius:999px;border:1px solid #72591b;background:var(--amberDim);color:#f1bd62;font-size:8.5px;font-weight:900;line-height:1}
.user-task-flag-icon{font-size:10px;line-height:1}
@media(max-width:560px){.user-chip{display:flex!important}.user-task-flag{min-height:17px;padding:1px 4px}.user-chip-name{font-size:9px}}


/* v43 — plain signed-in name + reliable personal task flag */
.header-actions #userChip,
.user-chip{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:4px 2px!important;
  min-height:0!important;
  box-shadow:none!important;
}
.user-chip.has-tasks{
  border:0!important;
  background:transparent!important;
}
.user-chip-name{
  gap:5px!important;
}
.user-chip.has-tasks .user-chip-name{
  color:#f0c15f!important;
}
.user-task-flag{
  min-width:18px!important;
  min-height:18px!important;
  padding:1px 5px!important;
  border-radius:999px!important;
  border:1px solid #8c6b24!important;
  background:#392d12!important;
  color:#f4c663!important;
}
.user-chip.has-tasks:hover .user-task-flag{
  border-color:#d7a83e!important;
}


/* v44 — cleaner personal task indicator */
.user-chip.has-tasks .user-chip-name{
  color:var(--text)!important;
}
.user-chip.has-tasks{
  cursor:pointer!important;
}
.user-task-flag{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--amber)!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
}
.user-task-flag-icon{
  color:var(--amber)!important;
  font-size:10px!important;
}
.user-task-flag > span:last-child{
  color:var(--text)!important;
  font-size:9px!important;
  font-weight:850!important;
}
.user-chip.has-tasks:hover .user-task-flag{
  border-color:transparent!important;
}
