.console-body{min-height:100vh;margin:0}.console-boot{padding:var(--space-xl);font-family:var(--font-mono);color:var(--fg-muted);margin:0}.console{grid-template-columns:16rem 1fr;min-height:100vh;display:grid}.console__sidebar{gap:var(--space-lg);padding:var(--space-lg);border-right:1px solid var(--border);background:var(--bg-elevated);flex-direction:column;display:flex}.console__brand{color:var(--accent);font-weight:600;text-decoration:none}.console__brand:hover{color:var(--accent-hover);text-decoration:none}.console__nav{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.console__nav-link{color:var(--fg-muted);padding:.55rem .7rem;font-size:.9375rem;text-decoration:none}.console__nav-link:hover,.console__nav-link.is-active{color:var(--fg);background:color-mix(in srgb, var(--bg) 70%, transparent);text-decoration:none}.console__user{gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border);display:grid}.console__user-meta{gap:.15rem;min-width:0;display:grid}.console__user-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.console__user-email{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.console__logout{justify-self:start;padding:.45rem .75rem;font-size:.75rem}.console__main{flex-direction:column;min-width:0;display:flex}.console__top{align-items:center;gap:var(--space-sm) var(--space-md);min-height:var(--header-h);padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.console__project{align-items:center;gap:var(--space-sm);min-width:min(100%,18rem);display:inline-flex}.console__project-label{font-family:var(--font-mono);color:var(--fg-muted);white-space:nowrap;font-size:.75rem}.console__project select{border:1px solid var(--border-strong);background:var(--bg-input);min-width:12rem;color:var(--fg);font:inherit;border-radius:0;flex:1;padding:.45rem .65rem;font-size:.875rem}.console__project-hint{font-family:var(--font-mono);color:var(--fg-faint);margin:0;font-size:.75rem}.console__top-spacer{flex:1}.console__content{padding:var(--space-xl) var(--space-lg);width:min(100%,56rem)}.console-page__header{margin-bottom:var(--space-xl)}.console-page__header--row{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.console-page__title{margin:0 0 var(--space-sm);font-size:clamp(1.35rem,2vw,1.75rem)}.console-page__lead{color:var(--fg-muted);max-width:40rem;margin:0}.console-page--wide{width:min(100%,52rem)}.console-page--create{width:min(100%,72rem)}.vm-create__back{margin:0 0 var(--space-md)}.vm-create__layout{gap:var(--space-2xl);align-items:start;display:grid}@media (width>=960px){.vm-create__layout{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(16rem,18rem)}}.vm-create__form{gap:var(--space-2xl);min-width:0;display:grid}.vm-price{gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--border);display:grid}@media (width>=960px){.vm-price{top:var(--space-lg);padding:var(--space-md) 0 0;border-top:0;border-left:1px solid var(--border);padding-left:var(--space-lg);position:sticky}}.vm-price__head{gap:var(--space-md);display:grid}.vm-price__title{margin:0;font-size:1rem;font-weight:600}.vm-price__lead{color:var(--fg-muted);margin:.25rem 0 0;font-size:.8125rem}.vm-price__periods{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0;display:flex}.vm-price__period{cursor:pointer;align-items:center;display:inline-flex}.vm-price__period input{opacity:0;pointer-events:none;position:absolute}.vm-price__period span{color:var(--fg-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .75rem;font-size:.8125rem}.vm-price__period:hover span{color:var(--fg)}.vm-price__period:has(input:checked) span{color:var(--fg);border-bottom-color:var(--accent)}.vm-price__total{letter-spacing:-.02em;align-items:baseline;gap:.35rem;margin:0;font-size:1.75rem;font-weight:600;display:flex}.vm-price__currency{color:var(--fg-muted);font-size:1rem;font-weight:500}.vm-price__rates{gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--border);display:grid}.vm-price__rates-title{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.75rem;font-weight:500}.vm-price__unit{color:var(--fg-faint);margin-left:.35rem;font-size:.75rem}.vm-price__breakdown{gap:.55rem;margin:0;display:grid}.vm-price__breakdown>div{justify-content:space-between;gap:var(--space-md);align-items:baseline;display:flex}.vm-price__breakdown dt{color:var(--fg-muted);margin:0;font-size:.8125rem}.vm-price__breakdown dd{margin:0;font-size:.875rem}.vm-price__hint{color:var(--fg-faint);margin:0;font-size:.8125rem}.vm-create__section{gap:var(--space-md);padding-top:var(--space-xl);border-top:1px solid var(--border);display:grid}.vm-create__section:first-of-type{border-top:0;padding-top:0}.vm-create__section-head{gap:var(--space-xs);display:grid}.vm-create__eyebrow{font-family:var(--font-mono);color:var(--prompt);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.75rem}.vm-create__section-title{margin:0;font-size:1.125rem;font-weight:600}.vm-create__section-lead{color:var(--fg-muted);max-width:36rem;margin:0;font-size:.9375rem}.vm-create__identity{gap:var(--space-md);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.vm-create__empty{padding:var(--space-md) 0;color:var(--fg-faint);margin:0;font-size:.8125rem}.vm-create__empty-row{align-items:center;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) 0;flex-wrap:wrap;display:flex}.vm-create__empty-row .vm-create__empty{flex:12rem;padding:0}.vm-create__modes{margin-bottom:var(--space-md);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0;display:flex}.vm-create__mode{cursor:pointer;align-items:center;display:inline-flex}.vm-create__mode input{opacity:0;pointer-events:none;position:absolute}.vm-create__mode span{color:var(--fg-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem 1rem;font-size:.9375rem}.vm-create__mode:hover span{color:var(--fg)}.vm-create__mode:has(input:checked) span{color:var(--fg);border-bottom-color:var(--accent)}.vm-create__mode:has(input:focus-visible) span{outline:2px solid var(--accent-2);outline-offset:2px}.vm-flavor-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));display:grid}.vm-flavor{cursor:pointer;display:block;position:relative}.vm-flavor input{opacity:0;pointer-events:none;position:absolute}.vm-flavor__body{min-height:100%;padding:var(--space-md);border:1px solid var(--border-strong);background:var(--bg-input);transition:border-color var(--ease), background-color var(--ease), color var(--ease);gap:.35rem;display:grid}.vm-flavor__code{color:var(--accent);font-size:.8125rem;font-weight:500}.vm-flavor__name{font-size:.9375rem;font-weight:500}.vm-flavor__meta{color:var(--fg-muted);font-size:.75rem}.vm-flavor:hover .vm-flavor__body{border-color:var(--accent)}.vm-flavor:has(input:checked) .vm-flavor__body,.vm-flavor:has(input:focus-visible) .vm-flavor__body{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-input))}.vm-option-list{gap:var(--space-sm);display:grid}.vm-option{cursor:pointer;display:block;position:relative}.vm-option input{opacity:0;pointer-events:none;position:absolute}.vm-option__body{border:1px solid var(--border);background:var(--bg-input);transition:border-color var(--ease), background-color var(--ease);gap:.25rem;padding:.85rem 1rem;display:grid}.vm-option__title{font-weight:500}.vm-option__meta{color:var(--fg-muted);overflow-wrap:anywhere;font-size:.75rem}.vm-option:hover .vm-option__body{border-color:var(--border-strong)}.vm-option:has(input:checked) .vm-option__body,.vm-option:has(input:focus-visible) .vm-option__body{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-input))}.vm-create__root-size{max-width:16rem;margin-top:var(--space-sm)}.console-form{gap:var(--space-sm);margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--border);display:grid}.console-form--page{border-bottom:0;margin-bottom:0;padding-bottom:0}.console-form--inline{grid-template-columns:1fr auto;align-items:end}.console-form-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.console-field{gap:var(--space-xs);display:grid}.console-field label,.console-field>span{font-family:var(--font-mono);color:var(--fg-muted);font-size:.75rem}.console-field input,.console-field textarea,.console-field select{border:1px solid var(--border-strong);background:var(--bg-input);width:100%;color:var(--fg);font:inherit;border-radius:0;padding:.6rem .75rem}.console-input-suffix{align-items:stretch;min-width:0;display:flex}.console-input-suffix input{border-right:0;flex:1;min-width:0}.console-input-suffix__affix{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--fg-muted) 8%, var(--bg-input));color:var(--fg-muted);white-space:nowrap;user-select:none;border-left:0;align-items:center;padding:0 .75rem;font-size:.875rem;display:inline-flex}.console-input-suffix:focus-within{outline:2px solid var(--accent-2);outline-offset:2px}.console-input-suffix:focus-within input{outline:none}.console-field textarea{resize:vertical;min-height:6rem;font-family:var(--font-mono);font-size:.8125rem}.console-check-list{gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border);background:var(--bg-input);max-height:12rem;display:grid;overflow:auto}.console-check{align-items:flex-start;gap:var(--space-sm);font-size:.875rem;display:flex}.console-check--solo{align-items:center;padding-top:1.4rem}.console-check input{margin-top:.2rem}.console-detail{gap:var(--space-xl);display:grid}.console-detail__header{gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border);display:grid}@media (width>=48rem){.console-detail__header{grid-template-columns:1fr auto;align-items:start}.console-ssh--header{grid-column:1/-1}}.console-detail__title-row{align-items:center;gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.console-detail__title-row .console-page__title{margin:0}.console-detail__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.console-detail__section{gap:var(--space-sm);margin-top:var(--space-xl);display:grid}.console-detail__section-title{margin:0;font-size:1.05rem;font-weight:600}.console-detail__section-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.console-detail__section-meta{color:var(--fg-muted);margin:0;font-size:.8125rem}.console-state{border:1px solid var(--border-strong);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--fg-muted);align-items:center;padding:.2rem .55rem;font-size:.75rem;display:inline-flex}.console-state[data-tone=ready]{color:color-mix(in srgb, var(--accent-2) 85%, var(--fg));border-color:color-mix(in srgb, var(--accent-2) 55%, var(--border));background:color-mix(in srgb, var(--accent-2) 12%, transparent)}.console-state[data-tone=pending]{color:var(--fg-muted);border-color:var(--border-strong);background:color-mix(in srgb, var(--fg-muted) 8%, transparent)}.console-state[data-tone=error]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.console-state--inline{padding:.1rem .4rem;font-size:.6875rem}.console-tabs{gap:var(--space-lg);display:grid}.console-tabs__list{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0;display:flex}.console-tabs__tab{appearance:none;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin:0 0 -1px;padding:.7rem 1rem;font-size:.9375rem}.console-tabs__tab:hover{color:var(--fg)}.console-tabs__tab.is-active{color:var(--fg);border-bottom-color:var(--accent)}.console-tabs__tab:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.console-tabs__panel{gap:var(--space-md);min-width:0;display:grid}.console-tabs__panel[hidden]{display:none}.console-resource-list{gap:var(--space-sm);display:grid}.console-resource__body{border:1px solid var(--border);background:var(--bg-input);gap:.25rem;padding:.85rem 1rem;display:grid}.console-resource__title-row{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.console-resource__title{font-weight:500}.console-resource__meta{color:var(--fg-muted);overflow-wrap:anywhere;margin:0;font-size:.75rem}.console-ssh{gap:var(--space-sm);display:grid}.console-ssh[hidden]{display:none}.console-ssh--header{padding-top:var(--space-sm)}.console-ssh__title{font-family:var(--font-mono);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.75rem}.console-ssh__list{gap:.35rem;display:grid}.console-ssh__row{align-items:center;gap:var(--space-sm);grid-template-columns:4.5rem 1fr auto;display:grid}.console-ssh__label{font-family:var(--font-mono);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.console-ssh__cmd{background:color-mix(in srgb, var(--code-bg) 70%, transparent);border:1px solid var(--border);overflow-wrap:anywhere;min-width:0;padding:.35rem .55rem;font-size:.8125rem}.console-ssh__row .btn{padding:.35rem .55rem;font-size:.8125rem}@media (width<=35.99rem){.console-ssh__row{grid-template-columns:1fr auto;grid-template-areas:"label label""cmd copy"}.console-ssh__label{grid-area:label}.console-ssh__cmd{grid-area:cmd}.console-ssh__row .btn{grid-area:copy}}.console-tooltip{border:1px solid var(--border-strong);width:1.25rem;height:1.25rem;color:var(--fg-muted);font-family:var(--font-mono);cursor:help;place-items:center;font-size:.75rem;display:inline-grid;position:relative}.console-tooltip__bubble{z-index:5;background:var(--bg-elevated);border:1px solid var(--border-strong);min-width:max-content;max-width:min(90vw,28rem);color:var(--fg);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ease), transform var(--ease);padding:.45rem .65rem;font-size:.8125rem;position:absolute;bottom:calc(100% + .4rem);left:0;transform:translateY(.15rem)}.console-tooltip:hover .console-tooltip__bubble,.console-tooltip:focus .console-tooltip__bubble,.console-tooltip:focus-visible .console-tooltip__bubble{opacity:1;transform:translateY(0)}.console-dl{gap:var(--space-md);margin:0;display:grid}.console-dl>div{padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);gap:.2rem;display:grid}.console-dl dt{font-family:var(--font-mono);color:var(--fg-muted);font-size:.75rem}.console-dl dd{overflow-wrap:anywhere;margin:0}.console-table-wrap{overflow-x:auto}.console-table{border-collapse:collapse;width:100%;font-size:.9375rem}.console-table th,.console-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.7rem .5rem}.console-table th{font-family:var(--font-mono);color:var(--fg-muted);font-size:.75rem;font-weight:500}.console-table td.mono{font-size:.8125rem}.console-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.console-metrics{gap:var(--space-md);display:grid}.console-metrics:not(.console-metrics--tab){padding-top:var(--space-lg);border-top:1px solid var(--border)}.console-metrics__title{margin:0;font-size:1.05rem;font-weight:600}.console-metrics__usage{margin-bottom:1.25rem}.console-metrics__charts{gap:var(--space-lg);display:grid}.console-metrics__footnote{color:var(--fg-faint);margin:0;font-size:.75rem}.console-chart__title-row{align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.console-chart__current{color:var(--fg);font-size:.8125rem}.console-chart{gap:var(--space-sm);display:grid}.console-chart__head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.console-chart__title{font-family:var(--font-mono);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.75rem;font-weight:500}.console-chart__legend{gap:var(--space-sm) var(--space-md);font-family:var(--font-mono);color:var(--fg-muted);flex-wrap:wrap;font-size:.75rem;display:inline-flex}.console-chart__legend-item{align-items:center;gap:.35rem;display:inline-flex}.console-chart__swatch{background:var(--fg);width:.7rem;height:.15rem}.console-chart__swatch.is-secondary{background:var(--accent)}.console-chart__svg{background:var(--bg-input);border:1px solid var(--border);width:100%;height:auto;display:block}.console-chart__grid{stroke:var(--border);stroke-width:1px}.console-chart__axis{stroke:var(--border-strong);stroke-width:1px}.console-chart__tick{fill:var(--fg-faint);font-family:var(--font-mono);font-size:10px}.console-chart__line{stroke:var(--fg);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.console-chart__line.is-secondary{stroke:var(--accent)}.console-chart__dot{fill:var(--fg)}.console-chart__dot.is-secondary{fill:var(--accent)}.console-status{margin:0 0 var(--space-md);font-family:var(--font-mono);color:var(--fg-muted);font-size:.8125rem}.console-status[data-state=error]{color:var(--danger)}.console-empty{color:var(--fg-muted);margin:0}.console-stub{gap:var(--space-md);display:grid}.console-stub__list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.console-stub__item{border-bottom:1px solid var(--border);color:var(--fg-muted);padding:.75rem 0}.console-stub__note{color:var(--fg-faint);font-family:var(--font-mono);margin:0;font-size:.8125rem}.control{border:1px solid var(--border);display:inline-flex}.control__btn{appearance:none;color:var(--fg-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;padding:.35rem .55rem;font-size:.75rem;line-height:1}.control__btn+.control__btn{border-left:1px solid var(--border)}.control__btn.is-active{background:var(--bg-elevated);color:var(--fg)}.control__btn:hover{color:var(--accent)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:0 0}.btn--danger:hover{border-color:var(--danger);color:var(--danger)}.btn--ghost{color:var(--accent);background:0 0;border-color:#0000;padding-inline:.35rem}.btn--ghost:hover{color:var(--accent-hover)}@media (width<=800px){.console{grid-template-columns:1fr}.console__sidebar{border-right:0;border-bottom:1px solid var(--border)}.console__nav{flex-flow:wrap}.console-form--inline,.vm-create__identity{grid-template-columns:1fr}}
