:root{--bg:#f5f7fc;--paper:#fff;--ink:#17243e;--muted:#75829a;--line:#e4eaf4;--blue:#3269e9;--blue-pale:#edf3ff;--green:#138b68;--green-pale:#eaf8f2;--amber:#326f9e;--amber-pale:#e1f5fd;--red:#c84a5e;--red-pale:#fff0f1;--violet:#7654e8;--shadow:0 7px 24px rgba(30,53,97,.045)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9ab8ff;outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:26px 16px 18px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 25px}.brand-icon{width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#4484ff,#2856d6);color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 6px 15px #3670e332}.brand-title{font-weight:800;font-size:16px;letter-spacing:-.5px}.brand-subtitle{font-size:10px;color:var(--muted);margin-top:3px}.mode-note{display:flex;align-items:center;gap:10px;padding:12px 11px;border:1px solid #b4dff1;background:#f1fafe;border-radius:12px;margin:0 4px 23px}.mode-note strong{font-size:10px;display:block;color:#1f6d8e;letter-spacing:.45px}.mode-note small{font-size:10px;color:#9a8a65;display:block;margin-top:3px}.pulse{width:8px;height:8px;background:#26aae3;border-radius:100%;box-shadow:0 0 0 4px #cbedfc}.side-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;text-align:left;display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:10px;color:#6e7b94;font-weight:700;font-size:12px;transition:.15s}.nav-item:hover{background:#f6f8fc;color:var(--ink)}.nav-item.active{background:#edf3ff;color:#285dce}.nav-icon{font-size:17px;width:17px;text-align:center}.nav-count{margin-left:auto;background:#f0f3f8;color:#73819a;border-radius:7px;padding:3px 7px;font-size:10px}.nav-item.active .nav-count{background:#dce7ff;color:#2c61d4}.trash-count{color:#1084b6;background:#d9f2fd}.sidebar-bottom{display:flex;align-items:center;gap:9px;margin-top:auto;padding:13px 10px;border:1px solid var(--line);border-radius:12px}.usb-mini-icon{width:30px;height:30px;display:grid;place-items:center;background:#e2f5fe;color:#1a94c8;border-radius:9px;font-size:17px}.sidebar-bottom strong{font-size:10px;display:block}.sidebar-bottom small{font-size:9px;display:block;color:var(--muted);margin-top:3px}.off-pill{margin-left:auto;font-size:9px;font-weight:800;color:#198cbd;background:#def4fd;border-radius:6px;padding:4px 5px}.sidebar-foot{padding:15px 8px 0;color:#a0aabe;font-size:9px}.main-area{min-width:0;padding:0 32px;max-width:1700px;width:100%;margin:0 auto}.topbar{height:76px;border-bottom:1px solid #e8edf5;display:flex;align-items:center;justify-content:space-between;gap:18px}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#99a3b4;font-size:11px}.breadcrumbs strong{color:#34425d;font-weight:700}.crumb-divider{color:#ced4df}.top-actions{display:flex;align-items:center;gap:16px}.local-status{color:#8793a7;display:flex;align-items:center;gap:7px;font-size:10px}.status-dot{display:inline-block;width:6px;height:6px;background:#26ad7d;border-radius:50%;box-shadow:0 0 0 3px #daf6e9}.avatar{width:30px;height:30px;border:1px solid #d8e3fa;border-radius:10px;background:#edf3ff;color:#2c5fce;font-weight:800}.mobile-brand{display:none}.view{display:none;padding-top:28px;padding-bottom:20px}.view.active-view{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:28px;letter-spacing:-1px;margin:5px 0 7px;font-weight:800}.eyebrow{font-size:9px;letter-spacing:1.15px;font-weight:800;color:#8c9ab1}.page-subtitle{font-size:12px;color:#7f8ba1;margin:0;line-height:1.65}.heading-tools{display:flex;align-items:center;gap:10px}.demo-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #d8e5ff;background:#f0f5ff;color:#3467cb;border-radius:9px;font-weight:800;font-size:10px;white-space:nowrap}.demo-badge span{font-size:8px;color:#3c79f2}.btn{border:1px solid transparent;border-radius:9px;padding:10px 13px;font-weight:800;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .12s,background .12s}.btn:active{transform:translateY(1px)}.btn-secondary{border-color:#dfe6f2;background:#fff;color:#4c5b76}.btn-secondary:hover{background:#f6f8fd}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 4px 9px #3269e91c}.btn-primary:hover{background:#285bd2}.btn-danger{background:#fff3f4;color:#ba4053;border-color:#f2d1d6}.btn-danger:hover{background:#ffe7ea}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:19px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 19px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-26px;bottom:-50px;width:110px;height:110px;border-radius:50%;background:var(--tint);opacity:.7}.stat-blue{--accent:var(--blue);--tint:#eef3ff}.stat-green{--accent:var(--green);--tint:#e9f9f2}.stat-amber{--accent:var(--amber);--tint:#e1f5fd}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#79869c;font-weight:700;font-size:11px}.stat-icon{height:29px;width:29px;border-radius:9px;display:grid;place-items:center;background:var(--tint);color:var(--accent);font-size:15px;font-weight:800}.stat-value{font-size:31px;font-weight:800;letter-spacing:-1px;margin:9px 0 2px;color:var(--ink)}.stat-caption{font-size:10px;color:#9aa5b7;position:relative;z-index:1}.notice-card{display:flex;align-items:flex-start;gap:12px;background:#eef5ff;border:1px solid #d7e6ff;border-radius:13px;padding:15px 17px;margin-bottom:31px;position:relative}.notice-icon{flex:0 0 27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#dceaff;color:#2e68df;font-size:14px;font-weight:800}.notice-content{flex:1;min-width:0}.notice-content>strong{font-size:11px;color:#2458b8}.notice-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;margin-top:8px;color:#5e7193;font-size:10px;line-height:1.6}.notice-lines div:before{content:"•";color:#5f8cea;font-weight:800;margin-right:6px}.notice-tag{font-size:9px;letter-spacing:.5px;font-weight:800;color:#3d70cb;background:#dce9ff;border-radius:6px;padding:6px 7px;white-space:nowrap}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.section-heading h2{font-size:17px;margin:0 0 5px;letter-spacing:-.4px}.section-heading p{font-size:10px;color:#8a96aa;margin:0}.text-button{border:0;background:transparent;color:#386bda;font-size:10px;font-weight:800;padding:6px 0;white-space:nowrap}.text-button span{font-size:14px;margin-left:4px}.machine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.machine-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);text-align:left;min-width:0;transition:border .15s,transform .15s,box-shadow .15s}.machine-card:hover{border-color:#bfd0fb;transform:translateY(-2px);box-shadow:0 10px 24px #2d52a010}.machine-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.machine-info{display:flex;align-items:center;gap:10px;min-width:0}.machine-dot{width:10px;height:34px;border-radius:8px;flex:0 0 10px}.dot-blue{background:#4279f2}.dot-violet{background:#8a65ec}.dot-green{background:#27a777}.dot-orange{background:#33b5eb}.dot-rose{background:#e54d78}.dot-yellow{background:#558fbf}.machine-name{font-size:13px;font-weight:800;margin:0;letter-spacing:-.2px}.machine-sub{color:#8d99ac;font-size:10px;margin-top:4px}.machine-count{background:#f2f5fa;border-radius:8px;padding:6px 8px;color:#66758e;font-weight:800;font-size:10px;white-space:nowrap}.machine-card-progress{height:5px;background:#f0f3f8;border-radius:9px;margin:17px 0 13px;overflow:hidden}.machine-card-progress span{display:block;height:100%;border-radius:9px;background:var(--mcolor);width:var(--progress)}.machine-card-footer{display:flex;align-items:center;justify-content:space-between;color:#8390a5;font-size:10px}.arrow-circle{width:24px;height:24px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:#7786a0;font-size:15px}.machine-preview{margin-top:14px;border-top:1px solid #eff2f7;padding-top:11px;display:grid;gap:8px}.preview-line{display:flex;align-items:flex-start;gap:7px;color:#5c6c87;font-size:10px;line-height:1.5}.preview-line .mini-number{flex:0 0 18px;height:18px;background:#f0f4fc;border-radius:6px;display:grid;place-items:center;color:#4d6eb2;font-size:9px;font-weight:800}.preview-line .preview-name{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.preview-more{font-size:9px;color:#9da8b9;margin-top:1px}.bottom-hint{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid #e2e9f5;background:#fff;border-radius:12px;margin-top:20px;color:#8190a6;font-size:10px;line-height:1.5}.bottom-hint strong{color:#4b5b75}.hint-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;background:#dbf3fd;color:#138cc0;border-radius:8px;font-size:15px}.bottom-hint .text-button{margin-left:auto}.compact-heading{margin-bottom:20px}.compact-heading h1{margin-top:7px}.filters-bar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:17px}.search-box{flex:1;display:flex;align-items:center;gap:8px;color:#8693a8;padding:0 10px;min-width:150px}.search-box>span{font-size:22px}.search-box input{background:transparent;border:0;outline:0;width:100%;min-width:0;color:var(--ink);font-size:11px}.filter-select{display:flex;align-items:center;gap:9px;padding:0 11px;border-left:1px solid var(--line);font-size:10px;color:#8d99ad}.filter-select select{border:0;background:transparent;color:#40516e;font-weight:700;font-size:10px;max-width:130px;outline:0}.filter-result{font-size:10px;color:#9ba6b7;padding:0 8px;white-space:nowrap}.task-list{display:grid;gap:11px}.task-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:13px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 16px;box-shadow:0 3px 10px #1e356108}.task-card:hover{border-color:#ccd8ef}.task-index{width:33px;height:33px;border-radius:11px;background:#edf3ff;color:#3168df;display:grid;place-items:center;font-weight:800;font-size:12px}.task-main{min-width:0}.task-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-title{font-size:12px;font-weight:800;line-height:1.5;margin:0}.order-no{font-size:10px;color:#8090a8;margin-top:4px}.task-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.pill{display:inline-flex;align-items:center;padding:5px 7px;border-radius:6px;font-weight:800;font-size:9px}.pill-machine{background:#f0f4fb;color:#667792}.pill-metal{background:#c8ecfc;color:#0874a2}.pill-color{background:#f3ebff;color:#7b54bc}.pill-normal{background:#eaf7f0;color:#378463}.task-notes{display:flex;align-items:flex-start;gap:7px;color:#7b8aa2;font-size:10px;line-height:1.6;margin-top:9px}.task-notes .note-icon{color:#22a5dd;font-size:13px;flex:0 0 auto}.task-source{color:#a0aabd;font-size:9px;margin-top:8px}.task-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:132px}.btn-small{padding:8px 10px;font-size:10px;border-radius:8px;white-space:nowrap}.btn-complete{background:#edf9f4;color:#178464;border:1px solid #d9f0e6}.btn-complete:hover{background:#dff5eb}.btn-remove{border:1px solid #e9edf4;color:#8b96a8;background:#fff}.btn-remove:hover{background:#fff3f4;color:#b64556;border-color:#f1d7db}.empty-state{background:#fff;border:1px dashed #d9e1ed;border-radius:14px;padding:44px 20px;text-align:center;color:#8491a6}.empty-state .empty-icon{font-size:30px;color:#9aa9c0;margin-bottom:10px}.empty-state h3{color:#4a5973;margin:0 0 7px;font-size:13px}.empty-state p{margin:0;font-size:10px;line-height:1.6}.back-link{display:inline-block;border:0;background:transparent;padding:0 0 15px;color:#5e78b2;font-size:10px;font-weight:800}.machine-heading-line{display:flex;gap:13px;align-items:center}.large-machine-dot{width:9px;height:44px;border-radius:9px;background:#4279f2}.large-machine-dot.dot-violet{background:#8a65ec}.large-machine-dot.dot-green{background:#27a777}.large-machine-dot.dot-orange{background:#33b5eb}.large-machine-dot.dot-rose{background:#e54d78}.large-machine-dot.dot-yellow{background:#558fbf}.machine-heading-line h1{margin:3px 0}.machine-summary{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:15px;color:#7c8aa1;font-size:10px}.machine-summary strong{color:#354562;font-size:13px}.summary-sep{width:4px;height:4px;border-radius:50%;background:#c0cad9}.trash-heading-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e0f4fd;color:#178bbd;font-size:22px}.trash-explainer{display:flex;gap:12px;padding:15px 17px;border:1px solid #b9e0f1;background:#f1fafe;border-radius:12px;margin-bottom:18px}.explainer-icon{width:32px;height:32px;display:grid;place-items:center;background:#ceeefc;color:#1c8cbc;border-radius:10px;font-size:19px;flex:0 0 auto}.trash-explainer strong{color:#1b6280;font-size:11px}.trash-explainer p{margin:5px 0 0;color:#9a865f;font-size:10px;line-height:1.65}.trash-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:17px;overflow:auto}.trash-tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 13px;color:#8b98ad;font-size:10px;font-weight:800;white-space:nowrap}.trash-tab.active{color:#3269e9;border-bottom-color:#3269e9}.trash-tab span{margin-left:5px;padding:3px 5px;border-radius:5px;background:#f0f3f8;color:#72809a;font-size:9px}.trash-reason{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:800;border-radius:6px;padding:5px 7px}.reason-completed{color:#198162;background:#e9f8f1}.reason-removed{color:#b24b5d;background:#fff0f2}.task-actions .btn-restore{background:#edf4ff;border:1px solid #d8e6ff;color:#2d62ce}.task-actions .btn-restore:hover{background:#dfeaff}.btn-delete-forever{background:transparent;border:0;color:#b9a3a6;font-size:9px;padding:4px}.btn-delete-forever:hover{color:#b03e51}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow);min-width:0}.settings-card-heading{display:flex;align-items:center;gap:11px;margin-bottom:15px;min-width:0}.settings-icon{flex:0 0 36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:16px;font-weight:800}.icon-blue{background:#edf3ff;color:#3269e9}.icon-orange{background:#e3f6fe;color:#2499cb}.icon-green{background:#e8f8f0;color:#1e936a}.icon-red{background:#fff0f2;color:#c44559}.settings-card-heading>div:nth-child(2){min-width:0;flex:1}.settings-card-heading h3{font-size:12px;margin:0 0 4px}.settings-card-heading p{font-size:9px;line-height:1.5;color:#8c99ad;margin:0}.integration-pill{font-size:8px;font-weight:800;border-radius:6px;padding:5px 6px;white-space:nowrap}.integration-pill.off{color:#2d87ae;background:#e4f6fe}.integration-pill.on{color:#23845f;background:#e9f8f0}.settings-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #f0f3f8;color:#7b899e;font-size:10px}.settings-row strong{font-size:9px;color:#53627d;text-align:right}.settings-row .state-off{color:#3895bd}.settings-row .state-on{color:#24865f}.usb-warning{display:flex;gap:9px;padding:11px;background:#effafe;border:1px solid #c6e7f5;border-radius:10px;margin-bottom:8px;color:#2895c4}.usb-warning>span{font-size:15px}.usb-warning strong{font-size:10px;color:#216a89}.usb-warning p{font-size:9px;color:#4d99ba;line-height:1.6;margin:4px 0 0}.usb-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.usb-map-item{padding:8px 9px;background:#f7f9fc;border:1px solid #edf1f7;border-radius:8px}.usb-map-item strong{display:block;font-size:10px;color:#4a5c7a}.usb-map-item span{font-size:9px;color:#8b98ab;display:block;margin-top:3px}.reset-copy{color:#8491a6;font-size:10px;line-height:1.7;margin:0 0 15px}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e8edf5;padding:18px 0 23px;color:#9aa6b8;font-size:9px}.app-footer i{display:inline-block;width:6px;height:6px;background:#23ad7b;border-radius:50%;margin-right:5px}.toast-region{position:fixed;bottom:20px;right:22px;z-index:50;display:grid;gap:8px}.toast{background:#1f2e49;color:#fff;border-radius:10px;padding:12px 15px;box-shadow:0 8px 30px #1b28402e;font-size:11px;max-width:340px;animation:toastIn .2s ease-out}.toast.error{background:#9f3549}.toast.success{background:#176d54}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.main-area{padding-left:42px;padding-right:42px}.machine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.machine-card{padding:19px}}
@media(max-width:1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.main-area{padding:0 22px}.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-lines{grid-template-columns:1fr;gap:4px}.notice-tag{display:none}.task-card{grid-template-columns:34px minmax(0,1fr)}.task-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;min-width:0}.task-actions .btn{flex:1}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:0;right:0;bottom:0;top:auto;width:auto;height:68px;min-height:0;padding:5px 7px;border-right:0;border-top:1px solid var(--line);display:block}.sidebar .brand,.sidebar .mode-note,.sidebar-bottom,.sidebar-foot{display:none}.side-nav{height:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.nav-item{padding:6px 2px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;font-size:9px;border-radius:9px;position:relative}.nav-icon{font-size:17px;width:auto}.nav-count{position:absolute;right:calc(50% - 29px);top:3px;font-size:8px;padding:2px 4px;margin:0}.main-area{padding:0 14px 82px}.topbar{height:59px}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px}.mobile-brand .brand-icon{width:29px;height:29px;font-size:16px;border-radius:9px}.breadcrumbs,.local-status,.avatar{display:none}.top-actions{margin-left:auto}.view{padding-top:20px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:18px}.page-heading h1{font-size:25px}.heading-tools{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:13px}.stat-card:last-child{grid-column:1/-1}.stat-value{font-size:27px}.stat-caption{font-size:9px}.stat-top{font-size:10px}.notice-card{padding:12px;margin-bottom:25px}.notice-lines{font-size:9px}.section-heading{align-items:flex-start}.section-heading h2{font-size:16px}.section-heading p{max-width:235px;line-height:1.6}.section-heading .text-button{font-size:9px}.machine-grid{grid-template-columns:1fr;gap:10px}.machine-card{padding:14px}.machine-card .machine-card-progress{margin:12px 0}.bottom-hint{flex-wrap:wrap;align-items:flex-start}.bottom-hint .text-button{margin-left:38px}.filters-bar{flex-wrap:wrap;gap:8px}.search-box{flex-basis:100%;min-height:30px}.filter-select{border-left:0;border-top:1px solid var(--line);padding:8px 7px 0 0;flex:1}.filter-result{padding-top:8px;border-top:1px solid var(--line)}.task-card{padding:12px;gap:10px;grid-template-columns:30px minmax(0,1fr)}.task-index{width:29px;height:29px;border-radius:9px}.task-title{font-size:11px}.task-actions{gap:6px}.task-actions .btn{font-size:9px;padding:9px 6px}.page-heading .btn{align-self:stretch}.trash-tabs{margin-right:-14px}.settings-grid{grid-template-columns:1fr}.settings-card{padding:14px}.settings-card-heading{gap:8px}.integration-pill{font-size:7px}.app-footer{flex-direction:column;align-items:flex-start;line-height:1.7}.toast-region{bottom:78px;left:12px;right:12px}.toast{max-width:none}.compact-heading{gap:14px}.compact-heading .heading-tools{width:auto}.large-machine-dot{height:37px}.machine-heading-line h1{font-size:23px}.machine-summary{gap:8px}.settings-card-heading p{max-width:200px}}
@media(max-width:380px){.nav-item{font-size:8px}.nav-icon{font-size:16px}.heading-tools .btn{font-size:9px}.stats-grid{gap:7px}.stat-value{font-size:24px}.settings-card-heading{flex-wrap:wrap}.integration-pill{margin-left:44px}}


