:root{color-scheme:light;font-family:Montserrat,system-ui,sans-serif;background:#142f5c;color:#16213f}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit}.eyebrow{color:#ffe69c;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.auth-shell{display:grid;min-height:100vh;place-content:center;padding:2rem 1rem}.auth-card{width:min(28rem,calc(100vw - 2rem));background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 20px 60px rgba(0,0,0,.25)}.auth-card h1{margin:0 0 .25rem;font-size:1.5rem;color:#142f5c}.auth-card p.subtitle{margin:0 0 1.5rem;color:#5b6478;line-height:1.5}.auth-links{margin-top:1.25rem;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.auth-links a{color:#3570b2;text-decoration:underline}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;min-width:0}.field label{font-size:.85rem;font-weight:600;color:#33405c}.field input,.field select{padding:.6rem .75rem;border:1px solid #d3d9e6;border-radius:.5rem;font:inherit;font-size:.95rem}.field input:focus,.field select:focus{outline:2px solid #3570b2;outline-offset:1px}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.checkbox-field{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;line-height:1.4}.checkbox-field input{margin-top:.2rem}.form-error{background:#fdecec;color:#a3271f;border:1px solid #f3c6c2;border-radius:.5rem}.form-error,.form-success{padding:.6rem .75rem;font-size:.88rem;margin-bottom:1rem}.form-success{background:#eaf6ec;color:#1e6b2e;border:1px solid #bfe4c6}.btn,.form-success{border-radius:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.1rem;border:1px solid transparent;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:#142f5c;color:#fff}.btn-primary:hover:not(:disabled){background:#1c3f79}.btn-secondary{background:#fff;color:#142f5c;border-color:#d3d9e6}.btn-secondary:hover:not(:disabled){background:#f3f5fa}.btn-danger{background:#fff;color:#b3261e;border-color:#e8c4c1}.btn-danger:hover:not(:disabled){background:#fdf1f0}.btn-block{width:100%}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:16rem 1fr}@media (max-width:760px){.dashboard-shell{grid-template-columns:1fr}}.sidebar{background:#0f2447;color:#fff;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar-brand{font-weight:800;letter-spacing:.04em}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.sidebar nav a{padding:.6rem .75rem;border-radius:.5rem;text-decoration:none;color:#cfd8ec;font-weight:600;font-size:.92rem}.sidebar nav a:hover{background:rgba(255,255,255,.08)}.sidebar nav a[aria-current=page]{background:#ffe69c;color:#142f5c}.dashboard-main{background:#f4f6fb;padding:2rem clamp(1rem,4vw,3rem)}.dashboard-main h1{margin:0 0 1.5rem;font-size:1.6rem;color:#142f5c}.card{background:#fff;border-radius:.85rem;padding:1.25rem 1.5rem;box-shadow:0 1px 3px rgba(20,47,92,.08);margin-bottom:1.25rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));grid-gap:1.25rem;gap:1.25rem}.empty-state{color:#5b6478;font-size:.95rem}.child-card h2{margin:0 0 .25rem;font-size:1.15rem;color:#142f5c}.child-card .child-meta{color:#5b6478;font-size:.85rem;margin-bottom:.75rem}.child-card .actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}.badge-active{background:#e3f5e6;color:#1e6b2e}.badge-incomplete,.badge-past_due{background:#fdf1de;color:#9a5b0a}.badge-canceled,.badge-incomplete_expired,.badge-none{background:#eceef3;color:#565f75}.badge-trialing{background:#e6effa;color:#245188}.badge-succeeded{background:#e3f5e6;color:#1e6b2e}.badge-pending{background:#fdf1de;color:#9a5b0a}.badge-disputed,.badge-failed{background:#fdecec;color:#a3271f}.badge-refunded{background:#eceef3;color:#565f75}.payment-row{display:grid;grid-template-columns:7rem 1fr 6rem 8rem;grid-gap:1rem;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #eceef3;font-size:.9rem}.payment-row:last-child{border-bottom:none}.payment-row .amount{font-weight:700;color:#142f5c}.payment-row-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#8892a8;font-weight:700}.consent-toggle{border:1px solid #eceef3;border-radius:.75rem;padding:1rem;margin-top:1rem}.consent-toggle-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.consent-toggle p.hint{color:#5b6478;font-size:.85rem;margin:.4rem 0 0}.switch{position:relative;display:inline-block;width:2.6rem;height:1.5rem;flex-shrink:0}.switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch .track{position:absolute;inset:0;background:#cfd5e3;border-radius:999px;transition:background .15s ease}.switch .track:before{content:"";position:absolute;height:1.15rem;width:1.15rem;left:.18rem;top:.175rem;background:#fff;border-radius:50%;transition:transform .15s ease}.switch input:checked+.track{background:#1e6b2e}.switch input:checked+.track:before{transform:translateX(1.1rem)}.switch input:disabled+.track{opacity:.6}.dialog-overlay{position:fixed;inset:0;background:rgba(15,24,47,.55);display:grid;place-content:center;padding:1rem;z-index:50}.dialog{background:#fff;border-radius:.85rem;padding:1.5rem;width:min(30rem,calc(100vw - 2rem));max-height:calc(100vh - 4rem);overflow-y:auto}.dialog h2{margin:0 0 .75rem;color:#142f5c;font-size:1.2rem}.dialog p{line-height:1.55;color:#33405c;font-size:.92rem}.dialog .dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}