:root{color-scheme:dark;--bg: #0a0a12;--bg-elevated: #13131f;--bg-card: #17172670;--border: #2a2a3d;--border-soft: #23233399;--text: #eef0ff;--text-muted: #8b8ba8;--accent: #7c5cff;--accent-2: #22d3ee;--accent-grad: linear-gradient(135deg, #7c5cff 0%, #22d3ee 100%);--danger: #ff5c7c;--success: #34e0a1;--radius: 14px;--radius-sm: 9px;--shadow-glow: 0 0 0 1px var(--border), 0 8px 24px -8px #00000080;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#7c5cff22,transparent),radial-gradient(1000px 500px at 100% 0%,#22d3ee1a,transparent),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{margin:0;letter-spacing:-.01em}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:inherit;border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:.9rem;font-weight:500;transition:transform .12s ease,border-color .12s ease,background .12s ease}button:hover{border-color:var(--accent);background:#1c1c2e}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:default;transform:none}input[type=text],input[type=password],textarea{background:var(--bg-elevated);border:1px solid var(--border);color:inherit;border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.92rem;font-family:inherit;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7c5cff33}.muted{color:var(--text-muted);font-size:.85rem}.error{color:var(--danger);font-size:.85rem;background:#ff5c7c14;border:1px solid #ff5c7c33;border-radius:var(--radius-sm);padding:.5rem .7rem}.centered{margin:auto;max-width:380px;padding:2.5rem 2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-glow)}.centered h1{font-size:1.6rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5rem}.app-shell{display:flex;flex-direction:column;min-height:100vh}.top-nav{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:#0d0d17cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:1rem;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:1rem}.nav-tab{background:transparent;border:1px solid transparent}.nav-tab.active{background:#7c5cff1f;border-color:#7c5cff55;color:#cfc4ff}.layout{display:flex;flex:1;min-height:0}.fleet-page{flex:1;padding:1.5rem 2rem;overflow-y:auto}.fleet-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}.fleet-header h1{font-size:1.5rem;font-weight:800}.fleet-timestamp{color:var(--text-muted);font-size:.8rem;font-family:ui-monospace,monospace}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.vm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-glow)}.vm-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem}.vm-card-header h2{font-size:1.1rem;font-weight:700}.vm-host{color:var(--text-muted);font-size:.78rem;font-family:ui-monospace,monospace}.vm-roles{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.9rem}.pill{font-size:.72rem;padding:.2rem .55rem;border-radius:999px;background:#22d3ee1a;border:1px solid #22d3ee44;color:#8beaf9}.vm-alert{background:#ff5c7c14;border:1px solid #ff5c7c33;color:var(--danger);border-radius:var(--radius-sm);padding:.5rem .7rem;font-size:.8rem;margin-bottom:.9rem}.vm-projects h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5rem}.project-list{display:flex;flex-wrap:wrap;gap:.4rem}.project-chip{background:var(--accent-grad);border:none;color:#0a0a12;font-weight:700;font-size:.8rem;padding:.4rem .8rem;border-radius:999px}.project-chip:hover{filter:brightness(1.1)}.vm-details{margin-top:1rem;font-size:.78rem;color:var(--text-muted)}.vm-details summary{cursor:pointer;color:var(--text)}.vm-details ul{margin:.5rem 0 0;padding-left:1.1rem}.vm-details code{color:#8beaf9;font-family:ui-monospace,monospace}.sidebar{width:300px;flex-shrink:0;border-right:1px solid var(--border);padding:1.1rem;display:flex;flex-direction:column;gap:.75rem;background:#0d0d17aa}.back-link{align-self:flex-start;background:transparent;border:none;color:var(--text-muted);padding:.2rem 0;font-size:.82rem}.back-link:hover{color:var(--accent-2);border:none;background:transparent}.sidebar-title{font-size:1.05rem;font-weight:700}.new-ticket-form{display:flex;gap:.4rem}.new-ticket-form input{flex:1}.ticket-scroll{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.25rem}.ticket-item{padding:.65rem .7rem;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.ticket-item:hover{background:var(--bg-elevated)}.ticket-item.active{background:#7c5cff1a;border-color:#7c5cff55}.ticket-status{font-size:.68rem;opacity:.7;text-transform:uppercase;letter-spacing:.04em;margin-top:.15rem}.chat{flex:1;display:flex;flex-direction:column;padding:1.25rem 1.75rem;min-height:0}.messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;padding-bottom:1rem}.msg{max-width:72%;padding:.7rem 1rem;border-radius:var(--radius);white-space:pre-wrap;line-height:1.5;font-size:.92rem}.msg.user{align-self:flex-end;background:var(--accent-grad);color:#0a0a12;font-weight:500;border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px}.msg.tool{align-self:flex-start;font-size:.78rem;color:var(--text-muted);font-style:italic;background:transparent;border:1px dashed var(--border);padding:.4rem .7rem}.msg.error{align-self:center;color:var(--danger);background:#ff5c7c14;border:1px solid #ff5c7c33}.composer{display:flex;gap:.5rem;align-items:flex-end;border-top:1px solid var(--border);padding-top:.85rem}.composer textarea{flex:1;resize:vertical;min-height:2.6rem}.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.recording{color:var(--danger);border-color:var(--danger)}