/* PRINTLAB-inspired visual theme v0.2.
   A restrained editorial identity: warm paper, deep charcoal, vivid vermilion accent,
   large typography, sharp hierarchy and quiet surfaces. Operational behaviors unchanged. */
:root{
  --bg:#f3f2ee;--paper:#fffefa;--ink:#171717;--muted:#77736d;--line:#dedbd4;
  --blue:#20a2e3;--blue-pale:#eef9fe;--green:#297555;--green-pale:#eaf5ef;
  --amber:#367caf;--amber-pale:#e1f5fd;--red:#c83936;--red-pale:#fff0ef;
  --violet:#6750a4;--shadow:0 2px 0 rgba(23,23,23,.025)
}
body{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;letter-spacing:-.08px}
button,input,select{font-family:Arial,Helvetica,sans-serif}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9dd7f0;outline-offset:2px}
.app-shell{grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:#171717;color:#eef6f9;border-right:1px solid #171717;padding:25px 15px 18px}
.brand{padding:0 9px 26px}
.brand-icon{width:40px;height:40px;min-width:40px;border-radius:5px;background:#20a2e3;color:#fff;font-size:14px;font-weight:900;letter-spacing:-.8px;box-shadow:none}
.brand-title{font-size:17px;font-weight:900;letter-spacing:1.2px;color:#fff}
.brand-subtitle{font-size:9px;letter-spacing:1.2px;font-weight:700;color:#aaa69e;margin-top:4px}
.mode-note{background:#242424;border-color:#393939;border-radius:5px;margin:0 3px 24px;padding:12px 10px}
.mode-note strong{color:#aee4fb;font-size:9px;letter-spacing:.8px}
.mode-note small{color:#b9b4ac;font-size:9px}
.pulse{background:#20a2e3;box-shadow:0 0 0 4px #244b5c}
.nav-item{border-radius:5px;color:#c2beb7;font-size:12px;font-weight:700;padding:13px 12px}
.nav-item:hover{background:#282828;color:#fff}
.nav-item.active{background:#20a2e3;color:#fff}
.nav-count{background:#303030;color:#d1ccc4;border-radius:4px}
.nav-item.active .nav-count{background:#ade3fb;color:#17465a}
.trash-count{background:#1d3c49;color:#83cff0}
.sidebar-bottom{border-color:#393939;background:#202020;border-radius:5px}
.sidebar-bottom strong{color:#e9f3f7}
.sidebar-bottom small{color:#aaa59d}
.usb-mini-icon{border-radius:4px;background:#382a25;color:#85d6f9}
.off-pill{background:#1a3744;color:#89d7f9;border-radius:4px}
.sidebar-foot{color:#88837c}
.main-area{padding:0 34px;max-width:1700px}
.topbar{border-bottom-color:#dedbd4}
.breadcrumbs{color:#928d84;font-size:11px}
.breadcrumbs strong{color:#171717}
.local-status{color:#77736d}
.status-dot{background:#297555;box-shadow:0 0 0 3px #dcece2}
.avatar{border-radius:5px;background:#171717;border-color:#171717;color:#fff}
.view{padding-top:32px}
.page-heading{margin-bottom:26px}
.page-heading h1{font-size:32px;letter-spacing:-1.35px;font-weight:900;color:#171717}
.eyebrow{color:#147faf;letter-spacing:1.25px;font-size:9px;font-weight:900}
.page-subtitle{color:#77736d}
.demo-badge{border:1px solid #abd9ed;background:#f0fafe;color:#126f9c;border-radius:4px;font-size:9px;letter-spacing:.35px;text-transform:uppercase}
.demo-badge span{color:#20a2e3}
.btn{border-radius:5px;font-size:10px;letter-spacing:.05px}
.btn-secondary{border-color:#cfcac1;background:#fffefa;color:#242424}
.btn-secondary:hover{background:#e4f0f5}
.btn-primary{background:#20a2e3;box-shadow:none;color:#fff}
.btn-primary:hover{background:#117eaf}
.btn-danger{background:#fff0ef;color:#b42b2a;border-color:#bedfed}
.stat-card{background:#fffefa;border-color:#dedbd4;border-radius:6px;box-shadow:none;padding:17px 19px}
.stat-card:after{opacity:.42}
.stat-blue{--accent:#20a2e3;--tint:#eef9fe}
.stat-green{--accent:#297555;--tint:#eaf5ef}
.stat-amber{--accent:#367caf;--tint:#e1f5fd}
.stat-top{color:#77736d;font-size:10px}
.stat-icon{border-radius:5px}
.stat-value{color:#171717;font-weight:900;letter-spacing:-1.1px}
.stat-caption{color:#8b867d}
.notice-card{background:#e9e6df;border:1px solid #d9d5cc;border-left:4px solid #20a2e3;border-radius:5px;padding:15px 16px;margin-bottom:32px}
.notice-icon{border-radius:4px;background:#171717;color:#fff}
.notice-content>strong{color:#171717;text-transform:uppercase;letter-spacing:.5px;font-size:10px}
.notice-lines{color:#5e5a54}
.notice-lines div:before{color:#20a2e3}
.notice-tag{background:#171717;color:#fff;border-radius:3px;font-size:8px;letter-spacing:.9px}
.section-heading h2{font-size:18px;letter-spacing:-.5px;font-weight:900}
.section-heading p{color:#77736d}
.text-button{color:#147faf;font-size:10px}
.machine-grid{gap:13px}
.machine-card{background:#fffefa;border:1px solid #dedbd4;border-radius:6px;box-shadow:none;padding:17px;transition:border .14s,background .14s}
.machine-card:hover{border-color:#20a2e3;transform:translateY(-1px);box-shadow:0 4px 0 rgba(56,179,232,.06)}
.machine-dot{border-radius:3px;width:8px;flex-basis:8px}
.machine-name{font-size:14px;font-weight:900;color:#171717}
.machine-sub{color:#77736d}
.machine-count{background:#f0eee9;border-radius:4px;color:#45413c}
.machine-card-progress{background:#e9e6df;border-radius:2px;height:4px}
.machine-card-progress span{border-radius:2px}
.machine-card-footer{color:#77736d}
.arrow-circle{border-radius:4px;background:#f3f2ee;border-color:#dedbd4;color:#171717}
.machine-preview{border-top-color:#e7e3dc}
.preview-line{color:#5f5a53}
.preview-line .mini-number{border-radius:3px;background:#f0eee9;color:#514b43}
.bottom-hint{border-color:#dedbd4;background:#fffefa;border-radius:5px;color:#77736d}
.bottom-hint strong{color:#171717}
.hint-icon{background:#eef9fe;color:#20a2e3;border-radius:4px}
.filters-bar{background:#fffefa;border-color:#dedbd4;border-radius:5px}
.search-box input,.filter-select select{color:#171717}
.task-card{background:#fffefa;border:1px solid #dedbd4;border-radius:6px;box-shadow:none}
.task-index{border-radius:4px!important}
.task-title{color:#171717;font-weight:800}
.order-no{color:#77736d}
.pill{border-radius:3px}
.pill-machine{background:#f0eee9;color:#514b43}
.task-notes{border-radius:4px}
.task-source{color:#918b82}
.task-actions .btn-complete{background:#171717;color:#fff;border-color:#171717}
.task-actions .btn-complete:hover{background:#333}
.task-actions .btn-remove{background:#fffefa;color:#77736d;border-color:#d8d3ca}
.task-actions .btn-restore{background:#eef9fe;border-color:#bee0ef;color:#2991bd}
.task-actions .btn-restore:hover{background:#e0f4fd}
.btn-delete-forever{color:#9b817e}
.empty-state{background:#fffefa;border:1px dashed #d4cfc6;border-radius:6px}
.empty-icon{border-radius:5px;background:#f0eee9;color:#20a2e3}
.trash-tabs{border-bottom-color:#dedbd4}
.trash-tab{color:#77736d}
.trash-tab.active{color:#20a2e3;border-bottom-color:#20a2e3}
.trash-tab span{border-radius:3px;background:#dfecf2;color:#6f685f}
.reason-completed{color:#226746;background:#e8f3ec}
.reason-removed{color:#ad3834;background:#ecf9fe}
.settings-grid{gap:13px}
.settings-card{background:#fffefa;border-color:#dedbd4;border-radius:6px;box-shadow:none}
.settings-card-heading h3{color:#171717;font-weight:900}
.settings-icon{border-radius:5px}
.icon-blue{background:#eef9fe;color:#20a2e3}
.settings-row{border-top-color:#e8e4dc;color:#77736d}
.settings-row strong{color:#514d47}
.settings-row .state-off{color:#367caf}
.settings-row .state-on{color:#297555}
.integration-pill{border-radius:3px;letter-spacing:.3px}
.integration-pill.off{background:#e1f5fd;color:#157da9}
.integration-pill.on{background:#eaf5ef;color:#297555}
.usb-warning{background:#eaf8fe;border-color:#b8dded;border-radius:5px}
.usb-map-item{background:#ecf4f7;border-color:#e5e1d8;border-radius:4px}
.reset-card{border-top:3px solid #20a2e3}
.app-footer{border-top-color:#dedbd4;color:#918b82}
.app-footer i{background:#297555}
.toast{border-radius:5px;background:#171717;box-shadow:0 8px 30px #17171724}
.toast.error{background:#a52c2b}.toast.success{background:#246947}
@media(max-width:760px){
  .sidebar{background:#171717;border-top-color:#393939}
  .nav-item{border-radius:4px}
  .nav-item.active{background:#20a2e3;color:#fff}
  .mobile-brand .brand-icon{border-radius:4px}
  .mobile-brand strong{color:#171717;font-weight:900;letter-spacing:.3px}
  .mobile-brand strong span{font-size:9px;color:#77736d;font-weight:700;letter-spacing:.4px}
  .main-area{padding-left:14px;padding-right:14px}
  .page-heading h1{font-size:27px}
  .machine-card{border-radius:5px}
  .task-card{border-radius:5px}
}
@media(max-width:380px){.mobile-brand strong span{display:none}}

/* PRINTLAB UI PATCH v3 START: SKY BLUE AND LIVE PREVIEW */
/* PRINTLAB UI PATCH v2 START: SKY-BLUE + OFFICIAL LOGO + SAFE AREA */
/* Visual-only overrides. All application behavior and Telegram authentication remain unchanged. */
:root {
  --bg: #f3f7fa;
  --paper: #ffffff;
  --ink: #1b2731;
  --muted: #536777;
  --line: #dbe5ed;
  --blue: #20a2e3;
  --blue-pale: #eaf7ff;
  --green: #0b827e;
  --green-pale: #e7f7f4;
  --amber: #3983b0;
  --amber-pale: #ebf6fc;
  --red: #ac3151;
  --red-pale: #fdeef0;
  --violet: #64519a;
  --shadow: 0 4px 0 rgba(25, 25, 25, .025);
}
:root {
  --pl-brand-glyph: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M7%208h14a8%208%200%200%201%200%2016H14v5H7V8zm7%207v3h7a2%202%200%201%200%200-3h-7z%22%2F%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M24%2026l6%203-5%203z%22%2F%3E%3C%2Fsvg%3E");
  --pl-thread-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%2320a2e3%22%20stroke-width%3D%224%22%3E%3Cpath%20d%3D%22M8%2018c45-18%2072%2059%2099%2034S71%203%2039%2031s20%2088%2057%2074%22%2F%3E%3Cpath%20d%3D%22M11%2093l23-33%2010%2016-33%2017z%22%2F%3E%3Cpath%20d%3D%22M6%20103l15-9%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --pl-icon-grid: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%223.5%22%20y%3D%223.5%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.1%22%2F%3E%3Crect%20x%3D%2213.5%22%20y%3D%223.5%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.1%22%2F%3E%3Crect%20x%3D%223.5%22%20y%3D%2213.5%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.1%22%2F%3E%3Crect%20x%3D%2213.5%22%20y%3D%2213.5%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.1%22%2F%3E%3C%2Fsvg%3E");
  --pl-icon-list: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8%206h13M8%2012h13M8%2018h13%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%223.8%22%20cy%3D%226%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%223.8%22%20cy%3D%2212%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%223.8%22%20cy%3D%2218%22%20r%3D%221.6%22%2F%3E%3C%2Fsvg%3E");
  --pl-icon-trash: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%207h16M9%207V4h6v3M6%207l1%2013h10l1-13M10%2011v6M14%2011v6%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --pl-icon-gear: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M10%202h4l.6%202.3%202%20.9%202.2-1.1%202.8%202.8-1.1%202.2.9%202L23%2011v4l-2.3.6-.9%202%201.1%202.2-2.8%202.8-2.2-1.1-2%20.9L14%2024h-4l-.6-2.3-2-.9-2.2%201.1-2.8-2.8%201.1-2.2-.9-2L0%2015v-4l2.3-.6.9-2-1.1-2.2%202.8-2.8%202.2%201.1%202-.9z%22%20transform%3D%22translate%281%200%29%20scale%28.92%29%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.2%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body, button, input, select { font-family: Arial, "Segoe UI", Helvetica, sans-serif; }
body { font-size: 15px; line-height: 1.48; letter-spacing: 0; }
button, input, select { touch-action: manipulation; }
button { -webkit-tap-highlight-color: transparent; }
:where(button, input, select):focus-visible { outline-color: var(--blue); }

/* Type: clear reading hierarchy, with no tiny 8px/9px labels. */
.brand-title { font-size: 21px; letter-spacing: .55px; font-weight: 900; }
.brand-subtitle { font-size: 11px; letter-spacing: 1.1px; }
.page-heading h1 { font-size: clamp(32px, 3.4vw, 44px); line-height: 1.07; letter-spacing: -1.6px; }
.page-subtitle { font-size: 15px; line-height: 1.52; max-width: 620px; }
.eyebrow { font-size: 11px; font-weight: 900; letter-spacing: 1.15px; }
.section-heading h2 { font-size: 23px; letter-spacing: -.5px; }
.section-heading p { font-size: 14px; line-height: 1.5; }
.stat-top { font-size: 13px; }
.stat-value { font-size: 37px; }
.stat-caption { font-size: 12px; line-height: 1.35; }
.notice-content > strong { font-size: 13px; }
.notice-lines { font-size: 13px; line-height: 1.55; }
.notice-tag, .demo-badge { font-size: 11px; }
.machine-name { font-size: 19px; line-height: 1.2; }
.machine-sub { font-size: 13px; }
.machine-count { font-size: 13px; }
.machine-card-footer { font-size: 13px; }
.preview-line { font-size: 13px; line-height: 1.42; }
.preview-line .mini-number { font-size: 11px; }
.preview-more { font-size: 12px; }
.task-title { font-size: 17px; line-height: 1.42; }
.task-notes { font-size: 14px; line-height: 1.48; }
.task-source { font-size: 12px; }
.order-no, .pill { font-size: 12px; }
.text-button { font-size: 14px; font-weight: 800; }
.bottom-hint { font-size: 13px; line-height: 1.55; }
.settings-card-heading h3 { font-size: 17px; }
.settings-card-heading p { font-size: 13px; }
.settings-row { font-size: 13px; line-height: 1.45; }
.settings-row strong { font-size: 13px; }
.integration-pill, .local-status, .breadcrumbs { font-size: 12px; }
.empty-state h3 { font-size: 17px; }
.empty-state p { font-size: 14px; }
.trash-tab { font-size: 13px; }
.filter-result { font-size: 13px; }
.filter-select, .filter-select select { font-size: 14px; }
.search-box input { font-size: 16px; }
.btn, .btn-small { min-height: 42px; font-size: 14px; padding: 10px 15px; border-radius: 7px; }
.nav-item { font-size: 14px; }
.nav-count { font-size: 11px; }

/* Stronger Printlab-inspired art direction: ink, paper, vermilion, bold rules. */
.topbar { border-bottom: 2px solid var(--ink); }
.sidebar { background: #172630; }
.nav-item { color: #dfebf3; }
.nav-item.active { background: #20a2e3; color: #fff; }
.brand-icon {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: #20a2e3;
  box-shadow: none;
  font-size: 0 !important;
}
.brand-icon::after {
  content: "";
  position: absolute;
  width: 64%; height: 64%;
  left: 18%; top: 18%;
  background: #fff;
  mask: var(--pl-brand-glyph) center / contain no-repeat;
  -webkit-mask: var(--pl-brand-glyph) center / contain no-repeat;
}
.page-heading { position: relative; }
.page-heading .eyebrow::before { content: "///"; display: inline-block; margin-right: 9px; letter-spacing: -3px; font-size: 14px; }
.stat-card, .machine-card, .task-card, .settings-card, .notice-card, .filters-bar {
  box-shadow: none;
  background: #ffffff;
  border: 1px solid var(--line);
}
.stat-card { border-top: 3px solid #172630; }
.stat-card::after { opacity: .18; }
.machine-card { border-radius: 8px; padding: 19px; }
.machine-card:hover { border-color: var(--blue); box-shadow: none; }
.machine-card:active { background: #eff9ff; }
.task-card { border-radius: 8px; padding: 19px; }
.notice-card { border-left: 5px solid var(--blue); background: #e8f3f9; border-radius: 6px; overflow: hidden; }
.notice-card::after {
  content: "";
  position: absolute;
  top: -18px; right: 0;
  width: 118px; height: 118px;
  background: var(--pl-thread-art) center / contain no-repeat;
  opacity: .14; pointer-events: none;
}
.notice-content, .notice-icon, .notice-tag { position: relative; z-index: 1; }
.machine-count { background: #e5edf3; color: #20323d; }
.machine-card-progress { height: 6px; background: #dfeaf1; }
.stat-value, .machine-name, .task-title, .page-heading h1 { color: var(--ink); }
.task-actions .btn-complete { background: var(--ink); color: white; border-color: var(--ink); }
.task-actions .btn-complete:hover { background: #33322f; }
.task-actions .btn-restore { background: #eaf7ff; color: #137caf; border-color: #c2e6f9; }
.filters-bar { padding: 14px; }
.search-box { min-height: 42px; }
.settings-card { border-radius: 8px; }
.app-footer { font-size: 11px; }
.toast { font-size: 14px; }

/* Consistent, scalable vector pictograms independent of OS emoji fonts. */
.nav-icon { font-size: 0 !important; width: 22px; min-width: 22px; height: 22px; flex: 0 0 22px; display: inline-block; }
.nav-icon::after { content: ""; display: block; width: 22px; height: 22px; background: currentColor; mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.nav-item[data-view="overview"] .nav-icon::after { mask-image: var(--pl-icon-grid); -webkit-mask-image: var(--pl-icon-grid); }
.nav-item[data-view="all"] .nav-icon::after { mask-image: var(--pl-icon-list); -webkit-mask-image: var(--pl-icon-list); }
.nav-item[data-view="trash"] .nav-icon::after { mask-image: var(--pl-icon-trash); -webkit-mask-image: var(--pl-icon-trash); }
.nav-item[data-view="settings"] .nav-icon::after { mask-image: var(--pl-icon-gear); -webkit-mask-image: var(--pl-icon-gear); }

@media (max-width: 760px) {
  /* The Telegram WebView may reserve space for its own bars/home indicator. */
  :root {
    --pl-safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px), var(--tg-content-safe-area-inset-bottom, 0px));
    --pl-bottom-bar: 82px;
  }
  html { scroll-padding-bottom: calc(var(--pl-bottom-bar) + var(--pl-safe-bottom) + 16px); }
  .app-shell { display: block; min-height: 100svh; }
  .sidebar {
    top: auto; right: 0; left: 0; bottom: 0;
    position: fixed; z-index: 40;
    height: calc(var(--pl-bottom-bar) + var(--pl-safe-bottom));
    min-height: 0; width: 100%; max-height: none;
    padding: 6px 7px calc(8px + var(--pl-safe-bottom));
    background: #172630;
    border-top: 2px solid #34505f;
    box-shadow: 0 -6px 24px rgba(15, 15, 15, .14);
  }
  .side-nav { height: 100%; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 4px; }
  .nav-item {
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    min-width: 0; min-height: 0; padding: 7px 2px 6px;
    gap: 4px; border-radius: 7px;
    font-size: 12px; font-weight: 800; line-height: 1.15;
    text-align: center; overflow-wrap: anywhere;
  }
  .nav-icon { width: 24px; min-width: 24px; height: 24px; flex-basis: 24px; }
  .nav-icon::after { width: 24px; height: 24px; }
  .nav-count { top: 2px; right: 3px; font-size: 10px; padding: 1px 5px; }
  .main-area { padding: 0 15px calc(var(--pl-bottom-bar) + var(--pl-safe-bottom) + 44px); }
  .topbar { height: 65px; }
  .mobile-brand { font-size: 15px; }
  .mobile-brand .brand-icon { width: 33px; height: 33px; flex: 0 0 33px; }
  .mobile-brand strong span { font-size: 10px; }
  .view { padding-top: 21px; }
  .page-heading { gap: 14px; margin-bottom: 22px; }
  .page-heading h1 { font-size: clamp(28px, 7.7vw, 34px); letter-spacing: -1.25px; }
  .page-subtitle { font-size: 14px; line-height: 1.5; }
  .eyebrow { font-size: 10px; }
  .heading-tools { gap: 10px; }
  .demo-badge { font-size: 10px; }
  .btn, .btn-small { font-size: 14px; min-height: 44px; padding: 10px 12px; }
  .stats-grid { gap: 9px; }
  .stat-card { padding: 13px 14px; }
  .stat-value { font-size: 30px; }
  .stat-top { font-size: 12px; line-height: 1.2; }
  .stat-caption { font-size: 12px; }
  .stat-icon { width: 29px; height: 29px; flex-shrink: 0; }
  .notice-card { padding: 14px 13px; margin-bottom: 25px; }
  .notice-lines { font-size: 13px; }
  .notice-tag { display: none; }
  .section-heading h2 { font-size: 21px; }
  .section-heading p { font-size: 13px; max-width: 260px; }
  .section-heading .text-button { font-size: 12px; }
  .machine-grid { gap: 11px; }
  .machine-card { padding: 17px; }
  .machine-name { font-size: 19px; }
  .machine-sub { font-size: 13px; }
  .machine-card .machine-card-progress { margin: 14px 0; }
  .preview-line { font-size: 13px; }
  .bottom-hint { font-size: 13px; }
  .task-card { padding: 14px; grid-template-columns: 35px minmax(0, 1fr); gap: 11px; }
  .task-index { width: 33px; height: 33px; }
  .task-title { font-size: 16px; line-height: 1.4; }
  .task-meta { row-gap: 8px; }
  .task-notes { font-size: 14px; }
  .task-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; width: 100%; }
  .task-actions .btn { min-width: 0; width: 100%; font-size: 13px; padding: 10px 6px; white-space: normal; }
  .filter-select, .filter-select select, .filter-result { font-size: 13px; }
  .filters-bar { padding: 12px; }
  .search-box { min-height: 44px; }
  .search-box input { font-size: 16px; }
  .trash-tab { font-size: 13px; }
  .settings-card-heading h3 { font-size: 16px; }
  .settings-card-heading p { font-size: 13px; }
  .settings-row, .settings-row strong { font-size: 13px; }
  .integration-pill { font-size: 10px; }
  .toast-region { bottom: calc(var(--pl-bottom-bar) + var(--pl-safe-bottom) + 8px); }
}
@media (max-width: 380px) {
  .nav-item { font-size: 11px; }
  .nav-icon, .nav-icon::after { width: 22px; height: 22px; }
  .heading-tools { flex-wrap: wrap; }
  .page-heading h1 { font-size: 28px; }
  .stat-top { font-size: 11px; }
}
/* PRINTLAB UI PATCH v2 END */

/* Cool Printlab / visual clarity v2 refinements */
:root {--pl-sky:#20a2e3;--pl-sky-dark:#147baa;--pl-sky-soft:#e6f6ff;--amber:#3983b0;--amber-pale:#e9f6fd;}
.brand-icon {display:grid;place-items:center;overflow:hidden;background:#ffffff; border:1px solid #d4eaf5; border-radius:7px;}
.brand-icon::after{display:none!important}
.brand-icon img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.brand-fallback{position:absolute;z-index:1;font-weight:900;font-size:13px;color:#147baa}
.brand-icon img[hidden]{display:none}
.brand-icon:has(img:not([hidden])) .brand-fallback{opacity:0}
.page-heading .eyebrow{color:#1889be}
.demo-badge {background:#e8f7ff;color:#147ba8;border-color:#bee5f7}
.nav-item.active{background:#188fc8;color:#fff}
.stat-blue{--accent:#1587bf;--tint:#e7f6fe}
.stat-amber{--accent:#367caf;--tint:#e9f4fb}
.notice-card{background:#e7f4fa;border-left-color:#20a2e3}
.notice-icon{background:#cfecfb;color:#147cab}
.notice-content>strong{color:#1a536f}
.task-actions .btn-restore{background:#eaf7ff;color:#137caf;border-color:#c8eafc}
.btn-primary{background:#178cc4}
.btn-primary:hover{background:#147bad}
.btn-complete:focus-visible,.nav-item:focus-visible{outline-color:#57c2fa}
.pill-metal{background:#e9f6fd;color:#18618a}
.dot-sky,.large-machine-dot.dot-sky{background:#32b9e9}
.dot-teal,.large-machine-dot.dot-teal{background:#0c899e}
.task-source{color:#587b8b}
.task-brief{margin-top:12px;border:1px solid #c9e6f4;border-radius:9px;background:#f0f9fe;color:#213b4a;overflow:hidden}
.task-brief summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:14px;font-weight:800;display:flex;justify-content:space-between;gap:12px;align-items:center}
.task-brief summary::-webkit-details-marker{display:none}
.task-brief summary::after{content:'＋';font-size:18px;color:#1486c1;font-weight:500}
.task-brief[open] summary::after{content:'−'}
.task-brief-body{padding:0 14px 14px;font-size:14px;line-height:1.55}
.task-brief-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:11px}
.task-brief-muted{color:#687e8d}
.task-brief-link{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border-radius:7px;color:#fff;background:#178cc4;text-decoration:none;font-weight:800;font-size:14px}
@media(max-width:760px){
  .sidebar{background:#172630}
  .nav-item{font-size:12px}
  .brand-icon{min-width:36px;width:36px;height:36px}
  .stat-card{border-top-color:#1b2731}
  .task-brief summary{min-height:46px}
}
/* Live read-only Telegram plan preview */
.brand-icon{position:relative}
.brand-icon .brand-fallback{inset:0;display:grid;place-items:center}
.live-plan-preview{margin:26px 0 32px;padding:18px 16px;border:1px solid #c5e4f6;border-top:4px solid #20a2e3;border-radius:9px;background:#fff}
.live-plan-preview[hidden]{display:none!important}
.live-plan-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.live-plan-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.7px;color:#172630;margin:8px 0}
.live-plan-subtitle{font-size:14px;color:#526774;line-height:1.5;margin:0}
.live-plan-readonly{white-space:nowrap;font-size:10px;font-weight:900;color:#11799e;border:1px solid #bfe3f5;background:#eaf7ff;padding:7px 9px;border-radius:5px}
.live-plan-meta{display:flex;flex-wrap:wrap;gap:8px 15px;margin:19px 0;font-size:13px;color:#557185}
.live-plan-meta a{color:#087bb5;font-weight:800}
.live-machine-block{margin:18px 0 0}
.live-machine-block h3{font-size:18px;margin:0 0 12px;color:#172630}
.live-machine-block h3 span{font-size:12px;font-weight:500;color:#69818c;padding-left:6px}
.live-machine-tasks{display:grid;gap:9px}
.live-task-card{border:1px solid #d9e5ec;border-radius:8px;padding:15px;background:#fdfefe}
.live-task-title{font-size:16px;line-height:1.32;font-weight:800;color:#172630}
.live-task-number{font-size:13px;color:#247ca5;margin-top:5px}
.live-task-notes{font-size:14px;color:#4f6572;margin:11px 0;line-height:1.45}
.live-task-details{background:#eff8fd;border-radius:7px;margin-top:12px;border:1px solid #cbe9f7}
.live-task-details summary{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;cursor:pointer;font-size:14px;font-weight:800;list-style:none}
.live-task-details summary::-webkit-details-marker{display:none}
.live-task-details summary::after{content:'＋';font-size:19px;color:#168bc2}
.live-task-details[open] summary::after{content:'−'}
.live-task-details-content{padding:0 13px 13px;display:grid;gap:12px}
.live-task-text{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#253c49}
.live-task-status{color:#6c8490;font-size:13px;line-height:1.5;margin:0}
.live-task-files{display:flex;gap:5px;flex-wrap:wrap}
.live-task-files span{font-size:12px;background:#fff;border:1px solid #d1e7f5;border-radius:5px;padding:5px 7px;overflow-wrap:anywhere}
.live-task-image{display:block;max-width:100%;height:auto;border-radius:5px;border:1px solid #bbdced}
.live-task-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:6px;padding:9px 12px;background:#178cc4;color:white;font-size:14px;font-weight:800;text-decoration:none;justify-self:start}
@media(max-width:760px){.live-plan-preview{padding:15px 12px}.live-plan-heading{display:block}.live-plan-readonly{display:inline-block;margin-top:10px}.live-plan-heading h2{font-size:23px}.live-task-card{padding:12px}.live-plan-subtitle{font-size:14px}}

.brand-icon img{position:absolute!important;inset:0;width:100%;height:100%;object-fit:contain;background:transparent!important}
.brand-icon .brand-fallback{position:absolute;inset:0;display:grid;place-items:center;opacity:1!important}
.brand-icon.brand-ready .brand-fallback{opacity:0!important}

/* PRINTLAB UI PATCH v3 END */


/* PRINTLAB CONTROL v5: operator-safe read-only status page */
.control-intro {margin:0 0 20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.control-intro .control-pill {border:1px solid #a9d8ed;background:#e8f6fc;color:#086b9d;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:800}
.control-intro .control-caption {font-size:13px;color:#627985;line-height:1.5}
.control-status-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
.control-status-card {background:#fff;border:1px solid #d8e7ef;border-radius:12px;padding:18px;min-width:0;display:flex;flex-direction:column;gap:10px}
.control-status-card .control-caption {color:#667b87;font-size:13px;font-weight:700}
.control-status-card .control-reading {color:#172630;font-weight:900;font-size:22px;line-height:1.15;overflow-wrap:anywhere}
.control-status-card .control-hint {color:#687985;font-size:13px;line-height:1.55}
.control-status-card[data-state=current], .control-status-card[data-state=complete] {border-left:4px solid #2b9067}
.control-status-card[data-state=partial], .control-status-card[data-state=stale] {border-left:4px solid #2b9ac6}
.control-status-card[data-state=unknown] {border-left:4px solid #80bace}
.control-status-card .control-symbol {height:38px;width:38px;border-radius:9px;background:#e8f6fc;display:grid;place-items:center;color:#0c87bd;font-size:21px}
.control-section {background:#fff;border:1px solid #d8e7ef;border-radius:12px;padding:18px;margin-bottom:16px}
.control-section-head {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.control-section-head h2 {font-size:20px;line-height:1.2;margin:0 0 5px;color:#172630}
.control-section-head p {margin:0;color:#697e89;font-size:13px;line-height:1.5}
.control-problems-list {display:grid;gap:10px}
.control-problem {border:1px solid #dde8ec;border-radius:9px;background:#fbfdfe;padding:13px;display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px}
.control-problem-machine {font-size:13px;font-weight:900;color:#167cb0}
.control-problem-body {display:grid;gap:5px;min-width:0}
.control-problem-body strong {font-size:15px;color:#172630}
.control-problem-body span {font-size:13px;color:#536a76;line-height:1.5}
.control-placeholder {font-size:14px;line-height:1.6;color:#566e7a;margin:0}
.control-notice {display:flex;gap:12px;align-items:flex-start;background:#e8f6fc;border:1px solid #b7deef;border-radius:12px;padding:16px}
.control-notice .control-notice-icon {font-size:20px;color:#1585b4}
.control-notice strong {font-size:15px;color:#172630;display:block;margin-bottom:6px}
.control-notice p {font-size:13px;line-height:1.6;color:#3f6476;margin:0}
#control-refreshed {font-size:12px;color:#72909b}
@media(max-width:760px) {
  .control-status-grid {grid-template-columns:1fr;gap:10px}
  .control-status-card {padding:15px;gap:7px}
  .control-status-card .control-reading {font-size:21px}
  .control-status-card .control-hint {font-size:13px}
  .control-section {padding:14px}
  .control-problem {grid-template-columns:1fr;gap:4px}
  .side-nav {grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:2px}
  .sidebar {height:calc(75px + env(safe-area-inset-bottom,0px)) !important;padding:6px 5px calc(5px + env(safe-area-inset-bottom,0px)) !important}
  .nav-item {font-size:12px !important;padding:8px 2px !important;line-height:1.2;min-width:0}
  .nav-icon {font-size:20px !important}
  .main-area {padding-bottom:calc(112px + env(safe-area-inset-bottom,0px)) !important}
}
@media(max-width:380px) {.nav-item{font-size:11px !important}}



/* PRINTLAB BLUE v6: NO ORANGE */
:root {
  --blue: #20a2e3;
  --blue-pale: #eaf7ff;
  --amber: #3983b0;
  --amber-pale: #eaf7ff;
}
.nav-item.active,
.sidebar .nav-item.active,
.nav-item[data-view="control"].active,
.sidebar .nav-item[data-view="control"].active {
  background: #20a2e3 !important;
  color: #fff !important;
  border-color: #20a2e3 !important;
}
.nav-item.active .nav-count {
  background: #e4f6ff !important;
  color: #136c97 !important;
}
.nav-item:hover:not(.active) { color: #20a2e3; }
.page-heading .eyebrow, .eyebrow { color: #1688bc !important; }
.btn-primary, .task-actions .btn-restore, .demo-badge span {
  border-color: #9cdaf5;
}
.btn-primary { background: #20a2e3 !important; color: #fff !important; }
.btn-primary:hover { background: #137fb5 !important; }
.text-button, .back-link { color: #147faf !important; }
.notice-card { border-left-color: #20a2e3 !important; }
.notice-lines div:before { color: #20a2e3 !important; }
.control-status-card[data-state="partial"],
.control-status-card[data-state="stale"] { border-left-color: #20a2e3 !important; }
.control-status-card[data-state="unknown"] { border-left-color: #83c6e7 !important; }
.pill-metal, .stat-amber .stat-icon {
  background: #e6f5fd !important;
  color: #216d9a !important;
}
/* Readable labels on compact Telegram screens. */
.page-subtitle { font-size: max(14px, 1em); }
.control-status-card .control-caption { font-size: 14px; }
.control-status-card .control-hint { font-size: 14px; }
@media(max-width:760px) {
  .sidebar .side-nav .nav-item.active { background: #20a2e3 !important; color: #fff !important; }
  .nav-item { font-size: 12px !important; }
}


/* PRINTLAB TASK UI v7: muted machine identifiers, deliberate action colors. */
:root {
  --pl-action-green:#336e59;
  --pl-action-green-light:#e5f0e9;
  --pl-action-red:#a44858;
  --pl-action-red-hover:#8d3948;
  --pl-machine-ink:#5c7483;
  --pl-machine-light:#eaf1f4;
}

/* Numbers and identifiers are visible but do not compete with order details. */
.machine-count,
.pill-machine {
  background:#eaf1f4 !important;
  color:#587185 !important;
  border:1px solid #d6e3ea !important;
  font-weight:700;
}
.task-card .task-index {
  background:#e5eef2 !important;
  color:#617d8c !important;
  border:1px solid #d5e3ea;
}
.machine-dot.dot-blue, .large-machine-dot.dot-blue {background:#8aa9bf !important}
.machine-dot.dot-violet, .large-machine-dot.dot-violet {background:#a39bb4 !important}
.machine-dot.dot-green, .large-machine-dot.dot-green {background:#8da99e !important}
.machine-dot.dot-orange, .large-machine-dot.dot-orange,
.machine-dot.dot-sky, .large-machine-dot.dot-sky {background:#90acbd !important}
.machine-dot.dot-rose, .large-machine-dot.dot-rose {background:#b3a0b1 !important}
.machine-dot.dot-yellow, .large-machine-dot.dot-yellow,
.machine-dot.dot-teal, .large-machine-dot.dot-teal {background:#a8b6a8 !important}

/* Ready is the usual, safe action: quiet green. */
.task-actions .btn-complete, .btn-complete {
  background:var(--pl-action-green-light) !important;
  border:1px solid #a4cabb !important;
  color:#28634e !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.task-actions .btn-complete:hover, .btn-complete:hover {
  background:#d6e8dc !important;
  border-color:#7fb39e !important;
}
.task-actions .btn-complete:focus-visible, .btn-complete:focus-visible {
  outline:3px solid #7fb49d;outline-offset:2px;
}

/* Removing is unusual: stronger muted red, followed by an explanation. */
.task-actions .btn-remove, .btn-remove {
  background:var(--pl-action-red) !important;
  color:#fff !important;
  border:1px solid var(--pl-action-red) !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.task-actions .btn-remove:hover, .btn-remove:hover {
  background:var(--pl-action-red-hover) !important;
  border-color:var(--pl-action-red-hover) !important;
  color:#fff !important;
}
.task-actions .btn-remove:focus-visible, .btn-remove:focus-visible {
  outline:3px solid #edb7c2;outline-offset:2px;
}
.task-actions .btn-complete,
.task-actions .btn-remove {
  min-height:43px;
  font-size:13px !important;
  line-height:1.3;
  padding:10px 12px !important;
  white-space:normal;
}

/* Explanation appears before data is changed. */
.pl-remove-backdrop {
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(16,31,43,.62);
  padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));
}
.pl-remove-dialog {
  width:min(100%,440px);
  max-height:calc(100vh - 40px);
  max-height:calc(100dvh - 40px);
  overflow-y:auto;
  background:#fff;
  color:#263746;
  box-shadow:0 20px 70px rgba(10,25,40,.24);
  border-radius:16px;
  padding:24px 21px 20px;
  border:1px solid #e4e9ed;
}
.pl-remove-label {
  display:inline-flex;gap:8px;align-items:center;
  color:#9d4351;background:#fbeef0;
  padding:7px 10px;border-radius:8px;
  font-size:12px;font-weight:800;letter-spacing:.01em;
}
.pl-remove-label::before {
  content:'!';display:inline-grid;place-items:center;
  width:18px;height:18px;border:1.5px solid #bd6874;
  border-radius:50%;font-size:12px;
}
.pl-remove-dialog h2 {
  font-size:23px;line-height:1.18;letter-spacing:-.45px;
  color:#1e3240;margin:17px 0 9px;font-weight:900;
}
.pl-remove-lead {
  color:#536b7b;font-size:14px;line-height:1.55;margin:0 0 13px;
}
.pl-remove-order {
  border:1px solid #d9e5eb;background:#f4f8fa;
  border-radius:10px;padding:11px 12px;
  color:#526b7b;font-size:13px;line-height:1.45;
}
.pl-remove-order strong {display:block;color:#263e4d;font-size:15px;margin-top:4px}
.pl-remove-reasons {margin:15px 0 18px;padding:0;list-style:none;display:grid;gap:9px}
.pl-remove-reasons li {position:relative;padding-left:22px;color:#485c6a;font-size:14px;line-height:1.4}
.pl-remove-reasons li::before {content:'✓';position:absolute;left:0;top:0;color:#397f68;font-weight:900}
.pl-remove-actions {display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pl-remove-actions button {
  min-height:47px;padding:11px 12px;border-radius:9px;
  font-size:14px;font-weight:800;line-height:1.25;
}
.pl-remove-cancel {color:#36556c;background:#eef5f9;border:1px solid #cee0eb}
.pl-remove-confirm {color:#fff;background:#a44858;border:1px solid #a44858}
.pl-remove-confirm:hover {background:#8d3948}
.pl-remove-cancel:hover {background:#e1edf4}
.pl-remove-actions button:focus-visible {outline:3px solid #88cae7;outline-offset:2px}
@media(max-width:380px) {
  .task-actions .btn-complete,.task-actions .btn-remove {font-size:13px !important}
  .pl-remove-dialog {padding:21px 15px 16px}
  .pl-remove-actions {grid-template-columns:1fr}
}



/* PRINTLAB TASK CONFIRMATION v8: soft-green completion confirmation. */
.pl-complete-dialog .pl-remove-label {
  color:#2d6852;
  background:#e5f0e9;
}
.pl-complete-dialog .pl-remove-label::before {
  content:'✓';
  border-color:#80aa99;
  color:#28634e;
}
.pl-complete-dialog .pl-remove-order {
  border-color:#d3e4dc;
  background:#f3f9f5;
}
.pl-complete-dialog .pl-remove-order strong {
  color:#214f3d;
}
.pl-complete-dialog .pl-remove-actions .pl-complete-confirm {
  color:#fff;
  background:#336e59;
  border:1px solid #336e59;
  font-weight:800;
}
.pl-complete-dialog .pl-remove-actions .pl-complete-confirm:hover {
  background:#285a47;
  border-color:#285a47;
}
.pl-complete-dialog .pl-remove-actions .pl-complete-confirm:active {
  background:#234d3d;
}
@media (prefers-reduced-motion: reduce) {
  .pl-complete-dialog { scroll-behavior:auto; }
}



/* PRINTLAB v11: fixed mobile bottom navigation, desktop workbench and photos. */
.nav-item { min-width:0; }
.nav-label {display:block;min-width:0;font:inherit;white-space:normal;line-height:1.2;text-align:inherit}
.nav-item[data-view="control"] .nav-icon::after {mask-image:var(--pl-icon-gear);-webkit-mask-image:var(--pl-icon-gear)}
/* Draw icons only with their SVG masks; never show the legacy Unicode glyph behind them. */
.side-nav .nav-item .nav-icon {font-size:0 !important; line-height:0 !important; color:inherit; overflow:hidden;}
.side-nav .nav-item .nav-icon::after {content:"";display:block;background:currentColor;}
@media(max-width:760px) {
  :root {--pl-v11-bottom:73px;--pl-v11-safe:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom, 0px));}
  .sidebar {
    top:auto !important;left:0 !important;right:0 !important;bottom:0 !important;
    width:100% !important;height:calc(var(--pl-v11-bottom) + var(--pl-v11-safe)) !important;
    min-height:0 !important;max-height:none !important;
    box-sizing:border-box;padding:5px 5px calc(6px + var(--pl-v11-safe)) !important;
    z-index:60;overflow:hidden;
  }
  .side-nav {height:100% !important;min-height:0 !important;display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:3px !important;}
  .side-nav .nav-item {display:flex !important;flex-direction:column !important;
    align-items:center !important;justify-content:center !important;
    gap:4px !important;min-width:0 !important;min-height:0 !important;
    padding:4px 1px !important;font-size:11px !important;
    font-weight:750;line-height:1.15 !important;text-align:center !important;
    border-radius:8px !important;letter-spacing:0;}
  .side-nav .nav-icon {display:block;width:21px !important;min-width:21px !important;
    height:21px !important;flex:0 0 21px !important;font-size:0 !important;}
  .side-nav .nav-icon::after {display:block;width:21px !important;height:21px !important;}
  .side-nav .nav-label {display:block;font-size:11px !important;
    line-height:13px;white-space:nowrap !important;overflow:hidden;text-overflow:clip;}
  .side-nav .nav-count {position:absolute !important;top:2px !important;
    right:3px !important;left:auto !important;margin:0 !important;
    font-size:9px !important;line-height:1.1 !important;padding:2px 4px !important;}
  .main-area {padding-bottom:calc(var(--pl-v11-bottom) + var(--pl-v11-safe) + 42px) !important;}
  .toast-region {bottom:calc(var(--pl-v11-bottom) + var(--pl-v11-safe) + 10px) !important;}
  .task-brief-text {overflow-wrap:anywhere;}
}
@media(min-width:761px) {
  .side-nav .nav-item {display:flex;flex-direction:row;justify-content:flex-start;gap:12px;}
  .side-nav .nav-label {font-size:inherit;text-align:left;white-space:nowrap;}
  .app-shell {grid-template-columns:250px minmax(0,1fr);}
  .sidebar {width:250px;}
  .main-area {padding-left:clamp(20px,3vw,46px);padding-right:clamp(20px,3vw,46px);}
  .task-brief-text {overflow-wrap:anywhere;}
}
@media(min-width:1160px) {
  .task-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;}
  .task-list .task-card {min-width:0;max-width:none;}
  .task-list .task-actions {grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .task-list .task-actions .btn {width:100%;white-space:normal;}
  .task-list .task-main {min-width:0;}
  .machine-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
.pl-photo-section {margin:0 0 14px;padding:12px;background:#fff;border:1px solid #d6e7ee;border-radius:10px;}
.pl-photo-title {display:block;font-size:14px;color:#294c5e;margin-bottom:10px;}
.pl-media-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;font-size:13px;line-height:1.4;color:#607987;min-width:0;}
.pl-photo-thumb {display:block;width:100%;aspect-ratio:1.15/1;padding:0;border:1px solid #d5e3e8;border-radius:9px;background:#edf4f7;overflow:hidden;cursor:zoom-in;}
.pl-photo-thumb img {width:100%;height:100%;object-fit:cover;display:block;}
.pl-photo-thumb:focus-visible {outline:3px solid #4dabe1;outline-offset:2px;}
.pl-photo-lightbox {position:fixed;z-index:3000;inset:0;background:rgba(9,22,33,.93);display:flex;justify-content:center;align-items:center;padding:62px 14px 24px;}
.pl-photo-lightbox img {display:block;max-width:min(96vw,1300px);max-height:calc(100dvh - 94px);width:auto;height:auto;object-fit:contain;}
.pl-photo-close {position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:16px;padding:12px 16px;border:1px solid #607380;border-radius:8px;background:#223a49;color:white;font-size:14px;font-weight:750;}
@media(min-width:761px) {.pl-media-gallery{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:360px){.side-nav .nav-label {font-size:10px !important;}}
