@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary: #8bc44a;--primary-hover: #75a83a;--primary-rgb: 139, 196, 74;--background: #F8FAFA;--surface: #FFFFFF;--border: #E2E8F0;--text-main: #1E293B;--text-muted: #64748B;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--purple: #8B5CF6;--orange: #F97316;--status-open: #3B82F6;--status-late: #EF4444;--status-blacklist: #7C3AED;--status-returned: #10B981;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius: 12px;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .07), 0 1px 2px -1px rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .05);--transition: all .2s cubic-bezier(.4, 0, .2, 1);--gradient-start: #667EEA;--gradient-end: #764BA2;--secondary: #0F172A;--secondary-hover: #1E293B}[data-theme=dark]{--primary: #8bc44a;--primary-hover: #9dd15a;--primary-rgb: 139, 196, 74;--background: #0F172A;--surface: #111C2E;--border: #1E293B;--text-main: #F8FAFC;--text-muted: #94A3B8;--success: #10B981;--warning: #FBBF24;--danger: #F87171;--purple: #8B5CF6;--orange: #F97316;--status-open: #60A5FA;--status-late: #F87171;--status-blacklist: #A78BFA;--status-returned: #34D399;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .25);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--gradient-start: #334155;--gradient-end: #0F172A;--secondary: #F8FAFC;--secondary-hover: #E2E8F0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--background);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{opacity:.85}button{font-family:inherit}.app-container{display:flex;min-height:100vh}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-title{font-size:1.75rem;font-weight:800;color:var(--text-main);letter-spacing:-.5px}.page-subtitle{font-size:.9rem;color:var(--text-muted);margin-top:.125rem}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;padding-right:2.5rem!important}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}[data-theme=dark] .glass{background:#111c2ebf;border:1px solid rgba(30,41,59,.5)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){.app-container{flex-direction:column}.main-content{padding:1rem 1rem 5rem}.page-title{font-size:1.4rem}}.sidebar{width:280px;background-color:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:100;transition:width .3s ease,background-color .3s}.sidebar-header{padding:2rem 1.5rem;display:flex;align-items:center;gap:.75rem}.sidebar-brand{font-size:1.4rem;font-weight:800;color:var(--primary);margin:0;letter-spacing:-.5px;background:linear-gradient(135deg,var(--primary),#75a83a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav{flex:1;padding:.5rem 1rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0}.sidebar-link{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;color:var(--text-muted);text-decoration:none;border-radius:12px;font-weight:600;font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;background:transparent;width:100%;cursor:pointer;font-family:inherit;text-align:left}.sidebar-link:hover{background-color:var(--background);color:var(--text-main);transform:translate(4px)}.sidebar-link.active{background:linear-gradient(135deg,#6366f11a,#6366f10d);color:var(--primary);position:relative}.sidebar-link.active:before{content:"";position:absolute;left:-4px;top:20%;bottom:20%;width:4px;background:var(--primary);border-radius:0 4px 4px 0}.sidebar-icon{transition:transform .2s}.sidebar-link:hover .sidebar-icon{transform:scale(1.1)}.sidebar-footer{padding:1.5rem 1rem;border-top:1px solid var(--border)}.logout-btn{color:var(--danger)}.logout-btn:hover{background-color:#ef444414;color:var(--danger)}@media(max-width:768px){.sidebar{width:100%;height:auto;position:fixed;bottom:0;top:auto;flex-direction:row;border-right:none;border-top:1px solid var(--border);box-shadow:0 -10px 15px -3px #0000000d}.sidebar-header{display:none}.sidebar-nav{flex-direction:row;justify-content:space-around;padding:.5rem;gap:0;overflow:visible}.sidebar-link{flex-direction:column;padding:.5rem .25rem;gap:.25rem;border-radius:8px;flex:1;align-items:center;text-align:center;font-size:.65rem;font-weight:700}.sidebar-link:hover{transform:none;background:transparent}.sidebar-link.active{background:transparent;color:var(--primary)}.sidebar-link.active:before{display:none}.sidebar-link.active:after{content:"";position:absolute;top:0;left:20%;right:20%;height:3px;background:var(--primary);border-radius:0 0 3px 3px}.sidebar-footer{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition);font-family:inherit;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#0f172a;box-shadow:var(--shadow-sm);font-weight:700}.btn-primary:not(:disabled):hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text-main);border:1px solid var(--border)}.btn-secondary:not(:disabled):hover{background-color:var(--background);border-color:var(--text-muted)}.btn-success{background-color:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.btn-success:not(:disabled):hover{background-color:var(--success);color:#fff;border-color:var(--success)}.btn-danger{background-color:#ef44441a;color:var(--danger)}.btn-danger:not(:disabled):hover{background-color:#ef444433}.btn-ghost{background-color:transparent;color:var(--text-muted)}.btn-ghost:not(:disabled):hover{background-color:#8bc44a14;color:var(--primary)}.btn-sm{padding:.375rem .875rem;font-size:.85rem}.btn-md{padding:.65rem 1.375rem;font-size:.95rem}.btn-lg{padding:.875rem 1.75rem;font-size:1.05rem}.btn-full{width:100%}.input-wrapper{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.input-full{width:100%}.input-label{font-size:.875rem;font-weight:500;color:var(--text-main)}.input-container{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.input-field{width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;color:var(--text-main);background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;box-shadow:inset 0 1px 2px #00000005}.input-field:hover{background-color:var(--surface);border-color:#cbd5e1}.input-field.has-icon{padding-left:2.75rem}.input-field::placeholder{color:#94a3b8}.input-field:focus{background-color:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px #8bc44a33;transform:translateY(-1px)}.input-field.has-error{border-color:var(--danger);background-color:#ef44440d}.input-field.has-error:focus{box-shadow:0 0 0 3px #ef444426}.input-error-text{font-size:.75rem;color:var(--danger);margin-top:.25rem}.forgot-password-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--background);padding:2rem}.forgot-password-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.forgot-password-card h1{font-size:1.75rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem;text-align:center}.forgot-password-card .subtitle{font-size:.9rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;line-height:1.5}.forgot-password-card form{display:flex;flex-direction:column;gap:1rem}.forgot-password-card .auth-links{display:flex;justify-content:center;margin-top:1rem}.forgot-password-card .auth-links a{color:var(--primary);text-decoration:none;font-weight:500;font-size:.9rem}.forgot-password-card .auth-links a:hover{text-decoration:underline}.success-message{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--success);padding:1rem;border-radius:var(--radius);font-size:.9rem;text-align:center;line-height:1.5}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:.75rem;border-radius:var(--radius);font-size:.875rem;text-align:center}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--background);position:relative;overflow:hidden}.auth-container:before,.auth-container:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}.auth-container:before{width:400px;height:400px;background:radial-gradient(circle,rgba(139,196,74,.12),transparent 70%);top:-100px;right:-100px}.auth-container:after{width:350px;height:350px;background:radial-gradient(circle,rgba(139,196,74,.07),transparent 70%);bottom:-80px;left:-80px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:2.5rem 2rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg);position:relative;z-index:1}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--primary),#75a83a);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 8px 24px #8bc44a59}.auth-logo-icon{font-size:2rem;font-weight:900;color:#0f172a;line-height:1;font-family:Inter,sans-serif}.auth-title{font-size:1.6rem;font-weight:800;color:var(--text-main);letter-spacing:-.5px;margin-bottom:.375rem}.auth-subtitle{font-size:.875rem;color:var(--text-muted)}.auth-error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--danger);border-radius:10px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;margin-bottom:1.25rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:0}.auth-submit-btn{margin-top:.5rem;height:48px;font-size:1rem;font-weight:700;border-radius:12px}.auth-forgot{text-align:center;margin-top:1rem;font-size:.85rem}.auth-forgot a{color:var(--text-muted);text-decoration:none;transition:color .2s}.auth-forgot a:hover{color:var(--primary)}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.75rem 0 1.25rem;color:var(--text-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-download-section{display:flex;flex-direction:column;gap:1rem}.auth-download-text{font-size:.82rem;color:var(--text-muted);text-align:center;line-height:1.5}.auth-download-text strong{color:var(--primary)}.auth-store-buttons{display:flex;gap:.75rem}.store-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem .875rem;border-radius:12px;text-decoration:none;transition:all .2s ease;border:1.5px solid var(--border);background:var(--background)}.store-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.store-btn.android:hover,.store-btn.ios:hover{background:#8bc44a0f}.store-icon{width:22px;height:22px;flex-shrink:0;color:var(--text-main)}.store-btn-text{display:flex;flex-direction:column;align-items:flex-start}.store-btn-label{font-size:.62rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;line-height:1}.store-btn-name{font-size:.875rem;font-weight:700;color:var(--text-main);line-height:1.2;margin-top:2px}@media(max-width:480px){.auth-card{padding:2rem 1.25rem;border-radius:20px}.auth-store-buttons{flex-direction:column}}.card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;border:1px solid var(--border);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.categories-container{padding:0}.categories-form{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:1.5rem}.categories-form .input-wrapper{flex:1}.categories-form .form-actions{display:flex;gap:.5rem;flex-shrink:0}.categories-list-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.categories-list-header h2{font-size:1.125rem;font-weight:700;color:var(--text-main);margin:0}.categories-count{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.125rem .5rem;font-size:.75rem;font-weight:700;color:var(--text-muted)}.category-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;margin-bottom:.75rem}.category-card .category-name{font-size:1rem;font-weight:600;color:var(--text-main)}.category-card .category-actions{display:flex;gap:.5rem}.category-card .icon-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--background);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.category-card .icon-btn:hover{transform:scale(1.1)}.category-card .icon-btn.edit{color:var(--primary)}.category-card .icon-btn.delete{color:var(--danger)}.categories-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.9rem}.badge{display:inline-flex;align-items:center;padding:.3rem .65rem;font-size:.72rem;font-weight:700;border-radius:9999px;line-height:1;letter-spacing:.2px}.badge-primary{background-color:#8bc44a1f;color:var(--primary)}.badge-secondary{background-color:#64748b1a;color:var(--text-muted)}.badge-success{background-color:#10b9811f;color:var(--success)}.badge-warning{background-color:#f59e0b1f;color:var(--warning)}.badge-danger{background-color:#ef44441f;color:var(--danger)}.badge-purple{background-color:#8b5cf61f;color:var(--purple)}.dashboard-container{display:flex;flex-direction:column;gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.stats-grid.mini-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;transition:transform .25s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-wrapper.primary{background:#6366f11f;color:var(--primary)}.stat-icon-wrapper.success{background:#10b9811f;color:var(--success)}.stat-icon-wrapper.danger{background:#ef44441f;color:var(--danger)}.stat-icon-wrapper.warning{background:#f59e0b1f;color:var(--warning)}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-bottom:.125rem}.stat-value{font-size:1.35rem;font-weight:700;color:var(--text-main)}.stat-card-mini{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem}.mini-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.mini-value{font-size:1.25rem;font-weight:700}.mini-value.primary{color:var(--primary)}.mini-value.success{color:var(--success)}.mini-value.warning{color:var(--warning)}.mini-value.danger{color:var(--danger)}.section{margin-top:.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-title{font-size:1.125rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:.5rem}.loan-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;cursor:pointer;transition:transform .15s,box-shadow .15s}.loan-row:hover{transform:translate(3px);box-shadow:var(--shadow-md)}.loan-row-icon{width:40px;height:40px;border-radius:10px;background:var(--background);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.loan-row-content{flex:1;min-width:0}.loan-row-title{display:block;font-size:.95rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loan-row-subtitle{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.125rem}.category-bar-row{margin-bottom:1rem}.category-bar-row:last-child{margin-bottom:0}.category-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.category-bar-name{font-size:.875rem;font-weight:500;color:var(--text-main)}.category-bar-value{font-size:.8rem;font-weight:600;color:var(--primary)}.category-bar-track{height:8px;background:var(--background);border-radius:4px;overflow:hidden}.category-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),#6366f1);border-radius:4px;transition:width .5s ease;min-width:4px}.empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.75rem;padding:2.5rem 1rem;color:var(--text-muted)}.empty-card p{font-size:.95rem}@media(max-width:768px){.stats-grid{grid-template-columns:1fr 1fr}.stats-grid.mini-stats{grid-template-columns:1fr}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.ddn-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}.ddn-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .875rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(139,196,74,.06),transparent)}.ddn-nav-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--background);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;flex-shrink:0}.ddn-nav-btn:hover{background:var(--primary);border-color:var(--primary);color:#0f172a;transform:scale(1.05)}.ddn-date-info{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;text-align:center;padding:0 .75rem}.ddn-date-label{font-size:1.05rem;font-weight:800;color:var(--text-main);letter-spacing:-.3px}.ddn-date-label.today{color:var(--primary)}.ddn-date-full{font-size:.72rem;color:var(--text-muted);font-weight:500}.ddn-total-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#8bc44a0f;border-bottom:1px solid var(--border)}.ddn-total-label{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.ddn-total-value{font-size:1rem;font-weight:800;color:var(--primary)}.ddn-empty{display:flex;align-items:center;justify-content:center;padding:2.25rem 1rem}.ddn-empty-text{font-size:.875rem;color:var(--text-muted);font-weight:500}.ddn-list{display:flex;flex-direction:column}.ddn-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.ddn-item:last-child{border-bottom:none}.ddn-item:hover{background:var(--background)}.ddn-item.late{border-left:3px solid var(--danger);padding-left:calc(1.25rem - 3px)}.ddn-item.late .ddn-item-icon{background:#ef44441a;color:var(--danger)}.ddn-item-icon{width:36px;height:36px;border-radius:10px;background:#8bc44a1a;color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ddn-item-icon.installment{background:#6366f11a;color:#6366f1}.ddn-item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ddn-item-name{font-size:.9rem;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ddn-item-sub{font-size:.72rem;color:var(--text-muted);font-weight:500}.ddn-item-amount{font-size:.92rem;font-weight:800;color:var(--text-main);white-space:nowrap;flex-shrink:0}.ddn-today-btn{display:block;width:100%;padding:.75rem;background:var(--background);border:none;border-top:1px solid var(--border);color:var(--primary);font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s;text-align:center}.ddn-today-btn:hover{background:#8bc44a14}.reports-container{padding-bottom:2rem;display:flex;flex-direction:column;gap:1.5rem}.reports-filters{display:flex;flex-direction:column;gap:1rem}.period-type-buttons{display:flex;gap:.5rem}.period-button{flex:1;padding:.75rem 1rem;border-radius:var(--radius);background-color:var(--background);border:1px solid var(--border);color:var(--text-main);font-weight:600;transition:var(--transition);cursor:pointer}.period-button.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.date-selectors{display:flex;gap:.5rem}.date-select{flex:1;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background-color:var(--background);color:var(--text-main);font-size:.875rem;font-weight:500}.export-banner{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.export-label{font-size:.875rem;color:var(--text-muted)}.export-pdf-button{display:flex;align-items:center;gap:.5rem;background:var(--primary);border:none;color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;padding:.625rem 1.25rem;border-radius:var(--radius);transition:var(--transition);font-family:inherit}.export-pdf-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{display:flex;flex-direction:column;gap:.5rem}.primary-stat{border-left:4px solid var(--primary)}.success-stat{border-left:4px solid var(--success)}.warning-stat{border-left:4px solid var(--warning)}.danger-stat{border-left:4px solid var(--danger)}.blacklist-stat{border-left:4px solid var(--blacklist, #4f46e5)}.stat-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.stat-value{font-size:1.25rem;font-weight:700;color:var(--text-main)}.icon-primary{color:var(--primary)}.icon-success{color:var(--success)}.icon-warning{color:var(--warning)}.icon-danger{color:var(--danger)}.icon-blacklist{color:#4f46e5}.reports-columns{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.reports-columns{grid-template-columns:1fr 1fr}}.reports-section{display:flex;flex-direction:column;gap:1rem}.type-stats-card{display:flex;flex-direction:row;justify-content:space-around;padding:1.5rem!important}.type-stat{display:flex;flex-direction:column;align-items:center;gap:.5rem}.type-stat-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.money-icon{background-color:#4a90e21a;color:var(--primary)}.item-icon{background-color:#43a0471a;color:var(--secondary)}.type-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-main)}.type-stat-label{font-size:.875rem;color:var(--text-muted)}.status-stats-card{display:flex;flex-direction:column;gap:1rem}.status-row{display:flex;align-items:center;gap:.75rem}.status-dot{width:12px;height:12px;border-radius:50%}.status-dot.success{background-color:var(--success)}.status-dot.warning{background-color:var(--warning)}.status-dot.danger{background-color:var(--danger)}.status-dot.blacklist{background-color:#4f46e5}.status-dot.text-secondary{background-color:var(--text-muted)}.status-label{flex:1;font-weight:500;color:var(--text-main)}.status-value{font-weight:700;color:var(--text-main)}.reports-section-full,.person-stats-list,.person-stat-card{display:flex;flex-direction:column;gap:1rem}.person-avatar{width:40px;height:40px;border-radius:50%;background-color:#4a90e21a;color:var(--primary);display:flex;align-items:center;justify-content:center}.person-name{font-weight:600;color:var(--text-main)}.person-subtitle{font-size:.75rem;color:var(--text-muted)}.person-financials{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border)}.p-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.p-label{font-size:.75rem;color:var(--text-muted)}.p-val{font-size:.875rem;font-weight:600;color:var(--text-main)}.val-success{color:var(--success)}.val-warning{color:var(--warning)}.empty-message-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;color:var(--text-muted);background-color:var(--surface);border-radius:var(--radius);text-align:center}.loans-period-list{display:flex;flex-direction:column;gap:.75rem}.report-list-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.r-item-main{display:flex;justify-content:space-between;align-items:center}.r-item-title{font-weight:600;color:var(--text-main)}.r-item-status,.r-item-amount{font-size:.875rem;font-weight:600}.r-item-amount{color:var(--primary)}.r-item-sub{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.status-warning{color:var(--warning)}.status-danger{color:var(--danger)}.status-blacklist{color:#4f46e5}.status-success{color:var(--success)}.loan-details-container{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.details-header{display:flex;justify-content:space-between;align-items:center}.header-actions{display:flex;gap:.5rem}.main-info{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.main-icon{width:64px;height:64px;border-radius:16px;background-color:var(--surface);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.main-value{font-size:2rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem}.due-info{font-size:.875rem;font-weight:600;color:var(--warning);margin-top:.75rem}.due-info.overdue{color:var(--danger)}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-main);margin-bottom:.75rem}.financial-row,.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);align-items:center}.financial-row:last-child,.detail-row:last-child{border-bottom:none}.financial-label{color:var(--text-muted);font-size:.875rem}.financial-value{font-weight:600;color:var(--text-main)}.financial-value-highlight{color:var(--primary);font-size:1.125rem}.financial-value-success{color:var(--success)}.financial-value-warning{color:var(--warning)}.detail-row{justify-content:flex-start;gap:1rem}.detail-icon{width:40px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.detail-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:var(--text-muted)}.detail-value{font-weight:500;color:var(--text-main)}.installment-row{display:flex;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:var(--transition)}.installment-row:hover{background-color:var(--background)}.installment-row:last-child{border-bottom:none}.installment-icon{width:48px;display:flex;align-items:center;justify-content:center}.installment-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.installment-header,.installment-footer{display:flex;justify-content:space-between;align-items:center}.installment-number{font-weight:500;color:var(--text-main)}.installment-amount{font-weight:600;color:var(--text-main)}.installment-amount-paid{color:var(--success)}.installment-date{font-size:.75rem;color:var(--text-muted)}.installment-date-overdue{color:var(--danger);font-weight:500}.overdue-label{font-size:.75rem;color:var(--danger);font-weight:600}.page-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.page-actions>*{flex:1;min-width:140px}.loans-container{display:flex;flex-direction:column;gap:1.5rem}.filters-card{padding:1rem}.filters-grid{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filters-grid .input-wrapper{margin-bottom:0;flex:1;min-width:200px}.filter-group{display:flex;gap:.75rem;flex-wrap:wrap}.filter-select{padding:.75rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text-main);background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);outline:none;min-width:150px;cursor:pointer;transition:var(--transition)}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}@media(max-width:768px){.filters-grid{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column}.filter-select{width:100%}}.loans-grid{display:flex;flex-direction:column;gap:1rem}.loan-card{background:var(--surface);border-radius:18px;border:1px solid var(--border);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .25s ease;position:relative;box-shadow:var(--shadow-sm)}.loan-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a;border-color:var(--status-color, var(--primary))}.loan-card-accent{height:4px;background:var(--status-color, var(--primary));width:100%;flex-shrink:0}.loan-card-header{display:flex;align-items:center;gap:.875rem;padding:1.125rem 1.25rem .75rem}.loan-card-avatar{width:44px;height:44px;border-radius:50%;background:var(--status-bg, rgba(99, 102, 241, .1));color:var(--status-color, var(--primary));font-size:1rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--status-color, var(--primary))}.loan-card-identity{flex:1;min-width:0}.loan-person-name{font-size:1rem;font-weight:700;color:var(--text-main);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loan-type-chip{font-size:.72rem;color:var(--text-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.3rem;margin-top:1px}.loan-type-icon{display:inline-flex;align-items:center;opacity:.7}.loan-status-pill{padding:.35rem .875rem;border-radius:30px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;white-space:nowrap}.loan-card-body{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;gap:1rem;background:var(--background);margin:0 1rem;border-radius:12px}.loan-card-value-block{display:flex;flex-direction:column}.loan-value-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:2px}.loan-value-amount{font-size:1.375rem;font-weight:800;color:var(--text-main);letter-spacing:-.5px}.loan-card-dates{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.loan-date-chip{display:flex;flex-direction:column;align-items:center;text-align:center}.loan-date-label{font-size:.62rem;text-transform:uppercase;font-weight:700;color:var(--text-muted);letter-spacing:.4px}.loan-date-val{font-size:.82rem;font-weight:700;color:var(--text-main);margin-top:1px}.loan-date-val.overdue-text{color:var(--danger)}.loan-date-arrow{font-size:.9rem;color:var(--text-muted)}.loan-installments-row{padding:.625rem 1.25rem 0}.loan-progress-label{display:flex;justify-content:space-between;font-size:.72rem;font-weight:600;color:var(--text-muted);margin-bottom:5px}.loan-progress-label strong{color:var(--text-main)}.loan-progress-track{height:5px;background:var(--border);border-radius:10px;overflow:hidden}.loan-progress-fill{height:100%;border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.loan-card-footer{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem 1rem;gap:.5rem;margin-top:auto}.loan-footer-left{flex:1;min-width:0}.loan-due-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;color:var(--text-muted);background:var(--background);padding:.3rem .75rem;border-radius:20px;border:1px solid var(--border);white-space:nowrap}.loan-due-badge.urgent{color:var(--danger);background:#ef444414;border-color:#ef444440}.loan-footer-actions{display:flex;align-items:center;gap:.5rem}.loan-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .875rem;border-radius:30px;border:none;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s ease;white-space:nowrap}.loan-action-btn:hover{transform:translateY(-1px)}.loan-action-btn.success{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.loan-action-btn.success:hover{background:#059669;color:#fff}.loan-action-btn.whatsapp{background:#25d3661a;color:#25d366;border:1px solid rgba(37,211,102,.3);padding:.45rem .65rem}.loan-action-btn.whatsapp:hover{background:#25d366;color:#fff}.loan-action-btn.details{background:var(--background);color:var(--primary);border:1px solid var(--border)}.loan-action-btn.details:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.loan-card.loan-status-returned{opacity:.8}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 2rem;background:var(--surface);border-radius:18px;border:2px dashed var(--border);text-align:center}.empty-state-icon{color:var(--text-muted);opacity:.5}.empty-state h3{font-size:1.125rem;font-weight:700;color:var(--text-main);margin:0}.empty-state p{font-size:.9rem;color:var(--text-muted);margin:0}@media(max-width:640px){.loans-grid{grid-template-columns:1fr}.loan-card-body{flex-direction:column;align-items:flex-start;gap:.75rem}.loan-card-dates{width:100%;justify-content:flex-start}}.loan-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:flex;gap:1rem;width:100%}.form-row>*{flex:1}.radio-group{display:flex;gap:.5rem}.radio-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;transition:var(--transition);font-weight:600;color:var(--text-muted)}.radio-btn input[type=radio]{display:none}.radio-btn.active{background:linear-gradient(135deg,#6366f11a,#6366f10d);border-color:var(--primary);color:var(--primary)}.weekdays-group{display:flex;flex-wrap:wrap;gap:.5rem}.weekday-btn{padding:.625rem .875rem;border:1px solid var(--border);background:var(--surface);border-radius:10px;cursor:pointer;color:var(--text-muted);font-weight:600;font-size:.875rem;transition:var(--transition)}.weekday-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.info-box{background-color:#6366f114;color:var(--primary);padding:1rem;border-radius:var(--radius);font-size:.875rem;border:1px dashed var(--primary)}.installments-preview{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;color:var(--text-main);box-shadow:var(--shadow-sm)}.actions-row{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}.cards-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:.25rem}.cards-selector.freq-selector{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.card-option{display:flex;flex-direction:column;padding:1rem;border:1.5px solid var(--border);border-radius:var(--radius);background-color:var(--surface);cursor:pointer;transition:all .2s ease;gap:.4rem}.card-option:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.card-option.active{border-color:var(--primary);background:linear-gradient(135deg,#6366f10d,#6366f105);box-shadow:0 0 0 1px var(--primary)}.card-title{font-weight:700;font-size:.9rem;color:var(--text-main)}.card-option.active .card-title{color:var(--primary)}.card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.card-option.small{padding:.75rem .5rem;align-items:center;justify-content:center}.person-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);cursor:pointer;transition:var(--transition);font-size:1rem}.person-select-trigger:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.selected-person-content{display:flex;align-items:center;gap:.75rem;font-weight:600}.placeholder-text{color:var(--text-muted)}.person-modal{max-width:440px!important}.person-list-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-radius:var(--radius);cursor:pointer;transition:all .2s;border:1px solid transparent}.person-list-item:hover{background-color:var(--background)}.person-list-item.active{background-color:#6366f11a;border-color:var(--primary);color:var(--primary)}.person-avatar{width:36px;height:36px;background:var(--background);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.person-list-item.active .person-avatar{background:var(--primary);color:#fff}.person-name{font-weight:600;font-size:1rem}@media(max-width:600px){.form-row{flex-direction:column}}.new-loan-page-container{display:flex;flex-direction:column;gap:2rem;max-width:800px;margin:0 auto}.page-header{display:flex;flex-direction:column;gap:1rem}.back-button{align-self:flex-start;display:flex;align-items:center;gap:.5rem;padding:0;color:var(--text-muted)}.back-button:hover{color:var(--primary);background:transparent}.form-container{width:100%}.form-card{padding:2rem}.modal-overlay{position:fixed;inset:0;background-color:#0f172a99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-main);margin:0}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition)}.modal-close:hover{background-color:var(--background);color:var(--text-main)}.modal-body{padding:1.5rem;overflow-y:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.people-container{display:flex;flex-direction:column;gap:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center}.page-title{font-size:2rem;font-weight:700;color:var(--text-main);margin-bottom:.25rem}.page-subtitle{color:var(--text-muted);font-size:1rem}.search-card{padding:1rem}.search-card .input-wrapper{margin-bottom:0}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.person-card{display:flex;flex-direction:column;gap:1rem}.person-header{display:flex;align-items:center;gap:1rem}.person-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.person-info{flex:1}.person-name{font-weight:600;font-size:1.125rem;color:var(--text-main);margin-bottom:.25rem}.person-phone{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.875rem}.person-notes{font-size:.875rem;color:var(--text-muted);background-color:var(--background);padding:.75rem;border-radius:var(--radius-sm);border:1px dashed var(--border)}.person-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.person-details-container{max-width:800px;margin:0 auto}.person-details-container .back-row{margin-bottom:1rem}.person-profile{text-align:center;padding:2rem;margin-bottom:1.5rem}.person-profile .profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#6366f1);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2rem;font-weight:700;color:#fff}.person-profile .profile-name{font-size:1.75rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem}.person-profile .profile-phone{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted);font-size:1rem;margin-bottom:1.25rem}.person-profile .profile-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.person-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center;padding:1rem 0}.person-stats-grid .stat-item{padding:.75rem}.person-stats-grid .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-main);margin-bottom:.25rem}.person-stats-grid .stat-value.late{color:var(--danger)}.person-stats-grid .stat-label{font-size:.75rem;color:var(--text-muted)}.person-info-section{margin-bottom:1.5rem}.person-info-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.person-info-section .section-title{font-size:1.25rem;font-weight:700;color:var(--text-main)}.info-row{margin-bottom:.75rem}.info-row .info-label{font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:.125rem}.info-row .info-value{font-size:1rem;color:var(--text-main)}.person-notes-text{font-size:1rem;color:var(--text-main);line-height:1.6}.person-loans-section{margin-top:1.5rem}.person-loans-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.person-loan-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;margin-bottom:.75rem;cursor:pointer;transition:transform .15s}.person-loan-item:hover{transform:translate(4px)}.person-loan-item .loan-info{flex:1}.person-loan-item .loan-info .loan-value{font-size:1rem;font-weight:600;color:var(--text-main);margin-bottom:.25rem}.person-loan-item .loan-info .loan-date{font-size:.8rem;color:var(--text-muted)}.person-empty-loans{text-align:center;padding:1.5rem;color:var(--text-muted)}.settings-container{max-width:700px;margin:0 auto}.settings-section{margin-bottom:2rem}.settings-section .section-title{font-size:1.125rem;font-weight:700;color:var(--text-main);margin-bottom:.75rem}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background .2s}.setting-row:hover{background:var(--background)}.setting-row .setting-left{display:flex;align-items:center;gap:.75rem}.setting-row .setting-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#8bc44a1f;color:var(--primary)}.setting-row .setting-label{font-size:.95rem;font-weight:500;color:var(--text-main)}.setting-row .setting-description{font-size:.8rem;color:var(--text-muted);margin-top:.125rem}.toggle-switch{position:relative;width:46px;height:26px;appearance:none;background:var(--border);border-radius:13px;cursor:pointer;transition:background .3s;outline:none;border:none}.toggle-switch:checked{background:var(--primary)}.toggle-switch:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 1px 3px #0003}.toggle-switch:checked:before{transform:translate(20px)}.user-info-card{display:flex;align-items:center;gap:1rem;padding:1.5rem}.user-info-card .user-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#75a83a);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0}.user-info-card .user-details h3{font-size:1.125rem;font-weight:600;color:var(--text-main);margin-bottom:.25rem}.user-info-card .user-details p{font-size:.875rem;color:var(--text-muted)}.delete-section{border:1px solid var(--danger);border-radius:var(--radius-lg);padding:1.5rem;margin-top:1rem}.delete-section h3{font-size:1rem;font-weight:700;color:var(--danger);margin-bottom:.5rem}.delete-section p{font-size:.875rem;color:var(--text-muted);line-height:1.5;margin-bottom:.75rem}.delete-modal-content{display:flex;flex-direction:column;gap:1rem}.delete-modal-content .warning-text{font-size:.9rem;color:var(--danger);line-height:1.5;text-align:center}.settings-footer{text-align:center;padding:2rem 0;color:var(--text-muted);font-size:.8rem}
