:root{--bg:#0a0e1a;--surface:#1a2332;--surface-2:#121a29;--accent:#00e5ff;--text:#fff;--muted:#8b95a7;--danger:#ff6b81;--ok:#3ddc97;--warn:#ffd166;--border:#26314a}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100vh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh;display:flex}.sidebar{background:var(--surface-2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:24px;width:220px;padding:20px 16px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand img{border-radius:8px}.wordmark{letter-spacing:.02em;font-size:20px;font-weight:700}.sidebar nav{flex-direction:column;gap:4px;display:flex}.nav-link{color:var(--muted);border-radius:8px;padding:9px 12px}.nav-link:hover{color:var(--text);background:var(--surface);text-decoration:none}.nav-link.active{color:var(--accent);background:var(--surface)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 20px;display:flex}.tenant-switcher{align-items:center;gap:8px;display:flex}.spacer{flex:1}.content{flex-direction:column;gap:16px;padding:24px 20px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.panel.denied{border-color:var(--danger)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.stat{color:var(--accent);font-size:36px;font-weight:700}.muted{color:var(--muted)}.error{color:var(--danger)}.break-all{word-break:break-all}.secret-key{letter-spacing:.12em;background:var(--bg);border:1px dashed var(--accent);border-radius:8px;padding:12px;font-family:ui-monospace,monospace;font-size:18px}.btn{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:14px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#04222a;border-color:var(--accent);font-weight:600}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}input,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}input:focus,select:focus{outline:1px solid var(--accent)}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{width:100%;max-width:420px}.auth-card .brand{justify-content:center;margin-bottom:8px}.divider{text-align:center;color:var(--muted);font-size:13px}.pill{border:1px solid var(--border);color:var(--muted);text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:12px;display:inline-block}.pill.connected{color:var(--ok);border-color:var(--ok)}.pill.not_connected{color:var(--muted)}.pill.connection_error{color:var(--danger);border-color:var(--danger)}.pill.coming_soon,.pill.migration_pending{color:var(--warn);border-color:var(--warn)}.list{flex-direction:column;gap:8px;display:flex}.list-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.list-item a{font-weight:600}.generic-list{flex-direction:column;gap:6px;margin-left:20px;list-style:outside;display:flex}.generic-dl{flex-direction:column;display:flex}.generic-row{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr;gap:12px;padding:7px 0;display:grid}.generic-row dt{color:var(--muted);text-transform:capitalize}.generic-row dd{min-width:0}table.devices{border-collapse:collapse;width:100%}table.devices th,table.devices td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px;font-size:14px}table.devices th{color:var(--muted);font-weight:500}h1{font-size:24px}h2{font-size:19px}.section-title{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:15px}textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}textarea:focus{outline:1px solid var(--accent)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end;gap:14px;display:grid}.row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hours-row{flex-wrap:wrap;align-items:center;gap:12px;padding:6px 0;display:flex}.hours-row>span:first-child{width:100px}.check-row{padding:5px 0;font-size:14px;display:block}.inline-fields{align-items:center;gap:8px;display:flex}.logo-preview{object-fit:contain;background:var(--bg);border:1px solid var(--border);border-radius:8px;max-width:220px;max-height:120px;padding:8px}.core-scene{background:radial-gradient(ellipse 85% 55% at 50% 28%, #00e5ff1a, transparent 60%), radial-gradient(ellipse 120% 90% at 50% 115%, #00e5ff0d, transparent 55%), var(--bg);position:relative;overflow:hidden}.core-field{pointer-events:none;position:absolute;inset:0}.core-grid{background-image:linear-gradient(#00e5ff0b 1px,#0000 1px),linear-gradient(90deg,#00e5ff0b 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(72% 62% at 50% 42%,#000 25%,#0000 76%);mask-image:radial-gradient(72% 62% at 50% 42%,#000 25%,#0000 76%)}.core-stage{flex-direction:column;align-items:center;gap:22px;width:100%;display:flex;position:relative}.core-emblem{place-items:center;width:172px;height:172px;display:grid;position:relative}.core-ring{background:conic-gradient(from 210deg, #00e5ff26, var(--accent), #00e5ff26, var(--accent), #00e5ff26);border-radius:50%;width:134px;height:134px;padding:3px;position:relative;box-shadow:0 0 44px #00e5ff59,inset 0 0 18px #00e5ff40}.core-ring img{object-fit:cover;object-position:50% 16%;border:2px solid var(--bg);background:var(--surface-2);border-radius:50%;width:100%;height:100%;display:block}.orbit{pointer-events:none;border-radius:50%;position:absolute}.orbit-a{border:1px dashed #00e5ff59;animation:48s linear infinite core-spin;inset:0}.orbit-b{border:1px solid #00e5ff24;border-top-color:#00e5ff8c;animation:32s linear infinite core-spin-rev;inset:11px}.orbit-node{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:0 0 10px #00e5ffe6}.orbit-node.node-a{top:12px;left:22px}.orbit-node.node-b{opacity:.8;width:5px;height:5px;bottom:16px;right:18px}@keyframes core-spin{to{transform:rotate(360deg)}}@keyframes core-spin-rev{to{transform:rotate(-360deg)}}.console-card{background:linear-gradient(180deg, #1c2740, var(--surface) 32%);border-color:#00e5ff59;position:relative;box-shadow:0 0 0 1px #00e5ff0f,0 18px 50px #00000080,0 0 34px #00e5ff14}.console-card:before,.console-card:after{content:"";pointer-events:none;width:18px;height:18px;position:absolute}.console-card:before{border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-top-left-radius:12px;top:-1px;left:-1px}.console-card:after{border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);border-bottom-right-radius:12px;bottom:-1px;right:-1px}.console-card h1{text-align:center}.core-tagline{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;text-align:center;font-size:12px}@media (max-width:480px){.core-emblem{width:138px;height:138px}.core-ring{width:108px;height:108px}.core-stage{gap:18px}}@media (prefers-reduced-motion:reduce){.orbit-a,.orbit-b{animation:none}}.board{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start;gap:14px;display:grid}.board-col{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:5px;padding:10px 12px;font-size:14px;display:flex}.job-card-title{font-weight:600}.timeline{flex-direction:column;gap:8px;list-style:none;display:flex}.timeline-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 0;font-size:14px;display:flex}.timeline-item:last-child{border-bottom:none}.searchbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.searchbar input[type=search]{flex:1;min-width:240px}.topbar-search input[type=search]{width:300px;max-width:38vw}
