@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#00d3a5;--primary-hover:#00bf95;--secondary:#10b981;--accent:#3b82f6;--bg-gradient:radial-gradient(at 0% 0%, #f5faff 0, transparent 50%), radial-gradient(at 50% 0%, #ebffff 0, transparent 50%), radial-gradient(at 100% 0%, #ffebf1 0, transparent 50%), radial-gradient(at 50% 50%, #f5f8ff 0, transparent 50%), radial-gradient(at 0% 100%, #fff5e0 0, transparent 50%), radial-gradient(at 100% 100%, #ffe0e0 0, transparent 50%);--surface:#ffffff73;--surface-border:#ffffffb3;--text-dark:#2c3e50;--text-light:#576574;--text-muted:#8395a7;--glass-blur:24px;--shadow-glass:0 8px 32px 0 #1f268712;--primary-gradient:linear-gradient(135deg, #00d3a5 0%, #00bf95 100%);--primary-light:#00d3a51a;--radius-lg:32px;--radius-md:20px;--radius-sm:10px;--header-height:70px;--teal-accent:#00d3a5;--card-gradient:linear-gradient(135deg, #ffffffb3 0%, #ffffff4d 100%);--sidebar-width:260px;--success:#10b981;--danger:#ef4444}.history-sidebar{height:calc(100vh - var(--header-height) - 4rem);top:calc(var(--header-height) + 1.5rem);animation:.4s cubic-bezier(.16,1,.3,1) slideInRight;position:sticky}.history-item{border-left:3px solid #0000;transition:all .2s}.history-item:hover{border-left-color:var(--primary);transform:translate(4px);box-shadow:0 4px 12px #0000000d;background:#fff9!important}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8fafc;background-image:var(--bg-gradient);color:var(--text-dark);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif}.glass-card{background:var(--surface);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);padding:2rem;transition:transform .3s,box-shadow .3s}.glass-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1f26871f}body.loan-entry-focus{background:radial-gradient(at 0 0,#e0e5eb 0,#0000 50%),radial-gradient(at 50% 0,#d3d7de 0,#0000 50%),#e2e8f0 radial-gradient(at 100% 0,#c7ccd1 0,#0000 50%)}body.loan-entry-focus .glass-card{background:#ffffffd9;border-color:#0000000d}.form-input-premium,.form-select-premium{color:#1e293b!important;border:1.5px solid #0000001a!important}.form-input-premium::placeholder{color:#94a3b8}.dashboard-grid{grid-template-columns:2fr 1fr;gap:2rem;margin-top:2rem;display:grid}.summary-section{grid-column:1/-1}.mortgage-table-container{margin-top:1rem;overflow-x:auto}.mortgage-table{border-collapse:collapse;text-align:left;width:100%}.mortgage-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.85rem;font-weight:600}.mortgage-table td{border-bottom:1px solid #ffffff4d;padding:1.25rem 1rem;font-size:.95rem}.mortgage-table tr:last-child td{border-bottom:none}.text-primary-teal{color:var(--teal-accent);font-weight:700}.text-blue-accent{color:#3b82f6;font-weight:700}.btn-payment{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-payment:hover{background:#f8fafc;border-color:#cbd5e1}.offer-card-3d{color:#fff;background:linear-gradient(135deg,#00d3a5 0%,#3b82f6 100%);border-radius:20px;flex-direction:column;justify-content:space-between;height:200px;padding:1.5rem;transition:transform .5s;display:flex;position:relative;overflow:hidden;transform:rotateY(-5deg)rotateX(5deg);box-shadow:0 10px 20px #0000001a}.offer-card-3d:hover{transform:rotateY(0)rotateX(0)}.card-logo{align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:flex}.card-chip{background:linear-gradient(135deg,gold 0%,#fc0 100%);border-radius:4px;width:40px;height:30px}.card-number{letter-spacing:2px;font-family:Courier New,Courier,monospace;font-size:1.2rem}.card-holder{text-transform:uppercase;font-size:.9rem}.visa-logo{font-size:1.4rem;font-style:italic;font-weight:800}.activity-item{border-bottom:1px solid #fff3;align-items:center;gap:1rem;padding:1rem 0;display:flex}.activity-icon-wrap{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.activity-info{flex:1}.activity-title{font-size:.95rem;font-weight:600}.activity-desc{color:var(--text-light);font-size:.85rem}.activity-date{color:var(--text-muted);font-size:.85rem}.auth-layout{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:#fffffff2;width:100%;max-width:440px}.auth-layout.animated{background:linear-gradient(135deg,#f3f4fd 0%,#eef2ff 100%)}.auth-card.zoho{border:1px solid #1018280a;border-radius:12px;padding:2rem;animation:.42s cubic-bezier(.2,.9,.3,1) card-entrance;transform:translateY(0);box-shadow:0 8px 30px #1018281f}.auth-card-left{background:linear-gradient(#fffffffa,#fff)}.auth-card-left .auth-tabs{background:0 0}.auth-tab{border-radius:999px;padding:8px 14px;font-size:.92rem}.auth-tab.active{background:linear-gradient(90deg,var(--finance-500),var(--primary));box-shadow:0 12px 30px #0b5ed71f}.hero-title{color:#071133;letter-spacing:-.02em;font-size:1.6rem}.hero-sub{color:var(--muted);font-size:.98rem}.form-row{position:relative}.form-row .input-icon{opacity:.6;font-size:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-row .form-input{padding-left:40px}.btn-spinner{vertical-align:middle;border:2px solid #fff6;border-top-color:#fffffff2;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.hero-lock{background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;animation:6s ease-in-out infinite hero-float;display:flex;transform:translateY(0);box-shadow:0 12px 36px #0b5ed724}@keyframes hero-float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.btn-spinner,.hero-lock,.bg-blob,.logo-ring{animation:none!important}}@keyframes card-entrance{0%{opacity:0;transform:translateY(18px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo-wrap{justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.auth-logo-svg{width:64px;height:64px;display:block}.logo-ring{transform-origin:50%;animation:6s linear infinite ring-rotate}@keyframes ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-card h2{margin-top:.5rem}.form-input{transition:box-shadow .18s,transform .12s}.form-input:focus{transform:translateY(-1px);box-shadow:0 6px 20px #4f46e514}.btn-primary{will-change:transform;transition:transform .16s cubic-bezier(.2,.9,.3,1),box-shadow .16s}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px #4f46e51f}.input-row{position:relative}.input-row .icon{opacity:.6;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-row .form-input{padding-left:40px}@media (prefers-reduced-motion:reduce){.logo-ring,.auth-card.zoho{animation:none!important}.btn-primary:hover{box-shadow:none;transform:none}}.auth-layout.animated{position:relative;overflow:hidden}.bg-animations{z-index:0;pointer-events:none;background-image:radial-gradient(circle at 10% 20%,#4f46e50f 0 120px,#0000 120px),radial-gradient(circle at 80% 80%,#7c3aed0f 0 160px,#0000 160px);position:absolute;inset:0}.bg-blob{filter:blur(36px);opacity:.7;border-radius:50%;width:260px;height:260px;position:absolute;transform:translate(0,0)}.bg-blob.b1{background:linear-gradient(135deg,#60a5fa,#7c3aed);animation:9s ease-in-out infinite float-1;top:-40px;left:-60px}.bg-blob.b2{background:linear-gradient(135deg,#34d399,#60a5fa);width:320px;height:320px;animation:11s ease-in-out infinite float-2;bottom:-30px;right:-80px}.bg-blob.b3{opacity:.55;background:linear-gradient(135deg,#f59e0b,#fb923c);width:180px;height:180px;animation:12s ease-in-out infinite float-3;top:60%;left:30%}.bg-grid{mix-blend-mode:overlay;opacity:.25;background-image:linear-gradient(#0000 0 50%,#ffffff05 50% 100%);background-size:100% 48px;animation:18s linear infinite grid-move;position:absolute;inset:0}@keyframes float-1{0%{transform:translateY(0)translate(0)scale(1)}50%{transform:translateY(18px)translate(12px)scale(1.03)}to{transform:translateY(0)translate(0)scale(1)}}@keyframes float-2{0%{transform:translateY(0)translate(0)scale(1)}50%{transform:translateY(-22px)translate(-18px)scale(1.02)}to{transform:translateY(0)translate(0)scale(1)}}@keyframes float-3{0%{transform:translateY(0)translate(0)scale(1)}50%{transform:translateY(12px)translate(-8px)scale(1.01)}to{transform:translateY(0)translate(0)scale(1)}}@keyframes grid-move{0%{background-position:0 0}to{background-position:0 100px}}.auth-card.zoho{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.bg-blob,.bg-grid{animation:none!important}}.auth-split{grid-template-columns:420px 1fr;align-items:center;gap:40px;width:min(1100px,96%);margin:48px auto;display:grid}.auth-card-left{max-width:420px;padding:1.5rem}.auth-tabs{background:0 0;gap:6px;margin-bottom:12px;display:flex}.auth-tab{text-align:center;cursor:pointer;color:#334155;background:#ffffffe6;border:1px solid #1018280a;border-radius:10px 10px 0 0;flex:1;padding:10px 12px;font-size:.95rem;font-weight:600}.auth-tab.active{color:#fff;background:linear-gradient(90deg,#3b82f6,#7c3aed);box-shadow:0 8px 20px #6366f11f}.auth-form{background:#fff;border:1px solid #1018280a;border-radius:12px;padding:1rem;box-shadow:0 6px 20px #0206170f}.form-row{margin-bottom:.9rem}.form-label{color:#475569;margin-bottom:6px;font-size:.82rem;display:block}.form-input{background:#fbfdff;border:1px solid #e6edf7;border-radius:10px;width:100%;padding:12px 14px}.input-error{box-shadow:0 6px 18px #facccc0f;border-color:#fca5a5!important}.field-error{color:#ef4444;margin-top:6px;font-size:.8rem}.auth-cta{margin-top:.6rem}.auth-footer-links{color:#64748b;text-align:center;margin-top:.8rem;font-size:.9rem}.auth-hero{flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:2rem;display:flex}.hero-logo{color:#fff;background:linear-gradient(135deg,#60a5fa,#7c3aed);border-radius:16px;justify-content:center;align-items:center;width:92px;height:92px;font-size:28px;font-weight:700;display:flex;box-shadow:0 12px 36px #4f46e51f}.hero-title{color:#0f172a;text-align:center;font-size:1.5rem;font-weight:700}.hero-sub{color:#475569;text-align:center;max-width:520px}@media (width<=920px){.auth-split{grid-template-columns:1fr;gap:18px;padding:20px 8px}.auth-hero{order:-1;padding-top:0}}.auth-logo{text-align:center;margin-bottom:.5rem;font-size:2.5rem}.auth-card h2,.auth-card .text-subtitle{text-align:center}h1,h2,h3{color:var(--text-dark);margin-bottom:.5rem;font-weight:700}.text-subtitle{color:var(--text-light);margin-bottom:2rem;font-size:.95rem}.form-group{flex-direction:column;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-dark);margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-input{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text-dark);padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e526}select.form-input{cursor:pointer;appearance:auto}.checkbox-row{align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.checkbox-row label{color:var(--text-dark);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-dark);border:1px solid var(--input-border);background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-add{width:auto;padding:.6rem 1.25rem;font-size:.875rem}.btn-icon{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.35rem .5rem;font-size:1rem;line-height:1;transition:all .15s}.btn-icon.btn-edit:hover{border-color:var(--primary);background:#eef2ff}.btn-icon.btn-delete:hover{border-color:var(--danger);background:#fef2f2}.alert{border-radius:var(--radius-sm);border-left:4px solid;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.875rem 1rem;font-size:.9rem;display:flex}.alert button{cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 .25rem;font-size:1rem}.alert button:hover{opacity:1}.alert-error{color:#991b1b;background:#fef2f2;border-color:#ef4444}.alert-success{color:#166534;background:#f0fdf4;border-color:#22c55e}.auth-links{text-align:center;color:var(--text-light);margin-top:1.5rem;font-size:.9rem}.auth-links a{color:var(--primary);font-weight:500;text-decoration:none}.auth-links a:hover{text-decoration:underline}.app-layout{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;transition:all .3s;display:grid}.app-layout.sidebar-hidden{grid-template-columns:0 1fr}.app-layout.sidebar-hidden .sidebar{display:none!important}.app-layout.sidebar-hidden .app-main{width:100vw;margin-left:0}body.header-hidden .app-header{display:none!important}.app-main{flex-direction:column;min-height:100vh;display:flex;overflow-x:clip}.app-content{flex:1;padding:2rem}.sidebar{background:linear-gradient(#1e1b4b 0%,#312e81 100%);flex-direction:column;height:100vh;padding:1.5rem .75rem;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar-logo{color:#fff;flex-shrink:0;align-items:center;gap:.6rem;margin-bottom:1.75rem;padding:0 .75rem;font-size:1.15rem;font-weight:700;display:flex}.sidebar-nav-wrap{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;overflow:hidden auto}.sidebar-nav{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.menu-item-wrapper{list-style:none}.sidebar-nav-item{width:100%;color:var(--text-light);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:.7rem;margin-bottom:2px;padding:.75rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav-item:hover{color:var(--primary);background:#00000008}.sidebar-nav-item.active{color:var(--primary);background:#00d3a51a}.sidebar-nav-item.child-active{color:#ffffffd1;background:#ffffff0f}.sidebar-nav-sub{padding-left:2.4rem;font-size:.845rem}.sidebar-nav-sub.active{color:#c7d2fe;background:#a5b4fc2e;box-shadow:inset 3px 0 #818cf8}.nav-icon{width:20px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav-chevron{opacity:.6;flex-shrink:0;align-items:center;transition:transform .2s;display:flex}.sidebar-submenu{margin:0;padding:0;list-style:none;transition:max-height .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-loading{color:#ffffff73;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.sidebar-loading-dot{background:#ffffff80;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse-dot}.sidebar-footer{border-top:1px solid #ffffff1a;flex-shrink:0;margin-top:auto;padding-top:1rem}.logout-btn{border-radius:var(--radius-sm);color:#ffffffa6;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;align-items:center;gap:.6rem;width:100%;padding:.7rem .85rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.logout-btn:hover{color:#fecaca;background:#ef444433;border-color:#ef444459}.otp-toggle-btn{cursor:pointer;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:.6rem;width:100%;margin-bottom:.5rem;padding:.6rem .85rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.otp-toggle-on{color:#86efac;background:#22c55e26;border-color:#22c55e4d}.otp-toggle-on:hover{background:#22c55e38}.otp-toggle-off{color:#ffffff73;background:#ffffff0f;border-color:#ffffff1a}.otp-toggle-off:hover{color:#ffffffa6;background:#ffffff1a}.otp-toggle-pill{letter-spacing:.04em;border-radius:20px;margin-left:auto;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.pill-on{color:#86efac;background:#22c55e40}.pill-off{color:#fff6;background:#ffffff1a}.header-left{align-items:center;gap:.6rem;display:flex}.app-header{background:var(--surface-solid);border-bottom:1px solid var(--input-border);min-height:var(--header-height);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.page-title{margin-bottom:0;font-size:1.5rem;font-weight:700}.header-right{align-items:center;gap:1rem;display:flex}.user-badge{border:1px solid var(--input-border);background:#f8fafc;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.user-avatar{font-size:1.25rem}.dashboard-page{flex-direction:column;gap:1.5rem;display:flex}.welcome-banner{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);justify-content:space-between;align-items:center;padding:2rem;display:flex}.welcome-banner h2{color:#fff;margin-bottom:.25rem}.welcome-banner .text-subtitle{color:#fffc;margin-bottom:0}.system-status{color:#ffffffe6;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.status-dot{background:var(--success);border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 8px #22c55e80}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.stat-card{align-items:center;gap:1rem;padding:1.5rem;transition:transform .2s;display:flex}.stat-card:hover{transform:translateY(-2px)}.stat-icon{background:var(--primary-light);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;display:flex}.stat-info{flex:1}.stat-title{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.8rem;font-weight:500}.stat-value{color:var(--text-dark);font-size:2rem;font-weight:700}.crud-page{background:#ffffffd9;border-radius:12px;flex-direction:column;gap:1.25rem;min-height:100%;padding:1.5rem;display:flex;box-shadow:0 2px 8px #0000000d}.page-toolbar{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.toolbar-left{align-items:center;gap:1.5rem;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.search-input{width:280px;height:38px;padding-left:2.25rem!important}.toolbar-actions{align-items:center;gap:.75rem;display:flex}.btn-export{color:var(--text-dark);border:1px solid var(--input-border);background:#f1f5f9;height:38px;padding:0 1rem}.btn-export:hover{background:#e2e8f0}.btn-refresh{justify-content:center;align-items:center;width:38px;height:38px;display:flex;padding:0!important}.btn-toggle-sidebar{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex!important}.btn-toggle-sidebar:hover{transform:scale(1.05);background:var(--primary)!important;color:#fff!important}.record-count{color:var(--text-light);font-size:.875rem;font-weight:500}.page-loading{color:var(--text-light);justify-content:center;align-items:center;padding:3rem;font-size:1rem;display:flex}.empty-state{text-align:center;color:var(--text-muted);background:var(--surface);border-radius:var(--radius);border:2px dashed var(--input-border);padding:3rem;font-size:1rem}.table-wrapper{border-radius:var(--radius);background:var(--surface-solid);max-height:calc(100vh - 240px);box-shadow:var(--shadow-sm);border:1px solid var(--input-border);overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{z-index:10;text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);border-bottom:2px solid var(--input-border);white-space:nowrap;background:#f8fafc;padding:.875rem 1rem;font-size:.75rem;font-weight:600;position:sticky;top:0}.data-table td{color:var(--text-dark);vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.875rem 1rem}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background:#fafafe}.data-table tbody tr:last-child td{border-bottom:none}.action-cell{align-items:center;gap:.35rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-card{background:var(--surface-solid);width:100%;max-width:560px;max-height:85vh;animation:.2s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h3{margin-bottom:0;font-size:1.25rem}.modal-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;padding:.25rem;font-size:1.25rem;transition:color .15s}.modal-close:hover{color:var(--text-dark)}.modal-form .form-group{margin-bottom:1rem}.modal-actions{gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions .btn{flex:1}.confirm-dialog{text-align:center;background:var(--surface-solid);width:100%;max-width:400px;animation:.2s slideUp}.confirm-icon{margin-bottom:.75rem;font-size:2.5rem}.confirm-dialog h3{margin-bottom:.5rem}.confirm-dialog p{color:var(--text-light);margin-bottom:1.5rem;font-size:.9rem}@media (width<=1024px){.app-layout{grid-template-columns:1fr}.sidebar{z-index:1200;width:280px;height:100vh;transition:transform .3s cubic-bezier(.16,1,.3,1);top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 40px #00000026;border-radius:0!important;margin:0!important;display:flex!important;position:fixed!important}.app-layout:not(.sidebar-hidden) .sidebar{transform:translate(0)}.app-layout.sidebar-hidden .sidebar{transform:translate(-100%)}.mobile-sidebar-backdrop{display:block!important}.header-center{display:none!important}.app-header{border-radius:var(--radius-sm)!important;margin:.75rem .75rem 0!important;padding:0 1.25rem!important;top:.75rem!important}.app-content{padding:1rem}.welcome-banner{text-align:center;flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr}.page-toolbar{flex-direction:column;align-items:stretch;gap:.75rem}}@media (width<=480px){.logo-text{display:none}}.drawer-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1100;background:#0f172a73;justify-content:flex-end;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.drawer-panel{background:#fff;flex-direction:column;max-width:100vw;height:100%;animation:.25s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;box-shadow:-8px 0 40px #0000002e}.drawer-header{border-bottom:1px solid var(--input-border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;display:flex}.drawer-title{color:var(--text-dark);margin-bottom:0;font-size:1.2rem;font-weight:700}.drawer-close{border:1px solid var(--input-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-light);background:0 0;padding:.35rem .6rem;font-size:1rem;line-height:1;transition:all .15s}.drawer-close:hover{border-color:var(--danger);color:var(--danger);background:#fef2f2}.drawer-body{flex:1;padding:1.75rem;overflow-y:auto}.drawer-footer{border-top:1px solid var(--input-border);background:#fff;flex-shrink:0;gap:.75rem;padding:1.25rem 1.75rem;display:flex}.drawer-footer .btn{flex:1}.required-mark{color:var(--danger);margin-left:.2rem}.field-error{color:var(--danger);margin-top:.3rem;font-size:.78rem;display:block}.form-input.input-error{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441f}.form-group.has-error .form-label{color:var(--danger)}.form-section-title{color:var(--text-light);text-transform:uppercase;letter-spacing:.8px;border-top:1px solid var(--input-border);margin-top:.5rem;margin-bottom:.75rem;padding:1rem 0 .5rem;font-size:.75rem;font-weight:700}.form-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.otp-section{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:#f8fafc;margin-bottom:1.25rem;padding:1.25rem 1.25rem 1rem}.otp-verified{border-color:var(--success);background:#f0fdf4;border-width:1.5px}.otp-verified-badge{align-items:center;gap:.75rem;display:flex}.otp-verified-icon{background:var(--success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:700;display:flex}.otp-verified-title{color:#166534;font-size:.9rem;font-weight:700}.otp-verified-number{color:#4ade80;margin-top:.1rem;font-size:.85rem;font-weight:500}.otp-step-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.8rem;font-weight:600;display:flex}.otp-step-num{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:700;display:flex}.otp-mobile-wrap{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);align-items:stretch;transition:box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.otp-mobile-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.otp-prefix{color:var(--text-dark);border-right:1px solid var(--input-border);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f1f5f9;align-items:center;padding:0 .75rem;font-size:.9rem;font-weight:600;display:flex}.otp-mobile-input{letter-spacing:.5px;flex:1;min-width:0;font-size:1rem;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.otp-mobile-input:focus{outline:none;box-shadow:none!important}.otp-action-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .18s,transform .1s;display:flex}.otp-action-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.otp-action-btn:active:not(:disabled){transform:translateY(0)}.otp-action-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.otp-verify-btn{background:#059669;margin-top:.75rem}.otp-verify-btn:hover:not(:disabled){background:#047857}.otp-verify-block{border-top:1px dashed var(--input-border);margin-top:.75rem;padding-top:.75rem}.otp-digits-wrap{margin-bottom:.5rem}.otp-code-input{letter-spacing:.5em!important;text-align:center!important;color:var(--primary)!important;padding:.65rem 1rem!important;font-size:1.5rem!important;font-weight:700!important}.otp-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.otp-timer{color:var(--text-muted);text-align:center;margin-top:.5rem;font-size:.8rem;display:block}#recaptcha-container{margin-top:.5rem}.camera-capture{margin-bottom:1.25rem}.image-preview-grid{flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;display:flex}.image-preview-item{border-radius:var(--radius-sm);border:2px solid var(--input-border);width:80px;height:80px;position:relative;overflow:hidden}.image-preview-item img{object-fit:cover;width:100%;height:100%}.image-remove-btn{color:#fff;cursor:pointer;background:#0f172ab3;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.65rem;display:flex;position:absolute;top:2px;right:2px}.camera-modal{border-radius:var(--radius);background:#0f172a;width:100%;max-width:640px;animation:.2s slideUp;overflow:hidden}.camera-modal .modal-header{background:#1e293b;margin-bottom:0;padding:1rem 1.5rem}.camera-modal .modal-header h3{color:#fff}.camera-modal .modal-close{color:#fff9}.camera-video{object-fit:cover;background:#000;width:100%;max-height:400px;display:block}.camera-controls{background:#1e293b;justify-content:center;gap:1rem;padding:1rem 1.5rem;display:flex}.capture-btn{min-width:140px;font-size:1rem}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.loan-item-list{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.loan-item-card{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:#fafafe;padding:1rem;position:relative}.loan-item-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.loan-item-card-title{color:var(--text-dark);font-size:.85rem;font-weight:600}.loan-summary-card{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);margin-bottom:1.25rem;padding:1.25rem}.loan-summary-row{justify-content:space-between;padding:.35rem 0;font-size:.9rem;display:flex}.loan-summary-row .label{color:var(--text-light)}.loan-summary-row .value{color:var(--text-dark);font-weight:600}.loan-summary-row.total{border-top:1px solid var(--input-border);margin-top:.5rem;padding-top:.75rem;font-size:1rem}.loan-summary-row.total .value{color:var(--primary)}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-active{color:#166534;background:#dcfce7}.badge-closed{color:#64748b;background:#f1f5f9}.badge-renewed{color:#5b21b6;background:#ede9fe}.badge-defaulted{color:#991b1b;background:#fef2f2}.search-input-wrap{position:relative}.search-input-wrap .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-input-wrap .form-input{padding-left:2.25rem}.search-dropdown{background:var(--surface-solid);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:200;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-dropdown-item{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:.6rem 1rem;font-size:.875rem;transition:background .1s}.search-dropdown-item:hover{background:var(--primary-light)}.search-dropdown-item:last-child{border-bottom:none}.alert-inline{border-radius:var(--radius-sm);border-left:3px solid;margin-bottom:1rem;padding:.6rem 1rem;font-size:.85rem}.alert-inline.alert-error{color:#991b1b;border-color:var(--danger);background:#fef2f2}.alert-inline.alert-success{color:#166534;border-color:var(--success);background:#f0fdf4}.btn-add-item{border:2px dashed var(--input-border);border-radius:var(--radius-sm);width:100%;color:var(--text-light);cursor:pointer;background:0 0;padding:.6rem;font-family:inherit;font-size:.875rem;transition:all .2s}.btn-add-item:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.zform{flex-direction:column;gap:1rem;padding-bottom:5rem;display:flex}.zcard{background:var(--surface-solid);border:1px solid var(--input-border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 1px 4px #0000000f}.zcard-header{border-bottom:1px solid var(--input-border);color:var(--text-dark);text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.8rem;font-weight:600;display:flex}.zcard-body{flex-direction:column;gap:.75rem;padding:1rem 1.1rem;display:flex}.customer-selected-display{cursor:pointer;border-color:var(--primary);background:#f8faff;justify-content:space-between;align-items:center;padding:.55rem .85rem;display:flex}.customer-selected-info{align-items:center;gap:.65rem;display:flex}.customer-avatar-sm{background:var(--primary-light);width:28px;height:28px;color:var(--primary);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.customer-selected-name{font-size:.875rem;font-weight:500}.customer-selected-mobile{color:var(--text-muted);font-size:.8rem}.customer-change-link{color:var(--primary);flex-shrink:0;font-size:.75rem;font-weight:500}.zitem-list{flex-direction:column;gap:.75rem;display:flex}.zitem-card{border-radius:var(--radius-sm);background:#fafbfe;border:1px solid #e8edf5;overflow:hidden}.zitem-card-header{background:#f1f4fb;border-bottom:1px solid #e8edf5;justify-content:space-between;align-items:center;padding:.55rem .85rem;display:flex}.zitem-card-title{color:var(--text-dark);align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.zitem-remove-btn{width:28px;height:28px;color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s;display:flex}.zitem-remove-btn:hover{background:#ef44441a}.zitem-card-body{flex-direction:column;gap:.65rem;padding:.85rem;display:flex}.zadd-item-btn{border:1.5px dashed var(--primary);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.4rem;width:100%;margin-top:.25rem;padding:.55rem 1rem;font-size:.85rem;font-weight:500;transition:background .15s;display:flex}.zadd-item-btn:hover{background:var(--primary-light)}.zloan-summary{border-radius:var(--radius-sm);background:#f8faff;border:1px solid #dde6fb;padding:1rem}.zloan-summary-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.zloan-summary-item{flex-direction:column;gap:.2rem;display:flex}.zloan-summary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem;font-weight:500}.zloan-summary-value{color:var(--text-dark);font-size:.925rem;font-weight:600}.loan-number-badge{background:var(--primary-light);color:var(--primary);border-radius:4px;padding:.15rem .5rem;font-size:.85rem;display:inline-block}.zdrawer-footer{background:var(--surface-solid);border-top:1px solid var(--input-border);z-index:10;justify-content:flex-end;gap:.75rem;margin:0 -1.75rem -1.75rem;padding:1rem 1.75rem;display:flex;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000000f}@media (width<=640px){.drawer-panel{width:100%!important}.form-row,.form-row-3,.zloan-summary-grid{grid-template-columns:1fr}}.stg-page{max-width:1100px;margin:0 auto;padding:1.75rem 2rem}.stg-page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.stg-page-title{color:var(--text-dark);margin-bottom:.25rem;font-size:1.35rem;font-weight:700}.stg-page-subtitle{color:var(--text-muted);max-width:520px;font-size:.85rem;line-height:1.5}.stg-save-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .18s;display:flex;box-shadow:0 2px 8px #4f46e547}.stg-save-btn:hover{background:var(--primary-hover)}.stg-save-btn:disabled{opacity:.65;cursor:not-allowed}.stg-layout{grid-template-columns:200px 1fr;align-items:start;gap:1.5rem;display:grid}.stg-tab-nav{background:var(--surface-solid);border:1px solid var(--input-border);border-radius:var(--radius-sm);position:sticky;top:1.25rem;overflow:hidden;box-shadow:0 1px 4px #0000000d}.stg-tab-btn{border:none;border-bottom:1px solid var(--input-border);cursor:pointer;width:100%;color:var(--text-light);text-align:left;background:0 0;align-items:center;gap:.55rem;padding:.75rem 1rem;font-family:inherit;font-size:.845rem;font-weight:500;transition:all .15s;display:flex;position:relative}.stg-tab-btn:last-child{border-bottom:none}.stg-tab-btn:hover{background:var(--primary-light);color:var(--primary)}.stg-tab-active{font-weight:600;background:var(--primary-light)!important;color:var(--primary)!important}.stg-tab-active:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.stg-tab-arrow{opacity:.4;margin-left:auto}.stg-tab-active .stg-tab-arrow{opacity:.7}.stg-section{flex-direction:column;gap:1rem;display:flex}.stg-card{background:var(--surface-solid);border:1px solid var(--input-border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 1px 4px #0000000d}.stg-card-header{border-bottom:1px solid var(--input-border);background:#fafbfd;align-items:center;gap:.85rem;padding:1rem 1.25rem;display:flex}.stg-card-icon{background:var(--primary-light);width:36px;height:36px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stg-card-title{color:var(--text-dark);font-size:.95rem;font-weight:600}.stg-card-subtitle{color:var(--text-muted);margin-top:.15rem;font-size:.78rem;line-height:1.4}.stg-card-body{padding:0}.stg-field-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1rem 1.25rem;display:flex}.stg-field-row:last-child{border-bottom:none}.stg-field-meta{flex:1;min-width:0}.stg-field-label{color:var(--text-dark);margin-bottom:.2rem;font-size:.855rem;font-weight:500;display:block}.stg-field-desc{color:var(--text-muted);font-size:.775rem;line-height:1.4;display:block}.stg-field-control{flex-shrink:0;width:280px}.stg-input,.stg-select,.stg-textarea{border:1px solid var(--input-border);width:100%;color:var(--text-dark);background:#fff;border-radius:7px;padding:.55rem .8rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.stg-input:focus,.stg-select:focus,.stg-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.stg-textarea{resize:vertical;line-height:1.5}.stg-input-with-unit{align-items:center;gap:.5rem;display:flex}.stg-input-with-unit .stg-input{text-align:center;flex-shrink:0;width:90px}.stg-input-unit{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.stg-template-preview{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.stg-template-chip{background:var(--primary-light);color:var(--primary);border-radius:4px;padding:.15rem .5rem;font-family:Courier New,monospace;font-size:.72rem;font-weight:600;display:inline-block}.stg-template-note{color:var(--text-muted);margin-left:.15rem;font-size:.72rem}.stg-toggle-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.25rem;display:flex}.stg-toggle-info{flex:1}.stg-toggle-label{color:var(--text-dark);margin-bottom:.2rem;font-size:.875rem;font-weight:500;display:block}.stg-toggle-desc{color:var(--text-muted);font-size:.775rem;line-height:1.4;display:block}.stg-toggle{cursor:pointer;background:#cbd5e1;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.stg-toggle-active{background:var(--primary)}.stg-toggle:disabled{opacity:.55;cursor:not-allowed}.stg-toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.stg-toggle-active .stg-toggle-thumb{left:calc(100% - 21px)}.stg-collapsible{max-height:0;transition:max-height .3s;overflow:hidden}.stg-collapsible-open{max-height:600px}.stg-collapsible-inner{background:#fafbfd;border-top:1px dashed #e2e8f0}.stg-info-block,.stg-warn-block{border-radius:var(--radius-sm);align-items:flex-start;gap:.6rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.5;display:flex}.stg-info-block{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.stg-warn-block{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.stg-link{font:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.stg-lang-list{flex-direction:column;display:flex}.stg-lang-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:.85rem;padding:.85rem 1.25rem;transition:background .12s;display:flex}.stg-lang-row:hover{background:#fafbfd}.stg-lang-row:last-child{border-bottom:none}.stg-lang-flag{background:var(--primary-light);width:36px;height:36px;color:var(--primary);letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:800;display:flex}.stg-lang-info{flex-direction:column;flex:1;gap:.1rem;display:flex}.stg-lang-name{color:var(--text-dark);font-size:.875rem;font-weight:500}.stg-lang-code{color:var(--text-muted);font-family:Courier New,monospace;font-size:.75rem}.stg-lang-default-badge{color:#15803d;background:#dcfce7;border-radius:20px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.stg-lang-remove{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.stg-lang-remove:hover{color:var(--danger);background:#ef44441a}.stg-add-lang-form{border-top:1px dashed var(--input-border);background:#f8fafc;flex-direction:column;gap:.6rem;padding:1rem 1.25rem;display:flex}.stg-add-lang-actions{gap:.5rem;display:flex}.stg-btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s}.stg-btn-primary:hover{background:var(--primary-hover)}.stg-btn-ghost{color:var(--text-light);border:1px solid var(--input-border);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;transition:all .15s}.stg-btn-ghost:hover{background:#f1f5f9}.stg-add-lang-btn{border:1.5px dashed var(--primary);border-radius:0 0 var(--radius-sm) var(--radius-sm);width:100%;color:var(--primary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.4rem;padding:.75rem;font-family:inherit;font-size:.845rem;font-weight:500;transition:background .15s;display:flex}.stg-add-lang-btn:hover{background:var(--primary-light)}.stg-nfv-info{background:var(--input-border);border-top:1px solid var(--input-border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.stg-nfv-col{background:#fff;flex-direction:column;gap:.2rem;padding:.85rem 1.25rem;display:flex}.stg-nfv-label{color:var(--text-dark);font-size:.82rem;font-weight:600}.stg-nfv-desc{color:var(--text-muted);font-size:.775rem}.stg-toast{z-index:9999;border-radius:var(--radius-sm);align-items:center;gap:.65rem;max-width:360px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;animation:.25s toastIn;display:flex;position:fixed;top:1.25rem;right:1.5rem;box-shadow:0 4px 20px #0000001f}.stg-toast-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.stg-toast-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.stg-toast-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;margin-left:auto;padding:0;font-family:inherit;font-size:.8rem}.stg-toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.stg-layout{grid-template-columns:1fr}.stg-tab-nav{flex-direction:row;display:flex;position:static;overflow-x:auto}.stg-tab-btn{border-bottom:none;border-right:1px solid var(--input-border);white-space:nowrap}.stg-tab-btn:last-child{border-right:none}.stg-tab-active:before{width:auto;height:3px;inset:auto 0 0}.stg-field-row{flex-direction:column;gap:.75rem}.stg-field-control{width:100%}.stg-page-header{flex-direction:column}.stg-nfv-info{grid-template-columns:1fr}}body.theme-emerald{--primary:#10b981;--primary-hover:#059669;--primary-light:#10b98126;--bg-gradient:linear-gradient(135deg, #ecfdf5 0%, #f8fafc 100%)}body.theme-rose{--primary:#f43f5e;--primary-hover:#e11d48;--primary-light:#f43f5e26;--bg-gradient:linear-gradient(135deg, #fff1f2 0%, #f8fafc 100%)}body.theme-midnight{--primary:#8b5cf6;--primary-hover:#7c3aed;--primary-light:#8b5cf633;--bg-gradient:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--surface:#1e293bcc;--surface-solid:#1e293b;--surface-border:#ffffff1a;--text-dark:#f8fafc;--text-light:#cbd5e1;--text-muted:#94a3b8;--input-bg:#0f172a99;--input-border:#334155;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.theme-midnight .data-table th,body.theme-midnight .app-header{color:#f8fafc;background:#0f172a}body.theme-midnight .sidebar{background:#0f172a;border-right:1px solid #ffffff1a}body.theme-midnight .app-layout{background:var(--bg-gradient)}body.layout-compact .data-table th,body.layout-compact .data-table td{padding:.45rem .75rem;font-size:.825rem}body.layout-compact .form-input,body.layout-compact .form-select{padding:.4rem .6rem;font-size:.85rem}body.layout-compact .stg-card,body.layout-compact .crud-page{padding:1rem}body.sidebar-right .app-layout{flex-direction:row-reverse}body.sidebar-right .sidebar{border-right:none;border-left:1px solid var(--input-border)}body.drawer-pos-left .drawer-overlay{justify-content:flex-start}body.drawer-pos-left .drawer-panel{animation:.25s cubic-bezier(.16,1,.3,1) slideInLeft;box-shadow:8px 0 40px #0000002e}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}body.drawer-pos-center .drawer-overlay{justify-content:center;align-items:center}body.drawer-pos-center .drawer-panel{border-radius:var(--radius);height:auto;min-height:60vh;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;box-shadow:0 10px 50px #00000040}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.loan-invoice-layout{flex-direction:column;gap:1rem;display:flex}.invoice-top-ribbon{border:1px solid var(--input-border);background:#f8fafc;border-radius:8px;align-items:center;gap:1.5rem;padding:.75rem 1rem;display:flex}.ribbon-field{color:var(--text-dark);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.ribbon-field input[type=text],.ribbon-field input[type=date]{border:1px solid var(--input-border);border-radius:4px;width:auto;height:28px;padding:0 .5rem;font-size:.85rem}.ribbon-field .badge-id{background:var(--primary-light);color:var(--primary);border-radius:4px;padding:2px 8px;font-family:monospace}.invoice-middle-section{min-height:250px}.loan-middle-grid{grid-template-columns:2fr 1fr;align-items:start;gap:1rem;display:grid}.invoice-bottom-grid{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:1rem;display:grid}.invoice-box{border:1px solid var(--input-border);background:#fff;border-radius:8px;padding:1rem}.invoice-box-title{text-transform:uppercase;color:var(--primary);border-bottom:1px solid var(--primary-light);margin-bottom:.75rem;padding-bottom:4px;font-size:.75rem;font-weight:700}.customer-detail-row{margin-bottom:.4rem;font-size:.85rem;display:flex}.customer-detail-label{width:100px;color:var(--text-muted);font-weight:500}.customer-detail-val{color:var(--text-dark);flex:1;font-weight:600}.sms-controls{flex-direction:column;gap:.5rem;display:flex}.sms-checkbox-btn{border:1px solid var(--input-border);cursor:pointer;background:#f1f5f9;border-radius:4px;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.75rem;font-weight:600;display:flex}.sms-checkbox-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.invoice-actions-ribbon{border:1px solid var(--input-border);background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.75rem;margin-top:2rem;padding:1.5rem 1rem;display:grid;box-shadow:inset 0 2px 4px #00000005}.action-ribbon-btn{border:1px solid var(--input-border);color:var(--text-dark);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:.75rem .5rem;font-size:.75rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.action-ribbon-btn:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);color:var(--primary);transform:translateY(-3px)}.action-ribbon-btn svg{transition:transform .25s}.action-ribbon-btn:hover svg{transform:scale(1.1)}.action-ribbon-btn.save{background:linear-gradient(135deg, var(--primary) 0%, #6366f1 100%);color:#fff;border:none}.action-ribbon-btn.save:hover{background:linear-gradient(135deg, var(--primary-hover) 0%, #4f46e5 100%);color:#fff}.loan-entry-focus .app-content{background:linear-gradient(#edf2f7 0%,#f8fafceb 100%);padding:1rem}.loan-invoice-layout{border-top:4px solid var(--primary);position:relative;overflow:hidden}.invoice-top-ribbon{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.ribbon-field{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.badge-id{background:var(--primary-light);color:var(--primary);border-radius:6px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.85rem}.loan-middle-grid{gap:1.5rem;margin-bottom:1.5rem;display:grid}.invoice-box{height:100%;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.invoice-box-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:1.25rem;font-size:.8rem;font-weight:800;display:flex}.invoice-box-title:after{content:"";background:linear-gradient(90deg,#e2e8f0,#0000);flex:1;height:1px}.customer-detail-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:8px 0;display:flex}.customer-detail-label{color:var(--text-light);font-size:.75rem;font-weight:500}.customer-detail-val{color:var(--text-dark);font-size:.85rem;font-weight:700}.loan-item-row:hover{background:#fdfdfd}.loan-item-row .form-input,.loan-item-row .form-select{padding:.6rem .75rem;font-size:.85rem}.sms-controls{flex-wrap:wrap;gap:8px;display:flex}.sms-checkbox-btn{cursor:pointer;color:var(--text-light);background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.sms-checkbox-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.sms-checkbox-btn svg{opacity:.4}.sms-checkbox-btn.active svg{opacity:1}.loan-invoice-layout .data-table th,.loan-invoice-layout .data-table td{padding:.5rem;font-size:.8rem}.success-overlay{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:10000;background:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.success-check-wrapper{justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:relative}.checkmark-svg{stroke-width:2px;stroke:#fff;stroke-miterlimit:10;border-radius:50%;width:120px;height:120px;animation:.4s ease-in-out .4s forwards fill-checkmark,.3s ease-in-out .9s both scale-checkmark;display:block;box-shadow:inset 0 0 #00d3a5}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166px;stroke-width:2px;stroke-miterlimit:10;stroke:#00d3a5;fill:none;animation:.6s cubic-bezier(.65,0,.45,1) forwards stroke-checkmark}.checkmark-check{transform-origin:50%;stroke-dasharray:48;stroke-dashoffset:48px;animation:.3s cubic-bezier(.65,0,.45,1) .8s forwards stroke-checkmark}@keyframes stroke-checkmark{to{stroke-dashoffset:0}}@keyframes scale-checkmark{0%,to{transform:none}50%{transform:scale(1.1)}}@keyframes fill-checkmark{to{box-shadow:inset 0 0 0 100px #00d3a5}}.success-message-text{color:#1e293b;letter-spacing:-.04em;opacity:0;margin-top:2rem;font-size:1.5rem;font-weight:900;animation:.5s 1s forwards slideUpFade;transform:translateY(10px)}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}.animated-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animated-slide-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
