:root{--signal-ink:#1c2024;--signal-muted:#68727d;--signal-paper:#f5f6f2;--signal-surface:#fff;--signal-line:#e2e6e2;--signal-accent:#e15d43;--signal-accent-soft:#f9e4dd;--signal-success:#2b806d;--signal-warning:#aa711f;--signal-danger:#bd4d55}*{box-sizing:border-box}body,html{font-family:DM Sans,system-ui,sans-serif}body{margin:0;background:var(--signal-paper);color:var(--signal-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:Space Grotesk,DM Sans,sans-serif;letter-spacing:-.025em}::selection{background:var(--signal-accent-soft);color:var(--signal-ink)}.signal-card{border:1px solid var(--signal-line);border-radius:1.25rem;background:var(--signal-surface);box-shadow:0 1px 2px rgba(28,32,36,.03)}.signal-eyebrow{color:var(--signal-muted);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login form,.shell section{background:var(--signal-surface);padding:2rem;border:1px solid var(--signal-line);border-radius:1.25rem;box-shadow:0 1px 2px rgba(28,32,36,.03)}.login form{display:grid;grid-gap:1rem;gap:1rem;width:min(20rem,100%)}button,input{padding:.7rem 1rem;border:1px solid var(--signal-line);border-radius:.75rem;font:inherit}input{background:#fff;color:var(--signal-ink)}input::placeholder{color:#a1a8b0}button:focus-visible,input:focus-visible{outline:3px solid rgba(225,93,67,.42);outline-offset:2px}button{background:var(--signal-ink);color:#fff;cursor:pointer;transition:background-color .2s ease,transform .2s ease}button:hover{transform:translateY(-1px)}.login button{background:var(--signal-accent);border-color:var(--signal-accent);color:#fff}.login button:hover{background:#d94f35}.shell{max-width:70rem;margin:0 auto;padding:clamp(1rem,4vw,2.5rem)}.page-header,.section-heading,article{display:flex;justify-content:space-between;gap:1rem;align-items:center}.page-header{margin-bottom:2rem;align-items:flex-start}.eyebrow{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow,.muted{color:var(--signal-muted)}.muted{font-size:.88rem;line-height:1.55}.page-header h1,.section-heading h2{margin:.45rem 0 0}.page-header h1{font-size:clamp(1.8rem,4vw,2.6rem)}.section-heading h2{font-size:1.2rem}.secondary{background:transparent;color:var(--signal-ink)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}.metric{background:var(--signal-surface);border:1px solid var(--signal-line);border-radius:1rem;padding:1.2rem}.metric small,.metric span,article small{display:block;color:var(--signal-muted);font-size:.75rem}.metric strong{display:block;margin:.45rem 0 .15rem;font-family:Space Grotesk,sans-serif;font-size:1.8rem}.stack{display:grid;grid-gap:1rem;gap:1rem}.stack section{padding:1.4rem}.count{color:var(--signal-muted);font-size:.75rem}article{padding:1rem 0;border-top:1px solid var(--signal-line);flex-wrap:wrap}article>div{min-width:12rem;flex:1 1}.status{border-radius:99px;padding:.3rem .6rem;background:var(--signal-accent-soft);color:#8b3e2d;font-size:.7rem;font-weight:700;text-transform:uppercase}.status-active,.status-paid,.status-succeeded{background:#e1f2ec;color:var(--signal-success)}.empty{padding:1.5rem 0 .4rem;color:var(--signal-muted);text-align:center}.empty span{font-size:1.5rem}.empty p{margin:.3rem 0 0}.alert,.empty p{font-size:.85rem}.alert{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #f0c8bd;border-radius:.8rem;background:#fff5f2;color:#8b3e2d}.alert span{flex:1 1}.loading{display:grid;grid-gap:.75rem;gap:.75rem}.loading span{height:4.5rem;border-radius:1rem;background:linear-gradient(90deg,#e8ece8,#f7f8f6,#e8ece8);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position:-200% 0}}label{color:var(--signal-muted);font-size:.78rem;font-weight:600}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:640px){.page-header{flex-direction:column}.page-header .secondary{align-self:stretch}.metrics{grid-template-columns:1fr}article{align-items:flex-start}}