:root{--bg: #f4f5f2;--surface: #ffffff;--border: #e2e0d8;--line: #e2e0d8;--ink: #1c211c;--ink-2: #565c54;--muted: #888d83;--primary: #1f6f54;--primary-dark: #164f3d;--primary-tint: #e3efe9;--amber: #b9821f;--amber-tint: #f8efd9;--blue: #37589c;--blue-tint: #e6ebf6;--red: #b0403a;--red-tint: #f6e5e3;--sidebar: #1b2420}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;margin:0}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.form-err{color:var(--red);font-size:13px}.shell{display:flex;min-height:100%}.sidebar{width:216px;flex-shrink:0;background:var(--sidebar);color:#cfd6cf;display:flex;flex-direction:column;padding:20px 14px;gap:4px}.sidebar__brand{display:flex;align-items:center;gap:9px;font-family:Manrope,sans-serif;font-weight:800;font-size:17px;color:#fff;padding:0 8px 16px}.sidebar__mark{width:26px;height:26px;border-radius:8px;background:var(--primary);flex-shrink:0}.sidebar__link{padding:9px 12px;border-radius:8px;font-size:14px;color:#b7bfb7;background:none;border:none;text-align:left;width:100%;display:block}.sidebar__link:hover{background:#ffffff0f;color:#fff}.sidebar__link--active{background:#ffffff1a;color:#fff;font-weight:600}.sidebar__foot{margin-top:auto;font-size:12px;color:#7f877f;padding:12px 8px 0}.sidebar__logout{margin-top:8px;background:none;border:1px solid rgba(255,255,255,.14);color:#b7bfb7;border-radius:8px;padding:6px 10px;font-size:12px}.main{flex:1;min-width:0}.topbar{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;font-family:Manrope,sans-serif;font-weight:700;font-size:16px;background:var(--surface)}.content{padding:24px;max-width:960px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.stat__label{font-size:12px;color:var(--muted);margin-bottom:4px}.stat__value{font-family:Manrope,sans-serif;font-weight:700;font-size:22px}.stat__sub{font-size:12px;color:var(--muted);margin-top:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.section-h{font-family:Manrope,sans-serif;font-weight:700;font-size:14px;margin:22px 0 10px}.trow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 16px;border-bottom:1px solid var(--border);background:none;border-left:none;border-right:none;border-top:none}.trow:last-child{border-bottom:none}.trow--link{cursor:pointer}.trow--link:hover{background:var(--primary-tint)}.trow__main{flex:1;min-width:0}.trow__name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trow__meta{font-size:12.5px;color:var(--muted);margin-top:2px}.trow__right{text-align:right;flex-shrink:0;font-size:13px}.badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px}.badge--trial{background:var(--blue-tint);color:var(--blue)}.badge--active{background:var(--primary-tint);color:var(--primary-dark)}.badge--past_due{background:var(--amber-tint);color:var(--amber)}.badge--suspended,.badge--off{background:var(--red-tint);color:var(--red)}.badge--on{background:var(--primary-tint);color:var(--primary-dark)}.btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.back-link{font-size:13px;color:var(--primary-dark);background:none;border:none;padding:0;margin-bottom:12px}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;text-align:center;max-width:360px;width:100%}.login-card h1{font-size:20px;margin-bottom:6px}@media (max-width: 720px){.sidebar{width:64px;padding:16px 8px}.sidebar__brand span,.sidebar__link,.sidebar__foot{display:none}.sidebar__link--active{display:block}}
