:root{--ink:#0b1324;--ink-2:#1c2740;--text:#1d2433;--muted:#566379;--line:#e3e8f0;--bg:#fff;--bg-soft:#f5f7fb;--accent:#2fd08b;--accent-ink:#0f7a4f;--warn:#b7791f;--bad:#c53030;--info:#2b6cb0;--radius:14px;--shadow:0 10px 30px #0b132414;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:-.015em;margin:0 0 .5em;line-height:1.2}a{color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.container{width:min(1120px,100% - 48px);margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-64px;left:12px}.skip-link:focus{top:12px}:focus-visible{outline-offset:2px;border-radius:4px;outline:3px solid #0a64d8}main:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scroll-behavior:smooth;scroll-padding-top:80px}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-small{padding:7px 16px;font-size:.875rem}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ink-2)}.btn-dark{background:var(--ink);color:#fff}.site-nav a.btn-dark{color:#fff}.btn-quiet{border-color:var(--line);color:var(--ink);background:#fff}.btn-quiet:hover{background:var(--bg-soft)}.logo{color:var(--ink);align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.logo-mark-bg{color:var(--ink)}.site-header{-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);z-index:10;border-bottom:1px solid var(--line);background:#ffffffd1;position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;height:60px;display:flex}.site-nav{align-items:center;gap:26px;display:flex}.site-nav a:not(.btn){color:var(--muted);font-size:.92rem;text-decoration:none}.site-nav a:not(.btn):hover{color:var(--ink)}.hero{text-align:center;background:linear-gradient(180deg, #fff 0%, var(--bg-soft) 100%);padding:120px 0 104px}.hero-inner{flex-direction:column;align-items:center;display:flex}.hero h1{letter-spacing:-.03em;max-width:18ch;margin-bottom:.4em;font-size:clamp(2.4rem,5.6vw,4.2rem)}.eyebrow{letter-spacing:.02em;color:var(--accent-ink);margin:0 0 18px;font-size:.95rem;font-weight:600}.lead{max-width:60ch;color:var(--muted);margin:0;font-size:1.2rem}.lead-dark{color:var(--muted);max-width:62ch;font-size:1.1rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:36px 0 32px;display:flex}.hero-points{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:0;padding:0;font-size:.92rem;list-style:none;display:flex}.hero-points li:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.section{padding:96px 0}.section-alt{background:var(--bg-soft)}.section h2{max-width:26ch;font-size:clamp(1.7rem,3.2vw,2.4rem)}.section-lead{color:var(--muted);max-width:62ch;margin-bottom:40px;font-size:1.08rem}.section-lead a,.doc a{color:var(--info)}.status-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.status-grid>div{border:1px solid var(--line);background:#fff;border-radius:20px;padding:28px}.status-title{font-size:1.05rem}.status-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.status-list li{gap:2px;padding-left:22px;display:grid;position:relative}.status-list li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}.status-list-pending li:before{border:2px solid var(--warn);background:0 0}.status-list span{color:var(--muted);font-size:.93rem}.dev-grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:56px;display:grid}.checklist{gap:10px;margin:0;padding:0;list-style:none;display:grid}.checklist li:before{content:"";background:var(--accent-ink);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:10px;display:inline-block}.code{background:var(--ink);color:#d6e2f5;box-shadow:var(--shadow);border-radius:20px;margin:0;padding:24px;font-size:.86rem;line-height:1.6;overflow-x:auto}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);padding:40px 0}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.footer-nav{gap:20px;display:flex}.footer-nav a{color:var(--muted);text-decoration:none}.footer-nav a:hover{color:var(--ink);text-decoration:underline}.footer-legal{flex-basis:100%;margin:0}.doc{max-width:760px;padding:72px 0 96px}.doc h1{font-size:clamp(2rem,4vw,2.8rem)}.doc h2{margin-top:2em;font-size:1.3rem}.doc li{margin-bottom:8px}.callout{color:#6b4a0e;background:#fffaf0;border:1px solid #f6e0b5;border-radius:14px;margin:24px 0;padding:14px 18px}.callout p{margin:6px 0 12px}.placeholder{color:#5a4300;background:#fff3c4;border-radius:6px;padding:0 6px;font-weight:600}.auth{max-width:460px;padding:96px 0}.auth h1{font-size:2.2rem}.auth-form{gap:10px;display:grid}.auth-form label{font-size:.92rem;font-weight:600}.auth-form input{font:inherit;border:1px solid #b9c3d6;border-radius:12px;padding:12px 14px}.field-error{color:var(--bad);margin:0;font-size:.9rem}.state{justify-items:start;gap:6px;display:grid}.state-title{color:var(--ink);margin:0;font-weight:600}.state p{margin:0}.state-error .state-title{color:var(--bad)}.skeleton{background:linear-gradient(90deg,#edf0f5,#f7f9fc,#edf0f5) 0 0/200% 100%;border-radius:7px;width:100%;height:14px;animation:1.4s linear infinite shimmer;display:block}.skeleton-short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sample-tag{color:#5a4300;background:#fff3c4;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.sample-line{color:var(--muted);margin:0 0 12px;font-size:.9rem}.panel-aside{align-items:center;gap:8px;display:inline-flex}.steps{gap:14px;margin:0;padding-left:22px;display:grid}.steps li{padding-left:4px}.steps li strong,.steps li span{display:block}.dash{background:var(--bg-soft);grid-template-columns:248px 1fr;min-height:100vh;display:grid}.dash-side{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:24px;padding:22px 16px;display:flex}.dash-side nav{gap:2px;display:grid}.dash-link{color:var(--muted);border-radius:8px;padding:9px 12px;font-weight:500;text-decoration:none}.dash-link:hover{background:var(--bg-soft);color:var(--ink)}.dash-link.active{color:var(--accent-ink);background:#e8faf2}.tenant-switch{gap:6px;display:grid}.tenant-switch select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.dash-main{min-width:0;padding:32px 40px}.page-head{align-items:baseline;gap:14px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:1.6rem}.page-head p{margin:0}.notice{color:#7a5410;background:#fffaf0;border:1px solid #f6e0b5;border-radius:10px;margin-bottom:24px;padding:12px 16px;font-size:.92rem}.notice-error{color:var(--bad);background:#fff5f5;border-color:#fed7d7}.card-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:4px;padding:18px 20px;display:grid}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{color:var(--ink);letter-spacing:-.02em;font-size:1.7rem;font-weight:700}.dash-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:20px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;margin-bottom:20px;padding:20px}.dash-grid .panel{margin-bottom:0}.panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-head h2{margin:0;font-size:1.02rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:.8rem;font-weight:500}td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px}tr:last-child td{border-bottom:0}.list{margin:0;padding:0;list-style:none}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.list-row:last-child{border-bottom:0}.list-row small{display:block}.empty{color:var(--muted);font-size:.92rem}.empty p{margin-top:0}.badge{text-transform:capitalize;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge-good{color:var(--accent-ink);background:#e3f9ee}.badge-info{color:var(--info);background:#e6f0fb}.badge-warn{color:var(--warn);background:#fdf3e1}.badge-bad{color:var(--bad);background:#fde8e8}.badge-neutral{color:var(--muted);background:#edf0f5}.bars{align-items:flex-end;gap:10px;height:160px;padding-top:8px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar{background:linear-gradient(180deg, var(--accent), #20a46c);border-radius:6px 6px 2px 2px;width:100%;max-width:36px;min-height:4px}.bar-label{color:var(--muted);font-size:.75rem}.not-found{place-content:center;justify-items:center;gap:16px;min-height:50vh;display:grid}@media (width<=900px){.dev-grid,.status-grid,.dash-grid{grid-template-columns:1fr}.hero{padding:80px 0 72px}.site-nav a:not(.btn){display:none}.dash{grid-template-columns:1fr}.dash-side{border-right:0;border-bottom:1px solid var(--line)}.dash-side nav{grid-auto-flow:column;overflow-x:auto}.dash-main{padding:24px 20px}.card-grid{grid-template-columns:repeat(2,1fr)}}
