#root{min-height:100vh}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:760;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--teal), #00748c);border-radius:12px;place-items:center;width:38px;height:38px;display:inline-grid;box-shadow:0 8px 24px #0096b338}.brand-light{color:#fff}.eyebrow{color:var(--teal-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800;line-height:1.2}.eyebrow.light{color:#80e8f5}.muted{color:var(--muted)}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:720;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.62}.button.primary{color:#fff;background:var(--navy);box-shadow:0 8px 22px #17314929}.button.primary:hover:not(:disabled){background:var(--navy-deep)}.button.secondary{color:var(--navy);background:#fff;border-color:#cbd6dc}.button.secondary:hover:not(:disabled){border-color:var(--teal)}.button.light{color:var(--navy);background:#fff}.button.ghost-light{color:#fff;background:0 0;border-color:#ffffff59}.button.danger-button{color:var(--danger);background:snow;border-color:#f0caca}.button.wide{width:100%}.icon-button{color:#667681;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button:hover{color:var(--navy);background:#f8faf9;border-color:#d6dfe2}.icon-button.filled{color:#fff;background:var(--navy)}.icon-button.danger:hover{color:var(--danger);background:#fff5f5;border-color:#f0caca}.text-button{color:var(--teal-dark);background:0 0;border:0;font-size:13px;font-weight:700}label{color:#2e4353;gap:7px;font-size:12px;font-weight:730;display:grid}label small{color:var(--muted);font-weight:500}input,select,textarea{width:100%;color:var(--navy-deep);background:#fff;border:1px solid #ccd7db;border-radius:10px;outline:0;transition:border-color .15s,box-shadow .15s}input,select{height:44px;padding:0 12px}textarea{resize:vertical;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0096b31a}.field-grid{gap:14px;display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{align-items:center;gap:10px;display:flex}.form-actions>span{flex:1}.auth-shell{grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.auth-story{color:#fff;background:radial-gradient(circle at 82% 12%,#00b5d561,#0000 28%),radial-gradient(circle at 16% 82%,#ff6a002e,#0000 24%),linear-gradient(145deg,#0c2436,#173e55 62%,#0c313e);flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px clamp(36px,6vw,88px);display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";opacity:.18;pointer-events:none;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 70%);mask-image:linear-gradient(to bottom right,#000,#0000 70%)}.auth-story>*{z-index:1;position:relative}.auth-copy{max-width:680px}.auth-copy h1{letter-spacing:-.055em;max-width:650px;margin:0;font-size:clamp(48px,6vw,84px);line-height:.98}.auth-copy>p:not(.eyebrow){color:#cbdae1;max-width:590px;margin:26px 0 30px;font-size:clamp(16px,1.7vw,20px);line-height:1.6}.auth-principles{flex-wrap:wrap;gap:10px;display:flex}.auth-principles span{color:#deebef;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;font-weight:700;display:inline-flex}.auth-footnote{color:#9ab1bc;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px}.auth-form-wrap{background:var(--sand);place-items:center;padding:34px;display:grid}.auth-card{background:#fff;border:1px solid #e0e5e5;border-radius:20px;gap:20px;width:min(100%,460px);padding:38px;display:grid;box-shadow:0 28px 80px #112a3a1a}.auth-card h2{color:var(--navy);letter-spacing:-.035em;margin:0;font-size:32px}.auth-card .muted{margin:8px 0 0;font-size:14px}.error-banner{color:#8f2e2e;background:#fff5f5;border:1px solid #efc9c9;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}.boot-screen,.fatal-screen{background:var(--sand);flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:100vh;display:flex}.boot-screen strong{letter-spacing:-.02em;font-size:20px}.boot-line{background:linear-gradient(90deg, transparent, var(--teal), transparent);border-radius:99px;width:120px;height:3px;margin-top:6px;animation:1.1s ease-in-out infinite pulse}.fatal-screen h1{color:var(--navy);margin:10px 0 0}.fatal-screen p{max-width:460px;color:var(--muted);text-align:center;margin:0 0 8px}@keyframes pulse{50%{opacity:.35;transform:scaleX(.65)}}.console-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;background:#fff;border-right:1px solid #d9e1e3;flex-direction:column;height:100vh;padding:22px 16px 16px;display:flex;position:sticky;top:0}.sidebar-head{justify-content:space-between;align-items:center;padding:0 8px 24px;display:flex}.sidebar-close,.menu-button{display:none}.sidebar nav{gap:4px;display:grid}.nav-label{color:#92a0a8;letter-spacing:.13em;text-transform:uppercase;margin:0 12px 8px;font-size:10px;font-weight:800}.nav-item{color:#5b6d79;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:43px;padding:0 12px;font-size:13px;font-weight:690;display:flex}.nav-item:hover{color:var(--navy);background:#f4f7f7}.nav-item.active{color:var(--navy);box-shadow:inset 3px 0 0 var(--teal);background:#eaf6f7}.nav-item.active svg{color:var(--teal-dark)}.sidebar-bottom{gap:8px;margin-top:auto;display:grid}.global-card{color:var(--teal-dark);background:#f6fbfb;border:1px solid #dbe4e5;border-radius:12px;align-items:center;gap:10px;margin:0 5px 8px;padding:12px;display:flex}.global-card div{gap:2px;display:grid}.global-card strong{color:var(--navy);font-size:12px}.global-card span{color:var(--muted);font-size:10px}.workspace{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f8f9f7e6;border-bottom:1px solid #d9e1e3e6;align-items:center;gap:16px;height:72px;padding:0 clamp(20px,3vw,44px);display:flex;position:sticky;top:0}.project-switcher-wrap{background:#fff;border:1px solid #d2dcdf;border-radius:10px;align-items:center;gap:7px;padding:0 8px 0 11px;display:inline-flex;position:relative}.project-switcher-wrap select{appearance:none;width:auto;min-width:150px;height:38px;box-shadow:none;background:0 0;border:0;padding:0 24px 0 0;font-size:13px;font-weight:720}.project-switcher-wrap>svg{pointer-events:none;position:absolute;right:8px}.status-dot{background:#17a67f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #17a67f1f}.topbar-meta{align-items:center;gap:12px;margin-left:auto;display:flex}.environment-badge,.state-badge{color:#546873;letter-spacing:.04em;text-transform:uppercase;background:#e9eeee;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.state-badge.active,.state-badge.deployed{color:#10715d;background:#e4f5ef}.state-badge.archived,.state-badge.revoked{color:#7a858b;background:#edf0f1}.state-badge.failed{color:#a13131;background:#fae8e8}.avatar{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid}.console-main{background:#f5f6f4;min-height:calc(100vh - 72px);padding:38px clamp(20px,3.5vw,54px) 60px}.panel-stack{gap:22px;max-width:1450px;margin:0 auto;display:grid}.panel-title{justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:4px;display:flex}.panel-title h1{color:var(--navy);letter-spacing:-.045em;margin:0;font-size:clamp(30px,3vw,43px);line-height:1}.panel-title>div>p:not(.eyebrow){max-width:720px;color:var(--muted);margin:11px 0 0;font-size:14px;line-height:1.55}.panel-action{flex:none}.health-pill{color:#176f5f;background:#eff9f5;border:1px solid #cae3da;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;font-weight:800;display:inline-flex}.health-pill span{background:#17a67f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #17a67f1f}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{background:#fff;border:1px solid #dce3e4;border-radius:14px;align-items:flex-start;gap:13px;min-width:0;padding:18px;display:flex;box-shadow:0 8px 28px #17314909}.metric-icon{width:38px;height:38px;color:var(--teal-dark);background:#e9f7f8;border-radius:10px;flex:none;place-items:center;display:grid}.metric-card>div:last-child{min-width:0;display:grid}.metric-card span{color:var(--muted);font-size:11px;font-weight:700}.metric-card strong{color:var(--navy);letter-spacing:-.035em;margin:4px 0 2px;font-size:25px;line-height:1}.metric-card small{color:#87959c;font-size:10px}.surface{background:#fff;border:1px solid #dce3e4;border-radius:15px;min-width:0;box-shadow:0 8px 32px #17314909}.surface-heading{border-bottom:1px solid #edf0f0;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:15px 18px;display:flex}.surface-heading h3{color:var(--navy);letter-spacing:-.015em;margin:0;font-size:15px}.surface-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.surface-heading>span{color:var(--muted);font-size:10px;font-weight:700}.content-grid{gap:18px;display:grid}.overview-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr)}.bar-chart{align-items:stretch;gap:clamp(5px,1vw,12px);height:245px;padding:28px 20px 18px;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.bar-column .bar{background:linear-gradient(to top, var(--teal-dark), #34c2d4);border-radius:5px 5px 2px 2px;width:100%;max-width:24px;min-height:4px}.bar-column span{color:#8a989f;font-size:8px}.posture-list{padding:8px 18px 14px}.posture-row{min-height:48px;color:var(--muted);border-bottom:1px solid #edf0f0;justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.posture-row:last-child{border:0}.posture-row strong{color:var(--navy);align-items:center;gap:6px;font-size:12px;display:inline-flex}.posture-row svg{color:var(--success)}.audit-list{padding:6px 18px;display:grid}.audit-list article{border-bottom:1px solid #edf0f0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:62px;display:grid}.audit-list article:last-child{border:0}.audit-icon{width:31px;height:31px;color:var(--teal-dark);background:#eef8f8;border-radius:9px;place-items:center;display:grid}.audit-list strong{color:var(--navy);font-size:12px}.audit-list p{color:var(--muted);margin:3px 0 0;font-size:10px}.audit-list time{color:#89969c;font-size:10px}.form-surface{gap:16px;padding:0 18px 18px;display:grid}.form-surface>.surface-heading{margin:0 -18px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-card{background:#fff;border:1px solid #dce3e4;border-radius:15px;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;display:grid}.project-card.archived{opacity:.72}.project-icon{width:42px;height:42px;color:var(--teal-dark);background:#eaf7f8;border-radius:11px;place-items:center;display:grid}.project-card-copy{min-width:0}.project-card-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.project-card h3{color:var(--navy);margin:0;font-size:16px}.project-card p{min-height:38px;color:var(--muted);margin:8px 0;font-size:12px;line-height:1.5}.project-facts{color:#85949a;flex-wrap:wrap;gap:5px 13px;font-size:10px;display:flex}.project-actions{border-top:1px solid #edf0f0;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:7px;padding-top:13px;display:flex}.secret-reveal{color:#fff;background:linear-gradient(120deg,#087d91,#126c82);border-radius:15px;gap:13px;padding:20px;display:grid;box-shadow:0 18px 40px #007c942e}.secret-reveal>div:first-child{gap:3px;display:grid}.secret-reveal strong{font-size:14px}.secret-reveal span{color:#c4edf2;font-size:11px}.secret-reveal code{white-space:nowrap;background:#04293559;border:1px solid #ffffff2e;border-radius:9px;padding:13px 14px;font-size:12px;overflow-x:auto}.secret-actions{gap:10px;display:flex}.key-layout{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}.code-surface pre{color:#d9edf1;background:var(--navy-deep);border-radius:0 0 14px 14px;margin:0;padding:24px;font-size:11px;line-height:1.7;overflow-x:auto}.table-surface{overflow:hidden}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#85939a;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#f8faf9;padding:10px 18px;font-size:9px}td{color:#64757e;border-top:1px solid #edf0f0;padding:14px 18px;font-size:11px}td strong{color:var(--navy)}td code{color:#3c5666;font-size:10px}td:last-child{text-align:right}.row-actions{gap:2px;display:inline-flex}.file-name{align-items:center;gap:10px;display:flex}.file-name>span{width:30px;height:30px;color:var(--teal-dark);background:#eef8f8;border-radius:8px;place-items:center;display:grid}.database-layout,.functions-layout{grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);align-items:start;gap:18px;display:grid}.collection-pane,.function-list-pane{overflow:hidden}.inline-form{border-bottom:1px solid #edf0f0;gap:7px;padding:14px;display:flex}.inline-form input{height:38px}.collection-list,.function-list{padding:7px;display:grid}.collection-list button,.function-list button{color:#60727d;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;padding:11px;display:flex}.collection-list button:hover,.collection-list button.active,.function-list button:hover,.function-list button.active{color:var(--navy);background:#eef7f7}.collection-list button>span,.function-list button>span{gap:3px;min-width:0;display:grid}.collection-list strong,.function-list strong{color:inherit;text-overflow:ellipsis;font-size:12px;overflow:hidden}.collection-list small,.function-list small{color:#86949b;font-size:9px}.records-pane{min-height:430px;padding-bottom:16px}.record-form{border-bottom:1px solid #edf0f0;gap:10px;padding:16px;display:grid}.record-form .button{justify-self:flex-end}.code-input{color:#cde0e7;tab-size:2;background:#102b3e;border-color:#27485d;font-size:11px;line-height:1.6}.record-list{gap:10px;padding:16px;display:grid}.record-list article{border:1px solid #e1e7e8;border-radius:10px;overflow:hidden}.record-list article>div{background:#f7f9f8;justify-content:space-between;gap:12px;padding:9px 11px;display:flex}.record-list code{color:var(--navy);text-overflow:ellipsis;font-size:9px;overflow:hidden}.record-list span{color:#85939a;font-size:9px}.record-list pre{color:#385263;margin:0;padding:12px;font-size:10px;line-height:1.55;overflow-x:auto}.function-icon{width:31px;height:31px;color:var(--teal-dark);background:#e9f7f8;border-radius:8px;place-items:center;display:grid!important}.function-list button>span:nth-child(2){flex:1}.status-dot-large{background:#9ca8ae;border-radius:50%;flex:none;width:8px;height:8px}.status-dot-large.deployed{background:#18a17b}.status-dot-large.failed{background:var(--danger)}.status-dot-large.deploying{background:var(--orange)}.function-editor{gap:15px;padding:0 18px 18px;display:grid}.function-editor>.surface-heading{margin:0 -18px}.code-input.editor{resize:vertical;min-height:380px}.endpoint-box{background:#f4faf9;border:1px solid #d3e4e5;border-radius:9px;gap:5px;padding:11px 13px;display:grid}.endpoint-box span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.endpoint-box code{color:var(--teal-dark);font-size:10px;overflow-x:auto}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:30px;display:flex}.empty-state.compact{min-height:240px}.empty-state>span{width:50px;height:50px;color:var(--teal-dark);background:#eaf7f8;border-radius:15px;place-items:center;display:grid}.empty-state h3{color:var(--navy);margin:14px 0 5px;font-size:15px}.empty-state p{max-width:420px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.empty-inline{color:var(--muted);text-align:center;gap:4px;padding:30px 18px;display:grid}.empty-inline strong{color:var(--navy);font-size:13px}.empty-inline span{font-size:10px}.sidebar-backdrop{display:none}@media (width<=1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.key-layout{grid-template-columns:1fr}}@media (width<=840px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:460px;padding:30px}.auth-copy h1{font-size:48px}.auth-footnote{display:none}.auth-form-wrap{min-height:560px}.console-shell{grid-template-columns:1fr}.sidebar{width:min(82vw,280px);transition:transform .2s;position:fixed;left:0;transform:translate(-105%);box-shadow:20px 0 50px #0c24362e}.sidebar.open{transform:translate(0)}.sidebar-close,.menu-button{display:inline-grid}.sidebar-backdrop{z-index:25;background:#0718245c;border:0;display:block;position:fixed;inset:0}.project-grid,.database-layout,.functions-layout{grid-template-columns:1fr}}@media (width<=600px){.auth-form-wrap{padding:20px}.auth-card{padding:25px 21px}.field-grid.two{grid-template-columns:1fr}.topbar{padding:0 14px}.project-switcher-wrap select{min-width:110px;max-width:150px}.environment-badge{display:none}.console-main{padding:28px 14px 46px}.panel-title{flex-direction:column;align-items:flex-start}.panel-action,.panel-action .button{width:100%}.metric-grid,.project-grid{grid-template-columns:1fr}.secret-actions{flex-direction:column}.form-actions{flex-wrap:wrap}.form-actions>span{display:none}}:root{color:#152a3c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#173149;--navy-deep:#0d2234;--teal:#0096b3;--teal-dark:#007c94;--orange:#ff6a00;--sand:#f7f5f2;--line:#dfe5e7;--muted:#667681;--surface:#fff;--success:#15856f;--danger:#bf3e3e;background:#f5f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f5f6f4;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}code,pre,.code-input{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}::selection{color:#fff;background:var(--teal)}
