@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07110f;--panel:#0e1f1bd6;--panel-strong:#102822;--line:#beffe12b;--text:#ecfff6;--muted:#91ad9f;--accent:#5effb2;--accent-2:#f1c063;--danger:#ff7b7b}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 18% 15%,#5effb23b,#0000 28rem),radial-gradient(circle at 80% 10%,#f1c0632e,#0000 24rem),linear-gradient(140deg,#07110f 0%,#0d1b18 55%,#06100d 100%);margin:0;font-family:Plus Jakarta Sans,sans-serif}button,input,select,textarea{font:inherit}button,.link{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:999px;padding:.62rem .9rem;text-decoration:none}button:hover,.link:hover{border-color:#5effb2bf}button.primary,.primary{background:var(--accent);color:#062017;font-weight:800}button.danger{color:var(--danger)}button.active{border-color:var(--accent);background:#5effb224}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{border:1px solid var(--line);color:var(--text);background:#0000002e;border-radius:.9rem;padding:.75rem .9rem}textarea{resize:vertical}label{color:var(--muted);gap:.45rem;display:grid}pre,code{white-space:pre-wrap;overflow-wrap:anywhere}pre{border:1px solid var(--line);background:#00000038;border-radius:1rem;max-height:58vh;padding:1rem;overflow:auto}.login-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{border:1px solid var(--line);background:#081411d1;border-radius:2rem;width:min(680px,100%);padding:clamp(2rem,5vw,4rem);box-shadow:0 24px 80px #00000057}.login-card h1,.topbar h1{margin:.1rem 0 1rem;font-family:Instrument Serif,serif;font-size:clamp(3rem,8vw,6rem);line-height:.9}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#07110fe0;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid;position:sticky;top:0}.topbar h1{font-size:2.4rem}.topbar nav,.account,.inline,.row-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.row-actions.end,.account{justify-content:flex-end}.account span{color:var(--accent-2)}.app{width:min(1440px,100%);margin:0 auto;padding:1.25rem}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.grid.compact{margin:1rem 0}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.migration-upload{grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;gap:1rem;display:grid}.branching-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:.85rem;display:grid}.checkbox-line{min-height:3rem;color:var(--text);flex-direction:row;align-items:center;gap:.65rem;display:flex}.checkbox-line input{width:1.1rem;height:1.1rem}.interface-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.stack{gap:1rem;display:grid}.wireguard-stack{width:min(1440px,100vw - 1rem);max-width:calc(100vw - 1rem);position:relative;left:50%;transform:translate(-50%)}.wireguard-stack>.panel{width:100%;min-width:0;padding-inline:clamp(.72rem,1vw,1rem)}.wireguard-stack .table-wrap{max-width:100%}.wireguard-stack th,.wireguard-stack td{overflow-wrap:anywhere;padding-inline:.62rem}.wireguard-group-form{grid-template-columns:minmax(180px,.7fr) minmax(280px,1.4fr) auto;align-items:end;gap:.85rem;margin-bottom:1rem;display:grid}.wireguard-group-form select{min-height:7rem}.member-list{flex-wrap:wrap;gap:.5rem;margin:.8rem 0;display:flex}.member-list span{border:1px solid var(--line);color:var(--muted);background:#ffffff0d;border-radius:999px;padding:.38rem .65rem;font-size:.82rem}.panel,.metric{border:1px solid var(--line);background:var(--panel);border-radius:1.4rem;padding:1.1rem;box-shadow:inset 0 1px #ffffff0a}.wide{grid-column:1/-1}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.panel h2,.metric strong{margin:0}.metric strong{color:var(--accent);font-size:2.4rem;display:block}.interface-card{background:linear-gradient(145deg, #5effb21f, transparent 58%), var(--panel);flex-direction:column;justify-content:space-between;min-height:240px;display:flex}.interface-card h2{font-size:2.1rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.75rem;font-weight:800}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--accent)}.migration-message-panel{border:1px solid var(--line);background:#0000002e;border-radius:1rem;margin-top:.9rem;overflow:hidden}.migration-message-head{border-bottom:1px solid var(--line);background:#ffffff0a;justify-content:space-between;gap:1rem;padding:.72rem .85rem;display:flex}.migration-message-head span{color:var(--muted);font-size:.82rem}.migration-message-body{max-height:14rem;overflow:hidden auto}.migration-message{border-bottom:1px solid #beffe117;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;padding:.72rem .85rem;display:grid}.migration-message:last-child{border-bottom:0}.migration-message span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.migration-message p{overflow-wrap:anywhere;margin:0}.migration-message-warning span{color:var(--accent-2)}.status{border:1px solid var(--line);width:max-content;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#ffffff0d;border-radius:999px;align-items:center;padding:.28rem .62rem;font-size:.78rem;font-weight:800;display:inline-flex}.status-running,.status-ready,.status-active,.status-enabled,.status-succeeded{color:var(--accent);background:#5effb214;border-color:#5effb26b}.status-grouped{color:var(--accent-2);background:#f1c06314;border-color:#f1c06370}.status-inactive{color:var(--muted)}.status-revoked{color:var(--danger);background:#ff7b7b14;border-color:#ff7b7b7a}.status-not-configured{color:var(--muted)}.status-pending,.status-starting,.status-stopping,.status-resetting,.status-loading,.status-deleting,.status-snapshotting,.status-downloading,.status-clearing,.status-restoring{color:var(--accent-2);background:#f1c06314;border-color:#f1c06370}.status-failed{color:var(--danger);background:#ff7b7b14;border-color:#ff7b7b7a}.pending-note{color:var(--accent-2);align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;display:inline-flex}.schedule-controls{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:560px;display:flex}.schedule-controls input[type=time]{width:7.5rem}.schedule-controls input[type=number]{width:6rem}.restore-select{min-width:min(620px,72vw)}.spinner{border:2px solid #f1c06347;border-top-color:var(--accent-2);border-radius:50%;width:.85rem;height:.85rem;animation:.75s linear infinite spin}.table-wrap{border:1px solid var(--line);border-radius:1rem;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.8rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.util{grid-template-columns:1fr auto;align-items:center;gap:.6rem;min-width:130px;display:grid}.util-track{background:#ffffff14;border-radius:999px;height:.5rem;overflow:hidden}.util-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;display:block}.secret{background:#5effb214;border:1px solid #5effb26b;border-radius:1rem;gap:.5rem;margin-top:1rem;padding:1rem;display:grid;position:relative}.config-box{white-space:pre;width:100%;min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45}.secret button{position:absolute;top:.7rem;right:.7rem}.qr{background:#fff;border-radius:1rem;width:180px;margin:1rem 0;padding:.5rem}.loading{color:var(--accent);padding:2rem}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000009e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#0b1b17;border-radius:1.4rem;width:min(520px,100%);padding:1.25rem;box-shadow:0 24px 80px #0000006b}.modal h2{margin-top:0}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.topbar,.grid,.settings-grid,.migration-upload,.branching-form,.interface-grid{grid-template-columns:1fr}.schedule-controls{min-width:0}}
