:root{--ink:#182c32;--muted:#76858a;--green:#1b7461;--line:#e3e9e7;--bg:#f3f6f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:9px;padding:10px 14px;color:var(--ink);font-weight:600}button:hover{border-color:#1b7461;background:#f0f8f4}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#125443;color:white}.danger{color:#ab4842}aside{position:fixed;width:238px;height:100vh;background:#102f2e;color:#d1e3dd;padding:34px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;letter-spacing:2px;font-weight:800;font-size:17px}.logo{font-size:27px;color:#10342b;background:#c9e5b6;padding:7px;border-radius:10px;letter-spacing:-2px}.logo span{font-size:17px}small{font-size:11px;line-height:1.7}.brand small{display:block;font-size:8px;letter-spacing:1px;margin-top:6px;color:#99b6ae}.navlabel{font-size:10px;letter-spacing:1.4px;color:#7faaa0;margin:43px 10px 15px}nav button{width:100%;background:none;border:0;color:#accac1;display:flex;align-items:center;gap:12px;padding:15px 14px;margin:4px 0;text-align:left;font-weight:500}nav button.active,nav button:hover{background:#285047;color:#efffef}nav button i{font-style:normal;font-size:18px;width:23px}.asidefoot{margin-top:auto;font-size:12px;line-height:2}.dot{display:inline-block;width:7px;height:7px;background:#b9df91;border-radius:50%;margin-right:5px}main{margin-left:238px}header{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:var(--muted)}header b{margin:0 15px;color:#c8d0cc}header>div{display:flex;align-items:center;gap:20px}.avatar{background:#eef3e7;padding:10px 13px;border-radius:50%;color:#365744;font-weight:700}.notice{padding:10px 36px;background:#f9f3e4;color:#8a6d32;font-size:11px;line-height:1.7}#app{padding:30px 36px 60px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}h1{font-size:29px;letter-spacing:-1px;margin:9px 0}h2{font-size:18px;margin:0 0 7px}h3{font-size:14px;margin:0 0 7px}p{color:var(--muted);line-height:1.7;margin:6px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:13px;background:white;padding:20px}.stat strong{display:block;font-size:31px;margin:10px 0 3px}.stat small{color:var(--muted)}.stat.feature{background:#e7f0e4;border-color:#d4e4cf}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;margin-bottom:20px}.search{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}input,select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;color:var(--ink);min-width:0}input[type=search]{flex:1;min-width:160px}.pill{display:inline-flex;border-radius:30px;padding:5px 10px;font-size:10px;font-weight:700;white-space:nowrap;background:#edf2ef;color:#5e726b}.pill.ready{background:#e5f1e9;color:#287351}.pill.half{background:#fff1d3;color:#986c13}.pill.pending{background:#e9edfb;color:#586ca7}.pill.closed{background:#e7ebeb;color:#637071}.pill.waiting{background:#f1e8f7;color:#88549e}.order{border:1px solid var(--line);border-radius:10px;padding:18px;margin:12px 0;cursor:pointer}.order:hover{border-color:#7ca28b;background:#f9fcf8}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.order strong{font-size:18px}.meta{font-size:12px;color:var(--muted);margin:10px 0;line-height:1.8}.progress{height:5px;border-radius:6px;background:#edf0eb;overflow:hidden;margin:12px 0}.progress span{height:100%;background:#579472;display:block}.empty{text-align:center;padding:50px 15px;color:var(--muted)}.doc{width:100%;border:1px solid var(--line);border-radius:9px;cursor:zoom-in}.steps{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 25px}.steps span{font-size:10px;background:#eef1ed;padding:7px 11px;border-radius:5px}.steps .current{background:#dfeedd;color:#39734b}.product{border:1px solid var(--line);border-radius:11px;margin:12px 0;padding:16px}.product.checked{border-color:#98bf9e;background:#f7fbf5}.product .title{font-weight:700;font-size:13px}.sku{font-size:11px;letter-spacing:.4px;color:#7a8884;margin-top:5px}.productbody{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.quantity{width:80px}.photo{width:64px;height:58px;object-fit:cover;border-radius:7px;cursor:zoom-in}.photos{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.product small,.dim{color:var(--muted)}.product label{font-size:11px;color:#64746d}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.tip{background:#f4f7f2;border-radius:8px;padding:12px;font-size:12px;color:#607465;line-height:1.8}.history{border-left:2px solid #dfe9df;padding:0 0 18px 16px;margin-top:20px}.history p{font-size:12px}.service{font-size:12px;padding:9px 0;border-bottom:1px dashed var(--line);color:#74827b}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:11px;color:var(--muted)}.badge{font-size:10px;padding:4px 7px;background:#f2f5ed;border-radius:5px;color:#78876c}.signed{margin:15px 0;padding:14px;border:1px dashed #c5d2c8;border-radius:9px}.timeline p{font-size:11px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 24px;background:#183d32;color:#fff;border-radius:10px;display:none;z-index:99;max-width:90vw;box-shadow:0 5px 25px #0002}dialog{border:0;border-radius:15px;max-width:92vw;max-height:92vh;padding:20px}dialog::backdrop{background:#0b2527bb}#lightcontent img{display:block;max-width:78vw;max-height:76vh;object-fit:contain;margin-top:15px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px}a{color:var(--green)}.tablewrap{overflow:auto}.phonehint{font-size:10px;color:#8ca096;letter-spacing:1px;margin-top:20px}.checklabel{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.8;margin-top:15px}.checklabel input{margin-top:5px}button:focus-visible,input:focus-visible{outline:3px solid #a6cda4;outline-offset:2px}@media(max-width:1050px){.layout{grid-template-columns:1fr}.sidepanel{display:grid;grid-template-columns:1fr 1fr;gap:15px}}@media(max-width:740px){aside{position:static;width:100%;height:auto;padding:14px 16px}.brand{font-size:13px}.brand small{display:none}.logo{font-size:20px}.navlabel,.asidefoot{display:none}nav{display:flex;overflow:auto;margin-top:14px}nav button{width:auto;flex-shrink:0;font-size:12px;padding:9px}nav button i{width:auto}main{margin:0}header{padding:0 16px;height:58px}header>span{font-size:10px}.notice{padding:9px 16px}#app{padding:23px 16px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:26px}.heading{align-items:flex-start}h1{font-size:25px}.panel{padding:17px}.sidepanel{display:block}.productbody{gap:8px;flex-wrap:wrap}.quantity{width:65px}.actions button{flex:1}.heading>button{font-size:11px}.tablewrap{max-width:100%}}

.stockrow{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:17px;padding-top:15px;border-top:1px dashed var(--line)}.stockrow p{font-size:12px}.stockrow small{color:#8a958c}.stockrow .actions{margin-top:8px}@media(max-width:740px){.stockrow{align-items:flex-start;flex-direction:column}.stockrow>div:last-child{width:100%}}

.product.partial{border-color:#e3bc64;background:#fffaf0}.product.partial .pill.half{background:#f8e7b6;color:#8d5e10}

.purchase-meta{display:flex;align-items:center;gap:10px;margin:18px 0;color:#738078;font-size:12px}.purchase-meta b{color:#234839}.locktag{font-size:9px;letter-spacing:.5px;border:1px solid #e3e8e2;padding:3px 6px;border-radius:4px;margin-left:auto;color:#97a197}.stocktiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stocktile{border:1px solid #dfe7df;background:#f5f8f3;border-radius:10px;padding:16px;text-align:left;display:flex;flex-direction:column}.stocktile>span{font-size:11px;color:#6e7d71;font-weight:600;display:flex;justify-content:space-between}.stocktile strong{font-size:29px;line-height:1.3;margin:7px 0 2px;color:#244d3d}.stocktile small{font-size:10px;color:#8b978c;font-weight:400}.ordertile{background:white;border:1px dashed #91b69b}.ordertile:hover,.ordertile.selected{background:#edf6e9;border:1px solid #7fa58b}.ordertile small{color:#397b50}.linenote{font-size:11px}.warning,#purchaseError{color:#a44638;font-size:12px}#purchaseDialog{width:420px;padding:27px;box-shadow:0 20px 80px #0b252744}#purchaseDialog h2{font-size:25px;margin:10px 0}#purchaseDialog .field{margin-top:20px;font-weight:600;font-size:12px}#purchaseUnits{font-size:28px;padding:12px;width:100%}.modalnumbers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.modalnumbers>div{background:#f2f6ef;padding:12px;border-radius:8px;color:#7b887b;font-size:11px}.modalnumbers strong{display:block;color:#314e3b;font-size:22px;margin-top:7px}.modalhint{font-size:11px;line-height:1.8}#purchaseDialog .actions{justify-content:flex-end}@media(max-width:740px){#purchaseDialog{width:calc(100vw - 30px);padding:21px}.purchasecard .title{font-size:15px}.stocktile{padding:15px}}

.delivery-group{margin-top:22px}.delivery-group-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:3px}.delivery-group-heading h3{margin:0;font-size:12px}.delivery-group-heading>span{font-size:11px;color:var(--muted)}.delivery-group.complete{border-top:1px solid #c7ded1;padding-top:20px}.delivery-group.complete h3{color:#23764e}.delivery-group.partial h3{color:#975e13}.product.complete{background:#e5f3e9;border-color:#98c6a8}.product.partial{background:#fff0d6;border-color:#e6b565}.product.complete .tip{background:#d8ebdf;color:#3c6550}.product.partial .tip{background:#ffe3b3;color:#855b22}.product.complete .sku,.product.complete small{color:#527461}.product.partial .sku,.product.partial small{color:#8b6b3d}

.director-tabs{display:inline-flex;gap:5px;background:#e6ece7;border-radius:30px;padding:5px;margin-bottom:25px}.director-tabs button{border:0;border-radius:25px;background:transparent;color:#678074}.director-tabs .active{background:#fff;color:#205d45;box-shadow:0 2px 8px #173a2910}.purchase-stats{grid-template-columns:repeat(3,1fr)}.supplier-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.supplier-heading h2{margin-top:8px;font-size:22px}.purchase-line{padding:20px 0;border-top:1px solid var(--line)}.purchase-line .title{font-size:15px;font-weight:650}.sale-source{font-size:11px}.purchase-flow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0}.purchase-stage{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:9px;font-size:12px}.purchase-stage small{font-size:10px}.purchase-stage.to-order{background:#fff0d6;color:#97611d}.purchase-stage.ordered{background:#e6eff9;color:#38648a}.stage-arrow{color:#8b9d93}.supplier-controls{display:flex;align-items:flex-end;gap:12px;margin-top:14px}.supplier-controls label{display:flex;flex:1;flex-direction:column;gap:6px;font-size:11px;color:#7b8b80}.supplier-controls input{width:100%;max-width:400px}.purchase-note{margin-bottom:18px;font-size:12px}@media(max-width:740px){.supplier-heading{align-items:flex-start;flex-wrap:wrap}.supplier-heading h2{font-size:19px}.purchase-stats{grid-template-columns:1fr 1fr}.purchase-stats .stat:last-child{grid-column:1/-1}.purchase-stage{flex-wrap:wrap}.director-tabs button{font-size:12px}}

.arrival-stats{grid-template-columns:repeat(2,1fr)}.purchase-stage.received{background:#e4f3e8;color:#286647}.allocation-fields{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr);gap:15px;margin:16px 0 9px}.allocation-fields label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#758379}.allocation-fields input,.allocation-fields select{width:100%}.allocation-fields input{font-size:20px}.allocation-fields select:disabled{color:#365b46;background:#f3f8f2;opacity:1}@media(max-width:740px){.allocation-fields{grid-template-columns:1fr}.arrival-stats .stat strong{font-size:26px}}

.supplier-lookup{display:flex;flex:1;flex-direction:column;gap:6px;padding:12px;background:#f3f7f1;border-radius:8px}.supplier-lookup small{color:#7b8b80}.supplier-lookup strong{font-size:12px;color:#315641}

.do-demands{background:#f4f8f2;border:1px solid #e0e9df;border-radius:10px;margin-top:18px;padding:15px}.demand-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.demand-heading>span{color:#718176;font-size:11px}.do-demand{margin-top:12px;padding:14px;background:#fff;border:1px solid #e1e8df;border-radius:8px}.demand-numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}.demand-numbers span{display:block;color:#7a897e;font-size:10px;margin-bottom:5px}.demand-numbers b{font-size:14px}.allocation-result,.demand-total{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px}.allocation-result{padding-top:12px;border-top:1px dashed #d9e4d7;color:#52705a}.demand-total{margin-top:12px}.arrival-comparison{padding:12px;border-radius:8px;margin-top:12px;font-size:11px;display:flex;flex-direction:column;gap:6px}.arrival-comparison.neutral{background:#f1f4f2;color:#748378}.arrival-comparison.matched{background:#e4f3e8;color:#286647}.arrival-comparison.shortage{background:#fff0d6;color:#97611d}.allocation-fields{grid-template-columns:1fr}

.do-level{display:inline-flex;align-items:center;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:600;white-space:nowrap}.do-level.standard{background:#e6f3e7;color:#287549}.do-level.followup{background:#fff1ca;color:#966c13}.do-level.urgent{background:#fce5e1;color:#b2473d}.do-level.unknown{background:#eef0ed;color:#7a867e}.level-line{margin:9px 0}.allocation-product{padding:17px 0;border-bottom:1px solid var(--line)}.allocation-product:first-child{padding-top:0}.allocation-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1ea}.allocation-row:last-child{border:0}.allocation-order{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.allocation-order strong,.allocation-order span{font-size:12px}.allocation-order small{font-size:10px;color:#849185}.allocation-quantity{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.allocation-quantity label{font-size:10px;color:#7b887b;display:flex;align-items:center;gap:8px}.allocation-quantity input{width:74px;padding:8px}.allocation-quantity small{color:#859483;font-size:10px}.delivered-row{background:#f0f8ed;border-radius:7px;padding:12px 10px}.allocation-log{font-size:11px}@media(max-width:740px){.allocation-order{gap:5px;max-width:64%}.allocation-order strong{width:100%}.allocation-order small{display:none}.allocation-quantity label{flex-direction:column;align-items:flex-end;gap:4px}.allocation-order .do-level{font-size:9px}.allocation-product h3{font-size:14px}}

#purchaseComment{font:inherit;resize:vertical;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;line-height:1.6;font-size:13px}.purchasing-comment{padding:11px 13px;background:#f4f7eb;border-left:3px solid #a5bb84;border-radius:5px;margin:10px 0}.purchasing-comment small{color:#819065;font-size:10px}.purchasing-comment p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#3d513a;margin:3px 0}

.purchase-flow{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0}.purchase-stage{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px!important;padding:4px 8px!important;border-radius:30px!important;font-size:10px!important;line-height:1.4;white-space:nowrap!important}.purchase-stage b{font-size:inherit!important}.purchase-stage small{display:inline!important;font-size:9px!important;white-space:nowrap}.stage-arrow{font-size:9px}.inline-purchase-status{margin-top:10px}.product>.row{align-items:flex-start}.product>.row>.purchase-flow{flex-shrink:0;max-width:46%;justify-content:flex-end}.purchase-summary{padding:0!important}.purchase-summary>summary{display:flex;align-items:center;gap:10px;padding:15px 18px;cursor:pointer;list-style:none;font-size:12px;font-weight:600}.purchase-summary>summary::-webkit-details-marker{display:none}.purchase-summary>summary>span:first-child{flex:1}.purchase-summary>summary small{color:#869482;margin-left:5px;font-size:10px;font-weight:400}.summary-chevron{color:#85957f;transition:transform .15s}.purchase-summary[open] .summary-chevron{transform:rotate(180deg)}.purchase-summary-list{padding:0 18px}.purchase-summary-item{border-top:1px solid var(--line);padding:12px 0}.purchase-summary-item strong{font-size:12px}.purchase-summary-item .row>div:first-child small{display:block;font-size:10px;color:#879480;margin-top:4px}.compact-controls{justify-content:flex-end;margin-top:9px}.compact-controls button{padding:6px 12px;font-size:11px}.purchase-line>.row{align-items:flex-start}.purchase-line>.row>.purchase-flow{flex-shrink:0;max-width:45%;justify-content:flex-end}.purchase-line .purchasing-comment{margin-top:12px;margin-bottom:0}.purchasing-comment{padding:9px 11px}.purchasing-comment small{font-size:9px}.purchasing-comment p{font-size:12px}@media(max-width:740px){.purchase-stage{font-size:10px!important;padding:4px 7px!important}.purchase-stage small{font-size:9px!important}.purchase-summary>summary{padding:13px 14px;gap:5px}.purchase-summary>summary>span:first-child{font-size:11px}.purchase-summary>summary>span:first-child small{display:none}.purchase-line>.row>.purchase-flow .purchase-stage{white-space:nowrap!important}.purchase-summary-item .row{align-items:flex-start}.purchase-summary-item .row>.purchase-flow{flex-shrink:0;max-width:43%}}

.product-unit-line{font-size:11px;line-height:1.6;display:block}.product-unit-line .unit-to-order{color:#9b751c}.product-unit-line .unit-awaiting{color:#617baa}.product-unit-line .unit-allocated{color:#46844b}.product-unit-line b{font-size:inherit}.productbody:has(.product-unit-line){margin-top:12px}@media(max-width:740px){.product-unit-line{font-size:10px}.product>.row>div:first-child{flex:1;min-width:0}}

.allocate-button{border:1px solid #a1b99e;border-radius:30px;padding:8px 13px;background:#f4f9ee;color:#376c45;font-size:11px;white-space:nowrap}.allocate-button.selected{background:#e1efda;border-color:#749b6d}.allocation-modal-do{margin:16px 0;display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:12px}#allocationDialog{width:410px;padding:25px}#allocationDialog h2{margin:10px 0;font-size:24px}#allocationInput{font-size:27px;width:100%;padding:12px}#allocationDialog .actions{justify-content:flex-end}.tidy-po>.supplier-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.tidy-po>.supplier-heading h2{font-size:18px;line-height:1.4;overflow-wrap:anywhere}.tidy-po>.supplier-heading p{font-size:11px;margin:5px 0 0}.tidy-po>.supplier-heading button{font-size:11px;padding:8px 12px;white-space:nowrap}.tidy-po-line{padding:19px 0!important;margin:0!important}.tidy-po-line:last-child{border-bottom:0;padding-bottom:0!important}.tidy-po-line>.title{font-size:14px;line-height:1.5}.tidy-po-line>.sku{font-size:10px;margin-top:5px}.po-source-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px}.po-source-row>span:first-child{font-size:11px;color:#849087}.po-action-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:11px;min-height:30px}.po-done-button{padding:6px 14px;font-size:11px;white-space:nowrap}.tidy-po-line .purchasing-comment{margin-top:12px;padding:9px 11px}.tidy-po-line .purchasing-comment p{margin-top:3px;font-size:12px}.purchase-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.purchase-stats .stat{padding:17px}.purchase-stats strong{font-size:27px}@media(max-width:740px){#allocationDialog{width:calc(100vw - 30px);padding:22px}.tidy-po>.supplier-heading{grid-template-columns:1fr;gap:10px}.tidy-po>.supplier-heading>button{justify-self:start}.tidy-po>.supplier-heading h2{font-size:17px}.tidy-po-line>.title{font-size:14px}.purchase-stats{gap:8px}.purchase-stats .stat{padding:12px 9px;font-size:10px}.purchase-stats strong{font-size:24px}.purchase-stats small{font-size:9px}.po-source-row{gap:6px}.po-source-row>.do-level{font-size:9px}.po-action-row .purchase-flow{flex:1}.po-action-row .dim{font-size:9px}}

/* DO status is shared across queue and detail; age remains a separate badge. */
.do-status-card.status-waiting{--status-bg:#f7f0fc;--status-border:#d9bce9;--status-accent:#8750a3;--status-ink:#63327c}
.do-status-card.status-ready{--status-bg:#eef8f0;--status-border:#b8d9c1;--status-accent:#2f8551;--status-ink:#23653c}
.do-status-card.status-half{--status-bg:#fff8e6;--status-border:#ead495;--status-accent:#ae7a12;--status-ink:#78550c}
.do-status-card.status-pending{--status-bg:#eff5fd;--status-border:#bfd2ed;--status-accent:#4775b4;--status-ink:#345d91}
.do-status-card.status-closed{--status-bg:#f1f3f4;--status-border:#d0d7da;--status-accent:#76838a;--status-ink:#536168}
.do-status-card{background:var(--status-bg);border:1px solid var(--status-border);border-left:5px solid var(--status-accent)}
.order.do-status-card:hover{background:var(--status-bg);border-color:var(--status-accent);box-shadow:0 3px 12px #182c320c}
.order.do-status-card:focus-visible{outline:3px solid var(--status-accent);outline-offset:3px}
.do-status-card>.row>.pill,.do-detail-heading>.pill{background:#fff;color:var(--status-ink);border:1px solid var(--status-border);font-size:11px}
.do-status-card .meta,.do-detail-heading p{color:#56666b}
.do-status-card .progress{background:#fff}.do-status-card .progress span{background:var(--status-accent)}
.do-detail-heading{padding:22px 24px;border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}
.do-detail-heading>.level-line{grid-column:1/-1;margin:0}
.do-detail-heading .eyebrow{color:var(--status-ink)}
.do-items-panel .product{background:#fff}
.do-items-panel .product.checked,.do-items-panel .product.complete{background:#f2faf3}
.do-items-panel .product.partial{background:#fffaf0}
@media(max-width:740px){.do-detail-heading{padding:18px 16px;gap:12px}.do-detail-heading h1{font-size:25px}.do-detail-heading p{font-size:12px}.do-status-card>.row>.pill,.do-detail-heading>.pill{font-size:10px}}

/* Standard product hierarchy: identity, quantities/status, action, notes. */
.standard-card{padding:18px;background:white;min-width:0}
.standard-card .card-info h3{font-size:15px;line-height:1.45;margin:0;color:var(--ink);overflow-wrap:anywhere}
.standard-card .sku{font-size:11px;line-height:1.6;letter-spacing:.2px}
.card-detail{font-size:11px;color:#6f7f80;margin-top:4px;line-height:1.5}
.card-status{display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;padding:12px 0 0;font-size:11px;color:#607277;line-height:1.7}
.card-status b{color:var(--ink);font-weight:650}
.card-status .locktag{font-size:9px}
.card-state-line{font-size:10px;line-height:1.7;margin-top:6px;color:#647575}
.card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px}
.card-actions label{display:flex;align-items:center;gap:7px;font-size:11px;flex-wrap:wrap}
.card-actions button,.compact-button{font-size:12px;padding:9px 13px}
.card-actions input.quantity{width:75px;padding:9px;font-size:14px}
.card-notes{border-top:1px solid #e6ece9;margin-top:14px;padding-top:10px;font-size:11px}
.card-notes summary{cursor:pointer;color:#687b78;display:flex;gap:8px;align-items:center;justify-content:space-between;list-style:none}
.card-notes summary::after{content:'⌄';margin-left:auto;font-size:14px}
.card-notes[open] summary::after{content:'⌃'}
.card-notes summary span{font-size:10px;color:#8a9793}
.card-notes p{font-size:11px;overflow-wrap:anywhere}
.card-notes .purchasing-comment{margin-bottom:0}
.text-green{color:#28754c;font-size:11px;font-weight:600}.text-amber{color:#936814;font-size:11px;font-weight:600}
.evidence-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:11px;line-height:1.6}
.evidence-row button{font-size:10px;padding:6px 10px;flex-shrink:0}
.do-target{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:12px}
.do-detail-heading{margin-top:18px}.review-alert{background:#fff0e8;border:1px solid #ebc3a9;padding:15px 18px;border-radius:10px;margin-bottom:20px;color:#894124}.review-alert p{color:#894124;font-size:12px}
.history-details>summary{cursor:pointer;font-weight:650;font-size:13px}.history-details p{font-size:11px}
#workflowDialog{width:530px;padding:26px;box-shadow:0 20px 80px #0b252744}#workflowDialog h2{margin-bottom:18px;font-size:22px}
#workflowDialog textarea{font:inherit;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical}
#workflowDialog .field{font-size:12px;color:#60716e}#workflowDialog input[type=number]{font-size:26px;padding:12px}
#workflowDialog .actions{justify-content:flex-end}.preview-label{display:flex;flex-direction:column;gap:3px;font-size:9px;color:#7d8b88}
.preview-label select{font-size:11px;padding:6px 8px;max-width:170px}
.admin-order{padding:18px;border-radius:10px;margin-top:16px}.admin-order+.history-details{margin-top:20px}
.employee-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.employee-row p{font-size:11px}.employee-row:last-child{border-bottom:0}
.department-panel{margin-top:18px}.permission-line{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.permission-line span{font-size:11px;color:#6e7e78;text-align:right}
.permission-table{overflow-x:auto}.permission-table table{min-width:390px}.permission-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}
header>div{gap:12px}header button{font-size:11px}.standard-card .productbody{display:block}
@media(max-width:740px){.standard-card{padding:16px}.standard-card .card-info h3{font-size:14px}.card-status{gap:4px 12px}.card-actions{gap:8px}.card-actions button{font-size:11px}.do-items-panel{padding:14px}.do-target{align-items:flex-start}.preview-label select{max-width:123px;font-size:10px}header{height:76px;gap:8px}header>span{max-width:110px;line-height:1.5}header b{margin:0 5px}header>div{gap:6px}header button{font-size:9px;padding:7px;max-width:80px}#workflowDialog{width:calc(100vw - 26px);padding:20px}.director-tabs{max-width:100%;overflow-x:auto;white-space:nowrap}.director-tabs button{flex-shrink:0;font-size:11px;padding:9px}.permission-line{flex-wrap:wrap;gap:5px}.permission-line span{text-align:left}.evidence-row{align-items:flex-start}.card-notes summary{font-size:10px}}

.queue-supply{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:11px;color:#566b68;line-height:1.8;margin-top:12px}.queue-supply b{color:var(--ink)}.queue-open{font-size:12px;color:var(--green);font-weight:600}
.do-items-panel .product.stock-ready:not(.partial):not(.complete),.product.stock-ready:not(.partial):not(.complete){background:#f1faf2;border-color:#b2d4ba;box-shadow:inset 3px 0 0 #3e905c}
@media(max-width:740px){.queue-supply{gap:5px 12px;font-size:11px}.order>.row>.dim{font-size:10px}.queue-open{font-size:11px}}

.delivery-photos{display:flex;flex-wrap:wrap;gap:12px;flex-basis:100%;margin-top:4px}.delivery-photos figure{margin:0;width:112px}.delivery-photos .photo{width:112px;height:96px}.delivery-photos figcaption{display:flex;gap:4px;margin-top:5px}.delivery-photos figcaption button{font-size:9px;padding:5px 6px}.evidence-row{flex-wrap:wrap}

.purchase-summary>summary:has(.stock-summary-flow){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.purchase-summary>summary>.stock-summary-flow{grid-column:1;justify-content:flex-start}.purchase-summary>summary:has(.stock-summary-flow)>.summary-chevron{grid-column:2;grid-row:1/3;align-self:center}

.purchasing-waiting-stat{background:#f7f0fc;border-color:#d9bce9}.purchasing-waiting-stat strong{color:#63327c}.supplier-order-detail{margin-top:18px}.supplier-order-detail .product{background:white}.supplier-order-detail .supplier-heading{align-items:flex-start}

.do-status-card.status-ordered{--status-bg:#f5f7f6;--status-border:#d9e0dd;--status-accent:#83958c;--status-ink:#4c6257}.pill.ordered{background:#edf1ef;color:#4c6257}

.status-report .report-card{text-align:left;color:var(--status-ink);font-weight:500;min-width:0;transition:box-shadow .15s}.status-report .report-card strong{color:var(--status-ink)}.status-report .report-card:hover{background:var(--status-bg);border-color:var(--status-accent);box-shadow:0 2px 9px #182c3210}.status-report .report-card.selected{outline:2px solid var(--status-accent);outline-offset:2px}.status-report .report-card small{color:var(--status-ink);opacity:.8}.status-report .report-card span{display:block;font-size:13px;line-height:1.5}.status-report .report-card:focus-visible{outline:3px solid var(--status-accent);outline-offset:3px}

.card-status .text-green b,.card-status .text-amber b{color:inherit}

.stock-summary-flow .purchase-stage.incomplete{background:transparent;color:#607277}.queue-supply .text-green b{color:inherit}

html{touch-action:manipulation}.card-actions input.quantity{font-size:16px}.history-delivery-line{padding:10px 0;border-top:1px solid var(--line)}

.text-red{color:#b83b35;font-size:11px;font-weight:600}.card-status .text-red b{color:inherit}

button.signed-uploaded{background:#e4f3e8;border-color:#b5d9bf;color:#28754c}.signed-pages{display:grid;gap:16px}.signed-pages figure{margin:0}.signed-pages img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:0 auto}.signed-pages figcaption{margin-top:10px}#lightcontent>h2{margin-top:12px}

.signed-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.signed-action-row button{width:100%;min-width:0;padding:10px 6px;font-size:12px;white-space:nowrap}

.cloud-status{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.cloud-status>div{display:flex;gap:15px;align-items:center}.cloud-status button{padding:5px 10px;font-size:11px}.cloud-gate{max-width:650px;margin:40px auto}.cloud-signin{display:inline-block;background:var(--green);color:white;padding:12px 18px;border-radius:10px;text-decoration:none}.cloud-gate h1{margin-bottom:16px}

/* Account entry */
.auth-screen{min-height:100dvh;background:radial-gradient(ellipse at 20% 0%,#dcece3,transparent 65%),#f3f7f5}.auth-screen aside,.auth-screen header,.auth-screen .notice{display:none}.auth-screen main{margin-left:0;width:100%;min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-screen #app{width:100%;max-width:460px;padding:0}.auth-screen .cloud-gate{padding:38px;border-radius:24px;box-shadow:0 16px 60px #173b2c0c}.auth-screen .cloud-gate>h1,.auth-screen .cloud-gate>p,.auth-screen .cloud-gate>.eyebrow{display:none}.auth-screen .cloud-gate>.actions{display:block}.auth-screen h1{font-size:32px;line-height:1.15;margin:18px 0 12px}.auth-screen p{line-height:1.6;color:#667c76}.auth-screen .eyebrow{font-size:11px;letter-spacing:2px;margin-top:24px}.login-mark{width:60px;height:60px;border-radius:17px;background:#176f5e;color:white;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:750;gap:3px}.login-mark span{color:#bcdb99}.auth-screen .cloud-signin{display:block;text-align:center;background:#176f5e;color:white;border-radius:12px;padding:16px;margin:28px 0 16px;text-decoration:none;font-weight:650}.auth-screen .login-note{font-size:13px}.director-form{display:grid;gap:18px;margin:24px 0}.director-form label{display:grid;gap:8px;font-size:14px;font-weight:600}.director-form input{width:100%;font-size:16px;min-height:48px}.director-form input[readonly]{background:#f3f6f4;color:#687d74}.login-role{display:flex;justify-content:space-between;color:#687d74}.login-role strong{color:#176f5e}.auth-screen .login-error{color:#b13c37;font-size:14px;margin:0}.director-form button{width:100%;min-height:50px}.director-form button:disabled{opacity:.6}@media(max-width:500px){.auth-screen main{padding:18px}.auth-screen .cloud-gate{padding:26px}}
