/* System fonts keep the mobile interface quick and available without external requests. */
:root{--pine:#142f29;--pine2:#21483d;--mint:#d8ebe0;--green:#4f9d6e;--cream:#f7f7f1;--white:#fff;--ink:#193029;--muted:#728078;--line:#e5e9e2;--orange:#da8d52;--red:#bb634d;--shadow:0 10px 36px rgba(20,47,41,.055)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:var(--pine);color:#edf7ee;padding:32px 17px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 11px 38px}.brand-mark,.mobile-mark{display:grid;place-items:center;background:#cde4ce;color:var(--pine);font-size:26px;border-radius:13px;width:38px;height:38px;font-weight:bold}.brand strong{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-1.5px;display:block;line-height:1}.brand small{font-size:11px;color:#b7cabe;letter-spacing:.5px}.sidebar-label{font-size:10px;letter-spacing:1.6px;color:#8ca79a;padding:0 14px 11px;font-weight:700}.sidebar nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;color:#c4d4c8;display:flex;align-items:center;gap:13px;text-align:left;padding:12px 14px;border-radius:10px;font-weight:600;width:100%}.nav-item:hover,.nav-item.active{background:#2a4c40;color:#fff}.nav-icon{font-size:18px;width:22px;text-align:center;font-weight:400}.nav-count{margin-left:auto;color:#cde4ce;background:#406654;border-radius:8px;padding:2px 7px;font-size:11px}.sidebar-footer{margin-top:auto;color:#9fbaaa;border-top:1px solid #335246;padding:20px 12px 0;font-size:11px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7cce8d;margin-right:6px}.main-column{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 40px}.topbar-breadcrumb{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.topbar-breadcrumb strong{color:var(--ink)}.crumb-separator{color:#b4c0b8}.topbar-actions{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px}.avatar{width:34px;height:34px;background:#dbe9db;border-radius:50%;display:grid;place-items:center;color:var(--pine);font-weight:800}.mobile-mark{display:none}main{max-width:1500px;margin:auto;padding:38px 42px 80px;outline:0}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:11px;color:var(--green);font-weight:800;margin:0 0 8px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px}.page-head h1{font-family:Manrope,sans-serif;font-size:31px;line-height:1.2;letter-spacing:-1.3px;margin:0 0 7px}.page-head p{color:var(--muted);margin:0;line-height:1.5}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;white-space:nowrap}.btn:hover{border-color:#a7c6ac;background:#f9fcf8}.btn.primary{background:var(--pine);border-color:var(--pine);color:#fff}.btn.primary:hover{background:var(--pine2)}.btn.soft{background:#e7f2e9;border-color:#d8ebdb;color:#226143}.btn.danger{color:#ab4f3b}.btn.small{padding:7px 10px;font-size:12px;min-height:32px}.btn:disabled{opacity:.48;cursor:not-allowed}.tile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:30px}.tile{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px 19px 17px;box-shadow:var(--shadow);text-align:left;min-height:134px;display:flex;flex-direction:column;justify-content:space-between}.tile:hover{border-color:#9cbba2;transform:translateY(-2px);transition:.15s}.tile-icon{font-size:21px;color:var(--green)}.tile strong{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-1px}.tile span:last-child{color:var(--muted);font-size:12px}.tile.alert .tile-icon{color:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 22px;border-bottom:1px solid var(--line);gap:12px}.panel-heading h2{font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.4px;margin:0}.text-link{color:#447d59;font-weight:700;font-size:12px;background:none;border:0}.list-row{padding:16px 22px;border-bottom:1px solid #eef0eb;display:flex;align-items:center;justify-content:space-between;gap:16px}.list-row:last-child{border-bottom:0}.list-row:hover{background:#fbfcf9}.row-main{min-width:0}.row-main strong{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main small{display:block;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-side{text-align:right;flex:none}.row-side small{display:block;color:var(--muted);margin-top:5px}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.2px;white-space:nowrap;background:#eef2ee;color:#5f7167}.badge.ready{background:#e0f1e4;color:#27754a}.badge.warn{background:#fcf0df;color:#a16627}.badge.progress{background:#e9effa;color:#476994}.badge.done{background:#e9edea;color:#75847b}.badge.danger{background:#fae9e4;color:#af5b46}.toolbar{display:flex;align-items:center;gap:9px;margin-bottom:17px;flex-wrap:wrap}.search{position:relative;max-width:360px;flex:1;min-width:200px}.search input{width:100%;padding:11px 13px 11px 38px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:0}.search span{position:absolute;left:13px;top:10px;color:#8fa095;font-size:18px}.toolbar select,.field select,.field input,.field textarea{border:1px solid #dbe3db;background:#fff;border-radius:10px;outline:0}.toolbar select{padding:10px 12px;min-height:40px}.card-list{display:grid;gap:12px}.work-card,.order-card,.stock-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 21px;box-shadow:var(--shadow)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.card-top h3{font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.3px;margin:0 0 5px}.subtle{color:var(--muted);font-size:12px;line-height:1.5}.card-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:14px}.card-meta b{color:var(--ink)}.line-list{border-top:1px solid #edf0eb;margin-top:17px;padding-top:10px;display:grid;gap:9px}.order-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 0}.order-line strong{font-size:13px}.order-line small{color:var(--muted)}.line-figures{display:flex;gap:13px;font-size:12px;color:var(--muted)}.line-figures b{color:var(--ink)}.card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.progress{height:7px;background:#edf1eb;border-radius:10px;overflow:hidden;margin-top:15px}.progress span{display:block;height:100%;background:#69ad78}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stock-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.stock-card h3{margin:0 0 5px;font-size:14px}.stock-numbers{text-align:right}.stock-numbers strong{font-family:Manrope,sans-serif;font-size:21px}.stock-numbers small{display:block;color:var(--muted)}.empty{padding:43px 20px;text-align:center;color:var(--muted)}.empty-icon{font-size:31px;margin-bottom:10px;color:#9ebba4}.empty strong{display:block;color:var(--ink);font-family:Manrope,sans-serif;margin-bottom:5px}.tip{background:#edf5ed;border:1px solid #d6e8d7;color:#48674f;border-radius:13px;padding:15px 18px;line-height:1.5;margin-bottom:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(11,31,25,.48);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:18px;width:min(100%,570px);max-height:min(90vh,850px);overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.2)}.modal-head{padding:21px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-family:Manrope,sans-serif;margin:0;font-size:20px;letter-spacing:-.5px}.close{border:0;background:none;font-size:24px;color:#819187;line-height:1}.modal-body{padding:21px 23px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:12px}.field input,.field select,.field textarea{padding:11px 12px;width:100%;min-height:42px}.field textarea{min-height:82px;resize:vertical}.field small{color:var(--muted)}.modal-footer{padding:16px 23px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.form-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.form-section h3{font-family:Manrope,sans-serif;font-size:14px;margin:0 0 14px}.line-entry{display:grid;grid-template-columns:1.3fr 1fr 80px 32px;gap:7px;margin-bottom:8px;align-items:center}.line-entry input,.line-entry select{min-width:0;width:100%;padding:9px;border:1px solid #dbe3db;border-radius:8px}.line-entry button{border:0;background:#f6eae8;color:#a95d4a;border-radius:8px;height:36px}#toast{position:fixed;bottom:28px;right:28px;z-index:50;background:var(--pine);color:white;padding:13px 18px;border-radius:10px;box-shadow:0 8px 24px #10282040;display:none;max-width:420px}#toast.error{background:#a94f3e}.bottom-nav{display:none}
@media(max-width:1150px){.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:210px}.app-shell{grid-template-columns:210px minmax(0,1fr)}main{padding:30px}.topbar{padding:0 30px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{height:60px;padding:0 18px}.topbar-breadcrumb{gap:8px}.mobile-mark{display:grid;width:29px;height:29px;font-size:20px;border-radius:9px}.crumb-separator,.topbar-breadcrumb>span:nth-child(2){display:none}.today{display:none}main{padding:25px 16px 100px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:22px}.page-head h1{font-size:27px}.head-actions{width:100%}.head-actions .btn{flex:1}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:21px}.tile{min-height:111px;padding:14px}.tile strong{font-size:23px}.dashboard-grid,.work-grid,.stock-grid{grid-template-columns:1fr;gap:11px}.panel-heading{padding:17px}.list-row{padding:15px 17px}.order-card,.work-card,.stock-card{padding:16px}.card-meta{gap:9px}.line-figures{width:100%;justify-content:space-between}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:#fff;border-top:1px solid var(--line);padding:7px 5px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -4px 16px #142f290d}.bottom-nav button{border:0;background:none;color:#7b897d;display:grid;gap:3px;place-items:center;font-size:10px;font-weight:700;min-width:55px;padding:3px}.bottom-nav button .nav-icon{font-size:20px;width:auto}.bottom-nav button.active{color:#22533c}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:94vh;border-radius:18px 18px 0 0}.form-grid{grid-template-columns:1fr}.line-entry{grid-template-columns:1fr 1fr 66px 32px}.modal-footer{position:sticky;bottom:0;background:#fff}.toolbar{align-items:stretch}.search{max-width:none;flex-basis:100%}#toast{bottom:80px;right:12px;left:12px}}
.logged-out .sidebar,.logged-out .topbar,.logged-out .bottom-nav{display:none!important}.logged-out .app-shell{display:block}.logged-out main{max-width:none;padding:0}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#e8f2e8 0,transparent 30%),var(--cream);padding:22px}.login-card{width:min(100%,420px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 20px 60px #142f2914}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:42px}.login-logo strong{font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-1.5px}.login-card h1{font:800 28px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 7px}.login-card p{color:var(--muted);line-height:1.5;margin:0 0 27px}.login-card form{display:grid;gap:16px}.login-card form .btn{margin:8px 0 17px}.login-card small{color:var(--muted)}.avatar{border:0;cursor:pointer}
.shipment-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}.shipment-entry span{font-weight:700}.shipment-entry small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.shipment-entry input[type=number]{width:75px;border:1px solid #dbe3db;border-radius:8px;padding:9px;text-align:right}
.audit-panel{margin-top:18px}
.density-label{display:flex;align-items:center;gap:6px;font-size:12px}.density-label select{padding:7px;border:1px solid var(--line);border-radius:8px;background:white}
.compact-row{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:7px;min-width:0}.compact-row>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;list-style:none}.compact-row>summary:before{content:'▸';color:var(--muted)}.compact-row[open]>summary:before{content:'▾'}.compact-row>summary>div{flex:1;min-width:0}.compact-row summary strong{font-size:14px}.compact-row summary small{display:block;color:var(--muted);margin-top:4px}.inline-count{display:inline-block;margin-left:12px;font-size:12px;font-weight:650;color:var(--pine)}.fold-body{border-top:1px solid var(--line);padding:12px}.fold-body article{border:0;box-shadow:none;padding:0}.detail-info,.metrics{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;line-height:1.6}.detail-info span{white-space:pre-wrap;overflow-wrap:anywhere}.metrics{padding:10px;background:#f4f7f1}.metrics b{margin-left:6px}.row-button{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:white;font:inherit;cursor:pointer;color:inherit}.row-button small{display:block;color:var(--muted)}.modal{width:min(100%,850px)}.modal .card-top{flex-wrap:wrap}.modal .detail-info{margin-bottom:12px}.compact main{padding-top:18px}.compact .page-head{margin-bottom:15px}.compact .page-head h1{font-size:26px}.compact .page-head p{margin-top:4px}.compact .tile-grid{gap:8px;margin-bottom:15px}.compact .tile{min-height:75px;padding:11px;gap:3px}.compact .tile strong{font-size:23px}.compact .tile-icon{display:none}.compact .panel-heading,.compact .list-row{padding:10px 13px}.compact .work-grid{grid-template-columns:1fr;gap:0}.compact .compact-row>summary{padding:10px 12px}.compact .card-actions{margin-top:9px}.compact .line-list{margin-top:10px;padding-top:5px}.compact .form-grid{gap:10px}.compact .field input,.compact .field select{min-height:36px;padding:8px}.compact .tip{padding:10px 13px;margin-bottom:12px}.compact .toolbar{margin-bottom:10px}.compact .form-section{margin-top:12px;padding-top:12px}
@media(max-width:760px){.density-label{font-size:0}.density-label select{font-size:12px;max-width:120px}.compact-row>summary{align-items:flex-start;flex-wrap:wrap}.compact-row>summary>div{flex-basis:80%}.compact-row summary .inline-count{display:block;margin:5px 0}.compact-row summary .badge{margin-left:22px}.fold-body{padding:10px}.list-row{flex-wrap:wrap;overflow-wrap:anywhere}.detail-info{display:grid}.metrics{gap:7px 12px}.modal .line-entry{grid-template-columns:1fr 1fr}.modal .line-entry input{min-width:0}.modal .shipment-entry{flex-wrap:wrap}.compact .tile{min-height:75px}.row-main strong,.row-main small{white-space:normal}.form-grid,.form-grid>*{min-width:0}.modal-head h2{overflow-wrap:anywhere}.modal .line-figures{flex-wrap:wrap}.toolbar select{max-width:100%}}
.dataset-warning{background:#fff5de;border-color:#e5c77d;color:#725019;font-weight:700}
.order-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.legacy-order-card .order-line small{display:block;margin-top:4px;color:var(--muted)}
.work-tabs{display:flex;gap:7px;margin:-7px 0 18px;overflow:auto;padding-bottom:3px}.work-tabs button{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);padding:10px 14px;font-weight:700;white-space:nowrap}.work-tabs button.active{background:var(--pine);border-color:var(--pine);color:#fff}.rework-count{color:#ac5d38}.rework-count b{color:#ac5d38}.report-panel{margin-top:4px}.report-total{display:flex;align-items:baseline;gap:12px;padding:22px;border-bottom:1px solid var(--line)}.report-total strong{font:800 29px Manrope,sans-serif}.report-total span{color:var(--muted)}.report-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:18px 22px;border-bottom:1px solid var(--line)}.report-colors>div:not(.empty){background:#f5f8f3;border-radius:10px;padding:15px;display:flex;justify-content:space-between;gap:10px}.report-colors span{color:#387451;font-weight:800}.overview-panel{margin-top:20px}.overview-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats button{border:0;background:#fff;text-align:left;padding:22px;display:grid;gap:5px;color:var(--ink)}.overview-stats button+button{border-left:1px solid var(--line)}.overview-stats strong{font:800 26px Manrope,sans-serif}.overview-stats span{color:var(--muted)}
.overview-colors{border-top:1px solid var(--line);padding:19px 22px;display:grid;gap:11px}.overview-colors>strong{font-size:13px}.overview-colors>div{display:flex;gap:8px;flex-wrap:wrap}.overview-colors span{background:#eef6ec;border:1px solid #dcebd9;border-radius:8px;color:var(--ink);padding:7px 10px;font-size:12px}.overview-colors b{margin-left:7px;color:#2d7549}
@media(max-width:760px){.work-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-top:0}.work-tabs button{white-space:normal;font-size:12px;min-height:48px;padding:7px}.report-total{display:grid;gap:3px}.overview-stats{grid-template-columns:1fr}.overview-stats button+button{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:760px){.order-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.order-tabs button{font-size:11px;padding:7px 5px;min-width:0}}
@media(max-width:760px){.work-tabs:has([data-work-tab="source"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
.snapshot-note{background:#eef6ef;border-color:#c8dfcd;color:#315f40;font-weight:600}
.new-work-panel{margin-top:18px}
.legacy-work-card .card-meta{margin-bottom:8px}
@media(min-width:1151px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
.pickup-panel{margin-top:18px;border-color:#b9d6bd}.pickup-panel .panel-heading{background:#f0f8ef}.pickup-count,.pickup-count b{color:#246d45}.batch-list{display:grid;gap:8px;margin-top:14px}.batch-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;border:1px solid var(--line);border-radius:10px;background:#f8faf6;padding:10px 12px;font-size:12px}.batch-row span{color:var(--muted)}.batch-row .btn{margin-left:auto}
@media(max-width:760px){.line-figures{flex-wrap:wrap;justify-content:flex-start;gap:7px 13px}.pickup-panel .list-row{align-items:flex-start}.pickup-panel .row-main small{white-space:normal}.batch-row{align-items:flex-start}.batch-row strong,.batch-row span{width:100%}.batch-row .btn{margin-left:0}}

/* Keep long AppSheet status labels fully visible in compact dashboard panels. */
.dashboard-grid .source-list-row{align-items:flex-start;gap:8px}
.dashboard-grid .source-list-row .row-main{flex:1 1 0;min-width:0}
.dashboard-grid .source-list-row .row-side{flex:0 1 46%;min-width:0;max-width:46%;padding-top:26px}
.dashboard-grid .source-order-row{flex-wrap:wrap}
.dashboard-grid .source-order-row .row-side{flex:1 1 100%;max-width:none;padding:0;text-align:left}
.dashboard-grid .source-order-row .badge{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.badge.progress{height:auto;overflow:visible;margin-top:0;border-radius:999px}


.fold-body>.order-card>.card-top{display:none}.fold-body>.order-card>.line-list{margin-top:8px}
/* Color planning and partner-only product photographs. */
.paint-product{display:flex;gap:12px;align-items:center;min-width:0}
.paint-thumb{border:1px solid var(--border,#ddd);background:white;padding:2px;border-radius:8px;flex:0 0 64px;width:64px;height:64px;cursor:pointer}
.paint-thumb img{width:100%;height:100%;object-fit:contain}
.paint-photo{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}
.no-photo{font-size:11px;color:#777;display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;background:#f1f2ef;border-radius:8px}
.matrix-wrap{max-width:100%;overflow:auto;background:#fff;border:1px solid #ddd;border-radius:12px}
.needs-matrix{width:100%;border-collapse:collapse;white-space:nowrap}
.needs-matrix caption{padding:12px;text-align:left;color:#666}
.needs-matrix th,.needs-matrix td{padding:12px;border-bottom:1px solid #ddd;text-align:left}
.needs-matrix th:first-child{position:sticky;left:0;background:#f6f7f4;z-index:1}
.needs-matrix thead{background:#f6f7f4}
.fold-body .compact-row{margin:10px 0}
@media(max-width:600px){.paint-product{gap:8px}.paint-thumb,.no-photo{width:48px;height:48px;flex-basis:48px}.fold-body .fold-body{padding:8px}.need-entry{gap:8px}.needs-matrix th,.needs-matrix td{padding:10px}}
/* Work surfaces: stable desktop columns, full-row detail targets, mobile cards. */
.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}.entry-card{padding:22px;border:1px solid var(--line);border-radius:12px;background:white;text-align:left;color:var(--ink)}.entry-card strong{display:block;font-size:19px}.entry-card span{display:block;color:var(--muted);margin-top:8px}
.shop-table{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;max-width:100%}.shop-columns{display:grid;grid-template-columns:minmax(155px,2fr) 95px 90px minmax(140px,1.5fr) 120px minmax(150px,1.5fr);padding:12px 14px;font-size:11px;color:var(--muted);background:#f1f5ee;gap:10px}.shop-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1.5fr);grid-template-columns:minmax(0,calc(100% - 205px)) 195px;border-top:1px solid var(--line);padding:10px 14px;gap:10px;align-items:center}.shop-detail-button{display:grid;grid-template-columns:minmax(145px,2fr) 95px 90px minmax(125px,1.5fr) 120px;gap:10px;align-items:center;text-align:left;background:transparent;border:0;padding:4px 0;min-height:56px;color:var(--ink);min-width:0;width:100%}.shop-cell{min-width:0;overflow-wrap:anywhere}.shop-cell small,.shop-cell strong{display:block}.shop-cell small{font-size:11px;color:var(--muted);margin-top:4px}.shop-cell.detail strong{font-size:14px}.shop-cell .sku{font-size:10px;color:#8c958c}.inline-work-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.inline-work-actions .btn{min-height:48px;padding:8px 10px;font-size:12px}.mini-progress{min-width:0;font-size:11px;line-height:1.4}.mini-progress span{display:block;margin-bottom:5px}.mini-progress progress{display:block;width:100%;height:8px;accent-color:var(--green)}.urgency{display:inline-block;font-size:10px;font-weight:700;border-radius:5px;padding:3px 5px;margin:4px 3px 0 0}.urgency.overdue{background:#fbe5e1;color:#9c3f30}.urgency.urgent,.urgency.today{background:#fff1d7;color:#835017}.color-section{margin:16px 0 24px}.color-heading{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:10px}.color-heading h2{font-size:18px;margin:0}.color-heading span{font-size:12px;color:var(--muted)}.partner-photo-label{display:flex;gap:12px;align-items:center;margin:12px 0 8px}.week-panel .plan-content{padding:0 16px 16px}.plan-colors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.plan-content label{font-size:12px;display:flex;gap:10px;align-items:center}.plan-content input{padding:7px;max-width:180px}.work-issue{border-left:3px solid #c46548;padding:10px 12px;background:#fff2e9;margin:10px 0}.work-issue p{margin:6px 0}.work-issue.resolved{border-color:var(--green);background:#eff5ec}.technical-details{font-size:11px;color:var(--muted);margin-top:16px}.technical-details summary{min-height:44px;padding:12px;cursor:pointer}.history-section{border:1px solid var(--line);border-radius:12px;background:white;padding:14px;margin-top:24px}.history-section>summary{min-height:48px;cursor:pointer;font-weight:700}.order-production-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.order-production-actions .btn,.quantity-shortcuts .btn{min-height:48px}.quantity-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.login-entries{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.login-entries a{padding:12px;border:1px solid var(--line);border-radius:8px;font-size:12px}.history-notice{font-size:12px}.shop-table .work-card{border:0}
@media(max-width:1250px){.shop-columns{display:none}.shop-row{grid-template-columns:minmax(0,1fr)}.shop-detail-button{grid-template-columns:minmax(150px,2fr) 80px 80px minmax(120px,1.5fr) 115px}.inline-work-actions{justify-content:flex-start}}
@media(max-width:760px){.entry-grid{grid-template-columns:1fr;gap:8px}.entry-card{padding:16px}.entry-card strong{font-size:17px}.shop-row{padding:14px}.shop-detail-button{grid-template-columns:minmax(0,1fr) 90px;gap:10px;min-height:60px}.shop-cell.detail{grid-column:1/-1}.shop-cell.completion{grid-column:1/-1}.shop-cell.deadline{grid-column:1/-1}.shop-cell.amount{text-align:right}.inline-work-actions .btn{min-height:50px;flex:1}.plan-content label{flex-wrap:wrap}.color-heading{display:block}.color-heading h2{margin-bottom:6px}.work-tabs{flex-wrap:wrap}.mini-progress{font-size:12px}.shop-detail-button:hover{background:#f8faf5}}
.modal .shop-columns{display:none}.modal .shop-row{grid-template-columns:minmax(0,1fr)}.modal .shop-detail-button{grid-template-columns:minmax(140px,1.5fr) 70px 70px minmax(100px,1fr) 100px}
@media(max-width:760px){.modal .shop-detail-button{grid-template-columns:minmax(0,1fr) 90px}}
/* Auth setup uses the same responsive card as login. Never truncate recovery material. */
.mfa-secret {overflow-wrap:anywhere;user-select:all}
.mfa-codes {white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:14px;user-select:all}
