html,body,#root{--page-bg: #f5f7f9;--surface-bg: #ffffff;--text-color: #17202a;--muted-color: #52616f;--border-color: #d8dee6;--control-border: #b9c3ce;--primary-color: #1d7a8c;--accent-color: #f2c14e;--primary-dark: color-mix(in srgb, var(--primary-color), #000000 24%);--primary-soft: color-mix(in srgb, var(--primary-color), #ffffff 78%);--primary-bg: color-mix(in srgb, var(--primary-color), #ffffff 93%);--accent-dark: color-mix(in srgb, var(--accent-color), #000000 38%);--accent-soft: color-mix(in srgb, var(--accent-color), #ffffff 72%);--accent-bg: color-mix(in srgb, var(--accent-color), #ffffff 91%);--danger-color: color-mix(in srgb, var(--accent-color), #8b0000 58%);--danger-soft: color-mix(in srgb, var(--danger-color), #ffffff 74%);--danger-bg: color-mix(in srgb, var(--danger-color), #ffffff 92%);width:100%;min-height:100%;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-color);background:var(--page-bg)}button,input,select,textarea{font:inherit}button{border:1px solid var(--control-border);border-radius:6px;background:var(--surface-bg);padding:10px 14px;cursor:pointer}button.active,button:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--surface-bg)}.dashboard{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{border-right:1px solid var(--border-color);background:var(--surface-bg);padding:24px;display:flex;flex-direction:column;gap:10px}aside h1{font-size:22px;margin:0 0 16px}h3{font-size:18px;margin:18px 0 10px}.content{padding:24px}header,.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}header{justify-content:flex-end}section,.metric{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:18px;box-sizing:border-box}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.compact-grid{margin-bottom:16px}.metric span{display:block;color:var(--muted-color);margin-bottom:10px}.metric strong{font-size:30px}input,select,textarea{border:1px solid var(--control-border);border-radius:6px;padding:10px 12px;background:var(--surface-bg)}textarea{width:100%;box-sizing:border-box;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.45}.stack{display:grid;gap:12px}.compact{margin-bottom:0}.wrap{flex-wrap:wrap}button:disabled{opacity:.6;cursor:wait}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e4e8ee;padding:10px;text-align:left;font-size:14px}th{color:var(--muted-color);font-weight:600}pre{overflow:auto;background:#101820;color:#ecf4f8;padding:16px;border-radius:6px}.error{color:var(--danger-color)}.notice{border-radius:6px;margin:0;padding:10px 12px}.notice.info,.notice.success{background:var(--primary-bg);border:1px solid var(--primary-soft);color:var(--primary-dark)}.notice.error{background:var(--danger-bg);border:1px solid var(--danger-soft);color:var(--danger-color)}.kiosk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.kiosk-actions button{padding:8px 10px;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;line-height:1;color:var(--muted-color);background:var(--page-bg)}.status-badge.active,.status-badge.completed{border-color:var(--primary-soft);color:var(--primary-dark);background:var(--primary-bg)}.status-badge.pending,.status-badge.running{border-color:var(--accent-soft);color:var(--accent-dark);background:var(--accent-bg)}.status-badge.failed,.status-badge.inactive{border-color:var(--danger-soft);color:var(--danger-color);background:var(--danger-bg)}.command-list{display:grid;gap:8px;margin-top:8px}.command-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:start;border:1px solid var(--border-color);border-radius:6px;padding:10px;background:var(--page-bg)}.command-row strong,.command-row span{display:block}.command-row span,.command-row p,.empty-state{color:var(--muted-color);font-size:13px}.command-row p{grid-column:1 / -1;margin:0}.empty-state{margin:8px 0 0}.login{min-height:100vh;display:grid;place-items:center}.login form,.login-panel{width:min(420px,calc(100vw - 32px));display:grid;gap:14px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:24px;box-sizing:border-box}.login-note{margin:0;color:var(--muted-color);font-size:14px}
