:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e2e8f0;background:#0e1621;font-synthesis:none;--ink-900: #0e1621;--ink-800: #161f2c;--ink-700: #1e2937;--ink-600: #2a3646;--line: #2b3644;--accent: #4a7dfc;--accent-dark: #3563d6;--accent-soft: #1a2744;--signal: #f5a524;--signal-soft: #3a2a10;--danger: #f0603c;--danger-soft: #3a1a14;--good: #37b980;--good-soft: #122e24;--muted: #94a3b8}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--ink-900)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.app-shell{min-height:100vh}.topbar{min-height:72px;padding:0 28px;display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:30;background:#0e1621f7;border-bottom:1px solid var(--line)}.brand{min-width:255px;display:flex;align-items:center;gap:12px}.brand-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--accent);font-size:20px;font-weight:800}.brand div,.user-chip div{display:flex;flex-direction:column}.brand strong{color:#f1f5f9;font-size:14px}.brand small,.user-chip small{color:#64748b;font-size:11px;margin-top:2px}.topbar nav{display:flex;align-self:stretch;flex:1;gap:2px}.topbar nav button{padding:0 18px;border:0;border-bottom:2px solid transparent;color:#94a3b8;background:transparent;font-weight:650}.topbar nav button:hover{color:#e2e8f0;background:var(--ink-800)}.topbar nav button.active{color:#fff;border-bottom-color:var(--accent)}.user-chip{display:flex;align-items:center;gap:9px}.user-chip>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#c7d2fe;background:var(--accent-soft);font-weight:800}.user-chip strong{font-size:12px}.workspace{max-width:1600px;margin:0 auto;padding:28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h1{margin:3px 0 6px;color:#f8fafc;font-size:28px;letter-spacing:-.35px}.page-heading p{margin:0;color:#94a3b8}.eyebrow{color:#64748b!important;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.heading-actions{display:flex;gap:8px}.button{min-height:41px;padding:0 16px;border:1px solid var(--ink-600);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#cbd5e1;background:transparent;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s}.button:hover:not(:disabled){background:var(--ink-700)}.button.primary{color:#fff;border-color:var(--accent);background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.action{color:var(--ink-900);border-color:var(--signal);background:var(--signal);font-weight:750}.button.action:hover:not(:disabled){filter:brightness(1.08)}.button.danger{color:#fca58f;border-color:var(--danger)}.button.danger:hover:not(:disabled){background:var(--danger-soft)}.button.ghost{background:transparent}.button.compact{min-height:34px;padding:0 11px;font-size:12px}.button:disabled{opacity:.4}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:18px}.summary-card{min-height:94px;padding:16px 17px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--ink-800)}.summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.summary-card>span{display:block;color:#94a3b8;font-size:11px}.summary-card strong{display:block;margin-top:8px;color:#f1f5f9;font-size:28px}.summary-card small{color:#64748b}.tone-signal:before{background:var(--signal)}.tone-signal strong{color:#ffd27a}.tone-danger:before{background:var(--danger)}.tone-danger strong{color:#ff9b82}.panel{border:1px solid var(--line);border-radius:12px;background:var(--ink-800)}.queue-panel{overflow:hidden}.filters{min-height:70px;padding:13px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.segmented{display:flex;padding:3px;border-radius:8px;background:var(--ink-900)}.segmented button{padding:8px 11px;border:0;border-radius:7px;color:#94a3b8;background:transparent;font-size:11px;font-weight:650}.segmented button.active{color:#fff;background:var(--ink-600)}.search{min-width:250px;max-width:370px;flex:1;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--ink-600);border-radius:8px;background:var(--ink-900)}.search>span{color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.search input{width:100%;height:39px;padding:0;border:0;outline:0;color:#e2e8f0;background:transparent}.search.standalone{flex:none}.filters select,.action-select,.period input,.equipment-card select{height:40px;padding:0 10px;border:1px solid var(--ink-600);border-radius:8px;color:#cbd5e1;background:var(--ink-900)}.check{display:flex;align-items:center;gap:7px;color:#94a3b8;font-size:11px;white-space:nowrap}.check input{accent-color:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:11px 14px;color:#94a3b8;background:#111a25;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:left;white-space:nowrap}td{padding:14px;border-top:1px solid var(--line);color:#cbd5e1;font-size:12px;vertical-align:top}tbody tr{cursor:pointer;transition:background-color .12s}tbody tr:hover,tbody tr.selected{background:var(--ink-700)}td>strong,td>span,td>small{display:block}td>strong{color:#f1f5f9;margin-bottom:4px}td>small{color:#64748b;margin-top:3px}.source{width:fit-content;padding:2px 6px;margin-top:5px;border-radius:5px;color:#a5b4fc;background:var(--accent-soft);font-size:9px;font-weight:700}.source-fdm{color:#91d8bc;background:#132c25}.source-slm{color:#c4b5fd;background:#241e3c}.source-postprocessing{color:#f8c76c;background:#36270e}.priority{width:fit-content;margin-top:5px;color:#94a3b8;font-size:10px}.priority-high{color:var(--signal)}.priority-critical{color:#ff9b82}.repeat{color:#ff9b82!important}.status{width:fit-content;padding:4px 7px;border-radius:6px;color:#94a3b8;background:var(--ink-600);font-size:10px;font-weight:650;white-space:nowrap}.status-new,.status-paused{color:#f8c76c;background:var(--signal-soft)}.status-in_progress{color:#a5b4fc;background:var(--accent-soft)}.status-completed{color:#94a3b8;background:var(--ink-700)}.status-cancelled{color:#64748b;background:#151b23}.overdue{color:#ff9b82!important;font-weight:650}.muted{color:#7b8a9e!important}.loading-row{padding:60px;color:#94a3b8;text-align:center}.empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#cbd5e1;text-align:center}.empty span{max-width:460px;margin-top:6px;color:#64748b;font-size:12px}.drawer-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end;background:#0000009e}.drawer{width:min(760px,97vw);height:100%;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--ink-900)}.drawer-header{padding:22px 24px 18px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--ink-800)}.drawer-header h2{margin:3px 0;color:#f8fafc;font-size:24px}.drawer-header p{margin:0;color:#94a3b8}.icon-button{width:38px;height:38px;border:0;border-radius:8px;color:#94a3b8;background:transparent;font-size:27px}.icon-button:hover{background:var(--ink-700)}.drawer-content{flex:1;overflow-y:auto;padding:18px 20px 105px}.drawer-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px;border-top:1px solid var(--line);background:#161f2cf7}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:13px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--line)}.detail-grid>div{min-height:68px;padding:12px;background:var(--ink-800)}.detail-grid span{display:block;margin-bottom:5px;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.detail-grid strong{color:#dbe4ef;font-size:11px}.detail-section,.editor,.notice{padding:15px;margin-bottom:13px;border:1px solid var(--line);border-radius:10px;background:var(--ink-800)}.detail-section h3,.editor h3{margin:0 0 11px;color:#e2e8f0;font-size:13px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.section-title small{display:block;color:#64748b;font-size:10px}.notice{border-left:3px solid var(--signal);background:var(--signal-soft)}.notice strong{display:block;color:#ffd27a;font-size:12px}.notice p{margin:5px 0 0;color:#d8bc83;font-size:12px}.danger-notice{border-left-color:var(--danger);background:var(--danger-soft)}.danger-notice strong{color:#ff9b82}.danger-notice p{color:#dca394}.editor label,.modal label,.period label{display:flex;flex-direction:column;gap:5px;margin:11px 0;color:#94a3b8;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.05em}.editor input,.editor select,.editor textarea,.modal input,.modal select,.modal textarea{width:100%;padding:10px;border:1px solid var(--ink-600);border-radius:8px;outline:0;color:#f1f5f9;background:var(--ink-900);text-transform:none;letter-spacing:normal}.editor textarea,.modal textarea{resize:vertical;line-height:1.45}.editor input:focus,.editor textarea:focus,.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--accent)}.editor input:disabled{color:#64748b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parts-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:9px 0;border-top:1px solid var(--line)}.parts-list>div:first-child{border-top:0}.parts-list strong{font-size:12px}.parts-list span{color:#dbe4ef}.parts-list small{grid-column:1/3;color:#64748b}.history-row{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:9px 0;border-top:1px solid var(--line);font-size:11px}.history-row:first-of-type{border-top:0}.history-row strong{color:#cbd5e1}.history-row>span,.history-row small{color:#64748b}.history-row p{grid-column:1/3;margin:2px 0;color:#94a3b8}.error-banner{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;margin:0 0 13px;border:1px solid #743423;border-radius:8px;color:#ffb19d;background:var(--danger-soft);font-size:12px}.error-banner button{border:0;color:inherit;background:transparent;font-size:18px}.modal-backdrop{z-index:80;align-items:center;justify-content:center;padding:14px}.modal{width:min(620px,100%);max-height:92vh;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:var(--ink-800)}.modal>header{padding:17px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal h2{margin:0;color:#f1f5f9;font-size:17px}.modal header p{margin:5px 0 0;color:#94a3b8;font-size:11px}.modal-body{padding:18px 20px}.modal-body>label{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid .wide{grid-column:1/3}.form-check{flex-direction:row!important;align-items:center;align-self:center;margin-top:22px!important;text-transform:none!important}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:13px}.equipment-card{border:1px solid var(--line);border-radius:12px;background:var(--ink-800);overflow:hidden}.equipment-card>header{padding:15px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.equipment-card>header>div{display:flex;gap:10px}.equipment-card h2{margin:0 0 4px;color:#e2e8f0;font-size:13px}.equipment-card p{margin:0;color:#64748b;font-size:10px}.equipment-dot{width:9px;height:9px;margin-top:3px;border-radius:50%;background:#64748b}.status-dot-blocked,.status-dot-service{background:var(--danger)}.status-dot-attention{background:var(--signal)}.equipment-status-blocked,.equipment-status-service{color:#ff9b82;background:var(--danger-soft)}.equipment-status-attention{color:#ffd27a;background:var(--signal-soft)}.equipment-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.equipment-stats>div{padding:13px;background:var(--ink-800)}.equipment-stats span{display:block;min-height:24px;color:#64748b;font-size:9px}.equipment-stats strong{color:#dbe4ef;font-size:13px}.equipment-card>footer{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:9px;color:#64748b;font-size:10px}.period{display:flex;gap:8px}.period label{margin:0}.period input{margin-top:4px;color:#cbd5e1}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.analytics-table{overflow:hidden}.analytics-table>header{padding:14px 16px;border-bottom:1px solid var(--line)}.analytics-table h2{margin:0;color:#e2e8f0;font-size:13px}.analytics-table span strong,.analytics-table span small{display:block}.analytics-table span small{color:#64748b;margin-top:3px}.padded{padding:18px}.splash,.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#94a3b8;text-align:center}.spinner{width:34px;height:34px;margin:0 auto;border:3px solid var(--ink-600);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-card{width:min(460px,calc(100vw - 28px));padding:32px;border:1px solid var(--line);border-radius:12px;background:var(--ink-800)}.module-mark{width:56px;height:56px;margin:0 auto 16px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--accent);font-size:22px;font-weight:800}.login-card h1{color:#f1f5f9}.login-card p{line-height:1.6}.login-card .button{width:100%;margin-top:8px}@media (max-width:1150px){.summary-grid{grid-template-columns:repeat(3,1fr)}.equipment-grid{grid-template-columns:repeat(2,1fr)}.filters{flex-wrap:wrap}.detail-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 15px;gap:12px}.brand{min-width:auto}.brand div,.user-chip div{display:none}}@media (max-width:720px){.workspace{padding:17px 11px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.heading-actions .button{flex:1}.topbar{min-height:68px;flex-wrap:wrap;padding-top:7px}.topbar nav{order:3;width:100%;height:44px;overflow-x:auto}.topbar nav button{padding:0 11px}.summary-grid,.equipment-grid,.analytics-grid{grid-template-columns:1fr 1fr}.filters{align-items:stretch}.segmented{max-width:100%;overflow-x:auto}.search,.filters select{width:100%;max-width:none}.drawer{width:100vw}.drawer-content{padding:13px 11px 130px}.detail-grid,.form-row,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.equipment-card>footer{align-items:flex-start;flex-direction:column}.modal-body{padding:14px}}@media (max-width:440px){.summary-grid,.equipment-grid,.analytics-grid{grid-template-columns:1fr}}
