.app{--sidebar-w: 232px;--nav-h: 65px;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) 1fr;background:var(--bg)}.app-sidebar{position:sticky;top:var(--nav-h);align-self:start;height:calc(100vh - var(--nav-h));background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.1rem .85rem;gap:1rem;overflow-y:auto}.app-sidebar .brand{padding:.25rem .4rem .35rem}.app-nav{display:flex;flex-direction:column;gap:.12rem}.app-nav .nav-group-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:.8rem .55rem .3rem}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:var(--radius-sm);font-size:.9rem;color:var(--muted);border:1px solid transparent;transition:background .12s,color .12s}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link[aria-current=page]{background:var(--red-wash);color:var(--red-ink);border-color:color-mix(in srgb,var(--red) 18%,var(--border));font-weight:600}.nav-ico{width:1.05rem;height:1.05rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.82rem;color:currentColor;flex:0 0 auto}.app-sidebar .sidebar-cost{margin-top:auto;display:block;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .7rem;background:var(--surface-2);transition:border-color .12s,background .12s}.app-sidebar .sidebar-cost:hover{border-color:var(--border-strong);background:var(--surface)}.sc-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sc-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sc-trend{font-size:.68rem;font-weight:600;white-space:nowrap}.sc-up{color:#a1521f}.sc-down{color:var(--ok)}.sc-flat{color:var(--faint)}.sc-new{color:var(--red-ink)}.sc-val{font-size:1.25rem;font-weight:700;color:var(--ink);margin-top:.1rem}.sc-sub{font-size:.62rem;color:var(--faint);margin-top:.1rem}.app-main{min-width:0;display:flex;flex-direction:column}.app-topbar{position:sticky;top:var(--nav-h);z-index:20;display:flex;align-items:center;gap:.85rem;padding:.7rem 1.4rem;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid var(--border)}.app-topbar .spacer{flex:1 1 auto}.preview-pill{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red-ink);background:var(--red-wash);border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));padding:.22rem .5rem;border-radius:999px}.region-chip{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;color:var(--ink);background:var(--surface-2);border:1px solid var(--border-strong);padding:.3rem .6rem;border-radius:999px}.region-chip .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 16%,transparent)}.account-email{font-family:var(--font-mono);font-size:.76rem;color:var(--muted)}.signout{font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.4rem .7rem;transition:border-color .12s,color .12s}.signout:hover{border-color:var(--red);color:var(--red-ink)}.app-page{padding:1.6rem 1.4rem 3rem;width:100%;max-width:1120px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.35rem}.page-head .titles{display:flex;flex-direction:column;gap:.3rem}.page-title{font-family:var(--font-display);font-size:1.7rem;letter-spacing:-.012em}.page-sub{color:var(--muted);font-size:.92rem;max-width:60ch}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-pad{padding:1.15rem 1.25rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.panel-head h2,.panel-head h3{font-family:var(--font-body);font-weight:600;font-size:1rem;letter-spacing:0}.section-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:.7rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.stat-card .stat-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.stat-card .stat-value{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.01em;color:var(--ink)}.stat-card .stat-value.mono-value{font-family:var(--font-mono);font-size:1.25rem}.stat-card .stat-foot{font-size:.78rem;color:var(--muted)}.table-wrap{width:100%;overflow-x:auto}.res-table{width:100%;border-collapse:collapse;font-size:.88rem}.res-table caption{text-align:left;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.res-table th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:.7rem 1.25rem;border-bottom:1px solid var(--border);white-space:nowrap}.res-table td{padding:.8rem 1.25rem;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:middle}.res-table tbody tr:last-child td{border-bottom:none}.res-table tbody tr:hover{background:var(--surface-2)}.res-table .cell-name{font-weight:600}.res-table .cell-mono{font-family:var(--font-mono);font-size:.82rem;color:var(--muted)}.res-table .row-actions{text-align:right;white-space:nowrap}.icon-btn{font-family:var(--font-body);font-size:.78rem;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:pointer}.icon-btn:hover{color:var(--red-ink);border-color:var(--border-strong)}.status{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.status:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--faint)}.status-running:before,.status-active:before{background:var(--ok)}.status-provisioning:before{background:#c68a1e}.status-reserved:before{background:var(--faint)}.status-stopped:before{background:var(--red)}.empty{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center;padding:2.4rem 1.25rem;color:var(--muted)}.empty .empty-mark{width:2.2rem;height:2.2rem;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--faint)}.empty p{font-size:.9rem}.create-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;overflow:hidden}.create-panel[hidden]{display:none}.create-panel .cp-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;border-bottom:1px solid var(--border)}.create-panel .cp-head h3{font-family:var(--font-body);font-weight:600;font-size:.98rem}.create-form{padding:1.1rem 1.25rem 1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem 1.1rem;align-items:end}.create-form .field{display:flex;flex-direction:column;gap:.4rem}.create-form .field.full{grid-column:1 / -1}.create-form label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.create-form input,.create-form select{font-family:var(--font-body);font-size:.92rem;color:var(--ink);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .7rem;transition:border-color .12s,box-shadow .12s}.create-form input:focus-visible,.create-form select:focus-visible{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-wash)}.create-form .field .hint{font-size:.74rem;color:var(--faint)}.create-form .region-locked{font-family:var(--font-mono);font-size:.82rem;color:var(--muted);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .7rem}.create-form .cp-actions{grid-column:1 / -1;display:flex;gap:.6rem;justify-content:flex-end}.record{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}.record .rec-row{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.record .rec-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.record .rec-value{font-size:.92rem;color:var(--ink);font-weight:500}.record .rec-value.mono{font-family:var(--font-mono);font-size:.84rem}.verified-banner{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.25rem;background:color-mix(in srgb,var(--ok) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 28%,var(--border));border-radius:var(--radius)}.verified-banner .check{width:2rem;height:2rem;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--ok);color:#fff;font-weight:700}.verified-banner .vb-title{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}.verified-banner .vb-sub{font-size:.9rem;color:var(--ink)}.proof-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0}.proof-item{padding:1.1rem 1.25rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.proof-item .pn{font-family:var(--font-mono);font-size:.72rem;color:var(--red);letter-spacing:.06em}.proof-item h3{font-family:var(--font-body);font-weight:600;font-size:.98rem;margin:.35rem 0 .4rem}.proof-item p{font-size:.86rem;color:var(--muted);line-height:1.5}.cert-row{display:flex;flex-wrap:wrap;gap:.5rem}.cert{font-family:var(--font-mono);font-size:.72rem;color:var(--ink);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px;padding:.3rem .65rem}.bill-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-top:1px solid var(--border-strong)}.bill-total .bt-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.bill-total .bt-value{font-family:var(--font-display);font-size:1.6rem;color:var(--ink)}.notice{font-size:.82rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem}.toast-host{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;flex-direction:column;gap:.55rem;pointer-events:none}.toast{pointer-events:auto;min-width:240px;max-width:360px;display:flex;align-items:flex-start;gap:.6rem;background:var(--dark);color:var(--dark-ink);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.75rem .9rem;font-size:.86rem;animation:toast-in .18s ease-out}.toast .toast-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--ok);margin-top:.35rem;flex:0 0 auto}.toast.leaving{animation:toast-out .25s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:1.25rem}.mt{margin-top:1.25rem}@media (max-width: 820px){.app{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.35rem;border-right:none;border-bottom:1px solid var(--border);padding:.7rem 1rem;overflow-x:auto}.app-sidebar .brand{padding:0 .6rem 0 0}.app-nav{flex-direction:row;flex-wrap:wrap;gap:.15rem}.app-nav .nav-group-label{display:none}.nav-link{padding:.4rem .55rem}.nav-link .nav-label{font-size:.82rem}.app-sidebar .sidebar-foot{display:none}}@media (max-width: 560px){.app-topbar{flex-wrap:wrap;padding:.6rem 1rem;gap:.5rem}.account-email{display:none}.app-page{padding:1.1rem 1rem 2.5rem}.nav-link .nav-label{display:none}.nav-ico{font-size:.95rem}}.bill-cat{margin-top:1.1rem}.bc-head{align-items:flex-start}.bc-note{display:block;font-size:.82rem;color:var(--muted);margin-top:.15rem}.bc-total{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.bc-amt{font-weight:600;font-size:1.05rem}.bill-table td{vertical-align:middle}.res-split{display:block;font-family:var(--font-mono);font-size:.72rem;color:var(--faint);margin-top:.15rem}.rec{font-size:.72rem;letter-spacing:.03em;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap}.rec-one-time{color:var(--red-ink);background:var(--red-wash);border-color:color-mix(in srgb,var(--red) 22%,var(--border))}.rec-annual{color:#8a6d1f;background:#d9a4411f;border-color:#d9a44166}.rec-monthly,.rec-hourly{color:var(--muted);background:var(--surface-2)}.trend{font-size:.8rem;white-space:nowrap}.trend-up{color:#a1521f}.trend-down{color:var(--ok)}.trend-flat{color:var(--faint)}.trend-new{color:var(--red-ink)}
