:root{--indigo-700: #4338ca;--indigo-600: #4f46e5;--indigo-500: #6366f1;--indigo-300: #a5b4fc;--indigo-100: #e0e7ff;--indigo-50: #eef2ff;--slate-900: #0f172a;--slate-700: #334155;--slate-500: #64748b;--slate-400: #94a3b8;--slate-300: #cbd5e1;--slate-200: #e2e8f0;--slate-100: #f1f5f9;--slate-50: #f8fafc;--bg: #f3f4fb;--card: #fff;--line: #eaecf5;--text: var(--slate-900);--muted: var(--slate-500);--accent: var(--indigo-600);--accent-soft: var(--indigo-50);--danger: #e11d48;--danger-soft: #fff1f2;--success: #15803d;--success-soft: #dcfce7;--warning: #b45309;--warning-soft: #fef3c7;--nav-bg: #1f2557;--nav-bg-2: #171c46;--nav-text: #c7cbf0;--radius-lg: 16px;--radius: 12px;--radius-sm: 9px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 28px -22px rgba(15, 23, 42, .5);--shadow-pop: 0 24px 50px -26px rgba(15, 23, 42, .55);--ring: 0 0 0 3px rgba(99, 102, 241, .18);--topbar-h: 0px;--nav-w: 236px;--gutter: 14px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:14px/1.6 Heebo,Segoe UI,ui-sans-serif,system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em}#root{display:contents}.topbar{display:none;align-items:center;gap:12px;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--line)}.topbar .brand{font-weight:700}.conn{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.conn input{width:220px}.banner{position:sticky;top:var(--topbar-h);z-index:40;margin:0;padding:11px 18px;text-align:start;background:var(--danger-soft);color:var(--danger);border-bottom:1px solid #fecdd3;font-weight:500;white-space:pre-wrap}.banner.ok{background:var(--success-soft);color:var(--success);border-bottom-color:#bbf7d0}.banner{position:fixed;top:auto;bottom:24px;left:24px;translate:none;z-index:9999;max-width:min(360px,calc(100vw - 40px));padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:var(--shadow-card);font-size:13px;animation:toast-in .16s ease-out,toast-out .26s ease-in 2.7s forwards}.banner.ok{border-color:#bbf7d0}body:has(#view-detail) #banner{display:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translateY(6px)}}.layout{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);align-items:start}.sidebar{position:sticky;top:var(--gutter);height:calc(100dvh - var(--gutter) * 2);display:flex;flex-direction:column;margin:var(--gutter);padding:16px 12px 12px;border-radius:18px;background:linear-gradient(180deg,var(--nav-bg) 0%,var(--nav-bg-2) 100%);color:#fff;box-shadow:0 20px 45px -30px #0f172ae6;overflow:hidden}.sidebar-head{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.sidebar-logo img{width:39px;height:42px;object-fit:contain;filter:invert(1)}.sidebar-logo{overflow:hidden;display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#ffffff1f;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}.sidebar-brand{flex:1;font-size:15px;font-weight:600;letter-spacing:.01em}.sidebar-collapse{flex:0 0 auto;padding:3px 8px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:transparent;color:var(--nav-text);font-size:12px;line-height:1.4}.sidebar-collapse:hover{background:#ffffff1f;border-color:#ffffff4d;color:#fff}.sidebar-brand small{display:block;font-size:11px;font-weight:400;color:var(--nav-text)}.nav-list{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.nav-list::-webkit-scrollbar{width:6px}.nav-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:12px}.nav-group-title{padding:6px 12px 4px;color:#c7cbf099;font-size:10px;font-weight:600;letter-spacing:.08em}.nav-item{position:relative;display:flex;align-items:center;gap:10px;border:none;background:transparent;text-align:start;padding:9px 12px;border-radius:10px;color:var(--nav-text);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .14s ease,color .14s ease}.nav-item .nav-icon{flex:0 0 18px;width:18px;height:18px;opacity:.85}.nav-item .nav-icon svg{display:block;width:18px;height:18px}.nav-item .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.is-active{background:linear-gradient(90deg,#6366f1f2,#4f46e5bf);color:#fff;box-shadow:0 10px 22px -14px #6366f1f2}.nav-item.is-active .nav-icon{opacity:1}.nav-badge{display:inline-block;padding:0 7px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:1.7}.sidebar-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px;border-radius:12px;background:#ffffff12}.sidebar-user .avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:999px;background:var(--indigo-500);color:#fff;font-size:12px;font-weight:700}.sidebar-user .who{flex:1;min-width:0;font-size:12px;line-height:1.35;color:#eef0ff;overflow:hidden}.sidebar-user .who strong{display:block;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user .who-role{color:var(--nav-text);font-size:11px}.sidebar-user button{flex:0 0 auto;padding:4px 9px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:transparent;color:var(--nav-text);font-size:11.5px}.sidebar-user button:hover{background:#ffffff1f;color:#fff}@media(min-width:901px){body.nav-collapsed{--nav-w: 76px}body.nav-collapsed .sidebar{padding-inline:10px}body.nav-collapsed .sidebar-head{flex-direction:column;align-items:center;gap:8px;padding:2px 0 14px}body.nav-collapsed .sidebar-collapse{width:34px;padding:4px 0;text-align:center}body.nav-collapsed .sidebar-brand,body.nav-collapsed .nav-label,body.nav-collapsed .nav-group-title,body.nav-collapsed .sidebar-user .who,body.nav-collapsed .sidebar-user button{display:none}body.nav-collapsed .nav-item{justify-content:center;padding-inline:0}body.nav-collapsed .nav-list{scrollbar-color:rgba(255,255,255,.12) transparent}body.nav-collapsed .nav-list::-webkit-scrollbar{width:3px}body.nav-collapsed .nav-list::-webkit-scrollbar-thumb{background:#ffffff1f}body.nav-collapsed .nav-group+.nav-group{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}body.nav-collapsed .sidebar-user{justify-content:center;padding:8px}body.nav-collapsed .nav-badge{position:absolute;top:2px;inset-inline-start:10px;padding:0 5px;font-size:9px}}.content{display:grid;gap:16px;min-width:0;width:100%;max-width:1440px;margin-inline:auto;padding:var(--gutter) 4px 44px 20px}.view{display:grid;gap:16px}.menu-toggle{display:none}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(70rem 34rem at 82% -8%,#dfe3ff 0%,transparent 62%),radial-gradient(60rem 30rem at 8% 108%,#e6ecff 0%,transparent 58%),var(--bg)}.login-wrap{flex:1;display:grid;place-items:center;padding:clamp(16px,6vh,64px) clamp(12px,4vw,24px)}.login-card{width:min(100%,27rem);padding:clamp(22px,4.5vw,38px);border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-pop);text-align:start}.login-card .brand.big{display:inline-flex;align-items:center;gap:10px;font-size:clamp(20px,5vw,25px);font-weight:700;margin-bottom:14px}.login-card .brand.big:before{content:"ZP";display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--indigo-500),var(--indigo-700));color:#fff;font-size:12px;letter-spacing:.04em}.login-card h2{font-size:clamp(16px,3vw,19px);margin:0 0 2px}.login-sub{margin:0 0 clamp(16px,3vh,24px);color:var(--muted);font-size:13px}.login-card label{margin-bottom:14px;font-size:12.5px}.login-card input{margin-top:6px;font-size:15px}.login-actions{display:grid;gap:10px;margin-top:20px}.login-actions .primary{width:100%;padding:11px 12px}button.linkish{border:none;background:none;color:var(--accent);padding:4px;font-size:13px;font-weight:600}button.linkish:hover{text-decoration:underline;background:none}.settings{margin-top:clamp(14px,3vh,22px);border-top:1px solid var(--line);padding-top:12px}.settings summary{color:var(--muted);font-size:12px;cursor:pointer}.settings label{margin:10px 0 0}@media(max-height:520px){.login-wrap{place-items:start center;padding-top:16px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card)}.card h2{margin:0 0 14px;font-size:17px}.card h3{margin:0 0 14px;font-size:15px}label{display:block;margin-bottom:12px;color:var(--slate-700);font-size:12px;font-weight:500}input,select,textarea{display:block;width:100%;margin-top:5px;padding:9px 12px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:#fff;color:var(--text);font:inherit;font-size:13.5px;transition:border-color .14s ease,box-shadow .14s ease}input::placeholder,textarea::placeholder{color:var(--slate-400)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--indigo-500);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{background:var(--slate-50);color:var(--slate-400)}input[type=date]{min-width:140px}select{appearance:none;-webkit-appearance:none;padding-inline-end:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center;background-size:15px}select:not([size]){padding-inline-end:30px}[dir=rtl] select{background-position:left 10px center}.conn input,.toolbar select,.toolbar input{margin-top:0;width:auto}label.check{display:flex;align-items:center;gap:6px}label.check input{display:inline-block;width:auto;margin-top:0}input[type=search]{min-width:15rem;padding-inline-start:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.2' y2='16.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:15px}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--slate-200);background:#fff;color:var(--slate-700);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}button:hover{background:var(--slate-50);border-color:var(--slate-300)}button:focus-visible{outline:none;box-shadow:var(--ring)}button.primary{background:var(--indigo-600);border-color:var(--indigo-600);color:#fff;font-weight:600;box-shadow:0 10px 20px -14px #4f46e5f2}button.primary:hover{background:var(--indigo-500);border-color:var(--indigo-500)}button.ghost{background:#fff}button.ghost:hover{background:var(--slate-50)}button:disabled{opacity:.5;cursor:default;box-shadow:none}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}button.danger:hover{background:#be123c;border-color:#be123c}.row{display:flex;gap:8px;align-items:center}.row>select,.row>input{margin-top:0}.row>select{width:auto;min-width:12rem}.page-head{display:grid;gap:14px}.crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.crumb{padding:0;border:none;background:none;color:var(--muted);font-size:12.5px;font-weight:500}.crumb:hover{background:none;color:var(--accent);text-decoration:underline}.crumb-sep{color:var(--slate-300)}.crumb-current{color:var(--slate-700);font-weight:600;direction:ltr;unicode-bidi:isolate}.page-head-row{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.page-head-titles{flex:1;min-width:14rem}.page-head-titles h2{margin:0;font-size:20px}.page-head-sub{margin:4px 0 0;color:var(--muted);font-size:12.5px}.page-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.detail-main{grid-column:1;grid-row:1;display:grid;gap:16px;min-width:0}.detail-rail-stack{grid-column:2;grid-row:1;position:sticky;top:var(--gutter);display:grid;gap:12px;align-self:start}.list-rail{grid-column:2;grid-row:1;position:sticky;top:var(--gutter);display:flex;flex-direction:column;max-height:calc(100dvh - var(--gutter) * 2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.detail-rail-stack .list-rail{grid-column:auto;grid-row:auto;position:static;top:auto}.detail-rail-stack .banner{position:fixed;bottom:24px;top:auto;left:24px;translate:none;z-index:9999;max-width:none}.list-rail-head{display:grid;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--line)}.list-rail-head h3{margin:0;font-size:15px}.list-rail-head input[type=search]{width:100%;min-width:0}.list-rail-title{display:flex;align-items:center;gap:8px}.rail-count{padding:1px 9px;border-radius:999px;background:var(--indigo-50);color:var(--indigo-700);font-size:11.5px;font-weight:600}.rail-filters{display:flex;gap:8px}.rail-filters select{flex:1 1 0;min-width:0;margin-top:0;font-size:12.5px;padding:7px 10px;padding-inline-end:26px}.list-rail-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line);font-size:12px}.list-rail-foot button{padding:3px 12px;font-size:14px;line-height:1.4}.list-rail-body{display:grid;gap:4px;padding:8px;overflow-y:auto}.list-rail-empty{padding:14px 16px;font-size:13px}.rail-row{display:grid;gap:3px;width:100%;padding:10px 12px;text-align:start;white-space:normal;border:none;border-inline-start:3px solid transparent;border-radius:12px;background:transparent}.rail-row:hover{background:var(--slate-50);border-color:transparent}.rail-row.is-active{background:var(--indigo-50);border-inline-start-color:var(--accent)}.rail-row-top{display:flex;align-items:center;gap:8px}.rail-row-name{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-row-id{color:var(--slate-400);font-size:11px}.rail-row-desc{font-size:12.5px;color:var(--slate-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-row-meta{font-size:11.5px;color:var(--muted)}@media(max-width:1180px){.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-main,.detail-rail-stack{grid-column:1;grid-row:auto}.detail-rail-stack{position:static;order:2}.list-rail{position:static;order:2;max-height:22rem}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:2px}.tab{padding:9px 14px 10px;border:none;border-radius:0;background:none;color:var(--muted);font-size:13.5px;font-weight:500;box-shadow:inset 0 -2px 0 transparent}.tab:hover{background:none;color:var(--slate-700)}.tab.is-active{color:var(--accent);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.tab-panel{display:grid;gap:16px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar h2,.toolbar h3{margin:0}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:12px;margin:-4px 0 12px}.setup-notice{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:11px 14px;border:1px solid #fde68a;border-radius:var(--radius);background:var(--warning-soft);color:var(--warning)}.detail-title{margin:0;font-size:18px}.order-total{font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px;margin-bottom:12px}.quality-requirement{display:flex;align-items:center;gap:8px}.quality-requirement input[type=checkbox]{flex:0 0 auto;width:auto;margin:0}.phone-field,.address-field{display:flex;gap:6px;margin-top:5px}.phone-field>*,.address-field>*{margin-top:0}.phone-field{direction:ltr}.phone-prefix{flex:0 0 8.5rem}.address-field>:nth-child(1){flex:1 1 40%}.address-field>:nth-child(2){flex:1 1 45%}.address-field>:nth-child(3){flex:0 0 5rem}.grid .wide{grid-column:1 / -1}.prefix-picker{position:relative;flex:0 0 8.5rem}.prefix-picker-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.prefix-picker-btn{width:100%;text-align:start;padding:9px 12px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:#fff;color:var(--text);font:inherit;font-size:13.5px;cursor:pointer}.prefix-picker-btn:hover{background:var(--slate-50)}.prefix-picker.is-open .prefix-picker-btn{border-color:var(--indigo-500);box-shadow:var(--ring)}.prefix-picker-panel{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:40;width:max(100%,12rem);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:6px}.prefix-picker-search{width:100%;margin:0 0 6px;padding:8px 10px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);font:inherit}.prefix-picker-list{list-style:none;margin:0;padding:0;max-height:14rem;overflow-y:auto}.prefix-picker-list li{padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px}.prefix-picker-list li:hover{background:var(--slate-100)}.prefix-picker-list li.is-selected{background:var(--indigo-50);color:var(--indigo-700);font-weight:600}.prefix-picker-list li.prefix-picker-empty{color:var(--muted);cursor:default}.prefix-picker-list li.prefix-picker-empty:hover{background:none}.select-picker{position:relative;margin-top:5px}.select-picker-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.select-picker-btn{width:100%;text-align:start;padding:9px 12px;padding-inline-end:30px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:#fff;color:var(--text);font:inherit;font-size:13.5px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center;background-size:15px}.select-picker-btn.is-empty{color:var(--muted)}.select-picker-btn:hover{background-color:var(--slate-50)}.select-picker.is-open .select-picker-btn{border-color:var(--indigo-500);box-shadow:var(--ring)}.select-picker-panel{position:absolute;top:calc(100% + 6px);inset-inline:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:6px}.select-picker-search{width:100%;margin:0 0 6px}.select-picker-list{list-style:none;margin:0;padding:0;max-height:16rem;overflow-y:auto}.select-picker-list li{padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px}.select-picker-list li:hover{background:var(--slate-100)}.select-picker-list li.is-selected{background:var(--indigo-50);color:var(--indigo-700);font-weight:600}.select-picker-list li.select-picker-empty{color:var(--muted);cursor:default}.select-picker-list li.select-picker-empty:hover{background:none}.search-picker{position:relative}.search-picker input{margin-top:0}.search-picker-panel{position:absolute;top:calc(100% + 6px);inset-inline:0;z-index:40;max-height:14rem;overflow-y:auto;margin:0;padding:5px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.search-picker-panel li{padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px}.search-picker-panel li:hover{background:var(--slate-100)}table.list{width:100%;border-collapse:collapse}table.list th{text-align:start;font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--slate-500);background:var(--slate-50);border-bottom:1px solid var(--line);padding:9px 12px;white-space:nowrap}table.list th:first-child{border-start-start-radius:10px}table.list th:last-child{border-start-end-radius:10px}table.list td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:13.5px}table.list tbody tr{cursor:pointer;transition:background .12s ease}table.list tbody tr:hover{background:var(--indigo-50)}table.list tbody tr:last-child td{border-bottom:none}table.list tbody tr.is-clickable{cursor:pointer}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent;background:var(--slate-100);color:var(--slate-700);white-space:nowrap}.badge.new{background:var(--indigo-100);color:var(--indigo-700)}.badge.in_progress{background:var(--warning-soft);color:var(--warning)}.badge.ready{background:var(--success-soft);color:var(--success)}.badge.delivered{background:var(--slate-200);color:var(--slate-700)}.badge.cancelled{background:var(--danger-soft);color:var(--danger)}.node{border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px;background:#fff}.node:hover{border-color:var(--indigo-300)}.node-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--indigo-50)}.order-tree-branch{width:100%}.order-tree-parent>.node{width:100%;margin-bottom:18px}.order-tree-parent>.children,.order-tree-child>.children{display:grid;gap:12px;margin:0;padding:0;border:0}.order-tree-child>.node{margin-bottom:0}.node .head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.node .head strong{font-weight:600}.node .meta{color:var(--muted);font-size:12px;margin-top:4px}.node .actions{position:relative;display:flex;gap:6px;align-items:center;margin-top:12px;padding-left:110px;flex-wrap:wrap}.node .actions>.node-routing-card-button{position:absolute;left:0;top:0;margin:0}.node .actions select,.node .actions input{width:auto;margin-top:0}.children{margin-inline-start:20px;border-inline-start:2px solid var(--indigo-100);padding-inline-start:12px}.node-compact{padding:0;overflow:hidden}.node-summary{display:grid;gap:5px;width:100%;padding:11px 13px;border:0;border-radius:0;background:transparent;color:var(--text);direction:rtl;text-align:right;justify-content:stretch;justify-items:stretch;box-shadow:none}.node-summary:hover{background:var(--indigo-50)}.node-routing-card-button{margin-inline-start:0;margin-inline-end:auto}.node-compact>.node-routing-card-button{display:flex;margin:0 auto 11px 13px}.node-summary-title{display:flex;width:100%;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.node-summary-title strong{font-size:13px}.node-summary-meta{width:100%;color:var(--muted);font-size:12px}.node-compact>.children{margin:0 13px 12px}.danger-subtle{color:var(--danger)}.kv{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin:10px 0 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kv-row{display:flex;align-items:baseline;gap:5px;padding:0;border-bottom:0}.kv-row dt{color:var(--muted);font-size:12px;white-space:nowrap}.kv-row dd{margin:0;font-size:13px;font-weight:500}.kv-row.kv-row-block{flex-basis:100%;align-items:flex-start}.kv-row.kv-row-block dd{flex:1}.history{list-style:none;margin:0;padding:0;display:grid;gap:8px}.history li{padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--slate-50);font-size:13px}.history .when{display:block;color:var(--muted);font-size:11.5px;margin-bottom:2px}.history-toggle{margin-top:8px}.ltr{direction:ltr;unicode-bidi:isolate}.zn-number{white-space:nowrap;font-variant-numeric:tabular-nums}.zn-number .zn-parent{opacity:.6}.zn-number .zn-child{font-weight:700}.modal{width:min(92vw,27rem);padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);color:var(--text);box-shadow:var(--shadow-pop)}.modal::backdrop{background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal h3{margin:0 0 8px;font-size:16px}.confirm-text{margin:0 0 18px;white-space:pre-wrap}.confirm-actions{justify-content:flex-start}.pick-list{max-height:12rem;overflow:auto;margin:4px 0 14px}.pick{display:flex;gap:6px;align-items:center;font-size:13px;padding:3px 0}.pick input{width:auto;margin-top:0}@media(max-width:900px){:root{--topbar-h: 54px}.grid,.kv{grid-template-columns:1fr}.conn input{width:140px}.topbar{display:flex;position:sticky;top:0;z-index:30}.layout{grid-template-columns:minmax(0,1fr)}.menu-toggle{display:inline-flex}.content{padding:var(--gutter)}.sidebar{display:none;position:fixed;inset-inline-start:0;inset-block:var(--topbar-h) 0;z-index:50;width:min(78vw,var(--nav-w));height:auto;margin:0;border-radius:0}.sidebar-head{display:none}.sidebar.is-open{display:flex}}.toolbar label.check{margin:0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.toolbar label.check input{margin:0;width:auto}.contents{display:contents}.contents[hidden]{display:none}.lines{margin-bottom:12px}.lines-title{color:var(--muted);font-size:12px}.line-add{margin:6px 0;flex-wrap:wrap}.line-add select{flex:1 1 14rem;margin-top:0}.line-add input{width:7rem;margin-top:0}.line-add input[data-line-price]{width:9.5rem}.lines-table tbody tr{cursor:default}.lines-table tbody tr:hover{background:none}.lines-table td{vertical-align:top}.lines-table input{width:6rem;margin-top:0}.lines-table input[data-line-edit-price]{width:8.5rem}.lines-table [data-line-sum]{font-weight:600;white-space:nowrap;vertical-align:middle}.lines-table .line-adhesive input[type=checkbox]{width:auto}.lines-table .line-adhesive .pick{justify-content:flex-start}.lines-table .line-adhesive input[type=text],.lines-table .line-adhesive input:not([type]){width:8rem;margin-top:4px}.lines-table .line-hold input[type=checkbox]{width:auto}.lines-table .line-hold .pick{justify-content:flex-start}.lines-table .line-hold input[type=date]{width:9rem;margin-top:4px}.lines-table .line-hold input[type=email]{width:11rem;margin-top:4px}.job-row td{background:var(--slate-50);border-top:none;padding-top:6px}.job-actions{display:flex;flex-direction:column;gap:4px}.job-actions button{width:100%;justify-content:flex-start;padding:6px 10px;font-size:12.5px}.lines-total{font-size:14.5px;font-weight:500;color:var(--slate-800);margin:8px 0 0}.create-order-note{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;padding:10px 14px;background:var(--indigo-50);border:1px solid var(--indigo-100, var(--slate-200));border-radius:var(--radius-sm);color:var(--slate-800);font-size:14.5px;font-weight:500;line-height:1.6}.create-order-note-icon{flex:none;color:var(--indigo-600);font-weight:700;font-size:16px}.line-actions{display:flex;align-items:flex-start;gap:6px}.line-files-picker{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.line-file-remove{position:absolute;inset-block-start:-5px;inset-inline-end:-5px;display:grid;width:15px;height:15px;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--muted);font-size:13px;line-height:1}.line-file-remove:hover{color:var(--danger, #b42318);border-color:currentColor}.order-product-files{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px}.order-product-files+.order-product-files{margin-top:6px}.line-files{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;vertical-align:middle}.line-file-icons{display:flex;flex-basis:100%;flex-wrap:wrap;gap:6px}.line-file{position:relative;display:inline-flex}.line-file-icon{display:grid;width:30px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:8px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--accent) 8%,white));box-shadow:0 2px 5px color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.2px;text-decoration:none}.line-file-icon:hover{border-color:var(--accent);transform:translateY(-1px)}.line-file-preview{display:none;position:absolute;z-index:10;inset-inline-end:0;inset-block-end:calc(100% + 6px);width:240px;min-height:80px;padding:6px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--card);box-shadow:var(--shadow);color:var(--text);font-size:12px}.line-file:hover .line-file-preview{display:block}.line-file-name{display:block;margin-bottom:6px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.line-file-preview img,.line-file-preview iframe{display:block;width:100%;height:180px;border:0;object-fit:contain}.line-file-remove{position:absolute;inset-inline-start:-6px;inset-block-start:-6px;width:14px;height:14px;padding:0;border:0;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;line-height:14px}.route-steps{list-style-position:inside;margin:6px 0;padding:0}.route-steps li{display:flex;align-items:center;gap:8px;min-height:2.4rem;padding:6px 8px;border-bottom:1px solid var(--line);font-size:13px}.route-steps li:last-child{border-bottom:none}.route-steps li .grow{flex:1}.route-steps li button{padding:4px 9px;font-size:12px}.station-picker{margin-top:8px}.station-picker h3{margin:0 0 4px}.station-picker p{margin:0 0 8px}.station-picker .row{flex-wrap:wrap;gap:8px;align-items:center}.station-picker-select{min-width:12rem}.station-picker-reason{flex:1;min-width:9rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.tile{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.tile .tile-label{color:var(--muted);font-size:12px}.tile .tile-value{margin-top:2px;font-size:18px;font-weight:600;letter-spacing:-.02em}.tile .tile-value .badge{font-size:12px;padding:3px 11px}.tile .tile-icon svg{width:18px;height:18px}.tile .tile-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--indigo-50);color:var(--indigo-600)}.flow-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .3rem;font-size:.85rem;line-height:1.5;margin-top:6px}.flow-step{padding-inline:.7rem;padding-block:.25rem;border:1px solid var(--slate-200);border-radius:999px;background:#fff;color:var(--slate-700);font-weight:500;white-space:nowrap;box-shadow:0 1px 2px #0f172a0a}.flow-step.has-flow{border-inline-start:3px solid var(--layer-color, var(--slate-200));background:color-mix(in srgb,var(--layer-color, transparent) 22%,#fff)}.flow-step.is-first{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.flow-step.has-flow.is-first{border-inline-start-color:var(--layer-color, var(--accent))}.flow-sep{color:var(--slate-300);font-size:.8rem}.flow-strip-empty{font-size:.75rem;color:var(--muted);font-style:italic}.detail-route-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.detail-route-step{display:inline-flex;align-items:baseline;gap:2px;font-size:.8125rem;border:1px solid var(--line);border-inline-start:3px solid var(--layer-color, var(--line));border-radius:999px;padding:3px 10px;background:color-mix(in srgb,var(--layer-color, transparent) 14%,#fff)}.detail-route-step.is-done{opacity:.6}.detail-route-step.is-working{box-shadow:inset 0 0 0 1px var(--accent, var(--line))}.detail-route-step.is-out-of-order{border-color:var(--warning, var(--line))}.detail-route-step-name{font-weight:600}.detail-route-step-flag{color:var(--warning, var(--muted))}.drawer{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;max-width:92vw;max-height:86vh;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;padding:0;overflow:hidden;z-index:45}.drawer-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:.9rem 1.15rem}.drawer[hidden]{display:none}.drawer-backdrop{position:fixed;inset:0;z-index:44;background:#0f172a47}.drawer-backdrop.is-locked{cursor:not-allowed}.job-flow-locked{margin-block:.5rem 0}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:0 0 auto;padding:1rem 1.15rem .75rem;border-block-end:1px solid var(--line)}.drawer-head h3{margin:0}.drawer-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.5rem;margin-block-start:0;padding:.85rem 1.15rem;border-block-start:1px solid var(--line)}.steps-list{list-style:none;counter-reset:flow-step;padding-inline-start:0;margin:.75rem 0}.steps-list li{display:flex;align-items:center;gap:.4rem;counter-increment:flow-step;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.4rem .6rem;margin-block-end:.4rem}.steps-list li{background:color-mix(in srgb,var(--layer-color, transparent) 16%,#fff);border-inline-start:3px solid var(--layer-color, var(--line))}.steps-list .layer-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%}.steps-list li:before{content:counter(flow-step);flex:0 0 auto;min-width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:600}.steps-list li .grow{flex:1;min-width:0}.drawer-body select,.drawer-body input{max-width:100%;min-width:0}.steps-list li{flex-wrap:wrap}.step-grip{flex:0 0 auto;cursor:grab;-webkit-user-select:none;user-select:none;color:var(--slate-300);line-height:1;padding-inline:.1rem}.step-grip:active{cursor:grabbing}.steps-list li.is-dragging{opacity:.6;box-shadow:0 0 0 2px var(--accent)}.impersonation-bar{position:fixed;top:12px;left:12px;z-index:60;direction:rtl}.impersonation-open{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--slate-700);font-size:12px;font-weight:600;box-shadow:0 8px 20px -14px #0f172ab3;cursor:pointer}.impersonation-open:hover{border-color:var(--slate-400)}.impersonation-open-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .18s ease,opacity .14s ease}.impersonation-bar.is-expanded .impersonation-open-label{max-width:160px;opacity:1}.impersonation-bar.is-acting{display:flex;align-items:center;padding:4px;border-radius:999px;background:#7c2d12;color:#fff;box-shadow:0 12px 26px -16px #0f172ae6}.impersonation-eye{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:#ffffff29;color:#fff;font-size:14px;line-height:1;cursor:pointer}.impersonation-eye:hover{background:#ffffff4d}.impersonation-details{display:flex;align-items:center;gap:10px;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .2s ease,opacity .15s ease,margin-inline-start .2s ease}.impersonation-bar.is-acting.is-expanded .impersonation-details{max-width:min(320px,calc(100vw - 60px));opacity:1;margin-inline-start:8px;margin-inline-end:4px}.impersonation-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.impersonation-text strong{font-size:12.5px}.impersonation-sub{font-size:11px;opacity:.85}.impersonation-return{flex:none;padding:4px 10px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#ffffff24;color:#fff;font-size:11.5px;font-weight:600;cursor:pointer}.impersonation-return:hover{background:#ffffff42}.impersonation-return:disabled{opacity:.6;cursor:default}.impersonation-picker{margin-top:8px;width:300px;max-width:calc(100vw - 24px);padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 24px 50px -28px #0f172ae6}.impersonation-search{width:100%}.impersonation-list{margin-top:8px;max-height:260px;overflow-y:auto}.impersonation-candidate{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:start;font-size:13px;cursor:pointer}.impersonation-candidate:hover{background:var(--slate-100)}.impersonation-candidate:disabled{opacity:.6;cursor:default}.impersonation-candidate span{font-size:11px;color:var(--muted);white-space:nowrap}.impersonation-empty{padding:10px 9px;font-size:12px;color:var(--muted)}.impersonation-note{margin:8px 2px 0;font-size:11px;line-height:1.4;color:var(--muted)}@media(max-width:900px){.impersonation-bar{top:calc(var(--topbar-h) + 8px)}}.hint-bubble{position:fixed;z-index:200;max-width:min(320px,calc(100vw - 24px));padding:10px 13px;border-radius:12px;background:var(--slate-900);color:#e2e8f0;font-size:12.5px;line-height:1.6;text-align:start;box-shadow:0 18px 40px -18px #0f172aa6;pointer-events:none;animation:hint-bubble-in .12s ease-out}@keyframes hint-bubble-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hint-bubble{animation:none}}
