:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e7edf8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text:#bfccdf;--text-h:#f3f7ff;--muted:#8da0bc;--accent:#4f8cff;--accent-strong:#2f6fe6;--bg:#08111f;--bg-elevated:#132034c7;--surface:#ffffff0b;--surface-strong:#ffffff13;--border:#bfd3ee24;--focus-ring:#4f8cff66;--success:#86efac;--warning:#facc15;--danger:#fca5a5;background:#08111f;font-family:Manrope,Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#4f8cff29,#0000 34%),linear-gradient(140deg,#08111f 0%,#0f1b2f 60%,#121d31 100%);margin:0}#root{min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,p{margin:0}.app-shell{width:min(1180px,100% - 40px);margin:0 auto;padding:30px 0 56px}.app-loading{min-height:100vh;color:var(--muted);text-align:center;place-items:center;gap:12px;display:grid}.app-loading-spinner{border:3px solid #4f8cff38;border-top-color:#7baafff2;border-radius:999px;width:34px;height:34px;animation:.9s linear infinite spin}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:22px;width:min(468px,100%);padding:34px;box-shadow:0 24px 52px #020c1e59}.auth-card h1{color:var(--text-h);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.8rem,2.8vw,2.2rem);line-height:1.15}.auth-copy{color:var(--muted);margin-bottom:22px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--text-h);letter-spacing:.01em;flex-direction:column;gap:6px;font-size:.94rem;font-weight:600;display:flex}.auth-form input,.auth-form select{border:1px solid var(--border);color:var(--text-h);background:#09121fe6;border-radius:12px;min-height:46px;padding:11px 14px;font-size:.98rem;transition:border-color .18s,box-shadow .18s,background-color .18s}.auth-form input:focus,.auth-form select:focus{border-color:#7baaffb3;outline:none;box-shadow:0 0 0 3px #4f8cff33}.auth-link{color:var(--muted);margin-top:16px;font-size:.95rem}.auth-link a{color:#92b8ff;font-weight:600;text-decoration:none}.auth-link a:hover{color:#b0ccff}.auth-error,.auth-success{border:1px solid #0000;border-radius:12px;margin:0;padding:10px 12px;font-size:.92rem;line-height:1.45}.auth-error{color:#fecaca;background:#ef444424;border-color:#fca5a54d}.auth-success{color:#bbf7d0;background:#10b98129;border-color:#6ee7b752}.dashboard-page{flex-direction:column;min-height:100vh;display:flex}.dashboard-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#08101dd6;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.dashboard-nav{align-items:center;gap:16px;display:flex}.dashboard-nav a,.sidebar-link{color:var(--text);text-decoration:none}.dashboard-nav a{font-size:.94rem;font-weight:600}.dashboard-nav a:hover{color:var(--text-h)}.text-link-button{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.text-link-button:hover{color:#f6b0b0}.dashboard-shell{flex:1;grid-template-columns:230px 1fr;display:grid}.dashboard-sidebar{border-right:1px solid var(--border);background:#ffffff05;padding:20px 14px}.sidebar-link{border-radius:11px;margin-bottom:8px;padding:10px 12px;transition:background .18s,color .18s;display:block}.sidebar-link:hover{color:var(--text-h);background:#ffffff12}.sidebar-link.active{color:var(--text-h);background:#4f8cff2e}.dashboard-content{padding:28px}.dashboard-error{margin-bottom:16px}.dashboard-header-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dashboard-header-row h1{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,2.6vw,2.25rem);line-height:1.12}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;transition:transform .18s,border-color .18s;box-shadow:inset 0 1px #ffffff0a}.stat-card:hover{border-color:#bfd3ee3d;transform:translateY(-1px)}.stat-label{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:8px;font-size:.88rem}.stat-card strong{color:var(--text-h);font-size:clamp(1.34rem,2.6vw,1.8rem);line-height:1.1}.metric-monthlySpend{border-top:2px solid #6ee7b780}.metric-annualSpend{border-top:2px solid #7baaff80}.metric-activeCount{border-top:2px solid #facc1580}.content-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 14px 34px #050e1a3d}.renewal-center,.subscription-overview{margin-bottom:22px}.overview-loading{color:var(--muted)}.overview-skeleton-grid{grid-template-columns:1.05fr 1fr;gap:12px;display:grid}.overview-skeleton-block{border:1px solid var(--border);background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/220% 100%;border-radius:14px;min-height:132px;animation:1.3s linear infinite shimmer}.overview-content{grid-template-columns:1.1fr 1fr;gap:12px;display:grid}.overview-summary-card,.overview-list-card{border:1px solid var(--border);background:#0a162699;border-radius:14px;padding:16px}.overview-summary-card{background:linear-gradient(140deg,#4f8cff26,#0a1626b8)}.overview-summary-title{color:var(--text-h);margin:0 0 6px;font-size:1.15rem;font-weight:700}.overview-summary-text{color:var(--text);margin:0}.overview-summary-total{color:#b8ceff;margin:10px 0 0;font-weight:600}.overview-list-heading{margin-bottom:10px}.overview-list-heading h3{color:var(--text-h);margin:0;font-size:1rem}.overview-empty-text{color:var(--muted);margin:0}.overview-renewal-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.overview-renewal-item{background:#081220bf;border:1px solid #bfd3ee2e;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;display:grid}.overview-service-name,.overview-date,.overview-amount{margin:0}.overview-service-name{color:var(--text-h);font-weight:600}.overview-date{color:var(--muted);font-size:.9rem}.overview-amount{color:var(--text-h);font-size:.9rem;font-weight:700}.overview-footnote{margin:12px 0 0}.overview-footnote a{color:#92b8ff;font-weight:600;text-decoration:none}.overview-footnote a:hover{color:#b0ccff}.renewal-title-row{margin-bottom:18px}.renewal-loading{color:var(--muted)}.renewal-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.renewal-skeleton-card{border:1px solid var(--border);background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/220% 100%;border-radius:14px;min-height:112px;animation:1.3s linear infinite shimmer}.renewal-empty-state{background:#10b98114;border:1px dashed #6ee7b780;border-radius:14px;padding:16px}.renewal-empty-title{color:#d9fbe8;margin-bottom:4px;font-size:1.05rem}.renewal-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.renewal-group{border:1px solid var(--border);background:#0a162699;border-radius:14px;padding:12px}.renewal-group-heading{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.renewal-group-heading h3{color:var(--text-h);margin:0;font-size:.98rem}.renewal-group-heading span{min-width:28px;height:28px;color:var(--text-h);background:#ffffff1c;border-radius:999px;justify-content:center;align-items:center;font-size:.84rem;font-weight:700;display:inline-flex}.renewal-group-empty{color:var(--muted);font-size:.92rem}.renewal-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.renewal-card{background:#081220eb;border:1px solid #0000;border-left-width:5px;border-radius:12px;padding:10px;transition:border-color .15s,transform .15s}.renewal-card:hover{transform:translateY(-1px)}.renewal-green{border-color:#6ee7b7a6}.renewal-yellow{border-color:#facc15b3}.renewal-orange{border-color:#fb923cb8}.renewal-red{border-color:#f87171bf}.renewal-card-header{align-items:center;gap:10px;margin-bottom:9px;display:flex}.renewal-logo,.renewal-logo-placeholder{border-radius:10px;flex-shrink:0;width:38px;height:38px}.renewal-logo{object-fit:cover;border:1px solid var(--border);background:#ffffff14}.renewal-logo-placeholder{color:var(--text-h);background:#94a3b82e;place-items:center;font-weight:700;display:grid}.renewal-service-name{color:var(--text-h);margin-bottom:2px;font-size:.96rem;font-weight:700}.renewal-amount{color:var(--text);font-size:.9rem}.renewal-meta-grid{gap:6px;margin:0;display:grid}.renewal-meta-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.77rem}.renewal-meta-grid dd{color:var(--text-h);margin:0;font-size:.9rem}.card-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-title-row h2{color:var(--text-h);letter-spacing:-.01em;margin-bottom:4px;font-size:1.18rem}.card-title-row p{color:var(--muted);line-height:1.5}.table-wrap{border:1px solid var(--border);background:#0a142399;border-radius:14px;overflow-x:auto}.subscriptions-empty-state{border:1px dashed var(--border);background:#0a16268c;border-radius:14px;padding:18px}.subscriptions-empty-title{color:var(--text-h);margin-bottom:4px;font-size:1.04rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #bfd3ee1f;padding:13px 12px}th{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.8rem;font-weight:700}tbody tr{transition:background-color .13s}tbody tr:hover{background:#ffffff08}.table-skeleton{gap:9px;padding:12px;display:grid}.table-skeleton-row{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/220% 100%;border-radius:10px;height:46px;animation:1.2s linear infinite shimmer}.status-pill{color:#9defbe;background:#10b98124;border:1px solid #6ee7b733;border-radius:999px;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.status-pill.review{color:#f6e28b;background:#facc1524;border-color:#facc154d}.table-action{color:var(--text-h);cursor:pointer;background:#ffffff14;border:1px solid #0000;border-radius:10px;padding:7px 10px;font-size:.85rem;font-weight:600;transition:background-color .16s,transform .16s,border-color .16s}.table-action:hover{background:#ffffff24;border-color:#bfd3ee40}.table-action:active{transform:translateY(1px)}.table-actions-cell{gap:8px;display:flex}.table-action.danger{color:#fecaca;background:#ef444424;border-color:#f871713d}.table-action.danger:hover{background:#ef444438}.modal-overlay{z-index:50;background:#030814b8;place-items:center;padding:24px;animation:.18s fade-in;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:#0b1524f5;border-radius:18px;width:min(540px,100%);padding:24px;animation:.22s slide-up;box-shadow:0 30px 60px #02081473}.modal-card h2{color:var(--text-h);margin:0 0 12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.service-preset-field{position:relative}.service-suggestions{z-index:20;border:1px solid var(--border);background:#0a1423f5;border-radius:12px;gap:4px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 32px #0208146b}.service-suggestion{width:100%;color:var(--text-h);cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.service-suggestion:hover{background:#4f8cff29;border-color:#7baaff73}.service-suggestion small{color:var(--muted)}.preset-logo-preview{color:var(--muted);align-items:center;gap:8px;margin-top:-2px;font-size:.85rem;display:inline-flex}.preset-logo-preview img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:20px;height:20px}.settings-page{place-items:center;min-height:100vh;padding:24px;display:grid}.legal-page{align-items:start}.settings-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:18px;width:min(560px,100%);padding:28px;box-shadow:0 18px 44px #050e1a52}.settings-card h1{color:var(--text-h);margin-bottom:8px}.settings-card p{color:var(--muted);margin-bottom:20px}.legal-card{width:min(760px,100%)}.legal-updated{color:var(--muted);margin-bottom:18px;font-size:.95rem}.legal-section{margin-bottom:18px}.legal-section h2{color:var(--text-h);margin-bottom:8px;font-size:1.04rem}.legal-section p,.legal-section li{color:var(--muted);line-height:1.7}.legal-section ul{margin:0;padding-left:20px}.legal-links{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.billing-card{width:min(640px,100%)}.billing-muted{color:var(--muted);margin-bottom:12px}.billing-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.billing-summary div{border:1px solid var(--border);background:#ffffff08;border-radius:12px;padding:11px}.billing-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.78rem}.billing-summary dd{color:var(--text-h);margin:0;font-size:.92rem}.billing-actions,.billing-links{flex-wrap:wrap;gap:10px;display:flex}.billing-actions{margin-bottom:12px}.topbar{justify-content:space-between;align-items:center;padding:10px 0 26px;display:flex}.brand{color:var(--text-h);letter-spacing:-.02em;align-items:center;gap:12px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:linear-gradient(140deg, var(--accent), var(--accent-strong));color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:800;display:grid;box-shadow:0 10px 24px #2f6fe642}.topbar-actions{align-items:center;gap:12px;display:flex}.nav-link,.nav-button,.button{text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}.nav-link{color:var(--text);font-size:.94rem;font-weight:600}.button,.nav-button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;padding:11px 16px;font-weight:700;line-height:1.2;display:inline-flex}.button-block{width:100%}.button-primary,.nav-button{background:linear-gradient(145deg, var(--accent), var(--accent-strong));color:#fff;box-shadow:0 12px 28px #2f6fe63d}.button-secondary{color:var(--text-h);border-color:var(--border);background:#ffffff09}.button:hover,.nav-button:hover,.nav-link:hover{transform:translateY(-1px)}.button-primary:hover,.nav-button:hover{box-shadow:0 14px 30px #2f6fe64d}.button:disabled,.button[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.hero-section{grid-template-columns:1.1fr .9fr;align-items:center;gap:36px;padding:38px 0 0;display:grid}.eyebrow{color:#aac9ff;text-transform:uppercase;letter-spacing:.14em;background:#4f8cff24;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:7px 11px;font-size:.76rem;font-weight:700;display:inline-flex}.hero-copy h1{color:var(--text-h);letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(2.35rem,5vw,4.05rem);line-height:.98}.hero-copy h1 span{color:#8bb6ff}.subtitle{max-width:620px;color:var(--muted);margin-bottom:24px;font-size:1.03rem;line-height:1.78}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.site-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:42px;padding-top:18px;display:flex}.site-footer-copy{margin:0;font-size:.92rem}.site-footer-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.site-footer-links a{color:var(--text);font-weight:600;text-decoration:none}.site-footer-links a:hover{color:var(--text-h)}.hero-card{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff0e,#ffffff05);border-radius:20px;padding:22px;box-shadow:0 20px 44px #020c1a52}.card-header{color:var(--muted);align-items:center;gap:8px;margin-bottom:11px;font-size:.93rem;display:flex}.status-dot{background:#34d399;border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 5px #34d39924}.card-value{color:var(--text-h);letter-spacing:-.02em;margin-bottom:14px;font-size:2.1rem;font-weight:800}.card-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.card-meta div{background:#ffffff0b;border:1px solid #bfd3ee1a;border-radius:14px;padding:12px}.card-meta strong{color:var(--text-h);margin-bottom:4px;font-size:1.06rem;display:block}.card-meta span{color:var(--muted);font-size:.88rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=960px){.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{border-right:0;border-bottom:1px solid var(--border);gap:8px;padding:12px;display:flex}.sidebar-link{margin-bottom:0}.renewal-groups,.renewal-skeleton-grid,.overview-content,.overview-skeleton-grid,.hero-section{grid-template-columns:1fr}.hero-card{max-width:500px}}@media (width<=760px){.dashboard-content{padding:18px}.dashboard-topbar{padding:14px 16px}.dashboard-header-row{flex-direction:column;align-items:flex-start}.header-actions,.header-actions .button{width:100%}.stats-grid{grid-template-columns:1fr}.content-card,.modal-card{padding:18px}.modal-actions{flex-direction:column}.modal-actions .button{width:100%}.billing-summary{grid-template-columns:1fr}.billing-actions,.billing-links{flex-direction:column}.billing-actions .button,.billing-links .button{width:100%}.overview-renewal-item{grid-template-columns:1fr;gap:4px}}@media (width<=640px){.app-shell{width:min(100% - 22px,100%);padding-top:20px}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar-actions{justify-content:flex-start;width:100%}.hero-section{padding-top:16px}.card-meta{grid-template-columns:1fr}.auth-card{padding:22px}.settings-card{padding:20px}.site-footer{align-items:flex-start}}
