:root{--bg: #0a0a0f;--surface: #14121c;--surface-2: #1c1926;--border: #2a2536;--text: #ede9f5;--muted: #9d95b3;--accent: #9855ef;--accent-dim: #2e1a52;--accent-strong: #c4a6ff;--accent-fg: #ffffff;--warn: #facc15;--danger: #f87171;--card-bg: var(--surface);--accent-bg: color-mix(in srgb, var(--accent) 12%, transparent);--success: #34d399;--success-bg: color-mix(in srgb, var(--success) 14%, transparent);--warning: var(--warn);--warning-bg: color-mix(in srgb, var(--warning) 14%, transparent);--fg: var(--text);--radius: 12px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--color-header-navy: #082b45;--color-header-navy-deep: #061f33;--color-hero-blue: #0759c8;--color-hero-blue-light: #0b83f6;--color-hero-blue-gradient: linear-gradient(135deg, #0759c8 0%, #0b83f6 100%);--color-hero-purple-gradient: linear-gradient(135deg, #3b0a78 0%, #6d16b8 55%, #8b31d9 100%);--color-primary-purple: #6d16b8;--color-primary-purple-light: #7b1fc4;--color-surface: #ffffff;--color-background: #f6f8fb;--color-surface-light: #ffffff;--color-background-light: #f6f8fb;--color-border-light: #e6ebf2;--color-text-light: #16233a;--color-muted-light: #5b6b84;--color-calculator-accent: #7b1fc4;--color-calculator-accent-strong: #6d16b8}@media(prefers-color-scheme:light){:root{--bg: #f8f6fc;--surface: #ffffff;--surface-2: #f2eefa;--border: #e3daf5;--text: #1a1424;--muted: #6b6180;--accent: #7c3aed;--accent-dim: #ede4fd;--accent-strong: #6d28d9;--accent-fg: #ffffff;--warn: #a16207;--danger: #b91c1c;--card-bg: var(--surface);--accent-bg: color-mix(in srgb, var(--accent) 12%, transparent);--success: #059669;--success-bg: color-mix(in srgb, var(--success) 16%, transparent);--warning: var(--warn);--warning-bg: color-mix(in srgb, var(--warning) 14%, transparent);--fg: var(--text)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:1080px;margin:0 auto;padding:24px 20px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border-radius:10px;object-fit:cover;flex:none}.brand h1{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em}.brand-sub{margin:0;font-size:12.5px;color:var(--muted)}.env-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12.5px;color:var(--muted);font-family:var(--mono)}.env-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.env-pill[data-state=healthy] .dot{background:var(--accent)}.env-pill[data-state=degraded] .dot{background:var(--danger)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-label{margin:0 0 6px;font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{margin:0;font-size:24px;font-weight:620;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.stat-card[data-tone=good] .stat-value{color:var(--accent)}.stat-card[data-tone=warn] .stat-value{color:var(--warn)}.stat-hint{margin:6px 0 0;font-size:12.5px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.panel h2{margin:0 0 14px;font-size:15px;font-weight:600}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.panel-head h2{margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters input,.filters select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:13.5px;padding:7px 10px;min-width:150px}.filters input:focus-visible,.filters select:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{text-align:left;font-weight:550;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}.mono{font-family:var(--mono);font-size:12.5px;white-space:nowrap}.table-foot{margin:10px 0 0;font-size:12.5px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:550;text-transform:capitalize;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.badge[data-status=active],.badge[data-status=disbursed],.badge[data-status=repaid]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge[data-status=pending],.badge[data-status=requested],.badge[data-status=approved]{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.badge[data-status=suspended],.badge[data-status=defaulted],.badge[data-status=rejected]{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.bars{list-style:none;margin:0;padding:0;display:grid;gap:12px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;margin-bottom:5px}.bar-track{height:7px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:999px}.muted{color:var(--muted);font-size:13.5px}.alert{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;font-size:13.5px}.alert-hint{margin:6px 0 0;color:var(--muted)}code{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:16px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}.footer a,.footer .terms-link{color:var(--muted);font-family:var(--mono);font-size:inherit}.footer a:hover,.footer .terms-link:hover{color:var(--accent)}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logo-in{0%{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.login-card{animation:card-in .45s cubic-bezier(.16,1,.3,1) both;width:100%;max-width:380px;display:flex;flex-direction:column;gap:8px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #00000014}.login-card h1{text-align:center;margin:12px 0 0;font-size:1.4rem}.login-card .muted{text-align:center;margin:0 0 12px;font-size:.9rem}.login-card label{margin-top:8px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.login-card input{padding:11px 13px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:9px}.login-card input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.btn-primary{margin-top:18px;padding:11px 16px;font:inherit;font-weight:600;color:var(--accent-fg);background:var(--accent);border:0;border-radius:9px;cursor:pointer}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-ghost{padding:7px 13px;font:inherit;font-size:.85rem;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.login-error{margin:12px 0 0;padding:9px 12px;font-size:.87rem;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:8px}.login-hint{margin:16px 0 0;font-size:.8rem;text-align:center;color:var(--muted)}.topbar-right{display:flex;gap:10px;align-items:center}.who{display:flex;align-items:center;gap:.5rem;min-width:0}.who-name{font-size:.875rem;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12rem}.role-tag{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.175rem .45rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface-2);white-space:nowrap}.role-tag[data-role=admin],.role-tag[data-role=treasurer]{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}@media(max-width:640px){.who-name{display:none}.app{padding:16px 12px 48px}.topbar{gap:10px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.login-card{padding:24px 20px}}.landing-site{background:var(--color-background-light);color:var(--color-text-light);min-height:100dvh;display:flex;flex-direction:column}.landing-header{position:sticky;top:0;z-index:40;background:var(--color-header-navy);color:#fff;box-shadow:0 1px #ffffff0f,0 8px 24px #04142640}.landing-header-inner{max-width:1160px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-brand{display:flex;align-items:center;gap:12px}.landing-brand .brand-mark{width:40px;height:40px;border-radius:11px}.landing-brand-name{font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.landing-brand-sub{font-size:12px;color:#ffffff9e;margin:2px 0 0}.landing-nav-actions{display:flex;align-items:center;gap:10px}.hero{position:relative;overflow:hidden;background:var(--color-hero-purple-gradient);color:#fff}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 30% 20%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 90% 80% at 30% 20%,#000 40%,transparent 100%);pointer-events:none}.hero-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}.hero-glow-a{width:420px;height:420px;top:-160px;right:-80px;background:radial-gradient(circle,rgb(255 255 255 / .5),transparent 65%)}.hero-glow-b{width:360px;height:360px;bottom:-180px;left:-60px;background:radial-gradient(circle,rgb(59 10 120 / .9),transparent 65%)}.hero-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:88px 24px 96px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:6px 14px;border:1px solid rgb(255 255 255 / .28);border-radius:999px;background:#ffffff1a;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.hero-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#e9d5ff;box-shadow:0 0 0 4px #e9d5ff40}.hero h1{margin:0 0 18px;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-.025em;font-weight:750;max-width:15ch}.hero h1 .hero-accent{background:linear-gradient(100deg,#cfe9ff,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:0 0 30px;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.65;color:#ffffffdb;max-width:46ch}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-hero{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;font:inherit;font-size:15px;font-weight:650;border-radius:12px;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn-hero:hover{transform:translateY(-2px)}.btn-hero-primary{color:#3b0a78;background:#fff;box-shadow:0 10px 26px #03183359}.btn-hero-primary:hover{filter:brightness(.98);box-shadow:0 14px 32px #03183366}.btn-hero-ghost{color:#fff;background:#ffffff1f;border:1px solid rgb(255 255 255 / .35)}.btn-hero-ghost:hover{background:#fff3}.hero-visual{position:relative;min-height:320px;display:grid;place-items:center}.hero-card{width:100%;max-width:380px;background:#fffffff7;color:var(--color-text-light);border-radius:20px;padding:22px;box-shadow:0 24px 60px #03183373;animation:hero-card-float 6s ease-in-out infinite}@keyframes hero-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.hero-card-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-light)}.hero-card-badge{font-size:11px;font-weight:700;color:var(--color-primary-purple);background:color-mix(in srgb,var(--color-primary-purple) 12%,transparent);padding:4px 10px;border-radius:999px}.hero-card-balance{font-size:30px;font-weight:750;letter-spacing:-.02em;color:var(--color-text-light);margin-bottom:16px}.hero-chart{width:100%;height:96px;display:block}.hero-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.hero-card-stat .label{font-size:11px;color:var(--color-muted-light)}.hero-card-stat .value{font-size:15px;font-weight:650;margin-top:2px}.hero-card-stat .value.good{color:#0a7a45}.hero-mini{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fffffff7;color:var(--color-text-light);border-radius:14px;box-shadow:0 14px 34px #03183359}.hero-mini .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px}.hero-mini .lbl{font-size:11px;color:var(--color-muted-light)}.hero-mini .val{font-size:14px;font-weight:700}.hero-mini-a{top:6%;left:-4%}.hero-mini-b{bottom:4%;right:-4%}@media(max-width:900px){.hero-inner{grid-template-columns:1fr;padding:56px 20px 64px;gap:40px}.hero-mini-a{left:2%}.hero-mini-b{right:2%}.hero-visual{min-height:280px}}@media(max-width:480px){.hero-inner{padding:44px 18px 52px}.hero-actions{flex-direction:column;align-items:stretch}.btn-hero{justify-content:center}.hero-mini{padding:10px 12px}.hero-mini .lbl{display:none}}.landing-main{flex:1}.landing-section{max-width:1160px;margin:0 auto;padding:72px 24px}.landing-section-narrow{max-width:1160px}.landing-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:0 24px;margin:-34px auto 0;position:relative;z-index:2}.landing-trust-card{background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:18px;padding:20px;box-shadow:0 12px 28px #12203814}.landing-trust-card .t-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:18px;margin-bottom:12px;background:color-mix(in srgb,var(--color-hero-blue) 10%,transparent)}.landing-trust-card h3{margin:0 0 6px;font-size:15px;color:var(--color-text-light)}.landing-trust-card p{margin:0;font-size:13.5px;color:var(--color-muted-light);line-height:1.55}.landing-section-title{margin:0 0 10px;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;color:var(--color-text-light);font-weight:750}.landing-section-sub{margin:0;font-size:16px;color:var(--color-muted-light);max-width:60ch}.landing-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:32px}.landing-feature{background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:18px;padding:22px}.landing-feature .f-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;margin-bottom:14px;background:color-mix(in srgb,var(--color-primary-purple) 10%,transparent)}.landing-feature h3{margin:0 0 6px;font-size:16px;color:var(--color-text-light)}.landing-feature p{margin:0;font-size:13.5px;color:var(--color-muted-light);line-height:1.55}.landing-cta-band{background:var(--color-header-navy);color:#fff}.landing-cta-inner{max-width:1160px;margin:0 auto;padding:64px 24px;text-align:center}.landing-cta-inner h2{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em}.landing-cta-inner p{margin:0 auto 26px;max-width:52ch;color:#fffc;font-size:15.5px}.landing-footer{background:var(--color-header-navy-deep);color:#ffffffb8;padding:40px 24px 28px}.landing-footer-inner{max-width:1160px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;font-size:13px}.landing-footer .footer-links{display:flex;gap:18px}.landing-footer .terms-link{color:#ffffffb8;font-family:inherit}.landing-footer .terms-link:hover{color:#fff}.savings-calculator{background:var(--color-background-light);padding:72px 24px}.calculator-heading{max-width:1160px;margin:0 auto 28px;text-align:center}.calculator-heading .hero-kicker{display:inline-block;margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-calculator-accent-strong)}.calculator-heading h2{margin:0 0 10px;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;color:var(--color-text-light);font-weight:750}.calculator-heading>p{margin:0 auto;max-width:58ch;font-size:15.5px;color:var(--color-muted-light)}.calculator-layout{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}.calculator-controls,.calculator-result{background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:26px;box-shadow:0 22px 50px #1220381a;padding:28px}.calculator-controls{display:flex;flex-direction:column;gap:28px}.slider-control{display:flex;flex-direction:column;gap:12px}.slider-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.slider-label-row label{font-size:13px;font-weight:650;color:var(--color-text-light)}.slider-label-row output{font-size:20px;font-weight:750;letter-spacing:-.01em;color:var(--color-calculator-accent-strong);font-variant-numeric:tabular-nums}.slider-control input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:linear-gradient(to right,var(--color-calculator-accent) 0%,var(--color-calculator-accent) var(--fill, 50%),#e3e8f0 var(--fill, 50%),#e3e8f0 100%);outline:none;cursor:pointer}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--color-calculator-accent);border:3px solid #fff;box-shadow:0 3px 10px #6d16b873;transition:transform .12s ease,box-shadow .12s ease}.slider-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}.slider-control input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-calculator-accent);border:3px solid #fff;box-shadow:0 3px 10px #6d16b873}.slider-control input[type=range]:focus-visible{outline:2px solid var(--color-calculator-accent);outline-offset:4px}.slider-control input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:#e3e8f0}.slider-endpoints{display:flex;justify-content:space-between;font-size:12.5px;color:var(--color-muted-light);font-variant-numeric:tabular-nums}.calculator-security{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--color-primary-purple) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-primary-purple) 16%,transparent)}.security-mark{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;background:color-mix(in srgb,var(--color-primary-purple) 12%,transparent)}.calculator-security p{margin:0;font-size:13px;line-height:1.55;color:var(--color-muted-light)}.calculator-result{display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:left;position:relative;overflow:hidden}.calculator-result:before{content:"";position:absolute;width:240px;height:240px;top:-110px;right:-110px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary-purple) 18%,transparent),transparent 70%);pointer-events:none}.result-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-calculator-accent-strong)}.result-balance{margin:0;font-size:clamp(2rem,4.5vw,2.8rem);font-weight:780;letter-spacing:-.03em;color:var(--color-text-light);font-variant-numeric:tabular-nums;animation:result-pulse .35s cubic-bezier(.16,1,.3,1)}@keyframes result-pulse{0%{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.result-period{margin:0 0 14px;font-size:14px;color:var(--color-muted-light)}.result-breakdown{display:flex;flex-direction:column;gap:10px;margin-top:6px}.result-breakdown>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--color-border-light)}.result-breakdown>div:last-child{border-bottom:none;padding-bottom:0}.result-breakdown span{font-size:13.5px;color:var(--color-muted-light)}.result-breakdown strong{font-size:15px;font-weight:700;color:var(--color-text-light);font-variant-numeric:tabular-nums}.estimate-note{margin:18px 0 0;font-size:12px;color:var(--color-muted-light);line-height:1.5}@media(max-width:900px){.calculator-layout{grid-template-columns:1fr}.savings-calculator{padding:56px 20px}}@media(max-width:480px){.calculator-controls,.calculator-result{padding:22px 18px;border-radius:20px}.savings-calculator{padding:44px 16px}}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:40;background:var(--color-header-navy);color:#fff;box-shadow:0 1px #ffffff0f,0 8px 24px #04142638}.app-header-inner{max-width:1160px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.app-header-left{display:flex;align-items:center;gap:12px;min-width:0}.app-header .brand h1{color:#fff;font-size:18px}.app-header .brand-sub{color:#fff9}.app-header .brand-mark{width:34px;height:34px}.app-header .who-name{color:#ffffffe6}.app-header .role-tag{color:#ffffffd9;border-color:#ffffff4d;background:#ffffff14}.app-header .btn-ghost{color:#ffffffd9;border-color:#ffffff4d}.app-header .btn-ghost:hover{color:#fff;border-color:#fff9}.hamburger{appearance:none;width:42px;height:42px;border-radius:12px;border:1px solid rgb(255 255 255 / .25);background:#ffffff14;color:#fff;cursor:pointer;align-items:center;justify-content:center;flex:none;display:inline-flex;transition:background .15s ease,transform .15s ease}.hamburger:hover{background:#ffffff29}.hamburger:focus-visible{outline:2px solid #9fd3ff;outline-offset:2px}.nav-strip{border-bottom:1px solid var(--border);background:var(--surface)}.nav-strip-inner{max-width:1160px;margin:0 auto;padding:0 20px;display:flex;gap:4px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-strip-inner::-webkit-scrollbar{display:none}.nav-pill{appearance:none;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:14px;padding:11px 13px;cursor:pointer;white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:8px}.nav-pill:hover{color:var(--text)}.nav-pill.active{color:var(--text);border-bottom-color:var(--accent);font-weight:550}.nav-pill .nav-ico{font-size:15px}.nav-more{margin-left:auto;position:relative}.more-trigger{appearance:none;background:none;border:1px solid var(--border);border-radius:999px;color:var(--muted);font:inherit;font-size:13.5px;padding:7px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;margin:6px 0;flex:none}.more-trigger:hover{color:var(--text);border-color:var(--muted)}.more-trigger[aria-expanded=true]{color:var(--accent-strong);border-color:var(--accent)}.more-trigger .caret{font-size:10px;transition:transform .15s ease}.more-trigger[aria-expanded=true] .caret{transform:rotate(180deg)}.more-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 44px #0000004d;padding:8px;z-index:60;animation:card-in .18s cubic-bezier(.16,1,.3,1) both}.more-menu .mm-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 12px 4px}.more-menu button{display:flex;align-items:center;gap:10px;width:100%;appearance:none;background:none;border:none;border-radius:9px;padding:10px 12px;font:inherit;font-size:13.5px;color:var(--fg);cursor:pointer;text-align:left}.more-menu button:hover{background:var(--accent-bg);color:var(--accent-strong)}.more-menu button.active{background:var(--accent-bg);color:var(--accent-strong);font-weight:600}.drawer-backdrop{position:fixed;inset:0;z-index:100;background:#0414268c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .2s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;left:0;bottom:0;z-index:110;width:min(320px,86vw);background:var(--color-surface-light);color:var(--color-text-light);box-shadow:0 24px 70px #04142666;display:flex;flex-direction:column;animation:drawer-in .28s cubic-bezier(.16,1,.3,1) both;overflow:hidden}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 16px 14px;border-bottom:1px solid var(--color-border-light);background:var(--color-header-navy);color:#fff}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand .brand-mark{width:34px;height:34px;border-radius:9px}.drawer-brand-name{font-weight:700;font-size:16px}.drawer-close{appearance:none;background:#ffffff1a;border:1px solid rgb(255 255 255 / .25);color:#fff;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:17px;line-height:1}.drawer-close:hover{background:#fff3}.drawer-user{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--color-border-light)}.drawer-avatar{width:42px;height:42px;border-radius:50%;background:var(--color-hero-blue-gradient);color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px;flex:none}.drawer-user-name{font-weight:650;font-size:15px;color:var(--color-text-light)}.drawer-user-role{font-size:12px;color:var(--color-muted-light);text-transform:capitalize}.drawer-quick{padding:6px 16px 12px;border-bottom:1px solid var(--color-border-light)}.drawer-quick .drawer-group-label{padding:8px 4px}.drawer-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drawer-quick-item{display:flex;align-items:center;gap:8px;appearance:none;background:color-mix(in srgb,var(--color-hero-blue) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-hero-blue) 22%,transparent);border-radius:12px;padding:10px;font:inherit;font-size:13px;font-weight:600;color:var(--color-header-navy);cursor:pointer;text-align:left;transition:background .15s ease,transform .15s ease}.drawer-quick-item .nav-ico{font-size:16px;flex:none}.drawer-quick-item:hover{background:color-mix(in srgb,var(--color-hero-blue) 16%,transparent);transform:translateY(-1px)}.drawer-quick-item:focus-visible{outline:2px solid var(--color-hero-blue);outline-offset:-2px}.drawer-nav{flex:1;overflow-y:auto;padding:8px 0 16px}.drawer-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted-light);padding:16px 20px 6px}.drawer-item{display:flex;align-items:center;gap:13px;width:100%;appearance:none;background:none;border:none;border-radius:12px;margin:2px 10px;padding:12px;font:inherit;font-size:14.5px;font-weight:550;color:var(--color-text-light);cursor:pointer;text-align:left}.drawer-item:hover{background:color-mix(in srgb,var(--color-primary-purple) 8%,transparent)}.drawer-item.active{background:color-mix(in srgb,var(--color-primary-purple) 12%,transparent);color:var(--color-primary-purple-light)}.drawer-item .nav-ico{font-size:18px;width:24px;text-align:center;flex:none}.drawer-item:focus-visible{outline:2px solid var(--color-primary-purple);outline-offset:-2px}.drawer-foot{padding:12px 14px;border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:8px}.drawer-signout{display:flex;align-items:center;gap:10px;justify-content:center;padding:11px;border-radius:12px;border:1px solid var(--color-border-light);background:none;font:inherit;font-size:14px;font-weight:600;color:var(--danger);cursor:pointer}.drawer-signout:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.fab{position:fixed;right:max(18px,calc(env(safe-area-inset-right) + 18px));bottom:calc(18px + env(safe-area-inset-bottom));z-index:90;display:grid;gap:12px;justify-items:end}.fab-item{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 16px;border:none;background:transparent;cursor:pointer;font:inherit;border-radius:999px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.fab.open .fab-item{opacity:1;transform:translateY(0);pointer-events:auto}.fab-item:hover .fab-action{transform:scale(1.06);filter:brightness(1.08)}.fab-item:focus-visible{outline:2px solid var(--color-primary-purple);outline-offset:2px}.fab-item-label{background:var(--color-surface-light);color:var(--color-text-light);border:1px solid var(--color-border-light);box-shadow:0 8px 22px #1220382e;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;white-space:nowrap;max-width:min(58vw,190px);overflow:hidden;text-overflow:ellipsis}.fab-action{appearance:none;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;flex-shrink:0;font-size:18px;color:#fff;background:var(--color-primary-purple);box-shadow:0 8px 20px #6d16b873;transition:transform .15s ease,filter .15s ease}.fab-main{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;color:#fff;background:var(--color-primary-purple-light);box-shadow:0 12px 28px #6d16b880;transition:transform .2s cubic-bezier(.16,1,.3,1),background .15s ease}.fab-main:hover{transform:scale(1.05)}.fab-main:focus-visible{outline:2px solid var(--color-primary-purple);outline-offset:3px}.fab-main .fab-plus{width:24px;height:24px;position:relative;transition:transform .25s cubic-bezier(.16,1,.3,1)}.fab-main .fab-plus:before,.fab-main .fab-plus:after{content:"";position:absolute;inset:50% auto auto 50%;background:#fff;border-radius:2px;transform:translate(-50%,-50%)}.fab-main .fab-plus:before{width:20px;height:2.5px}.fab-main .fab-plus:after{width:2.5px;height:20px}.fab.open .fab-main{background:var(--color-header-navy)}.fab.open .fab-plus{transform:rotate(135deg)}@media(min-width:901px){.fab{display:none}}@media(max-width:900px){.nav-strip{display:none}}@media(max-width:480px){.app-header-inner{padding:10px 14px}.app-header .env-pill,.app-header .who-name{display:none}}.addmoney-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,var(--color-primary-purple) 0%,var(--color-primary-purple-light) 100%);color:#fff;box-shadow:0 12px 28px #6d16b859;flex:1 1 260px;min-width:240px}.addmoney-card-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:22px;font-weight:700;background:#ffffff2e;flex:none}.addmoney-card-body{flex:1;min-width:0}.addmoney-card-body h3{margin:0;font-size:16px}.addmoney-card-body p{margin:2px 0 0;font-size:12.5px;color:#ffffffd9}.addmoney-cta{margin:0;flex:none;background:#fff;color:var(--color-primary-purple);border-radius:999px;padding:10px 18px;font-weight:700}.addmoney-modal .modal-body{display:flex;flex-direction:column;gap:14px}.addmoney-input{width:100%;padding:12px 14px;font:inherit;font-size:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}.addmoney-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.quick-amounts{display:flex;flex-wrap:wrap;gap:8px}.quick-amount{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--fg);border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}.quick-amount:hover{border-color:var(--muted)}.quick-amount.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.addmoney-note{margin:2px 0 0}.addmoney-submit{margin-top:6px}.addmoney-status{padding:10px 14px;border-radius:10px;font-size:13.5px}.addmoney-status.ok{background:var(--success-bg);color:var(--success)}.addmoney-status.err{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.addmoney-history{border-top:1px solid var(--border);padding-top:12px}.addmoney-history h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}@media(prefers-reduced-motion:reduce){.hero-card,.hero-mini,.drawer,.drawer-backdrop,.more-menu,.fab,.fab-item,.result-balance,.btn-hero,.dash .welcome,.dash .stat-card,.dash .panel,.dash .addmoney-card{animation:none!important;transition:none!important}}.login-logo{animation:logo-in .5s cubic-bezier(.16,1,.3,1) .1s both;width:56px;height:56px;border-radius:14px;align-self:center}.login-back{margin-top:10px;padding:6px 0;font:inherit;font-size:.85rem;color:var(--muted);background:none;border:none;cursor:pointer;align-self:center}.login-back:hover{color:var(--text)}.terms-check{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:.85rem;color:var(--muted);cursor:pointer}.terms-check input[type=checkbox]{margin-top:2px;accent-color:var(--accent);width:16px;height:16px;flex:none}.terms-link{background:none;border:none;padding:0;color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit;font-size:inherit}.terms-link:hover{opacity:.85}.terms-link-standalone{margin-top:12px;align-self:center;font-size:.8rem}.content{min-width:0}.form-label{display:block;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:5px}.btn-sm{padding:4px 10px;font-size:12px}.modal-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0000008c}.modal{width:100%;max-width:480px;max-height:90dvh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #00000059;animation:card-in .25s cubic-bezier(.16,1,.3,1) both}.modal-wide{max-width:760px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:16px}.modal-close{appearance:none;background:none;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:6px}.modal-close:hover{color:var(--text);background:var(--surface-2)}.modal-body{padding:16px 18px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border)}.schedule-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--border)}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.summary-value{font-size:14px;font-weight:600;overflow-wrap:anywhere}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.profile-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.password-change-form{display:flex;flex-direction:column;gap:10px;margin-top:16px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px}tbody tr.paid td{color:var(--muted)}.badge.paid{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.badge.overdue{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.welcome{margin-bottom:20px}.welcome h2{margin:0 0 4px;font-size:22px;font-weight:650;letter-spacing:-.01em}.welcome p{margin:0;color:var(--muted);font-size:14px}.quick-actions{display:flex;flex-wrap:wrap;gap:10px}.loan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}.loan-progress{margin:4px 0 6px}.loan-progress p{margin:6px 0 0}.notif-list{list-style:none;margin:0;padding:0}.notif-item{padding:10px 0;border-bottom:1px solid var(--border)}.notif-item:last-child{border-bottom:none}.notif-title{font-size:13.5px;font-weight:550}.notif-item.unread .notif-title{color:var(--accent-strong);font-weight:600}.notif-date{font-size:12px;margin-top:2px}.action-list{list-style:none;margin:0;padding:0}.action-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;background:none;border:none;border-bottom:1px solid var(--border);color:inherit;font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.action-item:last-child{border-bottom:none}.action-item:hover{color:var(--accent-strong)}.action-count{font-family:var(--mono);font-size:13px;font-weight:600;background:var(--accent-bg);color:var(--accent-strong);border-radius:999px;padding:2px 10px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}.summary-list{display:flex;flex-direction:column;gap:12px}.section-link{background:none;border:none;color:var(--accent-strong);font:inherit;font-size:13px;cursor:pointer;padding:0}.section-link:hover{text-decoration:underline}.recent-list{list-style:none;margin:0;padding:0}.recent-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--border);font-size:13.5px}.recent-item:last-child{border-bottom:none}.recent-title{font-weight:550}.recent-date{font-size:12px;white-space:nowrap}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;position:sticky;top:88px}.settings-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 12px 4px}.settings-nav-item{background:none;border:none;text-align:left;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--fg);cursor:pointer}.settings-nav-item:hover{background:var(--accent-bg)}.settings-nav-item.active{background:var(--accent-bg);color:var(--accent-strong);font-weight:600}.settings-content{min-width:0}.settings-form{display:flex;flex-direction:column;gap:8px;max-width:420px}.settings-form-row{display:flex;gap:10px;align-items:center}.settings-form-row input{flex:1}@media(max-width:700px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.settings-group-label{display:none}.settings-nav-item{padding:7px 10px}}.activity-list{list-style:none;margin:0;padding:0}.activity-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none}.activity-title{font-size:13.5px;font-weight:550}.activity-amount{font-family:var(--mono);font-size:13.5px;font-weight:600}.dash .welcome{position:relative;overflow:hidden;margin-bottom:20px;padding:22px 24px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0759c8,#0b83f6);border:1px solid rgb(255 255 255 / .18);box-shadow:0 14px 34px #0759c852,inset 0 1px #fff3;animation:dash-in .5s cubic-bezier(.16,1,.3,1) both}.dash .welcome:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 85% -20%,rgb(255 255 255 / .22),transparent 55%);pointer-events:none}.dash .welcome h2{position:relative;margin:0 0 4px;color:#fff}.dash .welcome p{position:relative;margin:0;color:#ffffffd9;font-size:14px}.dash .stat-card,.dash .panel,.dash .addmoney-card{position:relative;background:linear-gradient(135deg,#082b45eb,#0759c8db);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgb(255 255 255 / .18);border-radius:16px;color:#fff;box-shadow:0 10px 28px #06233c38,inset 0 1px #ffffff24;animation:dash-in .5s cubic-bezier(.16,1,.3,1) both;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .2s ease}.dash .addmoney-card{background:linear-gradient(135deg,#0759c8e6,#0b83f6cc)}.dash .stat-card:hover,.dash .panel:hover,.dash .addmoney-card:hover{transform:translateY(-2px);border-color:#ffffff52;box-shadow:0 16px 38px #06233c4d,inset 0 1px #ffffff2e}.dash .stats .stat-card:nth-child(1){animation-delay:.02s}.dash .stats .stat-card:nth-child(2){animation-delay:.08s}.dash .stats .stat-card:nth-child(3){animation-delay:.14s}.dash .stats .stat-card:nth-child(4){animation-delay:.2s}.dash .overview-grid .panel:nth-child(1){animation-delay:.05s}.dash .overview-grid .panel:nth-child(2){animation-delay:.11s}.dash .overview-grid .panel:nth-child(3){animation-delay:.17s}@keyframes dash-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dash .stat-label{color:#ffffffb8}.dash .stat-value{color:#fff}.dash .stat-card[data-tone=good] .stat-value{color:#a7f3d0}.dash .stat-card[data-tone=warn] .stat-value{color:#ffe08a}.dash .stat-hint{color:#ffffffb8}.dash .panel h2,.dash .panel-head h2{color:#fff}.dash .muted{color:#ffffffb8}.dash .summary-label{color:#ffffffb3}.dash .summary-value{color:#fff}.dash .section-link{color:#bfdbff}.dash .section-link:hover{color:#dcecff}.dash .action-item{color:#fff}.dash .action-item:hover{color:#dcecff}.dash .action-count{background:#ffffff29;color:#fff}.dash .badge{background:#ffffff1f;border-color:#ffffff59;color:#ffffffeb}.dash .badge[data-status=active],.dash .badge[data-status=disbursed],.dash .badge[data-status=repaid]{color:#b7f0d2;border-color:#b7f0d280}.dash .badge[data-status=pending],.dash .badge[data-status=requested],.dash .badge[data-status=approved]{color:#ffe08a;border-color:#ffe08a80}.dash .badge[data-status=suspended],.dash .badge[data-status=defaulted],.dash .badge[data-status=rejected]{color:#ffb3b3;border-color:#ffb3b380}.dash .btn-ghost{color:#fff;border-color:#fff6;background:#ffffff14}.dash .btn-ghost:hover{color:#fff;border-color:#ffffffa6;background:#ffffff29}.dash .activity-item,.dash .recent-item,.dash .action-item,.dash .notif-item{border-bottom-color:#ffffff24}.dash .activity-title,.dash .recent-title,.dash .notif-title,.dash .bar-label{color:#fff}.dash .notif-item.unread .notif-title{color:#cfe6ff}.dash .activity-amount{color:#d6e9ff}.dash .recent-date,.dash .notif-date{color:#ffffffa6}.dash .empty-state{color:#ffffffc7}.dash .bar-track{background:#ffffff29}.dash .bar-fill{background:#fff}.dash .loan-progress p{color:#ffffffbf}.empty-state{margin:0;padding:24px 0;text-align:center;color:var(--muted);font-size:13.5px}.skeleton{display:block;border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:900px){.app{padding:18px 16px 56px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}@media(max-width:480px){.app{padding:12px 10px 48px}.topbar{gap:8px}.brand h1{font-size:17px}.brand-sub{font-size:11.5px}.who-name,.env-pill{display:none}.filters input,.filters select{min-width:130px}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.stat-value{font-size:20px}.tab{padding:9px 11px;font-size:13px}.panel{padding:14px}.modal-overlay{padding:12px}.modal-header,.modal-footer,.schedule-summary{padding:12px 14px}table,.activity-amount{font-size:12.5px}.login-card{padding:20px 16px}.footer{flex-direction:column;gap:8px}}.panel,.member-card-panel,.modal{border-radius:18px}.panel:hover,.member-card-panel:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 16px 38px #06233c24,0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 0 24px color-mix(in srgb,var(--accent) 14%,transparent)}.btn-primary{transition:transform .15s cubic-bezier(.16,1,.3,1),filter .15s ease,box-shadow .2s ease;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 34%,transparent)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 44%,transparent)}.btn-primary:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 30%,transparent)}.btn-ghost{transition:transform .15s cubic-bezier(.16,1,.3,1),color .15s ease,border-color .15s ease,background .15s ease}.btn-ghost:hover{transform:translateY(-1px)}.btn-ghost:active{transform:translateY(0) scale(.97)}.nav-pill{border-radius:999px;border-bottom:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.nav-pill:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.nav-pill.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.fab-main{animation:fab-glow 3s ease-in-out infinite}@keyframes fab-glow{0%,to{box-shadow:0 12px 28px #6d16b880,0 0 #6d16b859}50%{box-shadow:0 12px 32px #6d16b89e,0 0 0 8px #6d16b81f}}.fab-main:hover{transform:scale(1.04)}.dash .addmoney-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgb(255 255 255 / .16) 46%,transparent 62%);transform:translate(-100%);pointer-events:none;transition:transform .7s ease}.dash .addmoney-card:hover:before{transform:translate(100%)}.member-card-panel{max-width:560px}.member-card{width:100%;max-width:360px;margin:8px auto 20px;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:0 20px 46px #06233c40;transform:translateY(0);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.member-card:hover{transform:translateY(-3px);box-shadow:0 26px 54px #06233c52}.member-card-header{position:relative;overflow:hidden;padding:22px 20px 20px;color:#fff;background:linear-gradient(135deg,#082b45,#0759c8)}.member-card-header:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 88% -20%,rgb(255 255 255 / .24),transparent 55%);pointer-events:none}.member-card-brand{position:relative;font-size:13px;font-weight:700;letter-spacing:.08em}.member-card-kicker{position:relative;font-size:10.5px;font-weight:600;letter-spacing:.22em;color:#ffffffb8;margin-top:3px}.member-card-avatar{position:relative;width:64px;height:64px;margin:18px auto 10px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700;background:#ffffff24;border:1px solid rgb(255 255 255 / .35)}.member-card-avatar-img{object-fit:cover}.member-card-name{position:relative;text-align:center;font-size:19px;font-weight:700}.member-card-no{position:relative;text-align:center;font-family:var(--mono);font-size:13px;color:#ffffffe6;margin-top:4px}.member-card-body{padding:18px 20px 10px;display:flex;flex-direction:column;align-items:center;min-height:250px;justify-content:center}.member-card-qr{width:220px;height:220px;border-radius:12px;border:1px solid var(--border)}.member-card-verify{margin-top:12px;font-size:13px;font-weight:600;color:#16233a}.member-card-no-text{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:2px}.member-card-footer{padding:10px 20px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:12px;text-align:center}.member-card[data-status=pending] .member-card-header{background:linear-gradient(135deg,#5a4a0a,#b45309)}.member-card[data-status=suspended] .member-card-header,.member-card[data-status=exited] .member-card-header{background:linear-gradient(135deg,#3f0d0d,#991b1b)}.card-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card-actions .btn-primary{margin-top:0}.member-qr-modal{max-width:440px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:16px}.qr-camera{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#0a0a0f;margin-bottom:12px}.qr-token-input{width:100%;font-family:var(--mono);font-size:12.5px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);resize:vertical}.qr-token-input:focus{outline:2px solid var(--accent);border-color:var(--accent)}.qr-result{margin-top:14px;padding:14px 16px;border-radius:12px;font-size:13.5px}.qr-result-ok{color:#14532d;background:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 40%,transparent)}.qr-result-bad{color:#7f1d1d;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 38%,transparent)}.qr-result-title{margin:0 0 4px}.qr-result p{margin:0 0 2px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border);margin-top:14px}.modal-actions .btn-primary{margin-top:0}@media(prefers-color-scheme:dark){.qr-result-ok{color:#bbf7d0}.qr-result-bad{color:#fecaca}}@media(prefers-reduced-motion:reduce){.panel,.member-card-panel,.member-card,.btn-primary,.btn-ghost,.nav-pill,.fab-main,.dash .addmoney-card:before{animation:none!important;transition:none!important}}.activity-timeline{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:grid;grid-template-columns:36px 1fr auto;align-items:start;gap:12px;padding:0 0 22px}.tl-item:last-child{padding-bottom:2px}.tl-rail{position:absolute;left:16px;top:6px;bottom:0;width:2px;background:var(--border)}.tl-item:last-child .tl-rail{display:none}.tl-node{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;background:var(--surface-2);border:1px solid var(--border);box-shadow:0 0 0 4px var(--surface)}.tl-body{min-width:0}.activity-amount{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--success);white-space:nowrap}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.insight-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.insight-ico{font-size:20px;line-height:1.4}.insight-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.insight-value{font-size:18px;font-weight:700;margin:2px 0;color:var(--color-primary-purple)}.insight-trend{font-size:12px;font-weight:600}.insight-trend.up{color:var(--success)}.insight-trend.down{color:var(--danger)}.insight-trend.neutral{color:var(--muted);font-weight:400}.notif-item{display:flex;align-items:flex-start;gap:12px}.notif-ico{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;background:var(--surface-2);border:1px solid var(--border)}.notif-item.unread .notif-ico{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.notif-text{min-width:0}.dash .tl-rail{background:#ffffff2e}.dash .tl-node{background:#ffffff1f;border-color:#ffffff47;box-shadow:0 0 0 4px #082b4580}.dash .activity-amount{color:#d1fae5}.dash .insight-item{background:#ffffff1a;border-color:#ffffff29}.dash .insight-value{color:#fff}.dash .insight-label{color:#ffffffb8}.dash .insight-trend.up{color:#a7f3d0}.dash .insight-trend.down{color:#ffb3b3}.dash .insight-trend.neutral{color:#ffffffb8}.dash .notif-ico{background:#ffffff1f;border-color:#ffffff47}.dash .notif-item.unread .notif-ico{background:#fff3;border-color:#ffffff73}.session-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.session-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.session-ico{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.session-body{min-width:0}.session-title{font-weight:600;font-size:13.5px}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:42px}.password-toggle{position:absolute;right:4px;display:grid;place-items:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background-color .15s ease}.password-toggle:hover{color:var(--text);background:var(--surface-2)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.loan-apply-modal{width:min(440px,calc(100vw - 32px))}.panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.field-hint{margin:4px 0 12px;font-size:12px;color:var(--text-muted)}.kyc-fields{margin-top:16px;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.kyc-fields .muted{margin:0 0 12px}@media(prefers-reduced-motion:reduce){.login-card,.login-logo,.modal,.activity-timeline,.tl-item,.skeleton{animation:none!important;transition:none!important}}@media(max-width:640px){.env-pill{display:none}}@media(max-width:480px){.role-tag,.app-header .role-tag{display:none}}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.insight-value,.summary-value.mono,.member-card-name,.brand h1{overflow-wrap:anywhere;word-break:break-word}.profile-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-avatar-initials{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:20px;font-weight:700;background:var(--accent);color:#fff}.profile-photo-upload{display:flex;align-items:center;gap:16px;margin:8px 0 4px}.profile-photo-preview,.profile-photo-empty{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-photo-empty{display:grid;place-items:center;font-size:13px;color:var(--muted);background:var(--card-bg);border:1px dashed var(--border)}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:8px}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.edit-span-2{grid-column:1 / -1}@media(max-width:560px){.edit-grid{grid-template-columns:1fr}}.profile-avatar-img,.profile-photo-preview,.profile-photo-empty{box-shadow:0 0 0 3px #fff,0 0 0 5px color-mix(in srgb,var(--accent) 45%,transparent),0 10px 24px #18082e38}.member-card-avatar-img{box-shadow:0 0 0 3px #ffffff24,0 0 0 5px color-mix(in srgb,var(--color-primary-purple) 40%,transparent),0 12px 28px #020a1a73}.qr-result-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--success),0 8px 18px #05583e40}.qr-result-ok .qr-result-photo{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--success),0 8px 18px #05583e40}.onboarding-overlay{display:grid;place-items:center;z-index:1000}.onboarding-card{width:min(92vw,440px);background:var(--card-bg, #fff);border-radius:18px;padding:22px 20px 16px;text-align:center;box-shadow:0 24px 60px #06102859;animation:onboarding-in .28s cubic-bezier(.16,1,.3,1)}@keyframes onboarding-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.onboarding-dots{display:flex;gap:5px;align-items:center}.onboarding-dot{height:8px;border-radius:999px;background:var(--border, #e3daf5);transition:width .25s ease,background .25s ease}.onboarding-dot.done{background:var(--accent, #6d16b8)}.onboarding-count{font-size:12px;font-weight:600;color:var(--muted, #5b6b84);letter-spacing:.02em}.onboarding-step{min-height:216px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 6px}.onboarding-ico{font-size:40px;line-height:1;margin-bottom:12px}.onboarding-step h2{margin:0 0 8px;font-size:1.2rem;color:var(--text, #16233a)}.onboarding-step p{margin:0;font-size:.93rem;line-height:1.55;color:var(--muted, #5b6b84);max-width:36ch}.onboarding-actions{display:flex;justify-content:center;gap:10px;margin-top:10px}.onboarding-actions .btn-primary{margin-top:0;padding:11px 18px;min-width:148px}.onboarding-skip{margin-top:14px;padding:6px 10px;border:none;background:transparent;font:inherit;font-size:.83rem;color:var(--muted, #5b6b84);cursor:pointer;border-radius:8px}.onboarding-skip:hover{color:var(--text, #16233a);text-decoration:underline}.btn-primary{padding:13px 18px;white-space:nowrap}.btn-ghost{padding:9px 16px;white-space:nowrap}.panel-head-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.panel-head-left .page-back{padding:7px 14px;font-size:.85rem;flex-shrink:0}@media(max-width:560px){.panel-head-left h2{margin:0}}@media(max-width:420px){.onboarding-card{padding:20px 16px 14px}.onboarding-step{min-height:240px}}
