*,:before,:after{box-sizing:border-box}:root{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--accent:#0891b2;--accent-hover:#0e7490;--accent-soft:#0891b21f;--danger:#e11d48;--danger-hover:#be123c;--danger-soft:#e11d481a;--success:#0f766e;--success-hover:#0d9488;--success-soft:#0f766e1f;--warning:#b45309;--warning-hover:#c2410c;--warning-soft:#b453091f;--surface:#fff;--sidebar:#0f172a}body{color:var(--ink);background:#eef2f7;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{align-items:flex-start;min-height:100vh;display:flex}.sidebar{background:radial-gradient(ellipse 120% 60% at 0% 0%, #0891b247, transparent 55%), var(--sidebar);color:#f8fafc;border-right:1px solid #94a3b81f;flex-shrink:0;width:236px;height:100vh;padding:1.25rem 0 1.5rem;position:sticky;top:0;overflow-y:auto}.main{background:radial-gradient(80% 40% at 100% 0,#0891b21a,#0000 50%),linear-gradient(#f8fafc 0%,#eef2f7 100%);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.sidebar-brand{padding:.25rem 1.15rem 1.25rem}.sidebar-brand-name{letter-spacing:.16em;color:#f8fafc;margin:0;font-family:Sora,system-ui,sans-serif;font-size:1.05rem;font-weight:700;line-height:1.2}.sidebar-brand-sub{letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;margin:.3rem 0 0;font-size:.7rem;font-weight:500}.nav-section{margin-bottom:1.1rem}.nav-section-title{text-transform:uppercase;letter-spacing:.1em;color:#64748b;margin:0;padding:.2rem 1.15rem .35rem;font-size:.68rem;font-weight:600}.nav-link{color:#cbd5e1;border-left:2px solid #0000;border-radius:8px;margin:0 .5rem;padding:.45rem 1.15rem;text-decoration:none;transition:background .15s,color .15s;display:block}.nav-link:hover{color:#f8fafc;background:#94a3b81f}.nav-link.active{color:#fff;background:#0891b238;border-left-color:#67e8f9;font-weight:500}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:20;background:#ffffffdb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.topbar--super-admin{color:#e2e8f0;background:radial-gradient(70% 140% at 0%,#38bdf82e,#0000 55%),linear-gradient(#111827 0%,#0b1220 100%);border-bottom-color:#38bdf859}.topbar--super-admin .context-bar label,.topbar--super-admin .topbar-user{color:#94a3b8}.topbar--super-admin .topbar-user-link{color:#f8fafc}.topbar--super-admin .topbar-user-link:hover{color:#7dd3fc}.topbar--super-admin .topbar-user-chip{color:#7dd3fc;background:#38bdf829}.topbar--super-admin select{color:#f1f5f9;background:#0f172ad9;border-color:#94a3b859}.topbar--super-admin .btn-ghost{color:#cbd5e1}.topbar--super-admin .btn-ghost:hover{color:#f8fafc;background:#94a3b81f}.topbar--staff{background:linear-gradient(105deg,#b453092e 0%,#ca8a0424 45%,#ffffffd6 100%);border-bottom-color:#b4530938}.topbar-user{color:var(--muted);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.topbar-user-link{color:var(--ink);font-family:Sora,system-ui,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none}.topbar-user-link:hover{color:var(--accent)}.topbar-user-chip{background:var(--accent-soft);color:var(--accent-hover);letter-spacing:.02em;text-transform:lowercase;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.content{flex:1;padding:1.75rem 1.75rem 2.25rem}.page-title{color:var(--ink);letter-spacing:-.02em;margin:0 0 1.15rem;font-family:Sora,system-ui,sans-serif;font-size:1.35rem;font-weight:600}.card{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;margin-bottom:1rem;padding:1.15rem 1.25rem;box-shadow:0 1px 2px #0f172a0a}.card h2{margin:0 0 .75rem;font-family:Sora,system-ui,sans-serif;font-size:.95rem;font-weight:600}.filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:500;display:flex}.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:140px;padding:.45rem .65rem;transition:border-color .15s,box-shadow .15s}.filters input:focus,.filters select:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #2563eb1f}.pagination{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:1rem;display:flex}.pagination label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.pagination select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:80px;padding:.45rem .65rem}.pagination-range{color:var(--muted);align-self:center;font-size:.85rem}.pagination-nav{gap:.5rem;margin-left:auto;display:flex}.btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);letter-spacing:.02em;background:#ffffffe0;border:1px solid #0f172a1a;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem 1rem;font-family:Sora,system-ui,sans-serif;font-size:.8125rem;font-weight:600;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a,inset 0 1px #ffffffb3}.btn:hover{background:#f8fafcf5;border-color:#0891b252;box-shadow:0 2px 8px #0f172a0f,inset 0 1px #ffffffd9}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);border-color:#0891b273;outline:none}.btn-primary{color:#f8fafc;background:radial-gradient(130% 90% at 0 0,#38bdf861,#0000 52%),radial-gradient(100% 80% at 100% 120%,#0891b238,#0000 48%),linear-gradient(165deg,#1e293b 0%,#0f172a 58%,#0b1220 100%);border-color:#94a3b838;box-shadow:0 1px 2px #0f172a33,0 10px 24px #0f172a24,inset 0 1px #ffffff1f}.btn-primary:hover{color:#fff;background:radial-gradient(130% 90% at 8% -10%,#67e8f97a,#0000 54%),radial-gradient(100% 80% at 100% 120%,#0ea5e94d,#0000 48%),linear-gradient(165deg,#243447 0%,#152033 58%,#0f172a 100%);border-color:#7dd3fc66;transform:translateY(-1px);box-shadow:0 4px 16px #0f172a38,0 0 0 3px #0891b229,inset 0 1px #ffffff29}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{box-shadow:0 0 0 3px #0891b247,0 1px 2px #0f172a33}.btn-danger{background:linear-gradient(180deg, #ffffffa6, var(--danger-soft));color:var(--danger-hover);border-color:#e11d4847;box-shadow:inset 0 1px #ffffff8c}.btn-danger:hover{background:linear-gradient(180deg, #fb7185 0%, var(--danger) 100%);border-color:var(--danger-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #be123c38}.btn-ghost{color:var(--muted);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000;padding:.35rem .55rem}.btn-ghost:hover{color:var(--ink);box-shadow:none;background:#0f172a0d;border-color:#0000}.btn:disabled,.btn-primary:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-link{color:var(--accent);text-align:left;word-break:break-all;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:0;font-weight:600}.btn-link:hover{color:var(--accent-hover);box-shadow:none;background:0 0;text-decoration:underline;transform:none}.job-inline-status{color:#52525b;margin:0 0 .75rem;font-size:.85rem}.job-status-error{color:#dc2626}.compartment-sync-cell{flex-direction:column;gap:.35rem;display:flex}.compartment-sync-cell .sync-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-expand-steps{color:#2563eb;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem;text-decoration:underline}.btn-expand-steps:hover{color:#1d4ed8}.sync-status-complete{color:#15803d}.sync-status-failed{color:#dc2626}.sync-status-running,.sync-status-queued{color:#b45309}.sync-last-updated{color:#71717a;font-size:.75rem}.compartment-steps-table{border-collapse:collapse;width:100%;margin-top:.15rem;font-size:.75rem}.compartment-steps-table th,.compartment-steps-table td{text-align:left;vertical-align:top;border:1px solid #e4e4e7;padding:.2rem .45rem}.compartment-steps-table th{background:#f4f4f5;font-weight:600}.compartments-table tr.row-inventory-expanded td,.compartments-table tr.row-compartment-expanded td{background:#fafafa}.compartments-table .col-check{width:2.5rem}.compartments-table .col-expand{text-align:center;color:#71717a;width:2rem}.compartments-table tbody tr:not(.resource-detail-row){cursor:pointer}.compartments-table .col-ocid{white-space:nowrap;width:14%}.compartments-table .col-name{width:22%}.compartments-table .col-status{width:12%}.compartments-table .col-job{word-break:break-all;cursor:default;width:auto;min-width:45%;font-family:ui-monospace,monospace;font-size:.8rem}.compartments-table tr.resource-detail-row{cursor:default}.compartments-table tr.resource-detail-row:hover td,.compartments-table tr.resource-detail-row td{background:#f4f4f5}.step-status-running td{color:#b45309}.step-status-failed td{color:#dc2626}.step-status-complete td{color:#15803d}.step-error-cell{word-break:break-word;max-width:240px;font-size:.8rem}.sync-run-panel{margin-bottom:1rem}.sync-run-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.sync-run-header h2{margin:0;font-size:1rem}.sync-run-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sync-steps-table{margin-top:.75rem}.data-table-wrap{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;overflow-x:auto;box-shadow:0 1px 2px #0f172a0a}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;border-top:none;border-left:none;border-right:none;padding:.55rem .75rem}.data-table th{white-space:nowrap;color:#334155;letter-spacing:.02em;background:#f8fafc;font-size:.78rem;font-weight:600}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8fafc}.inventory-resource-table .col-expand{text-align:center;color:#71717a;width:2rem}.inventory-resource-table tr{cursor:pointer}.inventory-resource-table tr.row-resource-expanded td{background:#fafafa}.inventory-resource-table tr.resource-detail-row{cursor:default}.inventory-resource-table tr.resource-detail-row:hover td{background:#f4f4f5}.inventory-resource-table tr.resource-detail-row td{background:#f4f4f5;padding:.75rem 1rem}.resource-detail-list{grid-template-columns:minmax(9rem,max-content) 1fr;gap:.35rem 1.25rem;margin:0;font-family:ui-monospace,monospace;font-size:.8rem;display:grid}.resource-detail-item{display:contents}.resource-detail-list dt{color:#71717a;margin:0;font-weight:600}.resource-detail-list dd{word-break:break-all;color:#18181b;margin:0}.expand-chevron{width:1rem;display:inline-block}.alert{border:1px solid #0000;border-left-width:3px;border-radius:9px;margin-bottom:1rem;padding:.7rem .9rem;font-size:.9rem;font-weight:500;line-height:1.45;box-shadow:0 1px 2px #0f172a0a}.alert-error{background:linear-gradient(90deg, var(--danger-soft), #ffffffeb);border-color:#e11d4838;border-left-color:var(--danger);color:var(--danger-hover)}.alert-success{background:linear-gradient(90deg, var(--success-soft), #ffffffeb);border-color:#0f766e38;border-left-color:var(--success-hover);color:var(--success)}.alert-warning{background:linear-gradient(90deg, var(--warning-soft), #ffffffeb);border-color:#b4530938;border-left-color:var(--warning);color:var(--warning-hover)}.alert-info{background:linear-gradient(90deg, var(--accent-soft), #ffffffeb);border-color:#0891b238;border-left-color:var(--accent);color:var(--accent-hover)}.loading,.empty{color:#71717a;padding:1rem 0}.auth-page{--auth-ink:#0f172a;--auth-muted:#64748b;--auth-line:#e2e8f0;--auth-accent:#0891b2;background:radial-gradient(90% 60% at 15% -10%,#0891b233,#0000 55%),radial-gradient(70% 50% at 95% 110%,#0ea5e929,#0000 50%),linear-gradient(165deg,#f8fafc 0%,#eef2f7 48%,#e8eef6 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background-image:linear-gradient(#0f172a09 1px,#0000 1px),linear-gradient(90deg,#0f172a09 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 65% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(75% 65% at 50% 40%,#000 20%,#0000 75%)}.auth-shell{z-index:1;flex-direction:column;gap:1.5rem;width:100%;max-width:420px;animation:.55s ease-out both auth-rise;display:flex;position:relative}@keyframes auth-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center}.auth-brand{letter-spacing:.18em;color:var(--auth-ink);margin:0;font-family:Sora,system-ui,sans-serif;font-size:clamp(1.85rem,5vw,2.25rem);font-weight:700;line-height:1.1}.auth-tagline{color:var(--auth-muted);letter-spacing:.02em;margin:.55rem 0 0;font-size:.9rem}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #fffc;border-radius:16px;width:100%;padding:1.75rem 1.75rem 1.5rem;animation:.55s ease-out 80ms both auth-rise;box-shadow:0 1px 2px #0f172a0a,0 16px 40px #0f172a14}.auth-card h1{color:var(--auth-ink);margin:0 0 1.25rem;font-family:Sora,system-ui,sans-serif;font-size:1.05rem;font-weight:600}.auth-hint{color:var(--auth-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.auth-card .form-field label{color:#475569;font-size:.8rem;font-weight:500}.auth-card .form-field input{border:1px solid var(--auth-line);background:#fff;border-radius:8px;padding:.65rem .75rem;transition:border-color .15s,box-shadow .15s}.auth-card .form-field input:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #2563eb26}.auth-card .form-actions{margin-top:1.25rem}.auth-submit{border-radius:8px;flex:1;justify-content:center;padding:.65rem 1rem;font-weight:600}.auth-footer-link{text-align:center;margin:1.1rem 0 0;font-size:.85rem}.auth-footer-link a{color:var(--auth-muted);text-decoration:none}.auth-footer-link a:hover{color:var(--auth-accent);text-decoration:underline}@media (prefers-reduced-motion:reduce){.auth-shell,.auth-card{animation:none}}.form-field{margin-bottom:0}.form-field label{color:#475569;margin-bottom:.35rem;font-size:.8rem;font-weight:500;display:block}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #2563eb1f}.form-actions{gap:.6rem;margin-top:.35rem;padding-top:.35rem;display:flex}.context-bar{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.context-bar label{color:var(--muted);align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.context-bar select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;min-width:140px;padding:.4rem .65rem;transition:border-color .15s,box-shadow .15s}.context-bar select:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #2563eb1f}.bar-chart{box-sizing:border-box;flex-direction:column;gap:.65rem;width:100%;margin:.15rem 0 .25rem;padding:.15rem .1rem .35rem;display:flex}.bar-row{grid-template-columns:minmax(5.5rem,10rem) minmax(0,1fr) minmax(4.75rem,auto);align-items:center;gap:.65rem .75rem;min-width:0;font-size:.85rem;display:grid}@media (width<=560px){.bar-row{grid-template-columns:1fr;gap:.3rem}.bar-value{text-align:left}}.bar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bar-track{background:#e4e4e7;border-radius:3px;min-width:0;height:20px;overflow:hidden}.bar-fill{background:#2563eb;min-width:2px;height:100%}.bar-value{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.json-viewer{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b833;border-radius:10px;max-height:min(60vh,480px);margin:0;padding:1rem 1.1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.55;overflow:auto}.detail-viewer{flex-direction:column;gap:.85rem;display:flex}.detail-viewer-toolbar{border:1px solid var(--line);background:#f1f5f9;border-radius:10px;align-self:flex-start;gap:.2rem;padding:.2rem;display:inline-flex}.detail-view-tab{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;line-height:1}.detail-view-tab:hover{color:var(--ink)}.detail-view-tab.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0f172a14}.detail-list{gap:.15rem;margin:0;display:grid}.detail-list-nested{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin-top:.25rem;padding:.65rem .75rem}.detail-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,34%) 1fr;align-items:start;gap:.75rem;padding:.55rem .15rem;display:grid}.detail-item:last-child{border-bottom:none}.detail-list dt{color:var(--muted);margin:0;padding-top:.1rem;font-size:.78rem;font-weight:600}.detail-list dd{color:var(--ink);word-break:break-word;margin:0;font-size:.9rem;line-height:1.45}.detail-array{margin:0;padding-left:1.1rem}.detail-inline-json{color:#e2e8f0;background:#0f172a;border-radius:8px;max-height:220px;margin:0;padding:.55rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;overflow:auto}.detail-empty,.detail-scalar{color:var(--muted);margin:0}@media (width<=560px){.detail-item{grid-template-columns:1fr;gap:.2rem}}.tabs{border-bottom:1px solid var(--line);gap:.15rem;margin-bottom:1.15rem;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:.55rem .9rem;font-weight:500;transition:color .15s,background .15s}.tab:hover{color:var(--ink);background:#ffffff80}.tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stat-card{background:#f4f4f5;border-radius:6px;padding:1rem}.stat-card .label{color:#71717a;text-transform:uppercase;font-size:.75rem}.stat-card .value{margin-top:.25rem;font-size:1.5rem;font-weight:600}.inline-form{gap:.9rem;width:100%;max-width:none;display:grid}.actions-cell{flex-wrap:wrap;gap:.25rem;display:flex}.btn-sm{padding:.2rem .45rem;font-size:.75rem}.id-link{color:var(--accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline;display:inline}.id-link:hover{color:var(--accent-hover)}.col-resource,.col-resource .id-link{text-align:left}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0f172a7a;justify-content:center;align-items:center;padding:1.25rem;animation:.18s ease-out modal-overlay-in;display:flex;position:fixed;inset:0}.modal{background:#fffffffa;border:1px solid #e2e8f0f2;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:min(90vh,860px);animation:.22s ease-out modal-rise;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0f,0 24px 60px #0f172a2e}.modal-wide{max-width:640px}.modal-xl{max-width:840px}.modal-header{border-bottom:1px solid var(--line);background:linear-gradient(#fff 0%,#f8fafc 100%);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.25rem;display:flex}.modal-header h2{color:var(--ink);letter-spacing:-.01em;margin:0;font-family:Sora,system-ui,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.3}.modal-close{width:2rem;height:2rem;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.35rem;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.modal-close:hover{color:var(--ink);border-color:var(--line);background:#f1f5f9}.modal-body{padding:1.25rem 1.25rem 1.4rem;overflow:auto}.modal-body .inline-form .btn-primary,.modal-body .form-actions .btn-primary{min-width:6.5rem}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal{animation:none}}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:1rem;display:flex}.dashboard-header{text-align:center;width:100%;max-width:960px;margin:0 auto 1.25rem}.dashboard-title{margin-bottom:.35rem}.dashboard-greeting-line{color:var(--muted);margin:0;font-size:.95rem;line-height:1.45}.dashboard-cost-card{max-width:960px;margin-top:0;overflow:hidden}.dashboard-cost-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.25rem;margin-bottom:.85rem;display:flex}.dashboard-cost-header h2{margin:0}.dashboard-cost-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.dashboard-cost-stats{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:.95rem;padding-bottom:.85rem;display:flex}.dashboard-cost-stat{flex-direction:column;gap:.2rem;min-width:8rem;display:flex}.dashboard-cost-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:500}.dashboard-cost-stat-value{color:var(--ink);letter-spacing:-.02em;font-family:Sora,system-ui,sans-serif;font-size:1.15rem;font-weight:600}.dashboard-cost-stat-hint{color:var(--muted);margin-top:.1rem;font-size:.72rem;font-weight:500}.dashboard-cloud-filter{color:var(--muted);text-align:left;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:500;display:flex}.dashboard-cloud-filter select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:110px;padding:.4rem .65rem}.dashboard-cost-presets{flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem;display:flex}.dashboard-preset-btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:.35rem .7rem;font-size:.8rem}.dashboard-preset-btn:hover{border-color:#93c5fd}.dashboard-preset-btn.is-active{border-color:var(--accent);color:var(--accent);background:#2563eb14;font-weight:600}.dashboard-cost-custom{margin-bottom:.75rem}.dashboard-cost-updating{color:var(--muted);margin:0 0 .5rem;padding:0;font-size:.8rem}.dashboard-stack{flex-direction:column;gap:1.25rem;width:100%;max-width:960px;margin:0 auto;display:flex}.dashboard-stack .dashboard-cost-card{text-align:left;max-width:none;margin-top:0;margin-left:0;margin-right:0;padding:1.25rem 1.35rem 1.35rem}.dashboard-section-header{margin-bottom:1rem}.dashboard-section-header h2{margin:0}.dashboard-subsection-title{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .65rem;font-size:.85rem;font-weight:600}.dashboard-breakdown-grid{grid-template-columns:1fr;gap:1.25rem 1.5rem;display:grid}@media (width>=720px){.dashboard-breakdown-grid{grid-template-columns:1fr 1fr}}.dashboard-opportunity-list,.dashboard-spike-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-opportunity-row,.dashboard-spike-row{border-bottom:1px solid var(--line);flex-direction:column;gap:.3rem;padding:.65rem 0;display:flex}.dashboard-opportunity-row:last-child,.dashboard-spike-row:last-child{border-bottom:none;padding-bottom:0}.dashboard-opportunity-main,.dashboard-spike-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .75rem;display:flex}.dashboard-opportunity-name{color:var(--ink);font-weight:600;text-decoration:none}.dashboard-opportunity-name:hover{color:var(--accent);text-decoration:underline}.dashboard-opportunity-meta,.dashboard-spike-meta{color:var(--muted);flex-wrap:wrap;gap:.45rem .85rem;font-size:.8rem;display:flex}.dashboard-spike-date{font-variant-numeric:tabular-nums;font-weight:600}.dashboard-spike-delta{color:#b45309;font-variant-numeric:tabular-nums;font-weight:600}.dashboard-budget-progress{margin:.25rem 0 .95rem}.dashboard-budget-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.dashboard-budget-progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .2s}.dashboard-budget-progress-fill.is-over{background:#dc2626}.dashboard-budget-progress-label{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.dashboard-budget-form{flex-wrap:wrap;align-items:flex-end;gap:.65rem;display:flex}.dashboard-budget-form label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:500;display:flex}.dashboard-budget-form input{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:140px;padding:.4rem .65rem}.monitoring-chart-card{margin-bottom:1.25rem}.monitoring-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.monitoring-chart-header h2{margin:0}.monitoring-util-row{flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem;display:flex}.monitoring-chart-stats{border-top:1px solid var(--line);padding-top:.35rem}.monitoring-stat{min-width:6.5rem;color:var(--ink);flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.monitoring-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:500}.util-badge{letter-spacing:.02em;border-radius:6px;align-items:center;width:fit-content;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.util-badge-under{color:#1d4ed8;background:#2563eb1a}.util-badge-ok{color:#15803d;background:#16a34a1f}.util-badge-over{color:#b91c1c;background:#dc26261a}.time-series-chart{box-sizing:border-box;margin-top:.35rem;padding:.35rem .2rem .15rem}
