:root{--bg: #0b1016;--sidebar: #0f1720;--panel: #121a24;--panel-soft: #17212d;--panel-raised: #1a2633;--border: #263545;--border-soft: #1f2b38;--text: #e8edf3;--muted: #93a4b7;--muted-2: #6f8296;--primary: #2f8bd6;--primary-soft: #153a56;--danger: #d34b42;--danger-soft: #4a211f;--success: #38b979;--success-soft: #133528;--warning: #d8a247;--warning-soft: #3c2d16;--input: #0e151e;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit}.app-shell{background:radial-gradient(circle at 18% 0%,rgba(47,139,214,.1),transparent 30%),linear-gradient(180deg,#0b1016,#0c1219);color:var(--text);display:grid;grid-template-columns:190px minmax(0,1fr);min-height:100vh}.sidebar{background:#0f1720eb;border-right:1px solid var(--border-soft);color:var(--text);display:flex;flex-direction:column;gap:8px;padding:18px 12px}.brand{align-items:center;color:#fff;display:flex;font-weight:700;gap:8px;margin-bottom:14px;min-height:34px;padding:0 8px}.nav-item{background:transparent;border-radius:6px;color:#a9b8c8;justify-content:flex-start;min-height:38px;padding:8px 10px}.nav-item:hover:not(:disabled),.nav-item.active{background:#172b3d;box-shadow:none;color:#fff}.shell{min-height:100vh;padding:24px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.topbar h1{color:#fff;font-size:26px;line-height:1.2;margin:0}.topbar p{color:var(--muted);margin:4px 0 0}.identity,.panel,.metrics>div,.lane{background:#121a24f5;border:1px solid var(--border);border-radius:8px}.identity{align-items:center;color:var(--muted);display:flex;gap:8px;padding:10px 12px}.notice{background:var(--danger-soft);border:1px solid rgba(211,75,66,.5);border-radius:8px;color:#ffd8d5;margin-bottom:16px;padding:12px}.metrics{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.metrics>div{padding:14px}.metrics span,.device-row span,.job-card span,.job-card small,label span{color:var(--muted);font-size:13px}.metrics strong{color:#fff;display:block;font-size:24px;margin-top:4px}.workspace{display:grid;gap:16px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);margin-bottom:16px}.panel{padding:16px}.panel-title{align-items:center;color:#dfe7ef;display:flex;gap:8px;margin-bottom:12px}.panel-title h2,.lane h2{font-size:15px;margin:0}.device-list{display:grid;gap:10px}.device-row{align-items:center;background:linear-gradient(180deg,var(--panel-soft),#141e29);border:1px solid var(--border-soft);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:72px;padding:12px;position:relative}.device-row:before{background:var(--muted-2);border-radius:999px;content:"";height:calc(100% - 22px);left:0;position:absolute;top:11px;width:3px}.device-row:has(.badge.idle):before{background:var(--success)}.device-row:has(.badge.busy):before{background:var(--warning)}.device-row strong,.device-row span,.device-main span{display:block}.device-main{background:transparent;color:var(--text);display:grid;gap:4px;justify-items:start;min-height:44px;min-width:0;padding:0 0 0 6px;text-align:left}.device-main strong{font-size:15px;overflow-wrap:anywhere}.device-main:hover:not(:disabled){background:transparent;box-shadow:none;color:#fff}.machine-card:hover{background:linear-gradient(180deg,#1b2a38,#152230);border-color:#35506a}.machine-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:240px}.key-pill,.active-pill{background:#0f1822;border:1px solid var(--border-soft);border-radius:999px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;max-width:150px;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.key-pill.ready{background:var(--primary-soft);border-color:#2f8bd673;color:#9ed2ff}.active-pill{color:#bdc8d4}.badge{border-radius:999px;border:1px solid transparent;font-size:12px;padding:5px 8px;text-align:center}.badge.idle{background:var(--success-soft);border-color:#38b97959;color:#91e5b8}.badge.busy{background:var(--warning-soft);border-color:#d8a24761;color:#f0c879}.badge.offline{background:#151d27;border-color:var(--border-soft);color:var(--muted-2)}.job-form{display:grid;gap:12px}label{display:grid;gap:6px}input,select,textarea{background:var(--input);border:1px solid var(--border);border-radius:6px;color:var(--text);min-height:38px;padding:8px 10px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid rgba(47,139,214,.18)}textarea{line-height:1.45;resize:vertical}.payload-box{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;min-height:132px;white-space:pre-wrap}.session-box{min-height:220px}.payment-box{min-height:160px}.checkline{align-items:center;display:flex;gap:8px}.checkline input{accent-color:var(--primary);min-height:auto;width:auto}button{align-items:center;background:var(--primary);border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:9px 14px;transition:background .14s ease,box-shadow .14s ease,transform 80ms ease,opacity .14s ease}button:hover:not(:disabled){background:#3c9be8;box-shadow:0 8px 20px #2f8bd638}button:active:not(:disabled){transform:translateY(1px) scale(.99)}button:disabled{cursor:wait;opacity:.72}.icon-button{min-height:32px;min-width:32px;padding:6px}.danger-action,.danger-button{background:var(--danger)}.danger-action:hover:not(:disabled),.danger-button:hover:not(:disabled){background:#e05b52;box-shadow:0 8px 20px #d34b4233}.dispatch-button{min-width:108px}.ghost-button,.secondary-button{background:#1a2a38;border:1px solid #2b4156;color:#b9ddff}.ghost-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:#213448;box-shadow:none}.device-detail{margin-bottom:16px}.detail-header,.section-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.detail-grid div,.key-section,.control-section{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:8px;padding:12px}.detail-grid dt{color:var(--muted);font-size:12px;margin-bottom:5px}.detail-grid dd{color:var(--text);margin:0;min-width:0;overflow-wrap:anywhere}.key-section,.control-section{margin-top:14px}.key-section h3,.control-section h3{font-size:14px;margin:0}.key-section p{color:var(--muted);font-size:13px;margin:4px 0 0}.key-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pipeline{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.lane{min-height:220px;padding:12px}.lane-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.lane-count,.order-total{color:var(--muted);font-size:12px;white-space:nowrap}.job-card{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:8px;display:grid;gap:6px;margin-bottom:8px;padding:10px}.job-head{align-items:center;display:flex;gap:8px;min-width:0}.job-head strong{color:var(--text);overflow-wrap:anywhere}.job-result{background:var(--warning-soft);border:1px solid rgba(216,162,71,.34);border-radius:6px;display:grid;gap:4px;padding:8px}.job-result code,.job-result span{color:#f0c879;font-size:12px;overflow-wrap:anywhere}.lane-pagination{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.lane-pagination button{min-height:32px;min-width:32px;padding:6px}.empty{color:var(--muted-2);font-size:13px;padding:12px 0}.orders-panel,.customers-panel{min-height:360px}.order-search{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(280px,1fr) auto auto;margin-bottom:14px}.order-total{padding:10px 0}.table-wrap{border:1px solid var(--border-soft);border-radius:8px;overflow:auto}.orders-table{border-collapse:collapse;min-width:980px;width:100%}.orders-table th,.orders-table td{border-bottom:1px solid var(--border-soft);color:var(--text);font-size:13px;padding:10px;text-align:left;vertical-align:top}.orders-table th{background:var(--panel-soft);color:var(--muted);font-weight:700}.orders-table code{font-size:12px;overflow-wrap:anywhere}.status-dot{border-radius:999px;display:inline-flex;font-size:12px;padding:4px 8px;white-space:nowrap}.status-dot.succeeded{background:var(--success-soft);color:#91e5b8}.status-dot.failed{background:var(--danger-soft);color:#ffaaa4}.status-dot.processing,.status-dot.received{background:var(--primary-soft);color:#9ed2ff}.status-dot.waiting_human{background:var(--warning-soft);color:#f0c879}.status-dot.queued{background:#151d27;color:var(--muted)}.table-empty{padding:20px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;flex-direction:row;overflow-x:auto}.brand{margin-bottom:0}.shell{padding:16px}.topbar,.workspace{align-items:stretch;grid-template-columns:1fr}.topbar{flex-direction:column}.metrics,.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.order-search{grid-template-columns:1fr}}@media(max-width:560px){.metrics,.pipeline,.detail-grid,.key-grid,.device-row{grid-template-columns:1fr}.machine-card-meta,.detail-actions,.section-row{align-items:stretch;flex-direction:column;justify-content:flex-start}}
