:root{--primary: #3ed598;--on-primary: #04160e;--secondary: #081226;--on-secondary: #e8eef9;--dhoca-navy-900: var(--secondary);--dhoca-navy-700: #14357a;--dhoca-blue-600: #1747c8;--dhoca-blue-100: #e3ebfb;--dhoca-green-600: var(--primary);--dhoca-green-100: #ddf5ec;--ink-900: #101828;--ink-600: #475467;--ink-400: #98a2b3;--line-200: #e4e7ec;--bg-50: #f7f9fc;--bg-0: #ffffff;--status-waiting: #b45309;--status-waiting-bg: #fef3c7;--status-active: #1747c8;--status-active-bg: #e3ebfb;--status-done: #0e9f6e;--status-done-bg: #ddf5ec;--status-alert: #d92d20;--status-alert-bg: #fee4e2;--intelligence: #7c3aed;--intelligence-bg: #ede9fe;--positive-text: #087251;--mask-solid: #000000;--surface-page: var(--bg-50);--surface-card: var(--bg-0);--surface-hover: #eef3f8;--surface-subtle: #f2f5f9;--border: var(--line-200);--border-strong: #cfd6e2;--text: var(--ink-900);--text-muted: var(--ink-600);--text-faint: var(--ink-400);--action: var(--primary);--action-hover: #2fbf85;--positive: var(--dhoca-green-600);--positive-bg: var(--dhoca-green-100);--overlay: rgba(16, 24, 40, .48);--focus-ring: rgba(62, 213, 152, .22);--shadow-1: 0 1px 2px rgba(16, 24, 40, .06);--shadow-2: 0 1px 2px rgba(16, 24, 40, .06), 0 12px 32px -20px rgba(16, 24, 40, .22);--shadow-pop: 0 24px 72px -28px rgba(16, 24, 40, .32);--page-wash-start: rgba(227, 235, 251, .58);--page-wash-end: rgba(247, 249, 252, 0);--header-bg: rgba(255, 255, 255, .94);--mark-cut: rgba(5, 10, 20, .85);--mark-cut-soft: rgba(5, 10, 20, .4);--alert-border: rgba(217, 45, 32, .24);--display: "Bricolage Grotesque", system-ui, -apple-system, sans-serif;--body: "Instrument Sans", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--font-plate: var(--mono);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--sp-16: 64px;--r-input: 8px;--r-card: 12px;--r-section: 16px;--touch-min: 48px;--header-h: 72px;--rail-w: 72px;--rail-w-open: 240px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--surface-page)}body{min-width:320px;font-family:var(--body);font-size:14px;line-height:1.5;color:var(--text);background:linear-gradient(180deg,var(--page-wash-start),var(--page-wash-end) 280px),var(--surface-page);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:var(--header-h) 0 0 var(--rail-w);z-index:0;pointer-events:none;background:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.26;-webkit-mask-image:linear-gradient(180deg,var(--mask-solid) 0%,transparent 62%);mask-image:linear-gradient(180deg,var(--mask-solid) 0%,transparent 62%)}body.nav-open:before{left:var(--rail-w-open)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.header{position:fixed;inset:0 0 auto;z-index:40;height:var(--header-h);display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-block{display:flex;align-items:center;gap:var(--sp-4);width:calc(var(--rail-w-open) - var(--sp-6));min-width:210px}.logo{display:inline-flex;align-items:center;gap:9px;color:var(--dhoca-navy-900);font-family:var(--display);font-size:22px;font-weight:800}.logo-mark{position:relative;flex:none;width:26px;height:26px;border-radius:7px;background:var(--primary)}.logo-mark:before,.logo-mark:after{content:"";position:absolute;top:6px;width:6px;border-radius:2px;background:var(--mark-cut)}.logo-mark:before{left:6px;height:14px}.logo-mark:after{left:15px;height:9px;background:var(--mark-cut-soft)}.header-product{padding-left:var(--sp-4);border-left:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:700}.yard-context{display:grid;gap:2px}.yard-label{color:var(--text-faint);font-size:11px;font-weight:700;text-transform:uppercase}.yard-select{min-height:42px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-card);color:var(--text);padding:0 var(--sp-3);box-shadow:var(--shadow-1);font-weight:700;transition:border-color .15s,background .15s}.yard-select:hover{border-color:var(--border-strong);background:var(--surface-hover)}.yard-tag,.pv-tag,.count{font-family:var(--mono);font-size:11px;font-weight:700}.yard-tag,.pv-tag{border-radius:6px;background:var(--surface-subtle);color:var(--text-muted);padding:2px 7px}.yard-select svg{width:15px;height:15px;color:var(--text-faint)}.header-spacer{flex:1}.realtime-chip,.trial-chip{min-height:36px;display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:999px;padding:0 var(--sp-3);font-size:12.5px;font-weight:800;white-space:nowrap}.realtime-chip{background:var(--positive-bg);color:var(--positive-text)}.trial-chip{border:1px solid var(--border);background:var(--surface-card);color:var(--text-muted)}.trial-chip svg{width:15px;height:15px;color:var(--action)}.trial-chip small{color:var(--text-faint);font-weight:600}.tdot{width:8px;height:8px;flex:none;border-radius:999px;background:var(--positive)}.icon-btn,.account{min-height:42px;border:0;border-radius:var(--r-input);background:transparent;color:var(--text-muted);transition:background .15s,color .15s}.icon-btn{position:relative;width:42px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover,.account:hover{background:var(--surface-hover);color:var(--text)}.icon-btn svg{width:19px;height:19px}.icon-btn .dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border:2px solid var(--surface-card);border-radius:999px;background:var(--status-alert)}.account{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-2) 0 5px}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--dhoca-navy-900);color:var(--bg-0);font-size:12px;font-weight:800}.account b{color:var(--text);font-size:13px;font-weight:700}.account svg{width:14px;height:14px;color:var(--text-faint)}.menu-content{z-index:70;min-width:210px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-card);box-shadow:var(--shadow-pop);padding:var(--sp-2)}.notifications-menu{min-width:260px}.menu-label{padding:6px var(--sp-2) var(--sp-2);color:var(--text-faint);font-size:11px;font-weight:800;text-transform:uppercase}.menu-item{min-height:38px;display:flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-input);color:var(--text);padding:0 var(--sp-2);font-size:13.5px;font-weight:700;outline:none}.menu-item[data-highlighted]{background:var(--surface-hover)}.menu-item.danger{color:var(--status-alert)}.menu-meta{margin-left:auto;border-radius:999px;background:var(--positive-bg);color:var(--positive-text);padding:2px 7px;font-size:11px;font-weight:800}.menu-separator{height:1px;margin:var(--sp-2) 0;background:var(--border)}.sidebar{position:fixed;top:var(--header-h);bottom:0;left:0;z-index:30;width:var(--rail-w);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border);background:var(--surface-card);transition:width .18s ease}.sidebar.open{width:var(--rail-w-open)}.nav-section-label{height:18px;padding:0 var(--sp-2);color:var(--text-faint);font-size:10.5px;font-weight:800;letter-spacing:0;text-transform:uppercase;opacity:0;transition:opacity .15s}.sidebar.open .nav-section-label{opacity:1}.nav-item{min-height:var(--touch-min);display:flex;align-items:center;gap:var(--sp-3);border:0;border-radius:var(--r-input);background:transparent;color:var(--text-muted);padding:0 var(--sp-3);white-space:nowrap;transition:background .15s,color .15s}.nav-item svg{width:21px;height:21px;flex:none}.nav-item .lbl{min-width:0;overflow:hidden;color:inherit;font-size:14px;font-weight:700;opacity:0;text-overflow:ellipsis;transition:opacity .15s}.sidebar.open .nav-item .lbl{opacity:1}.nav-item .count{margin-left:auto;border-radius:999px;background:var(--surface-subtle);color:var(--text-muted);padding:2px 8px;opacity:0;transition:opacity .15s}.sidebar.open .nav-item .count{opacity:1}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--dhoca-blue-100);color:var(--action);box-shadow:inset 3px 0 0 var(--action)}.nav-item.active .count{background:var(--surface-card);color:var(--action)}.nav-content{display:grid;gap:4px}.nav-bottom{margin-top:auto;display:grid;gap:4px;border-top:1px solid var(--border);padding-top:var(--sp-3)}.rail-toggle{margin-bottom:var(--sp-2)}.sidebar .rail-toggle svg{transition:transform .18s}.sidebar.open .rail-toggle svg{transform:rotate(180deg)}.main{position:relative;z-index:1;min-height:calc(100vh - var(--header-h));margin:var(--header-h) 0 0 var(--rail-w);padding:var(--sp-8) var(--sp-8) var(--sp-12);transition:margin .18s ease}body.nav-open .main{margin-left:var(--rail-w-open)}.main-in{max-width:1180px;margin:0 auto}.page-head{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-6)}.page-title{color:var(--text);font-family:var(--display);font-size:30px;font-weight:800;line-height:1.12;letter-spacing:0}.page-sub{max-width:640px;color:var(--text-muted);font-size:15px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:var(--sp-6);align-items:start}.setup,.preview,.gate-panel{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-card);box-shadow:var(--shadow-2)}.setup{overflow:hidden}.setup-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:20px 24px;border-bottom:1px solid var(--border)}.setup-head h2{color:var(--text);font-size:15px;font-weight:800}.setup-progress{display:flex;align-items:center;gap:var(--sp-3)}.setup-progress span{color:var(--text-faint);font-family:var(--mono);font-size:12px;font-weight:700}.bays{display:flex;gap:5px}.bays i{width:28px;height:10px;border:1px solid var(--border-strong);border-radius:3px;background:var(--surface-subtle)}.bays i.on{border-color:var(--positive);background:var(--positive)}.steps{padding:8px 24px 4px}.step{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--sp-4);align-items:center;min-height:84px;padding:var(--sp-4) 0}.step+.step{border-top:1px solid var(--border)}.step-num{width:40px;height:40px;display:grid;place-items:center;border:1.5px dashed var(--border-strong);border-radius:9px;background:var(--surface-card);color:var(--text-faint);font-family:var(--mono);font-size:14px;font-weight:700}.step.current .step-num{border-style:solid;border-color:var(--action);background:var(--action);color:var(--bg-0);box-shadow:0 0 0 4px var(--focus-ring)}.step.done .step-num{border-style:solid;border-color:var(--positive);background:var(--positive-bg);color:var(--positive-text)}.step-body h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;color:var(--text);font-size:15.5px;font-weight:800}.step.locked .step-body h3{color:var(--text-muted)}.step-eta{color:var(--text-faint);font-family:var(--mono);font-size:11px;font-weight:600}.step-body p{max-width:500px;margin-top:3px;color:var(--text-muted);font-size:13.5px}.step.locked .step-body p{color:var(--text-faint)}.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1px solid transparent;border-radius:var(--r-input);padding:0 18px;font-size:13.5px;font-weight:800;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.btn svg{width:16px;height:16px}.btn-primary{background:var(--action);color:var(--on-primary);box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--action-hover)}.btn-quiet{border-color:var(--border-strong);background:var(--surface-card);color:var(--text-muted)}.btn-quiet:hover{border-color:var(--action);color:var(--action);background:var(--dhoca-blue-100)}.step.locked .btn-quiet{border-color:var(--border);color:var(--text-faint);pointer-events:none}.setup-foot{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);font-size:13px}.setup-foot a{color:var(--action);font-weight:800}.setup-foot a:hover{text-decoration:underline}.setup-foot svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--action)}.preview{position:sticky;top:calc(var(--header-h) + var(--sp-6));overflow:hidden}.pv-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) 20px;border-bottom:1px solid var(--border)}.pv-head .pv-dot{width:8px;height:8px;border-radius:999px;background:var(--status-active)}.pv-head b{color:var(--text);font-size:13.5px;font-weight:800}.pv-tag{margin-left:auto}.pv-body{padding:18px 20px 20px}.pv-label{margin-bottom:var(--sp-2);color:var(--text-faint);font-size:12px;font-weight:800;text-transform:uppercase}.dock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);margin-bottom:var(--sp-4)}.dock{min-height:60px;display:grid;place-items:center;border:1.5px dashed var(--border-strong);border-radius:9px;background:var(--surface-subtle);padding:var(--sp-2);text-align:center}.dock b{display:block;color:var(--text-muted);font-family:var(--mono);font-size:12px;font-weight:800}.dock span{color:var(--text-faint);font-size:11px}.queue{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-4)}.qrow{min-height:var(--touch-min);display:flex;align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-card);padding:0 var(--sp-3)}.plate{color:var(--text);font-family:var(--font-plate);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.qtime{margin-left:auto;color:var(--text-faint);font-family:var(--mono);font-size:12px}.pv-hint{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-input);background:var(--dhoca-blue-100);color:var(--action-hover);padding:var(--sp-3);font-size:12.5px;font-weight:650}.pv-hint svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--action)}.legend{display:flex;flex-wrap:wrap;gap:6px}.legend span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:800}.legend .lg-wait{background:var(--status-waiting-bg);color:var(--status-waiting)}.legend .lg-dock{background:var(--status-active-bg);color:var(--status-active)}.legend .lg-ok{background:var(--status-done-bg);color:var(--status-done)}.legend i{width:7px;height:7px;border-radius:999px;background:currentColor}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--sp-6)}.modal{width:min(100%,460px);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-section);background:var(--surface-card);box-shadow:var(--shadow-pop);text-align:center}.modal-art{display:flex;justify-content:center;gap:var(--sp-2);border-bottom:1px solid var(--border);background:var(--surface-subtle);padding:26px 0 22px}.modal-art i{width:34px;height:46px;border:1.5px dashed var(--border-strong);border-radius:8px}.modal-art i.truck{display:flex;align-items:center;justify-content:center;border-style:solid;border-color:var(--positive);background:var(--positive-bg);color:var(--positive-text)}.modal-art svg{width:20px;height:20px}.modal-in{padding:26px 34px 30px}.modal h2{color:var(--text);font-family:var(--display);font-size:22px;font-weight:800;line-height:1.18;letter-spacing:0}.modal .msub{margin-top:var(--sp-2);color:var(--text-muted);font-size:14px}.modal .msub b{color:var(--text)}.modal-list{display:grid;gap:11px;margin:20px 0 var(--sp-6);text-align:left}.modal-list div{display:flex;align-items:flex-start;gap:11px;color:var(--text-muted);font-size:13.5px}.modal-list svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--positive)}.modal .btn-primary{width:100%;min-height:var(--touch-min)}.modal-skip{display:inline-block;margin-top:var(--sp-4);border:0;background:none;color:var(--text-faint);font-size:13px;font-weight:700}.modal-skip:hover{color:var(--text-muted);text-decoration:underline}.gate{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-6);padding:var(--sp-6)}.gate-logo{margin:0}.gate-panel{width:min(100%,440px);padding:30px;text-align:center}.gate-kicker{display:block;margin-bottom:10px;color:var(--action);font-family:var(--mono);font-size:11px;font-weight:800;text-transform:uppercase}.gate-panel h1{color:var(--text);font-family:var(--display);font-size:28px;font-weight:800;line-height:1.1;letter-spacing:0}.gate-panel p{margin-top:var(--sp-3);color:var(--text-muted)}.gate-action{min-width:150px;margin-top:22px}.auth-card,.onboarding-card,.auth-card h1,.onboarding-card h1,.auth-card p,.onboarding-card p{text-align:left}.google-slot{display:flex;justify-content:center;min-height:44px;margin-top:22px}.google-slot.disabled{opacity:.55;pointer-events:none}.auth-switch{margin-top:18px;text-align:center!important;font-size:13.5px}.auth-switch a{color:var(--action);font-weight:800}.account-form{display:grid;gap:14px;margin-top:22px}.account-form label{display:grid;gap:7px;color:var(--text-muted);font-size:13px;font-weight:800}.account-form input,.account-form select{width:100%;min-height:var(--touch-min);border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--surface-card);color:var(--text);padding:0 var(--sp-3)}.account-form input:focus,.account-form select:focus{border-color:var(--action);outline:3px solid var(--focus-ring)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.account-submit{min-height:var(--touch-min);margin-top:4px}.account-submit:disabled{cursor:wait;opacity:.6}.form-message{margin-top:var(--sp-4);border-radius:var(--r-input);padding:11px 13px;font-size:13px;font-weight:700}.account-form .form-message{margin-top:0}.form-message.error{border:1px solid var(--alert-border);background:var(--status-alert-bg);color:var(--status-alert)}.ui-button,.ui-icon-button,.ui-input-wrap,.ui-select,.ui-textarea,.ui-checkbox,.ui-radio,.ui-switch,.ui-badge,.ui-avatar,.ui-card{transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.ui-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1px solid transparent;border-radius:var(--r-input);padding:0 var(--sp-4);font-weight:800;white-space:nowrap}.ui-button.is-full{width:100%}.ui-button-sm{min-height:32px;padding:0 var(--sp-3);font-size:12.5px}.ui-button-lg{min-height:44px;padding:0 var(--sp-6)}.ui-button-xl{min-height:var(--touch-min);padding:0 var(--sp-8);font-size:16px}.ui-button-primary{background:var(--action);color:var(--on-primary)}.ui-button-secondary{border-color:#08122647;background:var(--surface-card);color:var(--secondary)}.ui-button-ghost{background:transparent;color:var(--action)}.ui-button-danger{background:var(--status-alert);color:var(--bg-0)}.ui-button:disabled,.ui-icon-button:disabled{cursor:not-allowed;opacity:.55}.ui-icon-button{display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-card);color:var(--text-muted)}.ui-icon-button-sm{width:32px;height:32px}.ui-icon-button-md{width:40px;height:40px}.ui-icon-button-lg,.ui-icon-button-xl{width:var(--touch-min);height:var(--touch-min)}.ui-input-wrap,.ui-select,.ui-textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--surface-card);color:var(--text)}.ui-input-wrap{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3)}.ui-input-sm{min-height:36px}.ui-input-md{min-height:42px}.ui-input-lg{min-height:44px}.ui-input-xl{min-height:var(--touch-min)}.ui-input,.ui-select,.ui-textarea{border:0;background:transparent;color:inherit;outline:0}.ui-input{min-width:0;width:100%;height:100%}.ui-select{padding:0 var(--sp-3)}.ui-textarea{min-height:96px;padding:var(--sp-3);resize:vertical}.ui-input-wrap.is-invalid,.ui-select.is-invalid,.ui-textarea.is-invalid{border-color:var(--status-alert)}.ui-input-wrap.is-mono .ui-input{font-family:var(--font-plate);letter-spacing:.05em;text-transform:uppercase}.ui-input-affix{color:var(--text-faint);font-size:12px}.ui-input-affix button{border:0;background:transparent;color:var(--action);font-weight:800}.ui-check-row,.ui-switch-row{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--text-muted);font-weight:700}.ui-checkbox,.ui-radio{width:20px;height:20px;display:inline-grid;place-items:center;border:1px solid var(--border-strong);background:var(--surface-card);color:var(--bg-0)}.ui-checkbox{border-radius:6px}.ui-radio{border-radius:999px}.ui-checkbox[data-state=checked],.ui-radio[data-state=checked]{border-color:var(--action);background:var(--action)}.ui-checkbox svg{width:14px;height:14px}.ui-radio-indicator{width:8px;height:8px;border-radius:999px;background:var(--bg-0)}.ui-radio-group{display:grid;gap:var(--sp-2)}.ui-switch{width:42px;height:24px;border:0;border-radius:999px;background:var(--border-strong);padding:2px}.ui-switch[data-state=checked]{background:var(--action)}.ui-switch-thumb{width:20px;height:20px;display:block;border-radius:999px;background:var(--bg-0);box-shadow:var(--shadow-1);transform:translate(0);transition:transform .15s}.ui-switch[data-state=checked] .ui-switch-thumb{transform:translate(18px)}.ui-badge,.ui-status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.ui-badge-sm{padding:2px 7px;font-size:11px}.ui-badge i,.ui-status-badge i{width:7px;height:7px;border-radius:999px;background:currentColor}.ui-tone-neutral{background:var(--surface-subtle);color:var(--text-muted)}.ui-tone-info{background:var(--status-active-bg);color:var(--status-active)}.ui-tone-success{background:var(--status-done-bg);color:var(--status-done)}.ui-tone-warning{background:var(--status-waiting-bg);color:var(--status-waiting)}.ui-tone-danger{background:var(--status-alert-bg);color:var(--status-alert)}.ui-tone-intelligence{background:var(--intelligence-bg);color:var(--intelligence)}.ui-tag-remove{border:0;background:transparent;color:currentColor;font-weight:800}.ui-avatar{display:inline-grid;place-items:center;border-radius:var(--r-input);background:var(--dhoca-navy-900);color:var(--bg-0);font-weight:800}.ui-avatar-sm{width:28px;height:28px;font-size:11px}.ui-avatar-md{width:34px;height:34px;font-size:12px}.ui-avatar-lg,.ui-avatar-xl{width:44px;height:44px}.ui-spinner{display:inline-block;border:2px solid var(--border);border-top-color:var(--action);border-radius:999px;animation:ui-spin .8s linear infinite}.ui-spinner-sm{width:14px;height:14px}.ui-spinner-md{width:20px;height:20px}.ui-spinner-lg{width:28px;height:28px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-skeleton{display:block;background:linear-gradient(90deg,var(--surface-subtle),var(--surface-hover),var(--surface-subtle));background-size:240% 100%;animation:ui-skeleton 1.4s ease infinite}.ui-skeleton-text{width:100%;height:14px;border-radius:999px}.ui-skeleton-rect{width:100%;min-height:64px;border-radius:var(--r-card)}.ui-skeleton-circle{width:40px;height:40px;border-radius:999px}@keyframes ui-skeleton{to{background-position:-240% 0}}.ui-divider{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-faint);font-size:12px}.ui-divider:before,.ui-divider:after{content:"";flex:1;height:1px;background:var(--border)}.ui-divider-vertical{width:1px;min-height:24px;background:var(--border)}.ui-divider-vertical:before,.ui-divider-vertical:after{display:none}.ui-kbd,.ui-code{border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle);color:var(--text);font-family:var(--mono);font-size:12px;padding:2px 6px}.ui-tooltip,.ui-popover{z-index:80;max-width:280px;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-card);color:var(--text);box-shadow:var(--shadow-pop);padding:var(--sp-3);font-size:13px}.ui-tooltip-arrow,.ui-popover-arrow{fill:var(--surface-card)}.ui-field{display:grid;gap:7px}.ui-field-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;font-weight:800}.ui-field-label b,.ui-field-error{color:var(--status-alert)}.ui-field-label small,.ui-field-hint{color:var(--text-faint);font-weight:600}.ui-field-error,.ui-field-hint{font-size:12px}.ui-autocomplete,.ui-password,.ui-wizard,.ui-checklist-runner,.ui-copilot-feed,.ui-queue-list{display:grid;gap:var(--sp-3)}.ui-autocomplete-list{display:grid;gap:2px;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-card);padding:var(--sp-2)}.ui-autocomplete-list button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;padding:0 var(--sp-2)}.ui-autocomplete-list button:hover{background:var(--surface-hover)}.ui-password-strength{width:fit-content;border-radius:999px;padding:2px 8px;color:var(--text-muted);background:var(--surface-subtle);font-size:12px;font-weight:800}.ui-password-strength.is-forte{color:var(--status-done);background:var(--status-done-bg)}.ui-password-strength.is-media{color:var(--status-waiting);background:var(--status-waiting-bg)}.ui-slot-picker,.ui-range,.ui-dock-grid{display:grid;gap:var(--sp-2)}.ui-slot-picker{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.ui-slot{min-height:44px;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-card);color:var(--text);font-weight:800}.ui-slot.is-busy{color:var(--text-faint);background:var(--surface-subtle)}.ui-slot.is-selected{border-color:var(--action);background:var(--status-active-bg);color:var(--action)}.ui-slot.is-suggested{border-color:var(--intelligence);background:var(--intelligence-bg);color:var(--intelligence)}.ui-file-box{min-height:96px;display:grid;place-items:center;border:1.5px dashed var(--border-strong);border-radius:var(--r-card);background:var(--surface-subtle);color:var(--text-muted);font-weight:800;padding:var(--sp-4)}.ui-file-box input{max-width:220px}.ui-stepper{display:grid;gap:var(--sp-2);list-style:none}.ui-stepper-item{display:grid;grid-template-columns:36px 1fr;gap:var(--sp-3);align-items:center}.ui-stepper-item>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-input);color:var(--text-faint);font-family:var(--mono)}.ui-stepper-item.is-current>span{background:var(--action);color:var(--bg-0)}.ui-stepper-item.is-done>span{background:var(--status-done-bg);color:var(--status-done)}.ui-stepper-item small{display:block;color:var(--text-muted)}.ui-wizard-panel,.ui-card,.ui-section,.ui-table-wrap{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-card);box-shadow:var(--shadow-1)}.ui-wizard-panel,.ui-card,.ui-section{padding:var(--sp-4)}.ui-quantity,.ui-pagination,.ui-page-actions,.ui-page-filters,.ui-dock-actions,.ui-check-options{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.ui-quantity>span,.ui-pagination>span{min-width:42px;text-align:center;color:var(--text-muted);font-family:var(--mono);font-weight:800}.ui-status-badge.is-waiting{background:var(--status-waiting-bg);color:var(--status-waiting)}.ui-status-badge.is-active{background:var(--status-active-bg);color:var(--status-active)}.ui-status-badge.is-done{background:var(--status-done-bg);color:var(--status-done)}.ui-status-badge.is-alert{background:var(--status-alert-bg);color:var(--status-alert)}.ui-timer{color:var(--text-muted);font-family:var(--mono);font-weight:800}.ui-timer.is-done{color:var(--status-done)}.ui-timer.is-waiting{color:var(--status-waiting)}.ui-timer.is-alert{color:var(--status-alert)}.ui-sla-meter,.ui-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-subtle)}.ui-sla-meter span,.ui-progress-indicator{height:100%;display:block;background:var(--status-done)}.ui-sla-meter.is-waiting span{background:var(--status-waiting)}.ui-sla-meter.is-alert span{background:var(--status-alert)}.ui-progress-indicator{width:100%;transition:transform .2s}.ui-toast,.ui-banner,.ui-inline-notice{border-radius:var(--r-input);padding:var(--sp-3);font-weight:700}.ui-toast,.ui-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid currentColor}.ui-banner b,.ui-banner span{display:block}.ui-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--overlay)}.ui-dialog,.ui-sheet{position:fixed;z-index:91;border:1px solid var(--border);background:var(--surface-card);box-shadow:var(--shadow-pop);padding:var(--sp-6)}.ui-dialog{top:50%;left:50%;width:min(92vw,480px);transform:translate(-50%,-50%);border-radius:var(--r-section)}.ui-sheet{top:0;bottom:0;width:min(92vw,420px)}.ui-sheet.is-right{right:0}.ui-sheet.is-left{left:0}.ui-dialog-title{margin-bottom:var(--sp-3);color:var(--text);font-family:var(--display);font-size:22px}.ui-dialog-body{color:var(--text-muted)}.ui-dialog-footer{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-6)}.ui-state,.ui-loading-state{display:grid;place-items:center;gap:var(--sp-3);min-height:180px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-card);color:var(--text-muted);padding:var(--sp-6);text-align:center}.ui-state b{color:var(--text)}.ui-state.is-error b{color:var(--status-alert)}.ui-app-shell{min-height:100vh;background:var(--surface-page)}.ui-app-shell main{padding:var(--sp-6)}.ui-sidebar{display:grid;gap:4px;width:240px;border-right:1px solid var(--border);background:var(--surface-card);padding:var(--sp-3)}.ui-sidebar-item{min-height:var(--touch-min);display:flex;align-items:center;gap:var(--sp-2);border:0;border-radius:var(--r-input);background:transparent;color:var(--text-muted);padding:0 var(--sp-3);font-weight:800}.ui-sidebar-item.is-active{background:var(--status-active-bg);color:var(--action)}.ui-sidebar-item b{margin-left:auto}.ui-topbar{min-height:64px;display:flex;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface-card);padding:0 var(--sp-6)}.ui-topbar>span{flex:1}.ui-page-header{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-6)}.ui-page-header h1{font-family:var(--display);font-size:28px;letter-spacing:0}.ui-page-header p{color:var(--text-muted)}.ui-card.is-selectable:hover{border-color:var(--action)}.ui-section>header,.ui-dock-board>header,.ui-mission>header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.ui-table-wrap{overflow:auto}.ui-table{width:100%;border-collapse:collapse}.ui-table th,.ui-table td{border-bottom:1px solid var(--border);padding:0 var(--sp-3);text-align:left}.ui-table th{height:40px;color:var(--text-faint);font-size:12px;text-transform:uppercase}.ui-table.is-comfortable td{height:var(--touch-min)}.ui-table.is-dense td{height:36px}.ui-table-empty{padding:var(--sp-6);color:var(--text-muted);text-align:center}.ui-data-grid,.ui-dock-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ui-tabs-list,.ui-segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-subtle);padding:3px}.ui-tabs-trigger,.ui-segmented button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);padding:0 var(--sp-3);font-weight:800}.ui-tabs-trigger[data-state=active],.ui-segmented button.is-active{background:var(--surface-card);color:var(--action);box-shadow:var(--shadow-1)}.ui-tabs-content{margin-top:var(--sp-4)}.ui-breadcrumb{display:flex;gap:var(--sp-2);color:var(--text-muted);font-size:13px}.ui-breadcrumb span+span:before{content:"/";margin-right:var(--sp-2);color:var(--text-faint)}.ui-plate-tag{width:fit-content;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface-subtle);color:var(--text);font-family:var(--font-plate);font-weight:800;letter-spacing:.05em;padding:4px 9px}.ui-plate-sm{font-size:12px}.ui-plate-md{font-size:16px}.ui-plate-lg{font-size:28px}.ui-vehicle-card,.ui-dock-card,.ui-kpi-tile,.ui-mission,.ui-copilot-card,.ui-estadia-card{display:grid;gap:var(--sp-3)}.ui-vehicle-card>div,.ui-dock-card header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.ui-queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--sp-3);align-items:center}.ui-dock-target{color:var(--text-muted);font-family:var(--mono);font-weight:800}.ui-dock-board{display:grid;gap:var(--sp-4)}.ui-call-next{display:grid;gap:var(--sp-2)}.ui-mission label{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-muted);font-weight:700}.ui-kpi-tile strong{font-family:var(--display);font-size:40px;line-height:1}.ui-kpi-tile span,.ui-kpi-tile small,.ui-estadia-card span{color:var(--text-muted)}.ui-timeline{display:grid;gap:var(--sp-3);list-style:none}.ui-timeline li{display:grid;gap:2px;border-left:3px solid var(--border);padding-left:var(--sp-3)}.ui-timeline time{color:var(--text-faint);font-family:var(--mono);font-size:12px}.ui-timeline small{color:var(--text-muted)}.ui-copilot-card{border-color:var(--intelligence)}.ui-driver-view,.ui-qr-dock,.ui-tv-board{min-height:100vh;display:grid;align-content:center;gap:var(--sp-6);background:var(--surface-page);padding:var(--sp-6)}.ui-tv-board{align-content:start}@media(max-width:1100px){.grid{grid-template-columns:1fr}.preview{position:static}}@media(max-width:860px){:root{--header-h: 64px;--rail-w-open: 216px}.header{gap:var(--sp-2);padding:0 var(--sp-4)}.brand-block{width:auto;min-width:0}.header-product,.yard-label,.trial-chip small,.account b,.account svg{display:none}.yard-select{max-width:220px}.yard-select>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:760px){:root{--rail-w: 0px;--rail-w-open: 0px}body:before,body.nav-open:before{left:0}.sidebar{display:none}.main{margin-left:0;padding:var(--sp-6) var(--sp-4) var(--sp-10)}body.nav-open .main{margin-left:0}.realtime-chip,.trial-chip,.yard-tag{display:none}.page-title{font-size:26px}.step{grid-template-columns:40px 1fr}.step .btn{grid-column:2;width:fit-content}.account-grid{grid-template-columns:1fr}}@media(max-width:520px){.header{padding:0 var(--sp-3)}.logo{font-size:18px}.yard-select{max-width:150px}.account{padding-right:0}.setup-head,.setup-foot,.steps{padding-left:var(--sp-4);padding-right:var(--sp-4)}.bays i{width:20px}.gate-panel{padding:var(--sp-6)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
