:root{--green:#268b0b;--green-2:#46a900;--blue:#075ba8;--mint:#eef8e9;--ink:#17231d;--muted:#65736c;--line:#dfe7e2;--bg:#f4f7f5;--white:#fff;--danger:#b3261e;--warning:#a35b00;--shadow:0 18px 50px rgba(13,60,40,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#ddecf8 0,transparent 45%),linear-gradient(160deg,#f8fbf9,#edf7e9)}.login-card{width:min(100%,420px);background:var(--white);padding:30px 28px 34px;border-radius:28px;box-shadow:var(--shadow);text-align:center}.brand-logo{width:min(100%,330px);height:104px;margin:0 auto 12px;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.header-logo{width:132px;height:38px;overflow:hidden}.header-logo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}h1,h2,h3,p{margin-top:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800;color:var(--green);margin-bottom:5px}.muted,.security-note{color:var(--muted)}.security-note{font-size:.8rem;margin:22px 0 0}.form-stack{display:grid;gap:16px;text-align:left;margin-top:28px}.form-stack label{display:grid;gap:7px;font-size:.88rem;font-weight:700}.form-stack input,.form-stack textarea,.form-stack select{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fbfdfc;outline:none}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,91,168,.12)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:58px}.icon-button{position:absolute;right:6px;top:6px;bottom:6px;border:0;background:transparent;color:var(--blue);font-size:.8rem;font-weight:800}.primary-button,.secondary-button{border:0;border-radius:13px;padding:13px 17px;font-weight:800}.primary-button{background:linear-gradient(135deg,var(--green),var(--blue));color:white}.secondary-button{background:#eef3f0;color:var(--ink)}.primary-button.compact{padding:10px 15px}.error-text{color:var(--danger);font-size:.85rem;margin:0}.app-shell{min-height:100dvh;padding-bottom:85px}.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);padding:13px max(18px,calc((100% - 980px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.topbar h1{font-size:1.15rem;margin:2px 0 0}.user-chip{display:flex;align-items:center;gap:8px;font-size:.73rem;font-weight:800;color:var(--blue)}.text-button{border:0;background:#edf4f8;color:var(--blue);border-radius:10px;padding:8px}.content{max-width:980px;margin:auto;padding:22px 18px}.page{display:none}.page.active{display:block}.welcome-panel{display:flex;justify-content:space-between;align-items:center;color:white;background:linear-gradient(135deg,var(--green),var(--blue));border-radius:22px;padding:24px;box-shadow:var(--shadow)}.welcome-panel h2{margin-bottom:7px}.welcome-panel p:last-child{font-size:.84rem;opacity:.82;margin:0}.welcome-panel .eyebrow{color:#e5f6dc}.online-pill{font-size:.72rem;background:rgba(255,255,255,.16);padding:8px 10px;border-radius:999px}.online-pill.offline{background:#7b3e00}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0 26px}.stat-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:3px}.stat-card span,.stat-card small{color:var(--muted);font-size:.76rem}.stat-card strong{font-size:1.5rem;color:var(--blue)}.stat-card.warning strong{color:var(--warning)}.stat-card.danger strong{color:var(--danger)}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-grid button{min-height:98px;border:1px solid var(--line);background:white;border-radius:18px;padding:14px;color:var(--ink);font-weight:750;display:grid;justify-items:start;gap:10px;text-align:left}.quick-grid button span{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:var(--mint);color:var(--blue);font-size:1.25rem}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:12;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:flex;justify-content:center;padding:7px max(4px,calc((100% - 620px)/2)) max(7px,env(safe-area-inset-bottom))}.bottom-nav button{flex:1;max-width:124px;border:0;background:transparent;color:var(--muted);font-size:.66rem;display:grid;gap:3px;justify-items:center}.bottom-nav button span{font-size:1.3rem}.bottom-nav button.active{color:var(--blue);font-weight:800}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-heading h2{margin:0}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:19px;margin:0 0 16px}.panel h3{margin-bottom:0}.button-row{display:flex;justify-content:flex-end;gap:9px}.list-stack{display:grid;gap:10px}.list-item{background:white;border:1px solid var(--line);border-radius:16px;padding:15px;display:flex;justify-content:space-between;gap:12px;align-items:center}.list-item h3{font-size:.95rem;margin:0 0 4px}.list-item p{font-size:.78rem;color:var(--muted);margin:0}.number-badge{min-width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--blue);font-weight:900;display:grid;place-items:center}.list-main{display:flex;align-items:center;gap:12px}.role-label{font-size:.7rem;font-weight:800;padding:6px 9px;border-radius:999px;background:var(--mint);color:var(--green)}.calculation-box{background:var(--mint);border:1px solid #cce4d7;border-radius:16px;padding:16px}.calculation-box p{margin:0;color:var(--muted);font-size:.82rem}.calculation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.calculation-grid div{display:grid;gap:3px}.calculation-grid span{font-size:.72rem;color:var(--muted)}.calculation-grid strong{color:var(--blue)}.formula-note{font-size:.75rem;color:var(--muted);margin:-7px 0 0}.credit-card{display:block}.credit-card summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}.credit-card summary::-webkit-details-marker{display:none}.credit-schedule{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;font-size:.76rem}.schedule-table th,.schedule-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);white-space:nowrap}.schedule-table th{color:var(--muted)}.empty-page{text-align:center;padding:90px 20px;color:var(--muted)}.empty-page h2{color:var(--ink)}.empty-icon{width:65px;height:65px;border-radius:20px;margin:0 auto 18px;background:var(--mint);display:grid;place-items:center;color:var(--blue);font-size:2rem}.toast{position:fixed;top:18px;left:50%;z-index:30;transform:translate(-50%,-130%);background:#14231b;color:white;border-radius:12px;padding:11px 16px;font-size:.84rem;transition:.25s;box-shadow:var(--shadow)}.toast.show{transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.brand-logo{height:86px}.header-logo{width:112px;height:34px}}@media(min-width:720px){.stats-grid{grid-template-columns:repeat(4,1fr)}.quick-grid{grid-template-columns:repeat(4,1fr)}}

.payment-item{cursor:pointer}.sync-label{font-size:.68rem;color:var(--muted);margin-top:4px!important}.sync-label.pending{color:var(--warning)}.modal-backdrop{position:fixed;inset:0;z-index:40;background:rgba(8,20,14,.68);display:grid;place-items:center;padding:18px}.modal-card{width:min(100%,430px);max-height:94dvh;overflow:auto;background:white;border-radius:22px;padding:18px;box-shadow:var(--shadow)}.receipt-paper{width:100%;background:#fff;color:#111;padding:16px;border:1px dashed #aab4ae;font-family:"Courier New",monospace}.receipt-logo{width:220px;height:66px;margin:0 auto 6px;overflow:hidden}.receipt-logo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.receipt-paper h2{text-align:center;font-size:1.05rem;margin:4px 0}.receipt-paper .receipt-subtitle{text-align:center;font-size:.76rem;margin-bottom:12px}.receipt-row{display:flex;justify-content:space-between;gap:14px;font-size:.78rem;padding:4px 0}.receipt-row strong{text-align:right}.receipt-divider{border:0;border-top:1px dashed #777;margin:10px 0}.receipt-total{font-size:1rem}.receipt-footer{text-align:center;font-size:.72rem;margin:14px 0 0}.receipt-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.receipt-actions button{flex:1}.mini-action{border:0;background:var(--mint);color:var(--blue);border-radius:10px;padding:8px 10px;font-weight:800;font-size:.72rem}@media print{body>*:not(#receiptModal){display:none!important}#receiptModal{position:static!important;display:block!important;background:#fff!important;padding:0!important}.modal-card{width:80mm!important;max-height:none!important;overflow:visible!important;padding:0!important;box-shadow:none!important}.receipt-paper{border:0!important;width:80mm!important}.receipt-actions{display:none!important}}

.danger-button{border:0;border-radius:13px;padding:13px 17px;background:#fbe9e7;color:var(--danger);font-weight:800}.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto auto;gap:10px;align-items:end}.report-filters label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.report-filters input{border:1px solid var(--line);border-radius:12px;padding:11px}.report-stats{margin-top:0}.report-stats strong{font-size:1.1rem}.compact-form{margin-top:0}.closure-list{margin-top:16px}.report-table-wrap{overflow-x:auto}.report-table-wrap h3{margin-bottom:14px}.void-label{color:var(--danger)!important;font-weight:800}.difference-ok{color:var(--green)!important}.difference-bad{color:var(--danger)!important}@media(max-width:650px){.report-filters{grid-template-columns:repeat(2,1fr)}.report-filters button{width:100%}}@media(max-width:420px){.receipt-actions{flex-wrap:wrap}.receipt-actions button{min-width:44%}}

.subheading{margin-top:28px}.subheading select{border:1px solid var(--line);background:white;border-radius:11px;padding:9px}.risk-badge{font-size:.7rem;font-weight:900;padding:7px 9px;border-radius:999px;white-space:nowrap}.risk-early{background:#fff4df;color:#986000}.risk-medium{background:#ffe9d6;color:#a24700}.risk-high{background:#fbe4e2;color:var(--danger)}.overdue-card{align-items:flex-start}.overdue-card .list-main{align-items:flex-start}.overdue-details{display:grid;gap:4px}.collection-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.collection-meta span{font-size:.68rem;background:#f0f4f2;color:var(--muted);border-radius:8px;padding:5px 7px}.collection-actions{display:flex;gap:6px;align-items:center}.collection-actions button{border:0;border-radius:9px;padding:7px 9px;font-size:.7rem;font-weight:800}.whatsapp-button{background:#e5f8eb;color:#137333}.promise-note{color:var(--blue)!important;font-weight:800}

.backup-panel{margin-top:22px}.backup-panel .muted{font-size:.82rem}.user-actions{display:flex;gap:6px}.user-actions button{border:0;border-radius:9px;padding:7px 9px;font-size:.68rem;font-weight:800;background:#edf4f8;color:var(--blue)}

.sync-controls{display:flex;gap:8px}.sync-controls input{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px}.sync-detail{font-size:.75rem;color:var(--muted);margin:12px 0 0}.sync-detail.success{color:var(--green);font-weight:800}.sync-detail.error{color:var(--danger);font-weight:800}@media(max-width:520px){.sync-controls{display:grid}}
