:root{--color-primary:#53090f;--color-primary-hover:#3d0709;--color-mud:#8c803f;--color-cream:#f4efe2;--color-bg:#f4f1e4;--color-white:#fefefe;--color-black:#010101;--color-off-black:#333;--color-gray:#b2b2b2;--color-light-gray:#d5cfd0;--color-border:#e0d9cc;--color-success:#2e7d32;--color-warn:#e65100;--color-danger:#b71c1c;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:50px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f}@font-face{font-family:Ringside Wide;src:url(/assets/font/ringside/RingsideWide-Ultra.otf)format("opentype");font-style:normal}@font-face{font-family:Adelle Sans;src:url(/assets/font/adelle/Adelle_Sans.otf)format("opentype");font-style:normal}*,:before,:after{box-sizing:border-box;margin:0;padding:0;text-decoration:none;list-style:none}body{background:var(--color-bg);color:var(--color-off-black);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Adelle Sans,system-ui,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-white)}::-webkit-scrollbar-thumb{background:var(--color-mud);border-radius:3px}.app-root{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.app-page{max-width:900px;margin:0 auto;padding:32px 20px 64px}.app-header{background:var(--color-white);z-index:100;box-shadow:0 1px 0 var(--color-border);position:sticky;top:0}.app-nav{align-items:center;gap:32px;max-width:1100px;height:64px;margin:0 auto;padding:0 20px;display:flex}.app-nav-logo img{display:block}.app-nav-links{flex:1;align-items:center;gap:4px;display:flex}.app-nav-close{display:none}.app-nav-link{color:var(--color-off-black);border-radius:var(--radius-pill);padding:6px 14px;font-size:15px;font-weight:500;transition:background .2s,color .2s}.app-nav-link:hover,.app-nav-link.active{color:var(--color-primary);background:#53090f14}.app-nav-right{align-items:center;gap:12px;margin-left:auto;display:flex}.app-nav-greeting{color:var(--color-off-black);font-size:14px}.app-hamburger{cursor:pointer;color:var(--color-off-black);background:0 0;border:none;padding:4px;display:none}.app-btn-primary{background:var(--color-primary);color:var(--color-white);border:2px solid var(--color-primary);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:9px 22px;font-family:Adelle Sans,system-ui,sans-serif;font-size:14px;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.app-btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.app-btn-primary:disabled{opacity:.55;cursor:not-allowed}.app-btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-pill);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:8px 20px;font-family:Adelle Sans,system-ui,sans-serif;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.app-btn-outline:hover{background:#53090f0f}.app-btn-ghost{color:var(--color-off-black);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;padding:8px 12px;font-family:Adelle Sans,system-ui,sans-serif;font-size:14px;font-weight:500;transition:all .2s}.app-btn-ghost:hover{color:var(--color-white);background:#ffffff1a}.app-btn-danger{color:var(--color-danger);border-color:#b71c1c66}main .app-btn-outline{border-color:var(--color-primary);color:var(--color-primary)}main .app-btn-outline:hover{background:#53090f0f}main .app-btn-danger{border-color:var(--color-danger);color:var(--color-danger)}main .app-btn-danger:hover{background:#b71c1c0f}.w-full{width:100%}.app-link{color:var(--color-primary);font-size:14px;font-weight:600;transition:opacity .2s}.app-link:hover{opacity:.75}.back-link{color:var(--color-primary);margin-bottom:4px;font-size:14px;font-weight:500;display:inline-block}.back-link:hover{opacity:.75}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 20px;display:flex}.auth-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:440px;padding:44px 40px}.auth-card-wide{max-width:620px}.auth-logo{justify-content:center;margin-bottom:28px;display:flex}.auth-logo img{filter:none!important}.auth-title{color:var(--color-primary);text-align:center;margin-bottom:8px;font-family:Ringside Wide,serif;font-size:26px}.auth-subtitle{text-align:center;color:var(--color-gray);margin-bottom:28px;font-size:15px}.auth-error{color:var(--color-danger);border-radius:var(--radius-sm);background:#b71c1c14;border:1px solid #b71c1c40;margin-bottom:20px;padding:10px 14px;font-size:14px}.auth-footer{text-align:center;color:var(--color-gray);margin-top:24px;font-size:14px}.auth-link{color:var(--color-primary);font-weight:600}.input-icon-wrapper{position:relative}.input-icon-wrapper .input-icon{color:var(--color-gray);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-icon-wrapper .form-input{padding-left:42px}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field-full{grid-column:1/-1}.form-label{color:var(--color-off-black);letter-spacing:.3px;font-size:13px;font-weight:600}.form-label-optional{color:var(--color-gray);font-weight:400}.form-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-off-black);background:var(--color-white);outline:none;padding:11px 14px;font-family:Adelle Sans,system-ui,sans-serif;font-size:15px;transition:border-color .2s}.form-input:focus{border-color:var(--color-primary)}.form-input::placeholder{color:var(--color-gray)}.page-header{margin-bottom:28px}.page-title{color:var(--color-primary);margin-top:8px;font-family:Ringside Wide,serif;font-size:28px}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.dash-welcome{color:var(--color-primary);font-family:Ringside Wide,serif;font-size:clamp(22px,4vw,32px)}.dash-subtitle{color:var(--color-gray);margin-top:6px;font-size:15px}.dash-stats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:36px;display:grid}.stat-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:20px 24px}.stat-card-warn{background:#e651000a;border-color:#e651004d}.stat-label{text-transform:uppercase;letter-spacing:.6px;color:var(--color-gray);margin-bottom:8px;font-size:12px;font-weight:600}.stat-value{color:var(--color-off-black);font-size:22px;font-weight:700}.stat-grade{font-size:22px;font-weight:700;color:var(--color-off-black)!important}.dash-section{margin-bottom:36px}.dash-section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dash-section-title{color:var(--color-primary);margin-bottom:14px;font-family:Ringside Wide,serif;font-size:18px}.dash-section-header .dash-section-title{margin-bottom:0}.section-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:24px}.p-0{padding:0;overflow:hidden}.credit-bar-track{background:var(--color-border);border-radius:99px;height:10px;margin-bottom:10px;overflow:hidden}.credit-bar-fill{background:var(--color-primary);border-radius:99px;height:100%;transition:width .4s}.credit-bar-labels{color:var(--color-gray);justify-content:space-between;font-size:13px;display:flex}.info-list{flex-direction:column;gap:0;display:flex}.info-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 0;font-size:15px;display:flex}.info-row:last-child{border-bottom:none}.info-row dt{color:var(--color-gray);font-weight:500}.info-row dd{color:var(--color-off-black);font-weight:600}.loan-list{flex-direction:column;gap:12px;display:flex}.loan-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;padding:18px 22px;transition:box-shadow .2s,border-color .2s,transform .15s;display:block}.loan-card:hover{box-shadow:var(--shadow-md);border-color:#53090f33;transform:translateY(-1px)}.loan-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.loan-card-bottom{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.loan-merchant{color:var(--color-off-black);font-size:16px;font-weight:700}.loan-merchant-lg{font-size:18px}.loan-product{color:var(--color-gray);margin-top:2px;font-size:13px}.loan-date{color:var(--color-gray);margin-top:4px;font-size:12px}.loan-amount{color:var(--color-primary);font-family:Ringside Wide,serif;font-size:20px;font-weight:800}.loan-meta{color:var(--color-gray);font-size:13px}.loan-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.badge-active{color:#2e7d32;background:#2e7d321f}.badge-pending{color:#e65100;background:#e651001f}.badge-paid{color:var(--color-primary);background:#53090f1a}.badge-cancelled,.badge-expired{color:var(--color-gray);background:#00000014}.filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-pill{border-radius:var(--radius-pill);border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-gray);cursor:pointer;padding:7px 16px;font-family:Adelle Sans,system-ui,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.filter-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-pill.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.loan-summary{margin-bottom:0}.loan-summary-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.loan-summary-grid{border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px;padding-top:20px;display:grid}.loan-summary-item{flex-direction:column;gap:4px;display:flex}.summary-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray);font-size:12px;font-weight:600}.summary-value{color:var(--color-off-black);font-size:17px;font-weight:700}.loan-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:24px;display:flex}.table-wrapper{overflow-x:auto}.payments-table{border-collapse:collapse;width:100%;font-size:14px}.payments-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray);background:var(--color-cream);border-bottom:1px solid var(--color-border);padding:12px 16px;font-size:11px;font-weight:700}.payments-table td{border-bottom:1px solid var(--color-border);color:var(--color-off-black);padding:13px 16px}.payments-table tr:last-child td{border-bottom:none}.payments-table tr.row-paid td{opacity:.6}.pay-badge{border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;font-weight:700}.pay-badge-paid{color:#2e7d32;background:#2e7d321f}.pay-badge-pending{color:#e65100;background:#e651001a}.pay-btn{border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-white);cursor:pointer;border:none;padding:5px 14px;font-family:Adelle Sans,system-ui,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.pay-btn:hover:not(:disabled){background:var(--color-primary-hover)}.pay-btn:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:var(--radius-sm);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-error{color:var(--color-danger);background:#b71c1c14;border:1px solid #b71c1c40}.alert-success{color:var(--color-success);background:#2e7d3214;border:1px solid #2e7d3240}.installment-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.installment-btn{cursor:pointer;background:#fff;border:1.5px solid #ddd;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;font-family:inherit;transition:all .15s;display:flex}.installment-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.installment-btn.sel{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.installment-months{font-size:13px;font-weight:700}.installment-payment{opacity:.75;font-size:10px}.selected-plan-summary{color:var(--color-primary);background:#f8f4ee;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.pending-banner{border-radius:var(--radius-sm);color:#6d4c00;background:#fff8e1;border:1.5px solid #f9a825;align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px;font-size:14px;display:flex}.pending-banner-icon{flex-shrink:0;font-size:18px}.pending-banner-text{flex:1;font-weight:500}.pending-banner-link{color:var(--color-primary);white-space:nowrap;font-weight:700;text-decoration:none}.pending-banner-link:hover{text-decoration:underline}.signing-panel{border-radius:var(--radius-sm);text-align:center;background:#53090f08;border:1.5px solid #53090f33;margin-top:20px;padding:28px 20px 20px}.signing-icon{margin-bottom:12px;font-size:40px}.signing-title{margin-bottom:8px;font-size:17px;font-weight:700}.signing-subtitle{color:#555;margin-bottom:20px;font-size:14px;line-height:1.6}.info-banner{border-radius:var(--radius-sm);color:var(--color-primary);background:#53090f0d;border:1px solid #53090f26;align-items:center;gap:10px;padding:14px 18px;font-size:14px;display:flex}.app-loading{justify-content:center;align-items:center;min-height:200px;display:flex}.app-loading-inline{justify-content:center;padding:32px;display:flex}.app-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-gray);padding:48px 24px;font-size:15px}@media (max-width:640px){.app-nav-links{background:var(--color-white);z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:transform .28s;position:fixed;inset:0;transform:translate(100%)}.app-nav-links.open{transform:translate(0)}.app-nav-close{cursor:pointer;color:var(--color-off-black);background:0 0;border:none;padding:8px;display:flex;position:absolute;top:20px;right:20px}.app-nav-link{padding:10px 24px;font-size:20px}.app-hamburger{display:flex}.app-nav-greeting{display:none}.auth-form-grid{grid-template-columns:1fr}.loan-summary-grid,.dash-stats{grid-template-columns:1fr 1fr}}@media (max-width:400px){.auth-card{padding:32px 20px}.loan-summary-grid{grid-template-columns:1fr}}.auth-tabs{background:var(--color-surface);border-radius:10px;gap:6px;margin-bottom:4px;padding:4px;display:flex}.auth-tab{color:var(--color-gray);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.auth-tab--active{background:var(--color-white);color:var(--color-primary);box-shadow:0 1px 4px #0000001a}.auth-tab:not(.auth-tab--active):hover{color:var(--color-text)}.smartid-waiting{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.smartid-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray);margin:0;font-size:12px;font-weight:600}.smartid-vccode{letter-spacing:.18em;color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:42px;font-weight:700}.smartid-instructions{color:var(--color-gray);max-width:280px;margin:0;font-size:14px}.lang-switcher{background:var(--color-surface,#ffffff1f);border-radius:var(--radius-pill);align-items:center;gap:2px;padding:2px 6px;display:flex}.lang-btn{cursor:pointer;letter-spacing:.04em;color:#fff9;border-radius:var(--radius-pill);background:0 0;border:none;padding:2px 5px;font-size:12px;font-weight:600;transition:color .15s,background .15s}.lang-btn--active{color:#fff;background:#fff3}.lang-btn:not(.lang-btn--active):hover{color:#ffffffe6}.lang-divider{background:#ffffff4d;width:1px;height:12px;display:inline-block}.kyc-steps{justify-content:center;align-items:center;gap:0;margin-bottom:1.5rem;display:flex}.kyc-step{background:var(--color-border,#e5e7eb);width:32px;height:32px;color:var(--color-text-muted,#9ca3af);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:background .2s,color .2s;display:flex}.kyc-step--active{background:var(--color-primary,#1d4ed8);color:#fff}.kyc-step-line{background:var(--color-border,#e5e7eb);width:48px;height:2px}.kyc-question{border-bottom:1px solid var(--color-border,#e5e7eb);padding:1rem 0}.kyc-question:last-of-type{border-bottom:none}.kyc-question-title{color:var(--color-text,#111);margin:0 0 4px;font-size:.9rem;font-weight:600}.kyc-question-text{color:var(--color-text-muted,#6b7280);margin:0 0 .75rem;font-size:.82rem;line-height:1.5}.kyc-radio-group{flex-wrap:wrap;gap:.5rem;display:flex}.kyc-radio-btn{border:1.5px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,8px);cursor:pointer;color:var(--color-text,#111);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 16px;font-size:.85rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.kyc-radio-btn input[type=radio]{display:none}.kyc-radio-btn:hover{border-color:var(--color-primary,#1d4ed8)}.kyc-radio-btn--active{border-color:var(--color-primary,#1d4ed8);background:color-mix(in srgb,var(--color-primary,#1d4ed8)8%,transparent);color:var(--color-primary,#1d4ed8)}.kyc-checkbox-label{cursor:pointer;color:var(--color-text,#111);align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.5;display:flex}.kyc-checkbox{width:18px;height:18px;accent-color:var(--color-primary,#1d4ed8);cursor:pointer;flex-shrink:0;margin-top:2px}.kyc-block-warning{color:#b91c1c;background:#fee2e2;border-radius:6px;margin:8px 0 0;padding:8px 12px;font-size:.8rem}.kyc-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.app-btn-secondary{border-radius:var(--radius-md,8px);border:1.5px solid var(--color-border,#e5e7eb);color:var(--color-text,#111);cursor:pointer;background:0 0;padding:10px 20px;font-size:.9rem;font-weight:600;transition:border-color .15s}.app-btn-secondary:hover{border-color:var(--color-primary,#1d4ed8)}.settings-form{flex-direction:column;gap:18px;display:flex}.settings-form .form-input:disabled{background:var(--color-bg,#f7f5f3);color:var(--color-gray);cursor:not-allowed}.settings-actions{justify-content:flex-end;padding-top:6px;display:flex}.settings-error{color:#b71c1c;margin:0;font-size:14px}.settings-success{color:#2e7d32;margin:0;font-size:14px}.toast-stack{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:84px;right:24px}.toast{border-radius:var(--radius-md);background:var(--color-white);border:1px solid var(--color-border);min-width:260px;max-width:380px;box-shadow:var(--shadow-md);color:var(--color-off-black);pointer-events:auto;opacity:1;align-items:center;gap:10px;padding:12px 14px;font-size:14px;transition:transform .25s,opacity .25s;display:flex;transform:translate(0)}.toast--entering{opacity:0;transform:translate(20px)}.toast--success{border-left:4px solid #2e7d32}.toast--error{border-left:4px solid #b71c1c}.toast--info{border-left:4px solid var(--color-primary)}.toast-icon{width:22px;height:22px;color:var(--color-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.toast--success .toast-icon{background:#2e7d32}.toast--error .toast-icon{background:#b71c1c}.toast--info .toast-icon{background:var(--color-primary)}.toast-message{flex:1;line-height:1.4}.toast-close{color:var(--color-gray);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.toast-close:hover{color:var(--color-off-black)}@media (max-width:640px){.toast-stack{top:76px;left:12px;right:12px}.toast{min-width:0;max-width:none}}.invoice-list{flex-direction:column;gap:12px;display:flex}.invoice-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.invoice-card-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:18px 22px;font-family:inherit;display:flex}.invoice-card-header:hover{background:#53090f08}.invoice-card-left{flex-direction:column;gap:4px;display:flex}.invoice-card-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.invoice-month{color:var(--color-off-black);margin:0;font-size:16px;font-weight:600}.invoice-due{color:var(--color-gray);margin:0;font-size:13px}.invoice-amount{color:var(--color-primary);margin:0;font-size:17px;font-weight:600}.invoice-status{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.invoice-status-paid{color:#2e7d32;background:#2e7d321f}.invoice-status-pending{color:var(--color-primary);background:#53090f14}.invoice-status-partial{color:#ef6c00;background:#f57c0024}.invoice-status-overdue{color:#b71c1c;background:#b71c1c1f}.invoice-card-body{border-top:1px solid var(--color-border);padding:0 22px 18px}.invoice-partial-note{color:var(--color-gray);margin:14px 0 8px;font-size:13px}.invoice-items{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}.invoice-items th{text-align:left;color:var(--color-gray);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.4px;padding:8px;font-size:12px;font-weight:600}.invoice-items td{border-bottom:1px solid var(--color-border);color:var(--color-off-black);padding:10px 8px}.invoice-items tr:last-child td{border-bottom:none}.invoice-item-sub{color:var(--color-gray);margin-top:2px;font-size:12px}.ta-right{text-align:right}
