:root{color-scheme:light;--ink:#172a32;--muted:#6b7982;--line:#e3e9ed;--canvas:#f4f6f8;--dark:#112b2a;--green:#147746;--mint:#90f0b8;--red:#b9463b;--blue:#356998;--amber:#a06a12;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #348fe4;outline-offset:3px}button{border:0}button,a{touch-action:manipulation}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.04em;font-weight:650}h2{font-size:1.5rem;letter-spacing:-.025em}h3{font-size:1.125rem}small{font-size:.8125rem}.muted{color:var(--muted)}.loading{padding:80px;text-align:center}.brand{display:flex;align-items:center;gap:12px;font-size:1.4rem;font-weight:650;letter-spacing:-.025em}.brand img{width:38px;height:38px}.brand small{display:block;font-size:.75rem;font-weight:500;letter-spacing:.14em;opacity:.55}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 17px;border-radius:9px;background:white;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.875rem}.btn:hover{background:#eef3f4}.btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.btn.primary:hover{background:#1f4440}.btn.green{background:var(--green);color:#fff;border-color:var(--green)}.btn.green:hover{background:#0c6137}.btn.soft{background:#e9f6ee;border-color:#e9f6ee;color:var(--green)}.btn.danger{color:var(--red)}.icon-btn{height:42px;width:42px;border-radius:8px;background:transparent;display:grid;place-items:center;color:var(--muted)}.icon-btn:hover{background:#edf1f3}.text-btn{background:none;color:var(--muted);padding:10px 0;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;min-height:44px}.flex{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;border-radius:6px;padding:5px 9px;white-space:nowrap}.pill.pending{background:#edf1f4;color:#687a86}.pill.working{background:#eaf2fc;color:var(--blue)}.pill.done{background:#e8f6ed;color:var(--green)}.pill.blocked{background:#fff0ed;color:var(--red)}.pill.urgent{color:#b3700c;background:#fff5de}.connection{font-size:.8125rem;color:var(--muted);display:flex;align-items:center;gap:8px}.connection::before{content:"";width:7px;height:7px;border-radius:50%;background:#27986a}.connection.offline{color:var(--red)}.connection.offline::before{background:var(--red)}.demo-bar{background:#fff4d9;color:#7a591b;padding:8px 24px;font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-bar button{color:#7a591b;text-decoration:underline;background:none;font-size:.8125rem;min-height:28px}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:var(--dark);color:#fff;padding:29px 20px;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px 35px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:8px;background:transparent;color:#b3c5c2;text-align:left;font-size:.875rem;font-weight:550;min-height:46px}.nav-item.active{background:#25433e;color:var(--mint)}.nav-item:hover{background:#203c37}.nav-item .count{margin-left:auto;font-size:.75rem;background:#314c46;border-radius:5px;min-width:24px;text-align:center;padding:2px 5px}.nav-label{color:#849e97;font-size:.6875rem;letter-spacing:.12em;padding:28px 14px 10px;font-weight:600}.shop-nav{padding:9px 14px;font-weight:400}.shop-nav .count{background:none;color:#9eb5ae}.sidebar-bottom{margin-top:auto;border-top:1px solid #2b4741;padding-top:18px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#314e47;color:var(--mint);font-size:.875rem;font-weight:600;flex-shrink:0}.user-name{font-size:.8125rem;font-weight:600}.user-role{color:#98b0a7;font-size:.75rem}.workspace{margin-left:228px;min-height:100vh}.topbar{height:72px;padding:0 38px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between}.crumb{font-size:.875rem;color:var(--muted)}.crumb strong{color:var(--ink);font-weight:500}.date-label{font-size:.8125rem;color:var(--muted)}.content{padding:32px 38px 48px;max-width:1700px;margin:0 auto}.page-heading{margin-bottom:25px}.page-heading p{margin-top:7px;font-size:.875rem;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:27px}.stat{background:white;border:1px solid var(--line);border-radius:11px;padding:19px 20px;text-align:left;color:var(--ink);position:relative;transition:border-color .15s}.stat:hover{border-color:#9ab4a8}.stat-label{font-size:.8125rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}.stat .stat-number{display:block;font-size:2rem;letter-spacing:-.05em;margin-top:8px;font-weight:600}.stat .stat-note{font-size:.75rem;color:var(--muted)}.stat.alert .stat-number{color:var(--red)}.stat.good .stat-number{color:var(--green)}.orders-panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.toolbar{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{padding:9px 12px;background:none;border-radius:7px;color:var(--muted);font-size:.8125rem;min-height:40px}.tab.active{background:#eaf3ed;color:var(--green);font-weight:600}.tab .tab-count{margin-left:6px;font-size:.75rem;opacity:.75}.search-wrap{position:relative;min-width:230px}.search-wrap .icon{position:absolute;left:12px;top:12px;color:#8d9aa1}.search-wrap input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px 10px 38px;background:#fafbfc;color:var(--ink);font-size:.8125rem;height:43px}.filters{display:flex;align-items:center;gap:9px;padding:0 20px 16px;flex-wrap:wrap}.filters select{font-size:.8125rem;padding:7px 30px 7px 10px;min-height:38px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);max-width:100%}.filter-tag{background:#fff0ed;color:var(--red);border-radius:6px;font-size:.8125rem;min-height:38px;padding:7px 11px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-weight:500;font-size:.75rem;letter-spacing:.02em;color:var(--muted);padding:12px 20px;border-block:1px solid var(--line);background:#fafbfc;white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #eef1f3;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfc}.order-number{background:transparent;padding:0;color:var(--ink);font-weight:650;font-size:.9375rem;white-space:nowrap;min-height:28px}.order-number:hover{text-decoration:underline}.order-customer{color:var(--muted);font-size:.8125rem;margin-top:3px;max-width:220px;overflow-wrap:anywhere}.owner-cell{font-size:.8125rem;color:var(--muted)}.due-cell{white-space:nowrap;font-size:.8125rem}.due-cell.overdue{color:var(--red)}.due-sub{display:block;font-size:.75rem;margin-top:2px;color:var(--muted)}.due-cell.overdue .due-sub{color:var(--red)}.stage-strip{display:flex;gap:4px}.stage-token{font-size:.75rem;display:grid;place-items:center;min-width:29px;height:29px;border-radius:6px;font-weight:550;color:#8b979e;border:1px solid #e9edf0;background:#fafbfc}.stage-token.done{background:#e6f5eb;color:var(--green);border-color:#c6e5cf}.stage-token.working{background:#e9f1fc;color:var(--blue);border-color:#d0e0f6}.stage-token.blocked{background:#fff0ed;color:var(--red);border-color:#f0c9c3}.stage-token.skipped{color:#c4cdd1;background:white;border-color:#f1f3f5}.progress-wrap{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem;min-width:96px}progress{appearance:none;width:68px;height:5px;border:0;border-radius:3px;overflow:hidden;background:#eaf0ec}progress::-webkit-progress-bar{background:#eaf0ec}progress::-webkit-progress-value{background:#2c9a62}progress::-moz-progress-bar{background:#2c9a62}.panel-footer{padding:14px 20px;background:#fcfdfd;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;display:flex;align-items:center;justify-content:space-between;gap:12px}.legend{display:flex;gap:14px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:2px;background:#dce5e9}.legend i.green{background:#74be92}.legend i.blue{background:#8eb0e4}.legend i.red{background:#d59288}.empty{padding:55px 24px;text-align:center}.empty h3{margin:12px 0 7px}.empty p{color:var(--muted);font-size:.875rem}.empty .icon{width:36px;height:36px;color:#8eb2a0}.offline-banner{background:#fff0ed;color:var(--red);padding:12px 20px;font-size:.875rem}.cards{display:none}.worker-shell{max-width:650px;margin:0 auto;padding:0 20px 90px}.worker-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0}.worker-top .brand{font-size:1.15rem}.worker-top .brand img{width:32px;height:32px}.worker-heading{padding:18px 0 24px}.worker-heading h1{font-size:2rem}.worker-heading p{color:var(--muted);margin-top:6px;font-size:.9375rem}.worker-controls{display:grid;gap:15px;margin-bottom:22px}.worker-controls .tabs{background:#e8edef;padding:4px;border-radius:9px;display:flex}.worker-controls .tab{flex:1;padding:10px}.worker-controls .tab.active{background:white;box-shadow:0 1px 3px #172a3210}.worker-controls .search-wrap{width:100%;min-width:0}.worker-controls input{height:48px;font-size:.9375rem;background:white}.task-card{background:white;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:14px}.task-card.late{border-left:4px solid #d3795f}.task-card .order-number{font-size:1.375rem;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.task-card .order-customer{font-size:.9375rem;max-width:none;margin-top:6px}.task-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:17px 0;font-size:.875rem;color:var(--muted)}.task-card .task-notes{background:#f5f7f8;border-radius:8px;padding:12px;font-size:.875rem;margin-bottom:17px;overflow-wrap:anywhere;white-space:pre-wrap}.task-card .problem-note{color:var(--red);background:#fff0ed;border-radius:8px;padding:12px;margin-bottom:17px;font-size:.875rem;overflow-wrap:anywhere;white-space:pre-wrap}.task-actions{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.task-actions .btn{min-height:56px;font-size:1rem}.task-actions .text-btn{color:var(--muted);font-size:.875rem}.worker-bottom{margin-top:28px;font-size:.8125rem;color:var(--muted);text-align:center}.worker-shell .demo-bar{margin:0 -20px}.mobile-card{padding:18px;border-bottom:1px solid var(--line)}.mobile-card .stage-strip{margin:14px 0 12px}.mobile-card .order-customer{max-width:none}.mobile-card .order-number{font-size:1.125rem}.mobile-card .due-cell{white-space:normal}.mobile-top-brand{display:none}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--dark);color:white;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login-brand h1{font-size:3rem;font-weight:500;max-width:500px;line-height:1.12;letter-spacing:-.05em}.login-brand p{color:#a8c3b6;max-width:420px;margin-top:22px}.login-mark{color:#7ea994;font-size:.8125rem}.login-content{display:grid;place-items:center;padding:48px 24px}.login-form{width:100%;max-width:360px}.login-form h2{margin-bottom:8px}.login-form>p{color:var(--muted);font-size:.9375rem;margin-bottom:30px}.field{display:grid;gap:7px;margin-bottom:18px;font-size:.875rem;font-weight:500}.field input,.field select,.field textarea{border:1px solid #d6dfe4;border-radius:8px;background:white;padding:11px 12px;min-height:46px;width:100%;color:var(--ink);font-weight:400}.field textarea{resize:vertical;min-height:88px}.field input:focus,.field textarea:focus{border-color:#6eac8b}.field .hint{color:var(--muted);font-size:.8125rem;font-weight:400}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.login-form .btn{width:100%;min-height:48px;font-size:.9375rem}.form-error{color:var(--red);font-size:.875rem;margin-bottom:15px;min-height:20px}.demo-login{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.demo-login p{font-size:.8125rem;color:var(--muted);margin-bottom:12px}.demo-login .btn{margin-bottom:10px;font-size:.875rem}.login-foot{font-size:.75rem;color:var(--muted);margin-top:28px;text-align:center}dialog{border:1px solid var(--line);border-radius:15px;padding:0;width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 30px);color:var(--ink);box-shadow:0 24px 100px #112b2a30}dialog::backdrop{background:#0b222a65;backdrop-filter:blur(2px)}.dialog-head{padding:23px 26px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:1.375rem}.dialog-body{padding:24px 26px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px;border-top:1px solid var(--line);background:#fafcfc}.dialog-footer .btn{min-height:46px}.shop-checkboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.shop-check{position:relative}.shop-check input{position:absolute;opacity:0;width:1px;height:1px}.shop-check span{display:flex;align-items:center;justify-content:center;padding:12px 5px;border:1px solid var(--line);border-radius:8px;font-size:.875rem;cursor:pointer}.shop-check input:checked+span{background:#eaf6ee;color:var(--green);border-color:#5fa57d}.shop-check input:focus-visible+span{outline:3px solid #348fe4}.checkbox-line{display:flex;gap:10px;align-items:center;font-size:.875rem;min-height:40px}.checkbox-line input{width:18px;height:18px;accent-color:var(--green)}.detail-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(560px,100%);border-radius:15px 0 0 15px}.detail-hero{padding:24px 26px;border-bottom:1px solid var(--line)}.detail-hero h2{font-size:1.8rem;overflow-wrap:anywhere}.detail-hero .customer{color:var(--muted);font-size:1rem;margin:5px 0 15px;overflow-wrap:anywhere}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;font-size:.875rem}.detail-info dt{font-size:.75rem;color:var(--muted);margin-bottom:4px}.detail-info dd{margin:0}.detail-section{padding:24px 26px;border-bottom:1px solid var(--line)}.detail-section h3{margin-bottom:18px}.detail-task{padding:14px 0;border-bottom:1px solid #eef1f3}.detail-task:last-child{border-bottom:0;padding-bottom:0}.detail-task .between{gap:10px}.detail-task .btn{font-size:.8125rem;padding:7px 10px}.detail-note{font-size:.875rem;margin-top:10px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.detail-note.problem{color:var(--red)}.timeline{display:grid;gap:20px}.event{display:flex;gap:12px;font-size:.8125rem}.event-icon{height:28px;width:28px;background:#edf5f0;color:var(--green);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.event-icon .icon{width:14px;height:14px}.event time{color:var(--muted);font-size:.75rem}.event .detail-note{margin-top:4px}.detail-actions{padding:20px 26px;display:flex;gap:10px;flex-wrap:wrap}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;border-radius:10px;padding:13px 18px;box-shadow:0 8px 30px #112b2a30;z-index:100;width:max-content;max-width:calc(100% - 32px);display:none;font-size:.875rem}#toast.visible{display:flex;align-items:center;gap:20px}#toast button{background:none;color:var(--mint);font-weight:600;padding:5px;min-height:30px}.install-button{font-size:.8125rem;padding:8px 13px}
fieldset.field{min-width:0;border:0;padding:0;margin-inline:0}fieldset.field legend{padding:0}
@media(min-width:1450px){td{padding-block:21px}.content{padding-top:40px}}
@media(max-width:1150px){.sidebar{width:196px;padding-inline:12px}.workspace{margin-left:196px}.content{padding:28px 24px}.topbar{padding-inline:24px}.stats{gap:10px}.stat{padding:16px}.stage-token{min-width:26px}td,th{padding-inline:14px}.owner-column{display:none}.toolbar{gap:12px}.tabs{gap:0}.tab{padding-inline:9px}.search-wrap{min-width:200px}}
@media(max-width:850px){.sidebar{display:none}.workspace{margin:0}.topbar{padding-inline:20px;height:64px}.crumb{display:none}.mobile-top-brand{display:flex}.mobile-top-brand img{width:30px;height:30px}.mobile-top-brand .brand{font-size:1.1rem}.date-label{display:none}.content{padding:24px 20px}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.75rem}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.stat{padding:15px}.stat .stat-number{font-size:1.75rem}.table-scroll{display:none}.cards{display:block}.toolbar{padding:15px;flex-direction:column;align-items:stretch}.toolbar .tabs{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.toolbar .tab{flex:1}.filters{padding-inline:15px}.search-wrap{min-width:0}.panel-footer{padding:14px 15px}.legend{display:none}.login{grid-template-columns:1fr}.login-brand{padding:24px;min-height:auto}.login-brand h1,.login-brand p,.login-mark{display:none}.login-content{padding:38px 24px}.login-form{max-width:390px}.demo-bar{padding-inline:20px}.connection{font-size:.75rem}.page-heading .btn{padding:10px 13px;font-size:.8125rem}.page-heading .btn .icon{width:16px}.worker-shell .demo-bar{font-size:.75rem}}
@media(max-width:420px){.content{padding:22px 14px}.page-heading{gap:10px}.page-heading h1{font-size:1.6rem}.page-heading p{font-size:.8125rem}.stat-label{font-size:.75rem}.stat-label .icon{display:none}.worker-shell{padding-inline:16px}.worker-shell .demo-bar{margin-inline:-16px}.worker-top{padding-top:18px}.task-card{padding:17px}.task-actions{grid-template-columns:1fr}.task-actions .text-btn{padding:0;min-height:35px}.field-grid{gap:10px}.shop-checkboxes{grid-template-columns:repeat(2,1fr)}.dialog-head,.dialog-body,.dialog-footer{padding-inline:18px}.detail-section,.detail-hero,.detail-actions{padding-inline:20px}.demo-bar{align-items:flex-start}.demo-bar button{flex-shrink:0}.connection{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Dense order board and touch-friendly two-column work tiles. */
.sidebar{width:198px;padding:18px 12px}.sidebar .brand{padding:0 10px 20px}.nav-item{min-height:38px;padding:8px 10px}.shop-nav{min-height:34px}.nav-label{padding:18px 10px 7px;font-size:10px}.workspace{margin-left:198px}.topbar{height:48px;padding:0 22px}.content{padding:16px 22px}.page-heading{margin-bottom:14px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px;margin-top:2px}.stats{gap:10px;margin-bottom:14px}.stat{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;min-height:62px}.stat-label{font-size:13px}.stat .stat-number{font-size:28px;line-height:1;margin:0}.toolbar{padding:9px 12px;gap:10px}.tab{padding:8px 10px;min-height:38px;font-size:12px}.search-wrap{min-height:38px;min-width:210px}.search-wrap input{padding:9px 8px;font-size:13px}.filters{padding:6px 12px;gap:8px}.filters select{padding:6px 9px;font-size:12px;min-height:32px}.filter-tag{font-size:12px;padding:5px 9px;background:#f1f3f5;border-radius:5px;min-height:30px}.filter-tag.selected{background:#ffede9;color:var(--red)}
td,th{padding:6px 12px}th{font-size:11px}td{font-size:12px;height:48px}.order-number{font-size:14px;line-height:1.2;padding:2px 0;max-width:100%;overflow-wrap:anywhere}.order-customer{font-size:12px;margin-top:2px;max-width:230px;line-height:1.3;overflow-wrap:anywhere}.stage-strip{display:inline-flex;gap:3px}.stage-token{min-width:24px;height:24px;font-size:10px;padding:3px 4px}.stage-count{font-size:11px;color:var(--muted);margin-left:6px}.pill{font-size:11px;padding:4px 6px;gap:4px}.pill .icon{width:14px;height:14px}.pill.partial{background:#fff2d9;color:#946416}.pill.shipped{background:#dff0e8;color:#166345}.due-cell{font-size:12px}.due-sub{font-size:10px;margin-top:1px}.panel-footer{padding:8px 12px;font-size:11px}.table-scroll td:last-child{padding:0 5px}.table-scroll .icon-btn{width:32px;height:32px}.route-tag{font-size:11px;color:#5d6a84;background:#eef0f7;border-radius:4px;padding:3px 5px;white-space:nowrap}.urgent-dot{display:inline-grid;place-items:center;font-weight:700;font-size:11px;width:18px;height:18px;background:#ffedc6;color:#a16609;border-radius:4px;margin-left:5px;vertical-align:middle}.shipped-text{color:var(--green);font-size:12px}.partial-text{color:#946416;font-weight:600;font-size:12px}.demo-bar{padding:3px 16px;font-size:11px}.demo-roles{display:flex;gap:14px}.demo-bar button{font-size:12px}.demo-bar button:disabled{font-weight:700;text-decoration:none;opacity:1;cursor:default}
.worker-shell,.warehouse-shell{max-width:840px;margin:auto;padding:0 12px 18px}.warehouse-shell{max-width:1200px}.worker-shell .demo-bar,.warehouse-shell .demo-bar{margin-inline:-12px}.worker-top{padding:10px 0;min-height:60px}.worker-top .brand img{width:30px;height:30px}.worker-top .brand{font-size:20px;gap:8px}.worker-top .brand small{font-size:9px}.worker-heading{margin:8px 0 12px}.worker-heading h1{font-size:24px}.worker-heading p{font-size:12px;margin-top:2px}.worker-controls{gap:8px;margin-bottom:12px}.worker-controls .search-wrap{width:100%}.worker-controls .tabs{gap:2px}.worker-bottom{padding:16px 0 4px;font-size:11px}.worker-bottom p{margin-top:3px}.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.task-card{padding:11px;margin:0;border-radius:10px;display:flex;flex-direction:column;min-width:0}.tile-head{display:flex;align-items:flex-start;gap:4px}.tile-head .order-number{font-size:17px;font-weight:700}.task-card .order-customer{font-size:12px;margin:4px 0 0;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0;font-size:11px}.tile-meta .pill{white-space:normal;line-height:1.2}.task-notes,.problem-note{font-size:11px;line-height:1.4;padding:7px;margin:0 0 8px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-actions{display:flex;flex-direction:column;margin-top:auto;gap:0;padding-top:4px}.tile-actions .btn{width:100%;padding:10px 4px;min-height:44px;font-size:13px}.tile-actions .text-btn{font-size:11px;min-height:40px;padding:5px 0}.tile-actions>.muted{font-size:11px}.warehouse-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tile-goods{font-size:11px;line-height:1.4;margin:0 0 8px}.tile-goods>div{display:flex;gap:7px;justify-content:space-between;border-bottom:1px solid var(--line);padding:5px 0}.tile-goods span{overflow-wrap:anywhere;min-width:0}.tile-goods strong{white-space:nowrap;font-size:11px}.tile-goods small{font-size:10px;color:var(--muted)}.partial-card{border-color:#e6c684}.warehouse-grid .tile-head{display:block}.warehouse-grid .order-customer{margin-top:4px}
.route-choice{display:flex;flex-wrap:wrap;gap:8px}.route-choice label{background:#f0f4f3;border-radius:8px;padding:10px 12px;font-size:13px;display:flex;align-items:center;gap:6px;min-height:44px}.items-editor{display:grid;gap:8px}.item-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 65px 36px;align-items:center;gap:6px}.item-editor-row input{width:100%;min-width:0;padding:10px 7px;border:1px solid var(--line);border-radius:6px;font-size:13px;min-height:44px}.item-editor-row .icon-btn{width:36px;height:44px}.dialog-body .hint{display:block;margin-top:5px}.dialog-body fieldset[hidden]{display:none}.goods-table{font-size:13px}.goods-row{display:grid;grid-template-columns:minmax(0,1fr) 54px 54px 60px;gap:7px;padding:8px 0;border-bottom:1px solid var(--line);align-items:center}.goods-row>span:first-child{overflow-wrap:anywhere}.goods-row small{display:block;font-size:10px;color:var(--muted)}.goods-row>span:not(:first-child),.goods-row>strong{text-align:right}.goods-head{font-size:11px;color:var(--muted)}.shipping-lines{margin:12px 0 0}.shipping-line{display:grid;grid-template-columns:minmax(0,1fr) 85px 45px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.shipping-line small{display:block;color:var(--muted);font-size:11px}.shipping-line input{width:100%;padding:10px 8px;border:1px solid var(--line);border-radius:6px;min-height:44px}.shipment-history{margin-top:16px}.shipment-entry{border-top:1px solid var(--line);padding:10px 0;font-size:12px}.shipment-entry .between{gap:8px;font-size:11px;flex-wrap:wrap}.shipment-entry p{margin-top:5px;color:var(--muted);overflow-wrap:anywhere}.shipment-entry.cancelled{opacity:.6}.detail-hero{padding-top:16px;padding-bottom:16px}.detail-info{margin-top:16px}.detail-section{padding-block:16px}.detail-task{padding:10px 0}.timeline{gap:12px}.dialog-head,.dialog-footer{padding-block:12px}.dialog-body{padding-block:16px}.dialog-body .field{margin-bottom:14px}
@media(min-width:1450px){td{padding-block:6px}.content{padding-top:16px}}
@media(max-width:1150px){.toolbar{flex-wrap:wrap}.toolbar .search-wrap{flex:1}.warehouse-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.workspace{margin:0}.sidebar{display:none}.topbar{height:48px;padding:0 12px}.content{padding:12px}.page-heading{margin-bottom:10px;align-items:center}.page-heading h1{font-size:22px}.page-heading p{font-size:10px}.page-heading .btn{min-height:40px;padding:8px 10px;font-size:11px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.stat{display:block;padding:8px;min-height:64px}.stat-label{font-size:10px;line-height:1.2}.stat .stat-number{font-size:23px;margin-top:4px}.toolbar{padding:7px;gap:6px;flex-wrap:nowrap}.toolbar .tabs{overflow:auto}.tab{font-size:10px;padding:7px;min-height:36px}.tab-count{font-size:9px;min-width:15px;margin-left:3px}.filters{padding:5px 7px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.mobile-card{padding:10px;margin:0;border:1px solid var(--line);border-radius:8px;min-width:0}.mobile-card>.pill{margin:6px 0;max-width:100%;white-space:normal}.mobile-card .between{gap:5px;font-size:11px;margin-top:6px}.mobile-card .stage-strip{gap:2px;flex-wrap:wrap}.mobile-card .stage-token{min-width:21px;height:21px;font-size:9px}.mobile-card .order-customer{font-size:11px}.mobile-card .order-number{font-size:15px}.panel-footer{font-size:10px}.warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.worker-shell,.warehouse-shell{padding-inline:10px}.worker-shell .demo-bar,.warehouse-shell .demo-bar{margin-inline:-10px}.worker-heading{margin-top:5px}.worker-controls .tab{font-size:11px;padding:7px 8px;min-height:40px}.worker-controls .tabs{overflow:auto;white-space:nowrap}.task-card{padding:10px}.connection{font-size:10px}.worker-top .flex{gap:3px}.goods-row{grid-template-columns:minmax(0,1fr) 45px 45px 52px;gap:5px;font-size:12px}.item-editor-row{grid-template-columns:minmax(0,1fr) 60px 50px 30px;gap:4px}.item-editor-row .icon-btn{width:30px}.dialog-head,.dialog-body,.dialog-footer{padding-inline:14px}.detail-section,.detail-hero,.detail-actions{padding-inline:16px}.demo-bar{align-items:center;padding-inline:10px}.demo-roles{gap:10px}.demo-bar button{font-size:11px}}
@media(max-width:359px){.tile-grid,.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.item-editor-row{grid-template-columns:minmax(0,1fr) 60px 45px 28px}}
.search-wrap input{padding-left:34px}.search-wrap .icon{top:11px;width:16px;height:16px}.worker-heading{padding:0}.worker-bottom{margin-top:8px}.task-card .task-notes,.task-card .problem-note{padding:7px;margin-bottom:8px;font-size:11px}.mobile-card .stage-strip{margin:5px 0}.table-scroll .order-number{min-height:18px}.table-scroll td:first-child{position:relative;padding-right:25px}.table-scroll .urgent-dot{position:absolute;right:5px;top:9px}.worker-controls input{height:40px;font-size:13px}.worker-controls .tabs{flex-wrap:nowrap}.tile-meta .due-cell{font-size:11px}
@media(min-width:851px){.stats .stat{min-height:46px;padding:7px 12px}.stats .stat-number{font-size:24px}.page-heading{margin-bottom:8px}.page-heading p{display:none}.stats{margin-bottom:8px}.content{padding:12px 18px}.toolbar{padding:6px 10px}.toolbar .search-wrap{max-width:240px}.filters{padding:4px 10px}.topbar{height:42px}.page-heading .btn{min-height:38px;padding:7px 12px}}
.admin-shell{max-width:1200px;margin:auto;padding:0 18px 24px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;margin-bottom:14px}.admin-shell .page-heading p{display:block;font-size:12px;overflow-wrap:anywhere}.admin-top .brand{font-size:22px}.admin-top .brand img{width:32px;height:32px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-panel .btn{min-height:34px;padding:6px 10px;font-size:12px}.admin-panel .text-btn{font-size:11px;margin-left:10px;min-height:34px}.admin-loading{padding:16px}.admin-user-cards{display:none}.user-login{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:4px 0 10px}.admin-dialog{width:min(760px,calc(100% - 24px))}.field[hidden]{display:none}.field select,.correction-task select,.correction-task>div>input{border:1px solid var(--line);border-radius:7px;padding:10px;width:100%;min-width:0;background:white;color:var(--ink);font-size:13px;min-height:44px}.correction-task{border-bottom:1px solid var(--line);padding:10px 0}.correction-task .field{margin:0}.correction-task .field-grid{gap:8px;margin:4px 0}.correction-task .field input{font-size:12px}.audit-list{padding:0 14px}.audit-card{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-card>p{color:var(--muted);margin:4px 0}.audit-card time{color:var(--muted);font-size:11px;white-space:nowrap}.audit-card details{margin-top:8px}.audit-card summary,.password-details summary{cursor:pointer;color:var(--green);min-height:34px;padding:7px 0}.audit-snapshots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.audit-snapshots section{padding:12px;background:#f5f7f8;border-radius:8px;min-width:0}.audit-snapshots h4{margin:0 0 10px}.audit-snapshots dl{margin:0;font-size:12px}.audit-snapshots dt{color:var(--muted);font-size:10px;margin-top:6px}.audit-snapshots dd{margin:1px 0;overflow-wrap:anywhere}.security-state{font-size:13px;margin:15px 0}.qr-block{display:flex;justify-content:center;margin:14px 0}.qr-block svg{width:210px;height:210px;background:white;max-width:100%}.setup-key{font-family:monospace;font-size:12px!important}.password-details{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.password-details form{margin-top:12px}.recovery-box{font-size:13px}.recovery-box p{margin:10px 0}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.recovery-codes code{font-size:11px;background:#f1f4f2;padding:8px;border-radius:5px}.mfa-login{display:block}.mfa-login .login-content{min-height:100vh}.mfa-login .brand{margin-bottom:26px}.demo-roles{flex-wrap:wrap}
@media(max-width:850px){.admin-shell{padding:0 10px 20px}.admin-top{flex-wrap:wrap;padding:10px 0;gap:8px;margin-bottom:8px}.admin-top .flex{gap:5px}.admin-top .btn{font-size:11px;padding:7px;min-height:40px}.admin-shell .page-heading{flex-wrap:wrap}.admin-shell .page-heading h1{font-size:22px}.admin-toolbar{gap:8px;flex-wrap:wrap}.admin-toolbar .search-wrap{width:100%}.admin-user-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.admin-user-cards p{font-size:11px;margin-top:4px}.admin-user-cards .flex{flex-wrap:wrap;gap:4px}.admin-user-cards .text-btn{margin:0}.audit-snapshots{grid-template-columns:1fr}.audit-card .between{align-items:flex-start;gap:6px}.correction-task .field-grid{grid-template-columns:1fr 1fr}.correction-task .field-grid:last-child{grid-template-columns:1fr}.sidebar-bottom .nav-item{font-size:12px}.recovery-codes{grid-template-columns:1fr}.demo-roles{gap:8px}}
@media(max-width:359px){.admin-user-cards{grid-template-columns:1fr}}
@media(max-width:850px){.topbar .connection{display:none}.topbar>.flex{gap:4px}.topbar .icon-btn{width:32px;height:38px}.topbar .mobile-top-brand.btn{font-size:10px;padding:7px;min-height:36px}.mobile-top-brand .brand{gap:5px}.mobile-top-brand .brand small{font-size:8px}.admin-panel .table-scroll{display:none}}
.bulk-shell{padding:12px 16px 16px;max-width:1800px;margin:auto}.bulk-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.bulk-top .brand{font-size:22px}.bulk-top .brand img{width:32px;height:32px}.bulk-top .btn,.bulk-tools .btn{min-height:34px;padding:6px 10px;font-size:12px}.bulk-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bulk-heading h1{font-size:24px;margin:0}.bulk-heading p{font-size:11px;color:var(--muted);margin-top:4px}.bulk-heading .tabs{white-space:nowrap}.bulk-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bulk-tools .flex{gap:6px;flex-wrap:wrap}.bulk-tools select,.bulk-tools input{border:1px solid var(--line);background:white;border-radius:6px;font-size:12px;padding:7px 9px;min-height:34px;max-width:200px}.bulk-help{font-size:11px;color:var(--muted);margin:0 0 8px}.bulk-message{font-size:12px;color:#a33829;margin-bottom:8px;overflow-wrap:anywhere}.bulk-message:empty{display:none}.bulk-message.is-success{color:#166345;background:#e7f3ec;border:1px solid #c5e2d2;padding:8px 10px;border-radius:6px}.bulk-scroll{border:1px solid var(--line);border-radius:8px;background:white;overflow:auto;max-height:calc(100dvh - 235px);min-height:100px;overscroll-behavior:contain}.bulk-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;min-width:1100px;font-size:12px}.bulk-table.new-orders{min-width:1250px}.bulk-table th{position:sticky;top:0;z-index:3;padding:7px 4px;background:#edf3ef;border-bottom:1px solid #d5e1da;color:#314d40;font-size:11px;text-align:left;height:34px;white-space:normal}.bulk-table .bulk-rownum{width:32px;text-align:center;color:#83928a;font-size:10px}.bulk-table .bulk-remove{width:28px}.bulk-table .col-number{width:85px}.bulk-table .col-customer{width:170px}.bulk-table .col-owner{width:120px}.bulk-table .col-shop{width:90px}.bulk-table .col-note{width:170px}.bulk-table .col-received,.bulk-table .col-due{width:110px}.bulk-table .col-route{width:116px}.bulk-table td{padding:0!important;border-right:1px solid #eef1ef;border-bottom:1px solid #e8eeeb;position:static!important;height:32px;background:white}.bulk-table tbody tr:nth-child(even) td{background:#f9fbfa}.bulk-table .bulk-rownum{background:#f0f4f2}.bulk-cell{width:100%;min-width:0;height:32px;border:0;border-radius:0;padding:5px 6px;color:var(--ink);background:transparent;font:inherit;outline-offset:-2px}.bulk-cell:focus{outline:2px solid #368061;background:#fffceb}.bulk-cell.identity{font-size:11px;text-overflow:ellipsis}.bulk-cell:disabled{color:#b1bbb5;background:#f4f7f5;opacity:1}.bulk-cell.done{color:#176748;background:#e3f1e9}.bulk-cell.working{color:#356694;background:#e7eff8}.bulk-cell.blocked{color:#a33d35;background:#fbeae6}.bulk-cell.pending{color:#7b7057;background:#f6f1e4}.bulk-table .draft-row td.bulk-rownum{color:#166345;background:#dceee2;font-weight:700}.bulk-delete{display:block;width:26px;height:30px;border:0;background:transparent;color:#88958e;font-size:20px;cursor:pointer}.bulk-delete:hover{color:#a33829;background:#ffece5}.bulk-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;font-size:11px;color:var(--muted)}.bulk-footer strong{font-size:12px;color:var(--ink)}.bulk-footer .btn{min-height:36px;padding:7px 12px;font-size:12px}.bulk-empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}.bulk-dialog{width:min(880px,calc(100% - 24px))}.bulk-review{overflow:auto;max-height:45dvh;margin-top:12px;border:1px solid var(--line);border-radius:6px}.bulk-review table{width:100%;font-size:12px}.bulk-review td{white-space:normal!important;padding:8px!important;vertical-align:top}.bulk-review td:first-child{width:55px}.bulk-review td:nth-child(2){width:180px}.bulk-review small{display:block;color:var(--muted);margin-top:3px}.bulk-review .review-error{background:#fff0e9}.bulk-review-counts{display:flex;flex-wrap:wrap;gap:14px;font-size:13px}.bulk-error-text{color:#a33829}.manager-create{gap:8px}.bulk-shell .tabs{gap:4px}
@media(max-width:850px){.bulk-shell{padding:10px}.bulk-top{margin-bottom:10px}.bulk-top .btn{font-size:11px;padding:6px}.bulk-heading{display:block}.bulk-heading h1{font-size:22px}.bulk-heading p{margin-bottom:8px}.bulk-tools .btn{font-size:11px;padding:6px 8px;min-height:38px}.bulk-help{line-height:1.4}.bulk-scroll{max-height:calc(100dvh - 330px)}.bulk-footer{flex-wrap:wrap;gap:8px}.bulk-footer>.flex{width:100%;justify-content:space-between}.manager-create{gap:5px}.page-heading .manager-create .btn{font-size:10px;padding:7px}.bulk-review td:nth-child(2){width:110px}}
.bulk-shell{height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}.bulk-top,.bulk-heading,.bulk-tools,.bulk-help,.bulk-message,.bulk-footer{flex-shrink:0}.bulk-scroll{flex:0 1 auto;min-height:100px;max-height:none}

/* Compact analytics: operational counts and financial totals stay separate. */
.analytics-shell{padding:14px 18px;max-width:1800px;margin:auto}.analytics-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line);gap:10px}.analytics-top .brand img{width:30px;height:30px}.analytics-top .brand{font-size:20px}.analytics-top .btn{padding:5px 10px;min-height:32px;font-size:12px}.analytics-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 0 10px;gap:10px}.analytics-heading h1{font-size:26px;margin:0;line-height:1.2}.analytics-heading p{font-size:12px;color:var(--muted);margin:3px 0 0}.analytics-heading>span{font-size:11px}.analytics-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.analytics-filters label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.analytics-filters input,.analytics-filters select{border:1px solid var(--line);border-radius:6px;background:white;padding:6px 8px;color:var(--ink);font-size:12px;height:34px;min-width:0}.analytics-filters select{max-width:240px}.analytics-filters .btn{padding:5px 12px;min-height:34px;font-size:12px}.analytics-presets{display:flex;gap:12px;margin-left:4px}.analytics-presets .text-btn{font-size:12px}.analytics-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:10px}.analytics-kpi{background:white;border:1px solid var(--line);border-radius:7px;padding:10px;min-width:0}.analytics-kpi>span{font-size:11px;color:var(--muted);display:block;min-height:30px;line-height:1.25}.analytics-kpi>span small{font-size:10px}.analytics-kpi>strong{display:block;font-size:27px;line-height:1.2;font-variant-numeric:tabular-nums;margin:2px 0 5px}.analytics-kpi p{font-size:11px;margin:0;color:var(--muted);line-height:1.4}.analytics-kpi.good>strong{color:var(--green)}.analytics-kpi.alert>strong,.analytics-alert{color:var(--red)}.analytics-charts{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;margin-bottom:10px}.analytics-panel{border:1px solid var(--line);border-radius:7px;background:white;min-width:0;overflow:hidden}.analytics-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line)}.analytics-panel-head h2{font-size:13px;margin:0}.analytics-panel-head>span{font-size:10px;text-align:right}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;padding:8px 12px 0;font-size:10px;color:var(--muted)}.chart-legend span{display:flex;gap:5px;align-items:center}.chart-legend span:before{content:'';width:9px;height:9px;border-radius:2px;background:var(--blue)}.chart-legend .ready:before{background:#198453}.chart-legend .shipped:before{background:#a16b18}.chart-legend .pending:before{background:#c4cdd3}.chart-legend .working:before{background:#356998}.chart-legend .blocked:before{background:#b9463b}.analytics-trend,.analytics-load{display:block;width:100%;height:178px;padding:5px 12px 8px}.chart-grid{stroke:#e8edf0;stroke-width:1}.chart-label{font-size:10px;fill:#6b7982;font-family:inherit}.chart-line{fill:none;stroke-width:2;stroke-linejoin:round}.chart-line.received{stroke:#356998}.chart-line.ready{stroke:#198453}.chart-line.shipped{stroke:#a16b18;stroke-dasharray:5 3}.chart-dot.received{fill:#356998}.chart-dot.ready{fill:#198453}.chart-dot.shipped{fill:#a16b18}.chart-bar.pending{fill:#c4cdd3}.chart-bar.working{fill:#356998}.chart-bar.blocked{fill:#b9463b}.analytics-bottom{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px;margin-bottom:10px}.analytics-table-scroll{overflow:auto;max-height:260px}.analytics-table{width:100%;border-collapse:collapse;font-size:11px}.analytics-table th{background:#f8fafb;color:var(--muted);font-size:10px;font-weight:500;white-space:nowrap;padding:8px 10px;text-align:left;position:sticky;top:0;z-index:1}.analytics-table td{padding:7px 10px!important;border-bottom:1px solid #eef1f3;white-space:nowrap!important;vertical-align:top;font-variant-numeric:tabular-nums}.analytics-table td:first-child{white-space:normal!important;max-width:220px;min-width:100px}.analytics-table small{display:block;font-size:10px;line-height:1.3;color:var(--muted);margin-top:2px}.analytics-table tbody tr:last-child td{border-bottom:0}.analytics-empty{text-align:center;color:var(--muted);padding:20px!important}.analytics-shops .analytics-table-scroll{max-height:none}.analytics-foot{font-size:10px;line-height:1.5;color:var(--muted);padding:8px 2px}.analytics-foot details{margin-top:5px}.analytics-foot p{margin:5px 0;max-width:1100px}.analytics-foot summary{cursor:pointer}.bulk-table .col-amount{min-width:115px}.analytics-shell #analytics-error:empty{display:none}
@media(max-width:1200px){.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-kpi>span{min-height:14px}.analytics-bottom{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
@media(max-width:760px){.analytics-shell{padding:10px}.analytics-top .connection{display:none}.analytics-heading h1{font-size:23px}.analytics-heading>span{font-size:10px}.analytics-filters{gap:6px}.analytics-filters label{flex:1;min-width:145px}.analytics-filters input{width:100%}.analytics-filters select{flex:1;max-width:none;width:calc(50% - 6px)}.analytics-presets{margin-left:auto}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.analytics-kpi{padding:8px}.analytics-kpi>strong{font-size:25px}.analytics-kpi>span{min-height:14px}.analytics-charts,.analytics-bottom{grid-template-columns:1fr;gap:8px;margin-bottom:8px}.analytics-trend,.analytics-load{height:170px}.analytics-table-scroll{max-height:230px}.analytics-panel-head{padding:8px 10px}.analytics-table td{padding:7px 8px!important}.analytics-top>.flex{gap:5px}.analytics-top .btn{padding:5px 7px;font-size:11px}}
.analytics-shell{padding:10px 14px}.analytics-top{padding-bottom:8px}.analytics-heading{padding:9px 0 7px}.analytics-heading h1{font-size:24px}.analytics-filters{margin-bottom:8px}.analytics-kpi{padding:8px}.analytics-kpi>span{min-height:26px}.analytics-kpi>strong{font-size:25px;margin:1px 0 4px}.analytics-trend,.analytics-load{height:140px}.analytics-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}.analytics-table th{padding:6px}.analytics-table td{padding:6px!important}.analytics-customers>summary{cursor:pointer;font-size:12px;font-weight:600;padding:9px 12px}.analytics-customers[open]>summary{border-bottom:1px solid var(--line)}
@media(max-width:1200px){.analytics-kpi>span{min-height:14px}.analytics-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}}
@media(max-width:760px){.analytics-kpi>span{min-height:14px}.analytics-bottom{grid-template-columns:1fr}.analytics-trend,.analytics-load{height:150px}}
.analytics-shops .analytics-table td:first-child{min-width:62px;max-width:85px}.analytics-table small{font-size:9px}.analytics-table{font-size:10px}.analytics-table th{font-size:9px}.analytics-shops .analytics-table th,.analytics-shops .analytics-table td{padding:5px!important}.analytics-shops .analytics-table td:first-child{white-space:nowrap!important}.analytics-kpi>span{min-height:26px}.analytics-kpi p{font-size:10px}.analytics-kpi>strong{font-size:25px}
@media(max-width:1200px){.analytics-kpi>span{min-height:14px}}
.analytics-table tbody tr{height:auto}.analytics-trend,.analytics-load{height:130px}.analytics-heading{padding:7px 0 6px}.analytics-top{padding-bottom:6px}.analytics-kpi{padding:7px}
@media(max-width:760px){.analytics-trend,.analytics-load{height:150px}}
.analytics-table td{height:auto!important}
@media(max-width:760px){.analytics-filters label,.analytics-filters select{flex:1 1 calc(50% - 3px)}}

/* Portal presentation follows the MT52 Plan and Drive family. */
:root {
  --ink: #23372e;
  --muted: #6b7c72;
  --line: #dfe7e1;
  --canvas: #f3f6f3;
  --dark: #18352a;
  --green: #21775c;
  --mint: #d9fa78;
  --surface-checker: conic-gradient(from 90deg, rgb(255 255 255 / .015) 25%, transparent 0 50%, rgb(255 255 255 / .015) 0 75%, transparent 0);
  font-family: "Segoe UI", Arial, sans-serif;
}
.btn { border-radius: 7px; }
.btn:hover, .icon-btn:hover { background: #eef4ef; }
.btn.primary:hover { background: #244b3c; }
.brand { gap: 10px; font-size: 18px; letter-spacing: .055em; font-weight: 750; }
.brand img { width: 34px; height: 34px; }
.brand small { margin-top: 2px; font-size: 10px; letter-spacing: 0; font-weight: 400; opacity: .65; }
.sidebar {
  width: 192px;
  padding: 18px 10px 12px;
  background-image: var(--surface-checker), linear-gradient(165deg, #1b382c, #10271e);
  background-size: 36px 36px, 100% 100%;
  overflow-y: auto;
}
.sidebar .brand { padding: 0 9px 12px; }
.sidebar nav { padding-bottom: 12px; }
.nav-label { padding: 14px 9px 5px; font-size: 9px; letter-spacing: .07em; color: #92aaa0; }
.nav-item { min-height: 34px; padding: 6px 9px; gap: 9px; font-size: 12px; border-radius: 6px; color: #b7cac0; }
.nav-item .icon { width: 17px; height: 17px; }
.nav-item.active { color: #f2f8e8; background: rgb(217 250 120 / .1); box-shadow: inset 3px 0 var(--mint); }
.nav-item:hover { background: rgb(255 255 255 / .07); }
.nav-item .count { min-width: 21px; padding: 1px 4px; background: rgb(255 255 255 / .07); font-size: 10px; }
.shop-nav { min-height: 31px; font-weight: 400; }
.shop-nav .count { background: transparent; color: #a6bfb0; }
.sidebar-bottom { padding-top: 6px; border-color: rgb(255 255 255 / .12); }
.sidebar-bottom > .flex { gap: 7px; padding: 7px 4px 0; align-items: flex-start; }
.sidebar-bottom .icon-btn { width: 28px; height: 32px; color: #a6bfb0; flex-shrink: 0; }
.sidebar-bottom .icon-btn:hover { background: rgb(255 255 255 / .08); }
.avatar { width: 29px; height: 29px; font-size: 12px; background: #2c4a3b; }
.profile-copy { min-width: 0; flex: 1; }
.user-name { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-role { font-size: 9px; line-height: 1.4; margin-top: 2px; }
.workspace { margin-left: 192px; }
.topbar { height: 40px; padding: 0 18px; background: #fafcf9; }
.crumb { display: flex; align-items: center; gap: 9px; font-size: 11px; }
.crumb > span:first-child { font-weight: 650; color: #56755f; }
.crumb-divider { color: #b0bcb3; }
.crumb strong { color: #6b7c72; }
.board-date { font-size: 11px; color: var(--muted); padding-right: 10px; border-right: 1px solid var(--line); }
.topbar .connection { font-size: 11px; }
.content { padding: 12px 18px 24px; }
.page-heading { margin-bottom: 10px; gap: 12px; min-height: 44px; }
.page-kicker { display: block; font-size: 9px; letter-spacing: .08em; color: #789381; font-weight: 650; margin-bottom: 2px; }
.page-heading h1 { font-size: 25px; line-height: 1.2; letter-spacing: -.025em; }
.page-heading .btn { min-height: 36px; padding: 7px 11px; font-size: 12px; gap: 6px; }
.page-heading .btn .icon { width: 16px; height: 16px; }
.stats { gap: 8px; margin-bottom: 10px; }
.stats .stat { min-height: 46px; padding: 8px 12px; border-radius: 7px; }
.stat-label { font-size: 12px; }
.stats .stat-number { font-size: 24px; font-variant-numeric: tabular-nums; }
.stat.selected { border-color: #6fa98a; background: #edf5ec; }
.stat.alert.selected { border-color: #d5a298; background: #fff4ef; }
.orders-panel { border-radius: 8px; box-shadow: 0 2px 8px rgb(30 61 41 / .025); }
.board-toolbar { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; padding: 8px 10px; }
.board-toolbar .tabs { gap: 2px; flex-wrap: nowrap; }
.board-toolbar .tab { min-height: 32px; padding: 6px 8px; font-size: 11px; white-space: nowrap; }
.tab.active { background: #eaf2e7; color: #2f6547; }
.board-toolbar .tab-count { margin-left: 4px; font-size: 10px; }
.board-filter-controls { display: flex; align-items: center; gap: 6px; flex: 1; justify-content: flex-end; min-width: 0; }
.board-filter-controls select { border: 1px solid var(--line); border-radius: 6px; background: white; padding: 6px 7px; min-height: 32px; color: var(--ink); font-size: 11px; max-width: 115px; }
.board-filter-controls .filter-tag { min-height: 32px; padding: 6px 8px; font-size: 11px; color: #8d6150; background: #f8f2e8; white-space: nowrap; border: 1px solid #eee3d2; }
.board-filter-controls .filter-tag strong { font-size: 11px; margin-left: 3px; }
.board-filter-controls .filter-tag.selected { color: #9e4335; background: #ffede5; border-color: #e5b2a6; }
.board-filter-controls .search-wrap { flex: 1; min-width: 170px; min-height: 32px; max-width: 225px; }
.board-filter-controls .search-wrap input { height: 32px; font-size: 12px; padding: 6px 8px 6px 30px; background: #fbfcfa; border-radius: 6px; }
.board-filter-controls .search-wrap .icon { top: 8px; left: 9px; width: 15px; height: 15px; }
.orders-panel th { padding: 7px 10px; font-size: 10px; background: #f3f7f3; letter-spacing: 0; }
.orders-panel td { padding: 4px 10px; height: 42px; border-color: #edf1ed; }
.orders-panel tbody tr:nth-child(even) { background: #fcfdfa; }
.orders-panel tbody tr:hover { background: #f0f6ee; }
.orders-panel .order-row.is-overdue td:first-child { box-shadow: inset 3px 0 #dfb36f; }
.orders-panel .order-row.is-blocked td:first-child { box-shadow: inset 3px 0 #ce8070; }
.orders-panel .order-number { font-size: 13px; }
.orders-panel .order-customer { font-size: 11px; margin-top: 1px; }
.orders-panel .due-cell, .orders-panel .owner-cell { font-size: 11px; }
.orders-panel .stage-token { min-width: 23px; height: 23px; border-radius: 4px; padding: 2px 3px; }
.orders-panel .pill { border-radius: 4px; padding: 3px 5px; font-size: 10px; }
.orders-panel .table-scroll .icon-btn { width: 29px; height: 30px; }
.orders-panel .table-scroll .icon-btn .icon { width: 16px; height: 16px; }
.orders-panel .panel-footer { padding: 7px 10px; background: #fbfcf9; }
.task-card, .mobile-card { box-shadow: 0 1px 4px rgb(30 61 41 / .025); }
.task-card .task-notes { background: #f2f6ef; }
.worker-controls .tabs { background: #e7eee6; }
.worker-heading h1 { letter-spacing: -.025em; }

/* Sign-in has the same calm split layout as the other MT52 portals. */
.login-page { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.login-page .login { flex: 1; min-height: 0; grid-template-columns: minmax(0,.98fr) minmax(0,1.02fr); }
.login-brand { padding: clamp(32px,4.6vw,72px); background-image: var(--surface-checker), radial-gradient(ellipse at 80% 15%, rgb(217 250 120 / .05), transparent 60%), linear-gradient(145deg,#193a2c,#10271e); background-size: 40px 40px,100% 100%,100% 100%; }
.login-brand .brand img { width: 44px; height: 44px; }
.login-brand .brand { font-size: 23px; }
.login-brand .brand small { font-size: 11px; }
.login-message { padding: 44px 0; }
.login-kicker { display: block; font-size: 10px; letter-spacing: .08em; font-weight: 650; color: #b9d0bf; }
.login-brand h1 { font-size: clamp(40px,4.7vw,66px); font-weight: 700; line-height: 1.08; margin-top: 20px; letter-spacing: -.045em; }
.login-brand h1 span { color: var(--mint); }
.login-brand p { color: #b6cbbd; font-size: 14px; line-height: 1.8; margin-top: 22px; }
.login-features { display: flex; flex-wrap: wrap; gap: 12px 20px; border-top: 1px solid rgb(255 255 255 / .14); padding-top: 18px; color: #aec7b8; font-size: 11px; }
.login-content { padding: 36px 24px; background-image: conic-gradient(from 90deg,rgb(23 70 54 / .008) 25%,transparent 0 50%,rgb(23 70 54 / .008) 0 75%,transparent 0), radial-gradient(ellipse at 50% 45%,#fff,transparent 70%); background-size: 40px 40px,100% 100%; }
.login-form { max-width: 430px; padding: 34px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: 0 12px 40px rgb(22 52 36 / .055); }
.login-form .login-kicker { color: #3a7056; margin-bottom: 14px; }
.login-form h2 { font-size: 28px; font-weight: 700; margin-bottom: 10px; }
.login-form > p { font-size: 12px; line-height: 1.6; margin-bottom: 26px; }
.login-form .field { font-size: 12px; color: #52675a; margin-bottom: 18px; }
.login-form .field input { font-size: 15px; min-height: 46px; border-color: #d8e1da; }
.login-form input::placeholder { color: #91a096; font-size: 13px; }
.login-form .btn { min-height: 46px; font-size: 13px; }
.login-form .form-error:empty { display: none; }
.login-form .form-error { font-size: 12px; min-height: 0; }
.login-form .login-foot { margin: 20px 0 0; font-size: 11px; }
.login-contact { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; min-height: 60px; padding: 16px 20px; gap: 5px 20px; font-size: 11px; color: var(--muted); border-top: 1px solid var(--line); background: #fafcf9; }
.login-contact strong { font-weight: 600; }
.login-contact a { text-underline-offset: 3px; }
.mfa-login { display: flex; }
.mfa-login .login-content { width: 100%; min-height: 100svh; }
.mfa-login .login-form .brand { margin-bottom: 24px; }

@media(min-width:851px) {
  .orders-panel .table-scroll .order-customer { max-width: 215px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
}
@media(min-width:1600px) {
  .content { padding-inline: 24px; }
  .board-filter-controls .search-wrap { max-width: 310px; }
}
@media(min-width:851px) and (max-width:1190px) {
  .board-filter-controls { flex-basis: 100%; }
  .board-filter-controls .search-wrap { max-width: none; }
}
@media(max-width:850px) {
  .workspace { margin-left: 0; }
  .topbar { height: 48px; padding: 0 10px; }
  .topbar .crumb { display: none; }
  .topbar .brand { font-size: 15px; gap: 6px; }
  .topbar .brand img { width: 29px; height: 29px; }
  .topbar .brand small { font-size: 8px; }
  .board-date { display: none; }
  .topbar .icon-btn { display: grid; width: 32px; height: 40px; color: #50715c; }
  .topbar .icon-btn .icon { width: 18px; height: 18px; }
  .content { padding: 10px; }
  .page-heading { gap: 8px; align-items: center; margin-bottom: 8px; }
  .page-kicker { display: none; }
  .page-heading h1 { font-size: 20px; }
  .page-heading .btn { min-height: 40px; padding: 7px; font-size: 10px; gap: 4px; }
  .manager-create > .btn:first-child .icon { display: none; }
  .stats { gap: 5px; margin-bottom: 8px; }
  .stats .stat { display: block; padding: 7px; min-height: 60px; }
  .stat-label { font-size: 10px; }
  .stats .stat-number { font-size: 22px; margin-top: 4px; }
  .board-toolbar { display: flex; flex-direction: column; align-items: stretch; padding: 7px; gap: 6px; }
  .board-toolbar .tabs { overflow: auto; gap: 1px; }
  .board-toolbar .tab { padding: 6px 7px; min-height: 38px; font-size: 10px; flex: 0 0 auto; }
  .board-filter-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
  .board-filter-controls select { max-width: none; min-height: 38px; font-size: 12px; }
  .board-filter-controls .filter-tag { min-height: 38px; font-size: 11px; }
  .board-filter-controls .search-wrap { grid-column: 1 / -1; max-width: none; min-width: 0; }
  .board-filter-controls .search-wrap input { height: 38px; font-size: 13px; }
  .board-filter-controls .search-wrap .icon { top: 11px; }
  .orders-panel .mobile-card { padding: 10px; }
  .orders-panel .mobile-card .order-number { font-size: 14px; white-space: normal; text-align: left; }
  .orders-panel .mobile-card .order-customer { font-size: 11px; }
  .orders-panel .mobile-card .stage-token { min-width: 21px; height: 21px; }
  .orders-panel .mobile-card .stage-token.skipped { display: none; }
  .orders-panel .mobile-card .pill { padding: 4px 5px; font-size: 10px; }
  .worker-top .brand, .bulk-top .brand, .analytics-top .brand { font-size: 17px; }
  .worker-top .brand small { font-size: 8px; }
  .login-page .login { display: flex; flex-direction: column; }
  .login-brand { padding: 22px 24px; min-height: auto; }
  .login-brand .brand { font-size: 20px; }
  .login-brand .brand img { width: 36px; height: 36px; }
  .login-message, .login-features { display: none; }
  .login-content { flex: 1; padding: 24px 16px; }
  .login-form { padding: 26px 22px; max-width: 430px; }
  .login-form h2 { font-size: 25px; }
  .login-contact { min-height: 64px; gap: 5px 12px; font-size: 10px; }
  .login-contact > span { flex-basis: 100%; text-align: center; }
}

.bulk-table .col-manager_code{min-width:70px;width:70px}.bulk-table .col-manager_code input{font-weight:700;text-transform:uppercase}.bulk-table .col-manager_code+th{width:30px}

.application-content{max-width:1150px}.application-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.application-heading h1{margin-top:3px}.application-kicker{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:600}.application-intro{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:14px}.application-intro>img{border-radius:12px}.application-intro h2{font-size:18px;letter-spacing:-.02em}.application-intro p{font-size:12px;color:var(--muted);margin-top:3px}.application-intro #application-status{grid-column:2/-1;margin:0;min-height:18px}.application-columns{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px}.application-guide,.application-qr{background:white;border:1px solid var(--line);border-radius:10px;padding:18px}.application-devices{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.application-devices .tab{min-width:95px;font-size:13px;min-height:44px}.application-guide h2,.application-qr h2{font-size:16px;letter-spacing:-.02em}.application-steps{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:16px}.application-steps li{display:grid;grid-template-columns:27px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.55}.application-steps li>span{display:grid;place-items:center;border-radius:50%;background:#eaf3ed;color:var(--green);font-weight:700;width:27px;height:27px}.application-steps small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.application-steps .icon{width:18px;height:18px}.application-tip{font-size:11px;line-height:1.5;color:var(--muted);background:#f5f8f6;border-radius:6px;padding:10px;margin-top:15px}.application-qr{text-align:center}.application-qr-code{width:150px;height:150px;margin:16px auto 12px}.application-qr-code svg{width:100%;height:100%;display:block}.application-qr p{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:7px}.application-qr>a{font-size:14px;font-weight:650}.application-after{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:15px 2px 0}.application-after>div{display:flex;gap:9px;align-items:flex-start}.application-after .icon{color:var(--green);width:17px;height:17px;margin-top:2px}.application-after p{font-size:12px;color:var(--muted);line-height:1.5}.application-after strong{color:var(--ink);font-size:12px}.application-help{font-size:11px;color:var(--muted);margin-top:13px}.application-shell .application-content{padding:14px 0}.application-shell .worker-top{padding:0 0 13px}.application-shell .application-heading h1{font-size:26px}
@media(max-width:900px){.application-content{padding-top:18px}.application-columns{grid-template-columns:minmax(0,1fr) 210px}.application-intro{grid-template-columns:46px minmax(0,1fr);padding:14px}.application-intro>img{width:46px;height:46px}.application-intro #application-install-control{grid-column:1/-1}.application-intro #application-status{grid-column:1/-1}.application-intro h2{font-size:17px}}
@media(max-width:600px){.application-heading{margin-bottom:12px}.application-heading h1{font-size:26px}.application-heading .btn{min-height:40px;padding:8px 12px}.application-columns{display:block}.application-guide{padding:14px}.application-devices{padding-bottom:9px;margin-bottom:12px}.application-steps{gap:14px;margin-top:14px}.application-qr{display:none}.application-intro{margin-bottom:12px;gap:8px 10px}.application-intro .btn{width:100%;min-height:46px}.application-after{grid-template-columns:1fr;gap:10px;padding-top:13px}.application-help{margin-top:12px}.worker-top>.flex{gap:4px}.worker-top>.flex .connection{display:none}}
.portal-shell { --sidebar-width: 192px; }
.portal-shell.sidebar-collapsed { --sidebar-width: 64px; }
.portal-shell .sidebar { width: var(--sidebar-width); padding-top: 12px; overflow: hidden; }
.portal-shell .sidebar nav { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 8px; scrollbar-width: thin; scrollbar-color: #496454 transparent; }
.portal-shell .sidebar nav::-webkit-scrollbar { width: 4px; }
.portal-shell .sidebar nav::-webkit-scrollbar-thumb { background: #496454; border-radius: 4px; }
.portal-shell .sidebar .nav-item { min-height: 32px; padding-block: 5px; }
.portal-shell .sidebar .shop-nav { min-height: 30px; }
.portal-shell .sidebar .nav-label { padding-top: 10px; }
.portal-shell .sidebar-bottom, .sidebar-header { flex-shrink: 0; }
.portal-shell .workspace { margin-left: var(--sidebar-width); min-width: 0; }
.sidebar-header { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 0 2px 6px; }
.sidebar-header .brand { padding: 0; gap: 7px; font-size: 17px; }
.sidebar-header .brand img { width: 28px; height: 28px; }
.sidebar-header .brand small { font-size: 9px; }
.sidebar-toggle { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 34px; padding: 0; color: #b7cac0; background: transparent; border: 1px solid rgb(255 255 255 / .15); border-radius: 6px; cursor: pointer; }
.sidebar-toggle:hover { color: #fff; background: rgb(255 255 255 / .1); }
.sidebar-toggle .icon { width: 18px; height: 18px; }
.sidebar-toggle:focus-visible, .sidebar .nav-item:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.sidebar .nav-item { position: relative; }
.nav-text { min-width: 0; text-align: left; }
.shop-short { display: none; }
.sidebar-collapsed .sidebar { padding-inline: 7px; }
.sidebar-collapsed .sidebar-header { justify-content: center; padding-inline: 0; }
.sidebar-collapsed .sidebar-header .brand, .sidebar-collapsed .nav-text, .sidebar-collapsed .profile-copy { display: none; }
.sidebar-collapsed .sidebar-toggle { width: 40px; }
.sidebar-collapsed .sidebar-toggle .icon { transform: rotate(180deg); }
.portal-shell.sidebar-collapsed .nav-label { height: 11px; margin: 0 8px 4px; padding: 0; font-size: 0; border-bottom: 1px solid rgb(255 255 255 / .12); }
.portal-shell.sidebar-collapsed .nav-item { justify-content: center; min-height: 34px; padding: 6px 8px; }
.sidebar-collapsed .nav-item > .icon { width: 19px; height: 19px; flex-shrink: 0; }
.sidebar-collapsed .nav-item .count { position: absolute; top: 2px; right: 0; min-width: 15px; padding: 0 3px; line-height: 14px; font-size: 8px; background: #2b493a; color: #cee0d3; }
.portal-shell.sidebar-collapsed .shop-nav { min-height: 28px; }
.sidebar-collapsed .shop-nav > .icon { display: none; }
.sidebar-collapsed .shop-short { display: block; font-size: 11px; font-weight: 650; }
.sidebar-collapsed .sidebar-bottom > .flex { flex-direction: column; align-items: center; gap: 3px; padding-inline: 0; }
@media (min-width: 851px) {
  .portal-shell .admin-top, .portal-shell .bulk-top, .portal-shell .analytics-top { display: none; }
  .portal-shell .admin-shell { padding-top: 12px; max-width: none; }
  .portal-shell .analytics-shell { max-width: none; }
  .portal-bulk .workspace { height: 100dvh; display: flex; flex-direction: column; }
  .portal-bulk .topbar { flex-shrink: 0; }
  .portal-bulk #page-content { flex: 1; min-height: 0; }
  .portal-bulk .bulk-shell { height: 100%; max-width: none; }
}
@media (max-width: 850px) {
  .portal-shell .workspace { margin-left: 0; }
  .portal-shell .section-topbar { display: none; }
  .portal-shell:not(.portal-orders):not(.portal-application) #portal-demo { display: none; }
}

.order-identity-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.duplicate-badge { display: inline-flex; align-items: center; gap: 3px; border: 1px solid #e6cea0; border-radius: 4px; background: #fff5df; color: #93651d; font-size: 9px; font-weight: 600; line-height: 16px; padding: 0 4px; white-space: nowrap; }
.duplicate-badge .icon { width: 11px; height: 11px; }
.duplicate-badge:hover { background: #ffeab9; }
.record-id { font-size: 8px; font-weight: 400; opacity: .8; }
.orders-panel .is-duplicate:not(.is-blocked):not(.is-overdue) td:first-child { box-shadow: inset 3px 0 #d8aa54; }
.board-filter-controls .duplicates-filter { color: #93651d; }
.board-filter-controls .duplicates-filter.selected { background: #fff0ce; border-color: #d8aa54; }
.duplicate-warning { background: #fff8e8; color: #76531e; border: 1px solid #e9d2a5; border-radius: 7px; padding: 10px 12px; margin-bottom: 12px; font-size: 12px; }
.duplicate-warning[hidden], .bulk-duplicate[hidden] { display: none; }
.duplicate-warning h3 { font-size: 14px; margin-bottom: 4px; }
.duplicate-warning p { margin-top: 4px; }
.duplicate-details { margin: 12px 16px; }
.duplicate-links { display: grid; gap: 6px; margin-top: 8px; }
.duplicate-link { display: block; padding: 8px 10px; border: 1px solid #e3d5b7; border-radius: 5px; background: #fffdf7; color: var(--ink); font-size: 12px; text-align: left; overflow-wrap: anywhere; }
.duplicate-link:hover { background: #fff0ce; }
.duplicate-link span, .duplicate-link small { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
.tile-head .duplicate-badge { margin-left: auto; }
.bulk-number-cell { position: relative; }
.bulk-number-cell:has(.bulk-duplicate:not([hidden])) .bulk-cell { padding-right: 27px; }
.bulk-duplicate { position: absolute; top: 3px; right: 3px; width: 20px; height: 22px; border-radius: 4px; background: #ffedc4; color: #8b5e13; font-size: 12px; font-weight: 750; }
.bulk-table .duplicate-row .bulk-rownum { background: #fff0ce; color: #8b5e13; }
.bulk-table .duplicate-row .bulk-number-cell { box-shadow: inset 2px 0 #d8aa54; }
.bulk-warning-text { color: #93651d; font-size: 11px; line-height: 1.4; }
.bulk-warning-text:empty { display: none; }
.bulk-warning-text .text-btn { color: inherit; font-size: 11px; min-height: 26px; padding: 4px 0; }
.bulk-review .review-warning { background: #fff9e9; }
.bulk-review .review-warning td:first-child { box-shadow: inset 3px 0 #d8aa54; }
.bulk-status { display: grid; gap: 2px; }
@media (max-width: 850px) {
 .duplicate-badge { font-size: 10px; line-height: 19px; }
 .record-id { font-size: 9px; }
 .duplicates-filter { flex-shrink: 0; }
 .duplicate-details { margin-inline: 12px; }
}
.operations-shell{max-width:1600px}.operations-intro{margin:8px 0;font-size:14px;color:var(--muted,#64766e)}.operations-note{padding:10px 12px;margin:10px 0;background:#fff4da;border:1px solid #eedca8;border-radius:9px;font-size:13px;line-height:1.5}.operations-scroll{overflow:auto}.operations-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.operations-table th{padding:9px 10px;background:#edf2ef;color:#60746d;font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.operations-table td{padding:9px 10px;border-bottom:1px solid #e1e8e4;vertical-align:top}.operations-table small{display:block;margin-top:3px;font-size:11px;color:#718179}.operations-table .btn{padding:6px 10px;min-height:32px;font-size:12px;white-space:nowrap}.operation-status{display:inline-block;padding:4px 8px;border-radius:5px;font-size:11px;font-weight:700;background:#e7f3eb;color:#236145}.operation-status.undone{background:#e9edf0;color:#50616b}.operation-status.partial{background:#fff0cb;color:#855d16}.operation-counts{display:flex;gap:8px;flex-wrap:wrap}.operation-counts>span{padding:8px 12px;background:#edf4ef;border-radius:7px;font-size:12px}.operation-counts b{font-size:20px;margin-right:4px}.operation-counts .conflict{background:#fff0d4;color:#825b20}.operation-checkbox{display:flex;gap:8px;align-items:center;font-size:13px;line-height:1.5;margin:8px 0}.operation-checkbox input{width:17px;height:17px;accent-color:#244e40}.operation-filters{gap:12px;flex-wrap:wrap;margin:14px 0 8px}.operation-search{padding:8px 11px;border:1px solid #cedad3;border-radius:6px;max-width:340px;flex:1;min-width:200px;font-size:13px}.operation-changes td:first-child{width:23%}.operation-changes td:last-child{width:23%}.operation-changes details{margin-top:5px;font-size:12px}.operation-changes summary,.operation-log summary{cursor:pointer;color:#3f6755}.operation-values{margin:6px 0;max-width:560px;overflow-wrap:anywhere}.operation-values>div{margin:7px 0}.operation-values dt{font-weight:600;color:#62766b}.operation-values dd{margin:2px 0;font-weight:400}.operation-values dd span{color:#7a847e}.operation-values strong{font-weight:500;color:#264f3c}.operation-conflict{background:#fff7e7}.operation-ok{color:#2c6a4a;font-weight:600}.operation-pagination{gap:10px;font-size:12px;color:#718179;margin:12px 0}.operation-log{border-top:1px solid #e0e7e2;padding-top:10px;margin:12px 0;font-size:12px}.operations-dialog .dialog-body{max-height:70vh;overflow:auto}.operations-dialog .dialog-head h2{font-size:21px}.operations-dialog .field{margin-top:14px}.operations-shell #operations-results>.btn{margin-top:14px}@media(max-width:720px){.operations-shell .page-heading{align-items:flex-start}.operations-table{min-width:640px}.operation-changes{min-width:560px}.operations-dialog .dialog-head h2{font-size:17px}.operation-counts>span{padding:7px 8px}.operation-counts b{font-size:18px}.operations-dialog .dialog-footer{flex-wrap:wrap}.operations-shell h1{font-size:24px}}

.bulk-table th.col-ready_date,.bulk-table .col-manager_code+th.col-ready_date{width:118px}.bulk-table th.col-ready_date{min-width:118px}

/* Compact selection and closing controls. */
.selection-toolbar{display:flex;align-items:center;gap:10px;padding:7px 12px;background:#f0f6f2;border-bottom:1px solid var(--line);font-size:11px;flex-wrap:wrap}.selection-toolbar .btn{min-height:28px;padding:4px 9px;font-size:11px}.selection-toolbar .text-btn{font-size:11px}.selection-hint{margin-left:auto;color:var(--muted)}.select-column{width:32px!important;min-width:32px!important;padding:0 8px!important;text-align:center!important}.select-column input,.order-select input{width:16px;height:16px;accent-color:var(--green);cursor:pointer;vertical-align:middle}.order-select input:disabled{cursor:default}.order-select{display:inline-flex;align-items:center}.order-row.is-selected td,.mobile-card.is-selected{background:#eaf5ed!important}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.row-close-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 7px;min-height:26px;border:1px solid #c6ddce;border-radius:5px;color:#256243;background:#eef7f0;font:inherit;font-size:10px;cursor:pointer}.row-close-btn:hover{background:#dceee1}.row-close-btn .icon{width:13px;height:13px}.row-close-btn:disabled{opacity:.5;cursor:default}.mobile-order-head{display:flex;gap:8px;align-items:flex-start}.closing-list{border:1px solid var(--line);border-radius:6px;padding:6px 10px;margin:10px 0;font-size:12px;max-height:180px;overflow:auto}.closing-list>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.closing-list span{color:var(--muted)}@media(max-width:760px){.selection-toolbar{gap:8px;padding:8px}.selection-hint{flex-basis:100%;margin-left:0;font-size:10px}.mobile-card>.row-close-btn{margin-top:8px;min-height:32px}.closing-list>div{flex-wrap:wrap;gap:3px}}

/* Personal column order and widths in the desktop registry. */
.registry-table{table-layout:fixed;min-width:0}
.registry-table .registry-select-col{width:32px}
.registry-table .registry-actions-col{width:120px}
.registry-table th[data-column]{position:relative;padding-right:12px;cursor:grab;overflow:hidden;text-overflow:ellipsis}
.registry-table th.column-dragging{opacity:.45}
.column-grip{font-size:9px;letter-spacing:-2px;margin-right:5px;color:#98afa1}
.registry-table [data-column-resize]{position:absolute;right:0;top:0;bottom:0;width:9px;padding:0;background:transparent;cursor:col-resize;touch-action:none;z-index:2}
.registry-table [data-column-resize]:after{content:'';position:absolute;top:6px;bottom:6px;left:4px;border-right:1px solid #c3d2c8}
.registry-table [data-column-resize]:hover:after,.registry-table [data-column-resize]:focus-visible:after{border-color:#34734c;border-width:2px}
.registry-table .registry-cell{overflow:hidden;text-overflow:ellipsis}
.registry-table .registry-order .order-identity-line{min-width:0}
.registry-table .registry-order .order-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.registry-table .registry-order .order-customer{max-width:100%}
.registry-table .registry-code{font-size:11px;color:#3c6950}
.registry-table .registry-owner{font-size:11px;color:var(--muted);white-space:nowrap}
.registry-table .registry-production .stage-strip{display:flex;flex-wrap:wrap;gap:2px}
.registry-table .registry-production .stage-token{min-width:19px;height:20px;font-size:8.5px;padding:1px 2px}
.registry-table .registry-actions{padding:4px 5px}
.registry-table .row-actions{gap:3px}
.columns-button{min-height:32px;padding:5px 8px;font-size:11px}
.column-settings{margin:12px 0}
.column-settings>div{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}
.column-settings strong{flex:1;min-width:90px;font-weight:500}
.column-settings label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}
.column-settings input{width:70px;border:1px solid var(--line);border-radius:5px;padding:5px 6px;background:white}
.column-move{display:flex;gap:2px}.column-move .icon-btn{width:28px;height:28px}
@media(max-width:850px){.columns-button{display:none}}

.drive-link{padding:12px 26px;border-bottom:1px solid var(--line)}.drive-link .btn{min-height:36px;font-size:12px}.drive-hint{font-size:12px;color:var(--muted);margin-bottom:12px}.drive-warning{font-size:12px;background:#fff4db;color:#835d1a;padding:8px;border-radius:6px;margin-bottom:12px}.drive-extra{margin-bottom:12px}.drive-extra summary{font-size:12px;color:var(--green);cursor:pointer;padding:7px 0}.drive-extra .field-grid{margin-top:10px}#drive-dialog .field{margin-bottom:10px;font-size:12px}#drive-dialog .field input{min-height:38px;padding:7px 9px}#drive-dialog .field textarea{min-height:65px}#drive-dialog .hint{font-size:11px;color:var(--muted)}@media(max-width:850px){.drive-link{padding:10px 16px}#drive-dialog .field-grid{grid-template-columns:1fr;gap:0}}

#drive-dialog .dialog-head,#drive-dialog .dialog-footer{padding:12px 16px}#drive-dialog .dialog-body{padding:14px 16px}#drive-dialog .field{gap:4px;margin-bottom:8px}#drive-dialog .field input{min-height:34px;padding:6px 8px}#drive-dialog .field-grid{gap:10px}#drive-dialog .field textarea{min-height:56px}#drive-dialog .drive-hint{margin-bottom:8px}#drive-dialog .drive-extra{margin-bottom:8px}

/* One spacing scale for all work screens. Keep phone controls easy to hit. */
[hidden] { display: none !important; }
.content, .admin-shell, .analytics-shell, .bulk-shell { padding: 8px 14px 16px; }
.page-heading, .bulk-heading, .analytics-heading, .application-heading { min-height: 34px; margin-bottom: 8px; gap: 8px; }
.page-heading h1, .bulk-heading h1, .analytics-heading h1, .application-heading h1 { font-size: 23px; line-height: 1.2; }
.page-kicker, .application-kicker { display: none; }
.page-heading .btn, .bulk-tools .btn, .bulk-footer .btn { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.portal-shell .admin-top, .portal-shell .bulk-top, .portal-shell .analytics-top { display: none; }
.portal-shell .admin-shell { padding-top: 8px; }
.portal-shell .topbar { height: 36px; padding-inline: 14px; }
.stats { gap: 6px; margin-bottom: 8px; }
.stats .stat { min-height: 36px; padding: 5px 10px; display: flex; align-items: center; gap: 6px; }
.stats .stat-number { margin: 0; font-size: 21px; }
.stat-label { font-size: 12px; }
.board-toolbar { padding: 6px 8px; gap: 6px 10px; }
.board-toolbar .tab, .board-filter-controls select, .board-filter-controls .filter-tag, .columns-button { min-height: 30px; font-size: 12px; }
.board-filter-controls .search-wrap input { height: 30px; }
.board-filter-controls .search-wrap .icon { top: 7px; }
.orders-panel th { padding: 6px 8px; font-size: 11px; }
.orders-panel td { height: 36px; padding: 1px 8px; font-size: 12px; }
.orders-panel .order-number { font-size: 13px; min-height: 18px; padding-block: 0; }
.orders-panel .order-customer { line-height: 1.2; }
.registry-table .registry-owner, .registry-table .registry-code, .orders-panel .owner-cell, .orders-panel .due-cell { font-size: 12px; }
.registry-table .registry-production .stage-token { font-size: 10px; min-width: 21px; height: 21px; }
.registry-table .registry-production .stage-strip { display: inline-flex; max-width: calc(100% - 26px); vertical-align: middle; }
.orders-panel .stage-token.skipped { display: none; }
.registry-table .registry-production .stage-count { margin-left: 4px; font-size: 11px; vertical-align: middle; }
.registry-table .registry-actions { padding: 2px 4px; }
.registry-table .order-select { min-height: 32px; width: 22px; justify-content: center; }
.registry-table .registry-actions-col { width: 120px; }
.selection-toolbar { padding: 4px 8px; gap: 6px 10px; }
.selection-toolbar .text-btn { min-height: 28px; padding-block: 3px; }
.selection-hint { font-size: 11px; }
.page-help { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.page-help > summary { cursor: pointer; min-height: 28px; padding: 4px 0; color: var(--green); }
.page-help[open] { padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: white; }
.page-help p { margin: 4px 0; font-size: 12px; }
.page-help .operations-note { margin: 6px 0 0; padding: 6px 8px; font-size: 12px; }
.form-error:empty { display: none; }
.form-error { margin: 8px 0 0; font-size: 13px; min-height: 0; }

/* Short forms scroll in their body; heading and final action stay visible. */
dialog { border-radius: 10px; max-height: calc(100dvh - 24px); overflow: hidden; }
dialog > form { display: flex; flex-direction: column; max-height: calc(100dvh - 26px); }
.dialog-head, #drive-dialog .dialog-head { padding: 10px 14px; gap: 8px; flex-shrink: 0; }
.dialog-head h2 { font-size: 18px; line-height: 1.25; overflow-wrap: anywhere; }
.dialog-head .icon-btn { width: 32px; height: 32px; }
.dialog-body, #drive-dialog .dialog-body { padding: 12px 14px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
dialog > form > .dialog-body { flex: 1 1 auto; }
dialog:not(.detail-dialog) > .dialog-body { max-height: calc(100dvh - 96px); }
.dialog-footer, #drive-dialog .dialog-footer { padding: 8px 14px; flex-shrink: 0; gap: 8px; }
.dialog-footer .btn { min-height: 34px; padding: 6px 12px; font-size: 13px; }
.field, #drive-dialog .field { font-size: 13px; gap: 4px; margin-bottom: 9px; min-width: 0; }
.field input, .field select, .field textarea, #drive-dialog .field input { min-width: 0; min-height: 36px; padding: 7px 9px; font-size: 13px; }
.field textarea, #drive-dialog .field textarea { min-height: 60px; }
.field .hint, .dialog-body .hint { font-size: 11px; line-height: 1.4; }
.field-grid { gap: 10px; align-items: start; }
fieldset.field { border: 0; padding: 0; }
fieldset.field legend { padding: 0; margin-bottom: 4px; }
.shop-checkboxes { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 2px; gap: 5px; }
.shop-check span { padding: 6px 3px; min-height: 32px; font-size: 12px; }
.route-choice { gap: 6px; }
.route-choice label { min-height: 34px; padding: 5px 9px; border-radius: 6px; font-size: 12px; }
.field .route-choice input { width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; }
.field .shop-check input { width: 1px; height: 1px; min-height: 0; padding: 0; }
.field .checkbox-line input { width: 18px; height: 18px; min-height: 0; padding: 0; }
.form-disclosure { border-top: 1px solid var(--line); padding-top: 3px; margin: 3px 0 8px; }
.form-disclosure > summary { padding: 6px 0; color: var(--green); font-size: 13px; cursor: pointer; }
.form-disclosure > summary span, .detail-history > summary span, .shipment-history > summary span { color: var(--muted); font-size: 11px; margin-left: 5px; font-weight: 400; }
.form-disclosure[open] > summary { margin-bottom: 6px; }
.form-disclosure .text-btn { min-height: 30px; padding-block: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.item-editor-row input { min-height: 36px; padding: 6px 8px; }
.shipping-line { padding-block: 7px; }
.shipping-line input { min-height: 36px; padding: 6px; }

/* Current state first, historical records expandable. */
.detail-dialog { border-radius: 10px 0 0 10px; max-height: 100dvh; width: min(620px,100%); overflow-y: auto; }
.detail-dialog > .dialog-head { position: sticky; top: 0; z-index: 3; background: white; }
.detail-hero, .detail-section { padding: 12px 16px; }
.detail-hero .customer { font-size: 14px; margin: 0 0 7px; }
.detail-info { grid-template-columns: repeat(3,minmax(0,1fr)); margin: 10px 0 0; gap: 8px 12px; font-size: 12px; }
.detail-info dt { margin-bottom: 2px; font-size: 11px; }
.detail-info .text-btn { min-height: 24px; padding: 2px 0; font-size: 11px; }
.detail-actions { padding: 8px 16px; gap: 6px; display: flex; flex-wrap: wrap; }
.detail-actions .btn, .drive-link .btn { min-height: 32px; padding: 5px 9px; font-size: 12px; }
.drive-link { padding: 4px 16px 10px; }
.detail-section h3 { font-size: 14px; margin-bottom: 8px; }
.detail-task { padding: 8px 0; display: flex; gap: 8px 12px; flex-wrap: wrap; align-items: center; }
.task-info { flex: 1; min-width: 180px; font-size: 12px; }
.detail-task > .flex { gap: 8px; flex-wrap: wrap; }
.detail-task .text-btn, .detail-section > .flex .text-btn { min-height: 28px; padding-block: 3px; font-size: 12px; }
.detail-note { margin-top: 4px; font-size: 12px; }
.detail-history > summary, .shipment-history > summary { min-height: 32px; font-size: 13px; font-weight: 600; cursor: pointer; }
.detail-history[open] > summary, .shipment-history[open] > summary { margin-bottom: 10px; }
.shipment-history { margin-top: 8px; }
.shipment-entry { padding: 8px 0; }
.timeline { gap: 12px; }
.event { gap: 8px; font-size: 12px; }
.event-icon { width: 25px; height: 25px; }
.event p { font-size: 11px; }
.event time { font-size: 11px; }
.detail-section .goods-row { padding-block: 6px; }

/* Production and warehouse tiles: the important action remains one tap away. */
.worker-top { min-height: 48px; padding: 7px 0; }
.worker-heading { padding: 0; margin: 6px 0 8px; }
.worker-heading h1 { font-size: 23px; }
.worker-controls { gap: 6px; margin-bottom: 8px; }
.worker-controls .search-wrap input { height: 40px; }
.tile-grid { gap: 7px; }
.task-card { padding: 9px; border-radius: 8px; }
.task-card .order-customer { margin-top: 3px; }
.tile-meta { gap: 5px; margin: 6px 0; }
.tile-goods { margin-bottom: 6px; }
.task-card .task-notes, .task-card .problem-note { padding: 6px; margin-bottom: 6px; font-size: 12px; }
.worker-bottom { margin-top: 12px; padding-top: 4px; }
.tile-actions:has([data-action="problem"]) { display: grid; grid-template-columns: minmax(0,1fr) 74px; gap: 4px; }
.tile-actions > .text-btn[data-action="problem"] { min-height: 44px; padding: 4px 2px; font-size: 11px; text-decoration: none; border: 1px solid #ecd5cc; border-radius: 7px; background: #fff7f3; color: #a14836; }
.tile-actions .btn { gap: 4px; }

.admin-toolbar { margin-bottom: 8px; gap: 8px; }
.admin-shell .page-heading p { margin-top: 2px; font-size: 11px; }
.admin-panel td { padding-block: 4px; }
.audit-card { padding: 8px 0; }
.audit-card summary { min-height: 28px; padding-block: 4px; }
.analytics-heading { padding: 0; }
.analytics-filters { gap: 6px; padding: 8px; }
.analytics-kpis, .analytics-charts, .analytics-bottom { gap: 7px; margin-bottom: 8px; }
.analytics-kpi { padding: 7px 9px; }
.analytics-kpi > strong { font-size: 23px; }
.analytics-table { font-size: 11px; }
.analytics-table th, .analytics-table small { font-size: 10px; }
.analytics-panel-head { padding: 7px 9px; }
.analytics-load.load-chart { display: grid; gap: 2px; height: auto; padding: 7px 10px; }
.load-row { display: grid; grid-template-columns: 78px minmax(0,1fr) 22px; align-items: center; gap: 5px; min-height: 15px; font-size: 11px; }
.load-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.load-row > strong { font-weight: 500; font-variant-numeric: tabular-nums; color: var(--muted); }
.load-track { display: flex; height: 10px; background: #f1f5f3; border-radius: 2px; overflow: hidden; }
.load-segment.pending { background: #c4cdd3; }
.load-segment.working { background: #356998; }
.load-segment.blocked { background: #b9463b; }
.analytics-trend .chart-label { font-size: 12px; }
.analytics-foot { font-size: 11px; }
.bulk-heading p { margin-top: 2px; font-size: 12px; }
.bulk-heading .tab { min-height: 32px; padding: 5px 8px; font-size: 12px; }
.bulk-tools { gap: 6px; }
.bulk-footer { padding-top: 7px; }
.operations-table td { padding: 6px 9px; }
.operation-counts > span { padding: 5px 8px; }
.application-intro, .application-guide, .application-qr { padding: 12px; }
.application-intro { margin-bottom: 8px; gap: 6px 10px; }
.application-columns { gap: 8px; }
.application-devices { margin-bottom: 8px; padding-bottom: 6px; }
.application-steps { gap: 9px; margin-top: 10px; }
.application-tip { margin-top: 9px; padding: 8px; }
.application-after { padding-top: 10px; gap: 10px; }
.login-form { padding: 24px; }
.login-form h2 { font-size: 25px; }
.login-form > p { margin-bottom: 18px; }
.login-form .field { margin-bottom: 12px; }
.login-brand h1 { font-size: clamp(38px,4vw,54px); }
.login-brand p { line-height: 1.55; }
.mobile-menu-button, .mobile-menu-close, .mobile-nav-backdrop { display: none; }
.mobile-nav-backdrop[hidden] { display: none !important; }

@media (min-width: 851px) {
  .portal-shell .sidebar .nav-item { font-size: 13px; min-height: 31px; }
  .portal-shell .sidebar .shop-nav { min-height: 29px; }
  .portal-orders .workspace { height: 100dvh; display: flex; flex-direction: column; }
  .portal-orders .topbar, .portal-orders #portal-demo { flex-shrink: 0; }
  .portal-orders #page-content { flex: 1; min-height: 0; }
  .portal-orders .content { height: 100%; display: flex; flex-direction: column; max-width: none; }
  .portal-orders .page-heading, .portal-orders .stats { flex-shrink: 0; }
  .portal-orders .orders-panel { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .portal-orders .board-toolbar { flex-shrink: 0; }
  .portal-orders #order-results { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .portal-orders .table-scroll { flex: 1; min-height: 0; overflow: auto; }
  .portal-orders .selection-toolbar, .portal-orders .panel-footer { flex-shrink: 0; }
  .registry-table th, .registry-table th[data-column] { position: sticky; top: 0; z-index: 2; }
  .portal-bulk .bulk-shell { display: flex; flex-direction: column; }
  .portal-bulk .bulk-scroll { flex: 1 1 auto; min-height: 100px; max-height: none; }
  .portal-bulk .bulk-heading, .portal-bulk .bulk-tools, .portal-bulk .page-help, .portal-bulk .bulk-footer, .portal-bulk .bulk-message { flex-shrink: 0; }
}
@media (max-width: 850px) {
  .content, .admin-shell, .analytics-shell, .bulk-shell { padding: 8px; }
  .portal-shell .section-topbar, .portal-shell .topbar { display: flex; height: 46px; padding-inline: 8px; }
  .portal-shell .topbar .brand small { display: none; }
  .portal-shell .topbar .brand img { width: 25px; height: 25px; }
  .portal-shell .topbar .brand { font-size: 14px; }
  .mobile-menu-button { display: inline-flex; min-height: 44px; padding: 7px 10px; font-size: 13px; background: transparent; border-color: transparent; }
  .mobile-menu-close { display: grid; width: 44px; height: 44px; color: white; }
  .menu-open .mobile-nav-backdrop { display: block; position: fixed; inset: 0; z-index: 100; background: #112b2a70; }
  .portal-shell.menu-open .sidebar { display: flex; width: min(280px,88vw); z-index: 101; padding: 8px 10px; }
  .menu-open .sidebar .sidebar-toggle { display: none; }
  .menu-open .sidebar .nav-item { justify-content: flex-start; min-height: 44px; padding: 8px 10px; font-size: 14px; }
  .menu-open .sidebar .shop-nav { min-height: 40px; }
  .menu-open .sidebar .nav-text, .menu-open .sidebar .brand > div, .menu-open .sidebar .profile-copy, .menu-open .sidebar .nav-label { display: block; }
  .menu-open .sidebar .nav-item > .icon { display: inline-block; }
  .menu-open .sidebar .shop-short { display: none; }
  .menu-open .sidebar .nav-item .count { position: static; margin-left: auto; font-size: 12px; }
  .menu-open .sidebar .sidebar-bottom > .flex { flex-direction: row; align-items: center; gap: 7px; }
  body:has(.menu-open) { overflow: hidden; }
  .page-heading, .bulk-heading, .analytics-heading, .application-heading { min-height: 40px; gap: 6px; }
  .page-heading h1, .bulk-heading h1, .analytics-heading h1, .application-heading h1 { font-size: 21px; }
  .page-heading .btn { min-height: 40px; font-size: 12px; }
  .manager-create { gap: 4px; }
  .stats .stat { display: block; min-height: 48px; padding: 5px 6px; }
  .stat-label { font-size: 11px; line-height: 1.2; }
  .stats .stat-number { font-size: 20px; margin-top: 3px; }
  .board-toolbar { padding: 6px; }
  .board-toolbar .tab, .board-filter-controls select, .board-filter-controls .filter-tag { min-height: 40px; font-size: 12px; }
  .board-filter-controls .search-wrap input { height: 44px; font-size: 16px; }
  .board-filter-controls .search-wrap .icon { top: 14px; }
  .cards { gap: 6px; padding: 6px; }
  .orders-panel .mobile-card { padding: 8px; }
  .orders-panel .mobile-card .order-number { font-size: 14px; min-height: 24px; }
  .mobile-order-head { gap: 4px; }
  .mobile-order-head .order-select { min-width: 26px; min-height: 32px; justify-content: center; }
  .mobile-card .stage-strip { margin: 6px 0; }
  .mobile-card > .row-close-btn { width: 100%; min-height: 44px; margin-top: 6px; justify-content: center; font-size: 12px; }
  .selection-toolbar { gap: 4px 8px; }
  .selection-toolbar .btn, .selection-toolbar .text-btn { min-height: 44px; font-size: 12px; }
  .selection-hint { display: none; }
  dialog > form { max-height: calc(100dvh - 18px); }
  dialog:not(.detail-dialog) { max-height: calc(100dvh - 16px); }
  .dialog-head h2 { font-size: 17px; }
  .dialog-head .icon-btn { min-width: 44px; height: 44px; }
  .dialog-head, #drive-dialog .dialog-head { padding: 6px 12px; }
  .dialog-body, #drive-dialog .dialog-body { padding: 10px 12px; }
  .dialog-footer, #drive-dialog .dialog-footer { padding: 7px 12px; }
  .dialog-footer .btn { min-height: 44px; padding: 7px 10px; font-size: 13px; }
  .field input, .field select, .field textarea, #drive-dialog .field input, .login-form .field input { min-height: 44px; font-size: 16px; }
  .shipping-line input, .item-editor-row input, .correction-task select, .correction-task > div > input, .operation-search { min-height: 44px; font-size: 16px; }
  .field-grid { gap: 8px; }
  .shop-checkboxes { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shop-check span, .route-choice label { min-height: 44px; font-size: 12px; }
  .form-disclosure > summary, .detail-history > summary, .shipment-history > summary, .page-help > summary { min-height: 44px; padding-block: 10px; }
  .detail-info { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-actions { padding-inline: 12px; }
  .detail-actions .btn, .drive-link .btn { min-height: 44px; font-size: 13px; }
  .detail-hero, .detail-section { padding: 10px 12px; }
  .drive-link { padding-inline: 12px; }
  .detail-task .text-btn, .detail-section > .flex .text-btn { min-height: 44px; }
  .worker-top .icon-btn { width: 44px; height: 44px; }
  .worker-top { padding: 5px 0; }
  .worker-controls .tab { min-height: 44px; font-size: 12px; }
  .worker-controls .search-wrap input { height: 44px; font-size: 16px; }
  .task-card .order-number { font-size: 16px; }
  .task-card .order-customer, .tile-meta, .tile-goods { font-size: 12px; }
  .admin-panel .btn, .admin-panel .text-btn, .analytics-filters .btn, .analytics-presets .text-btn, .bulk-tools .btn, .bulk-footer .btn { min-height: 44px; font-size: 12px; }
  .admin-user-cards { gap: 6px; padding: 6px; }
  .admin-user-cards .mobile-card { padding: 8px; }
  .admin-user-cards .user-login { font-size: 11px; }
  .admin-toolbar .search-wrap input { font-size: 16px; min-height: 44px; }
  .analytics-filters label { font-size: 12px; }
  .analytics-filters input, .analytics-filters select, .bulk-tools input, .bulk-tools select { min-height: 44px; font-size: 16px; }
  .analytics-kpi > strong { font-size: 22px; }
  .analytics-kpi > span, .analytics-kpi p { font-size: 11px; }
  .bulk-heading { flex-wrap: wrap; }
  .bulk-heading .tabs { width: 100%; }
  .bulk-heading .tab { flex: 1; min-height: 44px; font-size: 12px; }
  .bulk-heading p { display: none; }
  .bulk-scroll { max-height: 52dvh; }
  .bulk-cell { height: 40px; font-size: 16px; }
  .portal-bulk .workspace { height: 100dvh; display: flex; flex-direction: column; }
  .portal-bulk .topbar { flex-shrink: 0; }
  .portal-bulk #page-content { flex: 1; min-height: 0; }
  .portal-bulk .bulk-shell { height: 100%; display: flex; flex-direction: column; }
  .portal-bulk .bulk-heading, .portal-bulk .bulk-tools, .portal-bulk .page-help, .portal-bulk .bulk-footer, .portal-bulk .bulk-message { flex-shrink: 0; }
  .portal-bulk .bulk-scroll { flex: 1; min-height: 100px; max-height: none; }
  .operations-shell .operations-table, .operation-changes { min-width: 0; }
  .operations-shell .operations-table thead, .operation-changes thead { display: none; }
  .operations-shell .operations-table tbody, .operation-changes tbody { display: grid; gap: 6px; }
  .operations-shell .operations-table tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: white; }
  .operations-shell .operations-table td { padding: 4px 0; border: 0; min-width: 0; overflow-wrap: anywhere; }
  .operations-shell .operations-table td:nth-child(1), .operations-shell .operations-table td:nth-child(2), .operations-shell .operations-table td:nth-child(5) { grid-column: 1 / -1; }
  .operations-shell .operations-table td:nth-child(3)::before { content: 'Заявок: '; color: var(--muted); }
  .operations-shell .operations-table .btn { min-height: 44px; white-space: normal; flex: 1; }
  .operation-changes tr { display: block; padding: 8px; border: 1px solid var(--line); border-radius: 7px; }
  .operation-changes td, .operation-changes td:first-child, .operation-changes td:last-child { display: block; width: auto; padding: 4px 0; border: 0; overflow-wrap: anywhere; }
  .operation-changes td:nth-child(2)::before { content: 'Изменения: '; color: var(--muted); }
  .operation-changes td:nth-child(3)::before { content: 'Проверка: '; color: var(--muted); }
  .application-intro .btn, .application-devices .tab { min-height: 44px; }
  .application-guide { padding: 10px; }
  .application-steps { gap: 10px; }
  .column-move .icon-btn { width: 44px; height: 44px; }
}
@media (max-width: 359px) {
  .shop-checkboxes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manager-create .btn { padding-inline: 5px; font-size: 11px; }
  .detail-actions .btn { flex: 1 1 auto; }
}
