:root{color:#e8eef8;background:#0b1220;font-family:Segoe UI,system-ui,sans-serif;--bg: #0b1220;--panel: #152238;--line: #243656;--accent: #2f6bff;--hi: #00e5a8;--danger: #ff6b7a;--muted: #93a4c0}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.topbar{display:flex;gap:1rem;align-items:center;padding:.75rem 1.25rem;background:#101a2e;border-bottom:1px solid var(--line)}.brand-mark{font-weight:700;letter-spacing:.08em;background:linear-gradient(90deg,#2f6bff,#00e5a8);-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;gap:.4rem;flex-wrap:wrap;flex:1}.nav a{text-decoration:none;color:var(--muted);padding:.35rem .55rem;border-radius:6px}.nav a.active,.nav a:hover{color:#fff;background:#1b2b48}.panel a.active{font-weight:600}.topbar-right{display:flex;gap:.75rem;align-items:center}.page{padding:1.25rem;max-width:1200px}.grid{display:grid;gap:1rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem}h1,h2,h3{margin:0 0 .75rem}.muted{color:var(--muted)}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}label.field{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--muted);min-width:160px;flex:1}input,select,textarea{background:#0d1728;color:#e8eef8;border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem}textarea{min-height:140px;width:100%}.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:.5rem .9rem}.btn.secondary{background:#243656}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.error{background:#3a1520;color:#ffd5db;border:1px solid #7a2434;border-radius:8px;padding:.7rem .85rem;margin:.75rem 0}.empty{border:1px dashed var(--line);border-radius:10px;padding:1.5rem;text-align:center;color:var(--muted)}.job{border-radius:8px;padding:.65rem .85rem;margin:.75rem 0;border:1px solid var(--line)}.job.queued,.job.running{background:#16284a}.job.succeeded{background:#12352c;border-color:#1d6b58}.job.failed{background:#3a1520;border-color:#7a2434}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month-grid .dow{text-align:center;color:var(--muted);font-size:.8rem;padding:.3rem 0}.day-cell{min-height:88px;background:#0d1728;border:1px solid var(--line);border-radius:8px;color:inherit;text-align:left;padding:.4rem}.day-cell.muted{opacity:.4}.day-cell.selected{outline:2px solid var(--hi)}.chip{display:inline-block;font-size:.75rem;background:#1b2b48;border-radius:999px;padding:.1rem .45rem;margin:.1rem .15rem 0 0}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.45rem .4rem;border-bottom:1px solid var(--line)}.auth-box{max-width:420px;margin:4rem auto}.auth-title{font-size:1.2rem;line-height:1.35}.steps{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}.steps span{padding:.25rem .5rem;border-radius:999px;background:#1b2b48;color:var(--muted)}.steps span.on{background:var(--accent);color:#fff}.split{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem}@media(max-width:900px){.split{grid-template-columns:1fr}}
