:root{color-scheme:dark;--bg: #000;--text: #f4f4f5;--muted: #a1a1aa;--muted-2: #71717a;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .16);--card: #080808;--tile: #18181b;--tile-2: #27272a;--white: #f4f4f5;--black: #111;--green: #10c89a;--amber: #d9a441;--red: #e05d5d;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.625rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--control-sm: 2rem;--control-md: 2.25rem;--control-lg: 2.5rem;--radius-sm: 8px;--radius: 10px;--radius-lg: 12px;--content-max: 1200px;--form-max: 400px;--drawer-w: 260px;--drawer-w-mobile: 288px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{min-height:100%;font-size:15px;-webkit-text-size-adjust:100%}@media (min-width: 1024px){html{font-size:16px}}body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-base);line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}p{color:var(--muted)}:focus-visible{outline:2px solid rgba(244,244,245,.85);outline-offset:2px}.app{min-height:100dvh;background:var(--bg)}.auth-page{position:relative;display:grid;align-content:center;gap:var(--sp-5);width:min(100%,var(--form-max));min-height:100dvh;margin:0 auto;padding:56px var(--sp-4) 36px;background:var(--bg)}.theme-dot{position:absolute;top:var(--sp-4);right:var(--sp-4);display:grid;place-items:center;width:var(--control-md);height:var(--control-md);border:0;border-radius:var(--radius-sm);color:var(--text);background:transparent;transition:background .18s var(--ease)}.theme-dot:hover{background:var(--tile)}.theme-dot svg,.icon-button svg{width:20px;height:20px}.auth-hero{display:grid;justify-items:center;gap:var(--sp-2);text-align:center}.auth-logo{width:48px;height:48px}.auth-hero h1{font-size:var(--fs-xl);line-height:1.2;font-weight:720}.auth-hero p{font-size:var(--fs-sm)}.auth-card{padding:var(--sp-5)}.auth-card h2{font-size:var(--fs-xl);line-height:1.25}.auth-card>p{margin-top:var(--sp-1);font-size:var(--fs-sm)}.auth-card .form{padding:var(--sp-5) 0 0}.auth-switch{display:flex;justify-content:center;gap:var(--sp-2);font-size:var(--fs-sm)}.auth-switch button{border:0;color:var(--text);background:transparent;font-weight:700}.auth-status{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs)}.auth-status svg{width:16px;height:16px}.auth-status span{width:8px;height:8px;border-radius:999px;background:var(--green)}.app-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:64px;padding:10px var(--sp-3);border-bottom:1px solid var(--line);background:#000000e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.icon-button{display:grid;place-items:center;width:var(--control-lg);height:var(--control-lg);border:0;border-radius:var(--radius-sm);color:var(--text);background:transparent;transition:background .18s var(--ease),transform .12s var(--ease)}.icon-button:hover{background:var(--tile)}.icon-button:active{transform:translateY(1px)}.logo{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.app-header .logo{justify-self:start}.logo-tile,.icon-tile{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--black);background:var(--white)}.logo-tile svg,.icon-tile svg{width:20px;height:20px}.icon-tile{color:var(--muted);background:var(--tile)}.logo strong{display:block;color:var(--text);font-size:var(--fs-md);line-height:1.15}.logo small{display:block;margin-top:2px;color:var(--muted);font-size:var(--fs-xs)}.page{width:min(100%,980px);margin:0 auto;padding:var(--sp-5) var(--sp-4) 56px;animation:pageIn .26s var(--ease)}.page:not(.admin-page){max-width:760px}.stack{display:grid;gap:var(--sp-5)}.title-block{display:grid;gap:var(--sp-2)}.title-block h1{font-size:var(--fs-xl);line-height:1.2;font-weight:760}.title-block p{font-size:var(--fs-sm);line-height:1.45}.actions-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--control-md);padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:700;white-space:nowrap;transition:transform .12s var(--ease),opacity .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}.button svg{width:16px;height:16px}.button:hover{border-color:var(--line-strong)}.button:active{transform:translateY(1px)}.button.dark{color:var(--text);background:var(--bg)}.button.dark:hover{background:var(--tile)}.button.light{min-height:var(--control-lg);border-color:var(--white);color:var(--black);background:var(--white)}.button.full{width:100%}.outline-card{border:1px solid var(--line);border-radius:var(--radius);background:transparent}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.stat-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:var(--sp-3);min-height:104px;padding:var(--sp-4)}.stat-card p{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.stat-card strong{display:block;margin-top:var(--sp-1);color:var(--text);font-size:var(--fs-2xl);line-height:1.08;overflow-wrap:anywhere}.stat-card small{display:block;margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.section-title{color:var(--muted);font-size:var(--fs-lg);line-height:1.3;font-weight:700}.list{display:grid;gap:var(--sp-2)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:60px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.list-row:hover{border-color:var(--line-strong);background:#ffffff06}.list-row.naked{min-height:auto;padding:0;border:0}.list-row strong{display:block;color:var(--text);font-size:var(--fs-sm);overflow-wrap:anywhere}.list-row p{margin-top:3px;font-size:var(--fs-xs);overflow-wrap:anywhere}.row-end{display:grid;justify-items:end;gap:6px;flex:0 0 auto;font-size:var(--fs-sm)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.badge{display:inline-flex;align-items:center;width:max-content;min-height:22px;padding:0 var(--sp-2);border:1px solid rgba(16,200,154,.35);border-radius:999px;color:var(--green);background:#10c89a14;font-size:var(--fs-xs);font-weight:750}.badge.open,.badge.installing,.badge.provisioning,.badge.queued,.badge.waiting,.badge.unknown,.badge.not_configured{border-color:#d9a4415c;color:var(--amber);background:#d9a44114}.badge.failed,.badge.canceled,.badge.disabled,.badge.past_due{border-color:#e05d5d61;color:var(--red);background:#e05d5d14}.plan,.job{display:grid;gap:var(--sp-4);padding:var(--sp-4)}.plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.plan h2{font-size:var(--fs-lg);line-height:1.3}.price{display:block;font-size:var(--fs-2xl);line-height:1.05}.price span{color:var(--muted);font-size:var(--fs-sm);font-weight:500}.specs{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.specs span{padding:5px var(--sp-2);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:var(--fs-xs)}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.stat-row:last-child{border-bottom:0}.stat-row span{color:var(--muted);font-size:var(--fs-sm)}.stat-row strong{color:var(--text);font-size:var(--fs-sm);text-align:right;overflow-wrap:anywhere}.form{display:grid;gap:var(--sp-4);padding:var(--sp-4)}label{display:grid;gap:var(--sp-2);color:var(--text);font-size:var(--fs-sm);font-weight:650}input,textarea{width:100%;min-height:38px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);outline:0;color:var(--text);background:var(--bg);font-size:var(--fs-sm);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}input:focus,textarea:focus{border-color:#f4f4f580;box-shadow:0 0 0 3px #f4f4f51a}textarea{min-height:104px;padding-top:var(--sp-3);resize:vertical}.empty{display:grid;justify-items:center;gap:var(--sp-2);min-height:176px;padding:var(--sp-8) var(--sp-4);text-align:center}.empty .icon-tile{width:40px;height:40px}.empty h2{font-size:var(--fs-md);line-height:1.3}.empty p{max-width:34ch;font-size:var(--fs-sm);line-height:1.45}.notice{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);padding:var(--sp-3);border:1px solid rgba(217,164,65,.35);border-radius:var(--radius-sm);color:var(--amber);background:#d9a44114;font-size:var(--fs-sm)}.notice svg{width:16px;height:16px}.notice button{margin-left:auto;border:0;color:var(--amber);background:transparent;font-size:var(--fs-sm);font-weight:700}.progress-wrap{display:grid;gap:var(--sp-2)}.progress-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--fs-xs)}.progress{height:8px;overflow:hidden;border-radius:999px;background:var(--tile)}.progress span{display:block;height:100%;background:var(--white)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;pointer-events:none;background:#0000;opacity:0;transition:opacity .24s var(--ease),background .24s var(--ease)}.scrim.show{pointer-events:auto;opacity:1;background:#0000009e}.drawer{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;gap:var(--sp-3);width:min(82vw,var(--drawer-w-mobile));padding:var(--sp-3);border-right:1px solid var(--line);background:var(--bg);overflow-y:auto;transform:translate(-102%);transition:transform .3s var(--ease)}.drawer.open{transform:translate(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:48px;padding:0 var(--sp-1)}.nav-section{display:grid;gap:2px}.nav-section p{margin:var(--sp-3) var(--sp-3) var(--sp-1);color:var(--muted-2);font-size:var(--fs-xs);font-weight:750;text-transform:uppercase;letter-spacing:.05em}.nav-item{display:flex;align-items:center;gap:var(--sp-3);min-height:38px;padding:0 var(--sp-3);border:0;border-radius:var(--radius-sm);color:var(--muted);background:transparent;font-size:var(--fs-sm);font-weight:650;text-align:left;transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.nav-item svg{width:18px;height:18px;flex:0 0 auto}.nav-item:hover{color:var(--text);background:#ffffff0d}.nav-item.active{color:var(--text);background:var(--tile)}.drawer-foot{display:grid;gap:var(--sp-3);margin-top:auto;padding:var(--sp-3) var(--sp-1) 0;border-top:1px solid var(--line)}.drawer-foot p{color:var(--text);font-size:var(--fs-sm);overflow-wrap:anywhere}.status-line{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs)}.status-line svg,.logout svg{width:16px;height:16px}.status-line span{width:8px;height:8px;border-radius:999px;background:var(--green)}.logout{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);background:transparent;font-size:var(--fs-sm);font-weight:700;transition:background .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease)}.logout:hover{border-color:var(--line-strong);background:var(--tile)}.logout:active{transform:translateY(1px)}.skeleton{min-height:104px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg,#050505,#171717,#050505);background-size:240% 100%;animation:shimmer 1.4s ease infinite}.skeleton.title{min-height:72px}@media (max-width: 680px){.logo small{display:none}.page{padding:var(--sp-5) var(--sp-4) 52px}.stat-card{grid-template-columns:1fr;align-content:start;min-height:118px;gap:var(--sp-3)}.list-row{align-items:flex-start;flex-direction:column}.row-end{justify-items:start}}@media (min-width: 920px){.page.admin-page{max-width:1080px}}@media (min-width: 1024px){.title-block h1{font-size:var(--fs-2xl)}.page.admin-page{max-width:var(--content-max)}.outline-card{border-radius:var(--radius-lg)}.plan,.job,.auth-card{padding:var(--sp-5)}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
