@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700;9..144,800&family=Work+Sans:wght@400;500;600;700&display=swap";.theme-toggle{display:inline-flex;align-items:center;gap:2px;background:var(--surface2);border:1px solid var(--border-soft);border-radius:99px;padding:3px}.theme-toggle button{border:none;background:none;padding:6px 12px;border-radius:99px;font-size:12px;font-weight:600;color:var(--text-sub);cursor:pointer;font-family:var(--font-body);transition:background-color .15s,color .15s}.theme-toggle button.active{background:var(--accent);color:#fff8f4}.theme-toggle button:hover:not(.active){color:var(--text)}@media(max-width:480px){.theme-toggle-label{display:none}.theme-toggle button{padding:7px 9px}}.landing{background:var(--bg);color:var(--text);overflow-x:hidden}.landing-nav{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;row-gap:10px;align-items:center;justify-content:space-between;padding:16px 40px;background:var(--surface);border-bottom:1px solid var(--border)}.landing-nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:15px;white-space:nowrap}.landing-nav-logo{width:32px;height:32px;background:var(--accent);color:#fff8f4;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.landing-nav-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px}.landing-hero{position:relative;padding:80px 40px;background:radial-gradient(ellipse 55% 65% at 88% 12%,var(--accent-dim),transparent 65%),radial-gradient(ellipse 45% 45% at 8% 95%,var(--blue-dim),transparent 60%),var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;overflow:hidden}.landing-skyline{position:absolute;inset:0;width:100%;height:100%;color:var(--text);opacity:.06;pointer-events:none;transform:translate(calc(var(--px, 0) * -10px),calc(var(--py, 0) * -6px));transition:transform .2s ease-out}@media(prefers-reduced-motion:reduce){.landing-skyline{transform:none}}:root[data-theme=dark] .landing-skyline{opacity:.09}:root[data-theme=light] .landing-skyline{opacity:.06}.landing-skyline-drift{animation:landing-skyline-drift 60s ease-in-out infinite;transform-origin:50% 100%}@keyframes landing-skyline-drift{0%,to{transform:translate(0)}50%{transform:translate(-1%)}}.landing-skyline-flicker{animation:landing-skyline-flicker 6s ease-in-out infinite}@keyframes landing-skyline-flicker{0%,to{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.landing-skyline-drift,.landing-skyline-flicker{animation:none}}.landing-hero-content{position:relative;z-index:1;max-width:520px}.landing-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent)}.landing-hero-content h1{font-family:var(--font-display);font-size:44px;font-weight:600;line-height:1.12;margin:14px 0 18px;letter-spacing:-.5px;color:var(--text);text-wrap:balance}.landing-hero-content p{font-size:15px;line-height:1.7;color:var(--text-sub);margin-bottom:28px}.landing-hero-actions{display:flex;gap:14px;margin-bottom:28px;flex-wrap:wrap}.landing-hero-trust{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:var(--text-sub)}.landing-hero-trust span{display:flex;align-items:center;gap:6px}.landing-hero-trust svg{color:var(--green)}.landing-hero-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:400px}.landing-parallax-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform:translate(calc(var(--px, 0) * 22px),calc(var(--py, 0) * 22px));transition:transform .15s ease-out}.landing-shot{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--border-soft);box-shadow:0 24px 60px #00000030;transition:box-shadow .2s ease,filter .2s ease}.landing-shot:hover{box-shadow:0 28px 70px #00000045;filter:brightness(1.04)}.landing-shot-main{max-width:480px;transform:rotate(-2deg)}.landing-shot-accent{position:absolute;width:220px;bottom:-32px;left:-16px;transform:rotate(4deg);box-shadow:0 18px 44px #00000040}.landing-shot-house{position:absolute;width:150px;top:-28px;left:10px;transform:rotate(-7deg);box-shadow:0 16px 36px #00000040;z-index:1}.landing-shot-main.landing-float{animation:landing-float-main 5s ease-in-out infinite}@keyframes landing-float-main{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-9px)}}.landing-shot-accent.landing-float{animation:landing-float-accent 5s ease-in-out infinite;animation-delay:1.4s}@keyframes landing-float-accent{0%,to{transform:rotate(4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-9px)}}.landing-shot-house.landing-float{animation:landing-float-house 5s ease-in-out infinite;animation-delay:.7s}@keyframes landing-float-house{0%,to{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-9px)}}@media(prefers-reduced-motion:reduce){.landing-shot-main.landing-float,.landing-shot-accent.landing-float,.landing-shot-house.landing-float{animation:none}.landing-parallax-wrap{transform:none}}@media(max-width:900px){.landing-hero{grid-template-columns:1fr;padding:56px 20px;gap:40px}.landing-hero-content{max-width:100%}.landing-hero-visual{min-height:320px;margin-top:32px}.landing-shot-accent{width:160px;left:6px;bottom:-22px}.landing-shot-house{width:110px;top:-18px;left:-4px}}.landing-section-header{max-width:640px;margin:0 auto 40px;text-align:center}.landing-section-header h2{font-family:var(--font-display);font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:-.3px}.landing-section-header p{color:var(--text-sub);font-size:14px}.landing-features{padding:80px 40px;background:linear-gradient(180deg,var(--surface2) 0%,var(--bg) 100%)}.landing-feature-list{display:flex;flex-direction:column;gap:56px;max-width:1000px;margin:0 auto}.landing-feature{display:flex;align-items:center;gap:40px}.landing-feature.reverse{flex-direction:row-reverse}.landing-feature-icon{flex-shrink:0;width:76px;height:76px;border-radius:20px;background:linear-gradient(135deg,var(--accent-dim),var(--blue-dim));color:var(--accent);display:flex;align-items:center;justify-content:center}.landing-feature-text h3{font-family:var(--font-display);font-size:19px;font-weight:700;margin-bottom:8px}.landing-feature-text p{color:var(--text-sub);font-size:14px;line-height:1.7;max-width:460px}@media(max-width:700px){.landing-feature,.landing-feature.reverse{flex-direction:column;align-items:flex-start;text-align:left;gap:16px}}.landing-steps{position:relative;overflow:hidden;padding:60px 40px 80px;background:radial-gradient(ellipse 50% 60% at 90% 100%,var(--accent-dim),transparent 65%),var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1000px;margin:0 auto;position:relative;z-index:1}.landing-step{text-align:center}.landing-step-num{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff8f4;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:16px;margin:0 auto 16px}.landing-step h3{font-size:15px;font-weight:700;margin-bottom:6px}.landing-step p{color:var(--text-sub);font-size:13px;line-height:1.6}@media(max-width:700px){.landing-steps-list{grid-template-columns:1fr;gap:36px}}.landing-pricing{padding:80px 40px;display:flex;justify-content:center;background:linear-gradient(180deg,var(--bg) 0%,var(--surface2) 100%)}.landing-pricing-card{max-width:420px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow)}.landing-pricing-amount{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-size:38px;font-weight:800;color:var(--accent);background:var(--accent-dim);padding:8px 20px;border-radius:99px;margin-bottom:18px}.landing-pricing-amount span{font-size:13px;font-weight:600;color:var(--text-sub)}.landing-pricing-card p{color:var(--text-sub);font-size:13px;line-height:1.7;margin-bottom:22px}.whatsapp-floating{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #00000040;z-index:50;transition:transform .15s ease}.whatsapp-floating:hover{transform:scale(1.08)}.landing-contact{padding:80px 40px;display:flex;flex-direction:column;align-items:center}.landing-contact-form{max-width:480px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow)}.landing-contact-form textarea{resize:vertical}.landing-contact-thanks{max-width:480px;width:100%;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px;box-shadow:var(--shadow);color:var(--accent)}.landing-contact-thanks p{color:var(--text);font-size:14px;line-height:1.6;margin-top:12px}.landing-footer{display:flex;align-items:center;justify-content:space-between;padding:24px 40px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px}.landing-footer-brand{display:flex;align-items:center;gap:8px}.landing-footer-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px}@media(max-width:700px){.landing-nav{padding:14px 20px}.landing-nav-actions{gap:8px}.landing-features,.landing-pricing,.landing-contact{padding:56px 20px}.whatsapp-floating{bottom:16px;right:16px;width:50px;height:50px}.landing-footer{padding:20px;flex-direction:column;gap:10px;text-align:center}}.install-banner{position:sticky;top:0;z-index:300;background:var(--accent);color:#fff8f4}.install-banner-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;font-size:13px;flex-wrap:wrap}.install-banner-text{display:flex;align-items:center;gap:4px}.install-banner-btn{display:flex;align-items:center;gap:6px;background:#fff8f4;color:var(--accent);border:none;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer}.install-banner-close{background:none;border:none;color:#fff8f4;opacity:.8;cursor:pointer;display:flex;align-items:center}.install-banner-close:hover{opacity:1}.expiry-banner-wrap{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.expiry-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius);border:1px solid;animation:slideDown .25s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.expiry-alert.warning{background:#f39c1215;border-color:#f39c1235}.expiry-alert.danger{background:#e74c3c15;border-color:#e74c3c35}.expiry-alert-icon{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}.expiry-alert-body{flex:1;font-size:13px;color:var(--text);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.expiry-alert-body strong{color:var(--text);font-weight:700}.expiry-alert-date{font-size:12px;color:var(--text-sub);margin-left:4px}.expiry-alert-date b{color:var(--orange);font-weight:600}.expiry-alert.danger .expiry-alert-date b{color:var(--red)}.expiry-alert-close{width:24px;height:24px;border-radius:6px;border:1px solid var(--border-soft);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.expiry-alert-actions{display:flex;gap:8px;align-items:center}.expiry-alert-review{border:1px solid var(--border-soft);background:var(--surface);color:var(--text);border-radius:8px;font-size:12px;padding:6px 10px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.expiry-alert-review:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.expiry-alert-close:hover{background:var(--red-dim);color:var(--red);border-color:#e74c3c30}.np-overlay{position:fixed;inset:0;background:#00000060;z-index:200;display:flex;justify-content:flex-end;animation:npFade .15s ease}@keyframes npFade{0%{opacity:0}to{opacity:1}}.np-panel{width:360px;height:100vh;background:var(--surface);border-left:1px solid var(--border-soft);display:flex;flex-direction:column;box-shadow:-8px 0 40px #00000040;animation:npSlide .2s ease}@keyframes npSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.np-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border);flex-shrink:0}.np-header-left{display:flex;align-items:center;gap:10px}.np-icon{font-size:18px}.np-header h2{font-size:15px;font-weight:800;color:var(--text)}.np-count{background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:99px;min-width:20px;text-align:center}.np-close{width:30px;height:30px;border-radius:7px;border:1px solid var(--border);background:var(--surface2);color:var(--text-sub);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.np-close:hover{background:var(--red-dim);color:var(--red)}.np-body{flex:1;overflow-y:auto;padding:8px 0}.np-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.np-empty-icon{font-size:36px;margin-bottom:12px}.np-empty p{font-size:13px}.np-item{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.np-item:hover{background:var(--surface2)}.np-item:last-child{border-bottom:none}.np-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.np-dot.red{background:var(--red);box-shadow:0 0 6px var(--red)}.np-dot.orange{background:var(--orange);box-shadow:0 0 6px var(--orange)}.np-dot.gray{background:var(--text-muted)}.np-item-body{flex:1;min-width:0}.np-item-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-item-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.np-item-date{font-size:11px;color:var(--text-sub);margin-top:3px}.np-item-date strong{color:var(--text)}.np-item-days{font-size:12px;font-weight:800;font-family:var(--font-display);white-space:nowrap;flex-shrink:0}.np-footer{padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}.np-footer p{font-size:11px;color:var(--text-muted);line-height:1.6;text-align:center}.np-footer strong{color:var(--text-sub)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;min-width:260px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;z-index:10}.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-logo .logo-icon{width:40px;height:40px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;flex-shrink:0}.sidebar-logo h2{font-size:15px;font-weight:800;color:var(--text);line-height:1.2;white-space:nowrap}.sidebar-logo span{font-size:11px;color:var(--accent);font-weight:500;letter-spacing:.5px;white-space:nowrap}.sidebar-nav{padding:16px 12px;display:flex;flex-direction:column;gap:2px;flex:1}.nav-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);padding:12px 8px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--text-sub);font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left}.nav-link:hover{background:var(--surface2);color:var(--text)}.nav-link.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.nav-link .nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border)}.sidebar-footer p{font-size:11px;color:var(--text-muted);text-align:center}.main-content{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;z-index:2;height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:8px}.topbar-left .breadcrumb{font-size:13px;color:var(--text-sub)}.topbar-left .breadcrumb span{color:var(--text);font-weight:600}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-right .date-tag{font-size:12px;color:var(--text-muted)}.admin-avatar{width:32px;height:32px;background:var(--accent-dim);border:1.5px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--accent);font-family:var(--font-display);cursor:pointer;transition:background-color .15s ease,transform .15s ease}.admin-avatar:hover{background:var(--accent-hover);color:#fff8f4}.admin-avatar:active{transform:scale(.94)}.profile-menu-overlay{position:fixed;inset:0;z-index:200}.profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:201;width:220px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;animation:profileMenuIn .15s ease}@keyframes profileMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{padding:14px 16px;border-bottom:1px solid var(--border)}.profile-menu-name{font-size:13px;font-weight:700;color:var(--text);font-family:var(--font-display)}.profile-menu-email{font-size:11px;color:var(--text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:none;border:none;cursor:pointer;text-align:left;font-size:13px;font-family:var(--font-body);color:var(--text-sub);transition:background-color .15s ease,color .15s ease}.profile-menu-item:hover{background:var(--surface2);color:var(--text)}.profile-menu-item.danger:hover{background:var(--red-dim);color:var(--red)}.page-transition{animation:pageTransitionIn .25s ease}@keyframes pageTransitionIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.page-transition,.profile-menu{animation:none}}.page-body{position:relative;z-index:1;flex:1;overflow-y:auto;padding:28px}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:var(--radius);border:1px solid #e74c3c25;background:var(--red-dim);color:var(--red);font-size:13px;font-weight:600;cursor:pointer;margin-bottom:10px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;font-family:var(--font-body)}.logout-btn:hover{background:var(--red);color:#fff;border-color:var(--red)}.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:800;padding:1px 6px;border-radius:99px;min-width:18px;text-align:center}.topbar-alert{display:flex;align-items:center;gap:6px;background:var(--orange-dim);border:1px solid #f39c1230;color:var(--orange);padding:5px 12px;border-radius:99px;font-size:12px;font-weight:600;cursor:default;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.topbar-bell{position:relative;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.topbar-bell:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.topbar-bell.has-alerts{border-color:var(--orange);animation:pulse 2s infinite}.bell-badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;font-size:9px;font-weight:800;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--bg)}.hamburger-btn{display:none;width:34px;height:34px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface2);color:var(--text);font-size:16px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.hamburger-btn:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.sidebar-backdrop{display:none}@media(max-width:900px){.hamburger-btn{display:flex}.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);transition:transform .2s ease;z-index:100;box-shadow:0 0 0 100vmax transparent}.sidebar.open{transform:translate(0);box-shadow:var(--shadow)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:90}.topbar{padding:0 16px;gap:10px}.topbar-left .breadcrumb{display:none}.topbar-right{gap:10px}.topbar-right .date-tag{display:none}.page-body{padding:16px}}.page-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;color:var(--accent);opacity:.18;mask-image:linear-gradient(to left,black 0%,black 40%,transparent 88%);-webkit-mask-image:linear-gradient(to left,black 0%,black 40%,transparent 88%)}@media(prefers-color-scheme:dark){.page-backdrop{opacity:.26}}:root[data-theme=dark] .page-backdrop{opacity:.26}:root[data-theme=light] .page-backdrop{opacity:.18}.page-backdrop svg{position:absolute;inset:0;width:100%;height:100%}.page-backdrop-drift{animation:page-backdrop-drift 50s ease-in-out infinite;transform-origin:50% 100%}@keyframes page-backdrop-drift{0%,to{transform:translate(0)}50%{transform:translate(-1.2%)}}.page-backdrop-flicker{animation:page-backdrop-flicker 6s ease-in-out infinite}@keyframes page-backdrop-flicker{0%,to{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.page-backdrop-drift,.page-backdrop-flicker{animation:none}}:root{--bg: #f1ece3;--surface: #ffffff;--surface2: #e9e1d3;--border: #00000012;--border-soft: #0000001f;--accent: #b5573a;--accent-light: #c96a4c;--accent-dim: #b5573a1a;--accent-hover: #a34a30;--green: #3f7d5c;--green-dim: #3f7d5c1a;--red: #c1443a;--red-dim: #c1443a1a;--orange: #c98a34;--orange-dim: #c98a341f;--blue: #3a6ea5;--blue-dim: #3a6ea51a;--text: #2b2620;--text-sub: #6b6255;--text-muted: #948b7c;--radius: 12px;--radius-lg: 20px;--shadow: 0 4px 24px #2b262018;--shadow-gold: 0 4px 20px #b5573a26;--font-display: "Fraunces", Georgia, serif;--font-body: "Work Sans", -apple-system, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #1c1712;--surface: #241d17;--surface2: #2f2620;--border: #ffffff10;--border-soft: #ffffff1c;--accent: #e08361;--accent-light: #eb9b7d;--accent-dim: #e083612a;--accent-hover: #ec9573;--green: #5cb98a;--green-dim: #5cb98a22;--red: #e2685a;--red-dim: #e2685a22;--orange: #e0a94f;--orange-dim: #e0a94f22;--blue: #6ea3d8;--blue-dim: #6ea3d822;--text: #f3ece2;--text-sub: #a89a89;--text-muted: #786c5d;--shadow: 0 4px 24px #05030180;--shadow-gold: 0 4px 20px #e0836140;color-scheme:dark}}:root[data-theme=dark]{--bg: #1c1712;--surface: #241d17;--surface2: #2f2620;--border: #ffffff10;--border-soft: #ffffff1c;--accent: #e08361;--accent-light: #eb9b7d;--accent-dim: #e083612a;--accent-hover: #ec9573;--green: #5cb98a;--green-dim: #5cb98a22;--red: #e2685a;--red-dim: #e2685a22;--orange: #e0a94f;--orange-dim: #e0a94f22;--blue: #6ea3d8;--blue-dim: #6ea3d822;--text: #f3ece2;--text-sub: #a89a89;--text-muted: #786c5d;--shadow: 0 4px 24px #05030180;--shadow-gold: 0 4px 20px #e0836140;color-scheme:dark}:root[data-theme=light]{--bg: #f1ece3;--surface: #ffffff;--surface2: #e9e1d3;--border: #00000012;--border-soft: #0000001f;--accent: #b5573a;--accent-light: #c96a4c;--accent-dim: #b5573a1a;--accent-hover: #a34a30;--green: #3f7d5c;--green-dim: #3f7d5c1a;--red: #c1443a;--red-dim: #c1443a1a;--orange: #c98a34;--orange-dim: #c98a341f;--blue: #3a6ea5;--blue-dim: #3a6ea51a;--text: #2b2620;--text-sub: #6b6255;--text-muted: #948b7c;--shadow: 0 4px 24px #2b262018;--shadow-gold: 0 4px 20px #b5573a26;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2}input,select,textarea,button{font-family:var(--font-body);font-size:14px}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}.page-header{margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.5px}.page-header p{color:var(--text-sub);margin-top:4px;font-size:14px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.paid{background:var(--green-dim);color:var(--green)}.badge.unpaid{background:var(--red-dim);color:var(--red)}.badge.partial,.badge.expiring{background:var(--orange-dim);color:var(--orange)}.badge.expired{background:var(--red-dim);color:var(--red)}.badge.active{background:var(--green-dim);color:var(--green)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-weight:600;font-size:13px;cursor:pointer;border:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .1s ease;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff8f4}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-gold)}.btn-ghost{background:transparent;color:var(--text-sub);border:1px solid var(--border-soft)}.btn-ghost:hover{background:var(--surface2);color:var(--text)}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid #c1443a30}.btn-danger:hover{background:var(--red);color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:10px 16px;border-bottom:1px solid var(--border)}tbody td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface2)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{background:var(--surface2);border:1px solid var(--border-soft);color:var(--text);padding:10px 14px;border-radius:var(--radius);transition:border-color .2s;width:100%}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{border-color:var(--accent-light)}.form-group select option{background:var(--surface2)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state .icon{font-size:40px;margin-bottom:12px;display:inline-flex}.empty-state p{font-size:14px}.app-loading{height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-sub);font-size:14px}.app-loading-stuck{flex-direction:column;gap:20px;text-align:center;padding:20px}.stagger-in{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--stagger-i, 0) * 45ms)}.mounted .stagger-in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.stagger-in{transition-duration:.01ms;transition-delay:0ms}}.stagger-fade{opacity:0;transition:opacity .5s ease;transition-delay:calc(var(--stagger-i, 0) * 45ms)}.mounted .stagger-fade{opacity:1}@media(prefers-reduced-motion:reduce){.stagger-fade{transition-duration:.01ms;transition-delay:0ms}}
