:root{--film-grain:#21211f;--echo-green:#45b57f;--sunset-orange:#ff5623;--paper-ivory:#eae8d6;--arcade-green:#0c3f33;--muted:#888880;--border:#e0ded0;--radius:8px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper-ivory);color:var(--film-grain);font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--echo-green)}.nav{background:var(--film-grain);padding:14px 28px;display:flex;align-items:center;justify-content:space-between}.nav img{height:20px;display:block}.nav .nav-right{display:flex;align-items:center;gap:16px}.nav .nav-user{color:#90908f;font-size:13px}.nav a.nav-link{color:#fff;text-decoration:none;font-size:14px;font-weight:500}.container{max-width:880px;margin:0 auto;padding:32px 24px 64px}h1{font-size:26px;letter-spacing:-.01em;margin:0 0 4px}h1,h2{font-weight:600}h2{font-size:18px;margin:0 0 12px}.subtitle{color:var(--muted);margin:0 0 28px;font-size:14px}.section-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--film-grain);padding-bottom:8px;margin:28px 0 14px;border-bottom:2px solid var(--echo-green)}.card{background:#fff;border-radius:var(--radius);padding:22px 24px;border:1px solid var(--border)}.card+.card{margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;font-family:inherit;transition:opacity .15s ease}.btn:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--echo-green);color:#fff}.btn-dark{background:var(--film-grain);color:#fff}.btn-orange{background:var(--sunset-orange);color:#fff}.btn-ghost{background:transparent;color:var(--film-grain);border:1px solid var(--border)}.btn-danger{background:transparent;color:#b3261e;border:1px solid #f0c9c6}label{display:block;font-size:13px;font-weight:600;margin:0 0 6px}.field{margin-bottom:16px}.field .hint{font-weight:400;color:var(--muted);font-size:12px}input[type=date],input[type=email],input[type=text],input[type=url]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:var(--film-grain)}input:focus{outline:2px solid var(--echo-green);outline-offset:-1px;border-color:var(--echo-green)}.row{display:flex;gap:16px}.row>.field{flex:1 1}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.stat{background:var(--paper-ivory);border-radius:6px;padding:14px 16px}.stat .stat-label{font-size:11px;color:var(--muted);margin-bottom:4px}.stat .stat-value{font-size:24px;font-weight:600;letter-spacing:-.02em}.stat .stat-value.good{color:var(--arcade-green)}.client-list{display:flex;flex-direction:column;gap:12px}.client-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;text-decoration:none;color:inherit}.client-row:hover{border-color:var(--echo-green)}.client-row .meta{font-size:13px;color:var(--muted);margin-top:3px}.badge-pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px}.badge-active{background:#d4eee2;color:var(--arcade-green)}.badge-paused{background:var(--border);color:var(--muted)}.banner{padding:12px 16px;border-radius:6px;font-size:14px;margin-bottom:16px}.banner-error{background:#fbe9e7;color:#b3261e;border:1px solid #f0c9c6}.banner-success{background:#d4eee2;color:var(--arcade-green);border:1px solid #a9dcc4}.banner-info{background:#fff8e1;color:#6b4a00;border:1px solid #ffe9a8}.actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.spacer{flex:1 1}.empty{text-align:center;padding:56px 24px;color:var(--muted);border:1.5px dashed var(--border);border-radius:var(--radius);background:#fff}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:#fff;border-radius:12px;border:1px solid var(--border);padding:40px;max-width:380px;width:100%;text-align:center}.login-card img{height:26px;margin-bottom:24px}