:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#eef2ff;background:#070b14}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#070b14,#0b1020);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{max-width:1180px;margin:auto;padding:22px}header{position:sticky;top:0;z-index:10;background:#0a0f1bdc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #1d2940;display:flex;justify-content:space-between;align-items:center;padding:14px 22px}.brand{display:flex;gap:14px;align-items:center}.brand h1{margin:0;font-size:25px}.brand p{margin:2px 0 0;color:#7dd3fc}.compact h1{font-size:18px}.compact p{font-size:12px}.logo{width:48px;height:48px;border-radius:16px;background:#38bdf8;color:#06111d;font-weight:900;display:grid;place-items:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.five{grid-template-columns:repeat(5,1fr)}.cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}.cards article,.panel{background:#111827;border:1px solid #22304a;border-radius:18px;padding:18px;box-shadow:0 10px 30px #0004}.cards span{display:block;color:#94a3b8}.cards strong{display:block;font-size:25px;margin-top:8px}.panel{margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.panel h2{margin:0 0 4px}.muted{color:#94a3b8}.small{font-size:12px;color:#94a3b8;line-height:1.45}.primary,.secondary,.ghost,.danger,.suspend,.whatsapp{border:0;border-radius:12px;padding:11px 14px;font-weight:700}.primary{background:#38bdf8;color:#06111d}.secondary{background:#1e293b;color:#e2e8f0}.ghost{background:transparent;color:#cbd5e1}.danger{background:#3f1d24;color:#fecdd3}.suspend{background:#303746;color:#e5e7eb;border:1px solid #4b5563}.whatsapp{background:#25d366;color:#062c16}.full{width:100%;margin-top:12px}input,select,textarea{width:100%;background:#0b1220;color:#fff;border:1px solid #2b3a55;border-radius:12px;padding:12px;outline:none}textarea{min-height:90px;resize:vertical}label{display:block;margin:12px 0 6px;color:#cbd5e1}.tabs{display:flex;gap:8px;overflow:auto;margin:0 0 18px;padding-bottom:4px}.tabs button{white-space:nowrap;border:1px solid #26344d;background:#0b1220;color:#a8b3c7;border-radius:999px;padding:10px 14px;font-weight:700}.tabs button.active{background:#38bdf8;color:#06111d;border-color:#38bdf8}.client-list{display:grid;gap:12px;margin-top:16px}.client{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px;border:1px solid #26344d;background:#0b1220;border-radius:14px}.client h3{margin:0 0 5px}.client p{margin:3px 0;color:#a8b3c7}.client-block{display:block}.client-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.mini{padding:8px 10px}.badge{align-self:start;border-radius:999px;padding:6px 10px;font-size:12px;text-transform:capitalize}.al-dia,.cobrado{background:#123b2a;color:#86efac}.por-vencer,.pendiente{background:#3b3314;color:#fde68a}.vencido{background:#451a1a;color:#fca5a5}.inactivo,.suspendido{background:#252b38;color:#d1d5db}.empty{text-align:center;color:#94a3b8;padding:25px}.vehicle-list{display:grid;gap:9px;margin:14px 0}.vehicle{display:grid;grid-template-columns:1fr auto;gap:10px;background:#0f172a;border:1px solid #24314a;border-radius:12px;padding:12px}.vehicle .actions{margin-top:4px}.group-charge{margin:6px 8px 0 0}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);background:#111827;border:1px solid #22304a;border-radius:22px;padding:24px}.auth-card h2{margin-top:24px}.auth-card button.primary{width:100%;margin-top:12px}.notice{background:#172554;border:1px solid #1d4ed8;color:#bfdbfe;padding:12px;border-radius:10px;margin:14px 0}.notice.neutral{background:#111b2c;border-color:#31415e;color:#cbd5e1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000b;display:grid;place-items:center;padding:18px;z-index:30}.modal{width:min(620px,100%);max-height:92vh;overflow:auto;background:#111827;border:1px solid #2b3a55;border-radius:20px;padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.span2{grid-column:1/-1}.month{max-width:190px}.summary-line{display:flex;justify-content:space-between;gap:12px;margin:16px 0;padding:12px;background:#0b1220;border-radius:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid #26344d;white-space:nowrap}th{color:#94a3b8;font-size:13px}.item-row{display:grid;grid-template-columns:2fr .7fr 1fr auto;gap:7px;margin:8px 0}code{background:#0b1220;padding:3px 6px;border-radius:6px}@media(max-width:850px){.cards.four,.cards.five,.cards.six{grid-template-columns:1fr 1fr}.client-title{flex-direction:column}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}}@media(max-width:620px){.cards,.cards.four,.cards.five,.cards.six{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.client{grid-template-columns:1fr}.badge{justify-self:start}.vehicle{grid-template-columns:1fr}.actions button,.group-charge{width:100%}.item-row{grid-template-columns:1fr 1fr}.item-row input:first-child{grid-column:1/-1}.summary-line{flex-direction:column}}.collection-tools{display:grid;gap:10px;margin-top:16px}.search-box{font-size:16px}.filter-row{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid #31415e;background:#0b1220;color:#cbd5e1;border-radius:999px;padding:9px 12px;font-weight:700}.filter-chip.active{background:#38bdf8;color:#06111d;border-color:#38bdf8}.overdue-note{background:#2a1115;border-color:#7f1d1d;color:#fecaca}.logo-preview{display:flex;align-items:center;gap:12px;color:#86efac}.logo-preview img{max-width:160px;max-height:80px;object-fit:contain;background:#fff;border-radius:10px;padding:6px}.autocomplete-wrap{position:relative}.autocomplete-list{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:60;background:#0b1220;border:1px solid #31415e;border-radius:12px;max-height:260px;overflow:auto;box-shadow:0 14px 35px #0009}.autocomplete-item{width:100%;border:0;border-bottom:1px solid #22304a;background:#0b1220;color:#eef2ff;text-align:left;padding:11px 12px;display:flex;flex-direction:column;gap:3px}.autocomplete-item:last-child{border-bottom:0}.autocomplete-item:active,.autocomplete-item:hover{background:#172033}.autocomplete-item span,.autocomplete-empty{color:#94a3b8;font-size:13px}.autocomplete-empty{padding:12px}.global-charge{display:block;margin-top:12px;width:100%;font-size:15px}.company-logo{display:block;width:84px;height:84px;flex:0 0 84px;object-fit:contain;background:#fff;border:1px solid #cbeeff;border-radius:16px;box-shadow:0 3px 16px #0003}.brand>div{min-width:0}.developer-credit{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px;margin-top:7px;padding:7px 11px;border:1px solid #287aa3;border-left:3px solid #38bdf8;border-radius:8px;background:#102c42;line-height:1.35}.developer-credit span{font-size:12px;color:#c7e8f8}.developer-credit strong{font-size:15px;font-weight:800;color:#7dd3fc}@media(max-width:600px){header{gap:10px;padding:12px}.brand{gap:10px}.company-logo{width:68px;height:68px;flex-basis:68px;border-radius:12px}.developer-credit{padding:6px 8px;gap:1px 5px}.developer-credit span{font-size:11px}.developer-credit strong{font-size:13px}header .brand{min-width:0}#logoutBtn{padding:8px;flex-shrink:0}}.cards[hidden]{display:none}.expenses-panel{max-width:800px;margin:0 auto 18px}.expenses-panel .panel-head p{margin:6px 0}.expense-period{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:14px 0}.expense-period label{margin:0;flex:1;min-width:145px}.expense-period input{margin-top:5px}.expense-period button{min-height:46px}.expense-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.expense-summary article{background:#0b1220;border:1px solid #26344d;border-radius:14px;padding:16px;min-width:0}.expense-summary span{display:block;color:#a8b3c7;font-size:13px}.expense-summary strong{display:block;margin-top:8px;font-size:25px;overflow-wrap:anywhere}.expense-summary .expense-balance{grid-column:1/-1;background:#0c302c;border-color:#247665}.expense-balance strong{color:#86efac;font-size:32px}.expense-summary .expense-negative{background:#351c25;border-color:#8c4051}.expense-negative strong{color:#fda4af}.expense-form{margin:22px 0;padding:18px;background:#0b1220;border:1px solid #31415e;border-radius:16px;scroll-margin-top:145px}.expense-form h3{margin:0 0 10px}.expense-form input{font-size:16px}.expense-amount{display:flex;align-items:center;gap:10px}.expense-amount span{font-size:26px;color:#7dd3fc}.expense-amount input{font-size:28px;font-weight:700}.expense-method{display:flex;gap:8px;border:0;margin:16px 0 0;padding:0;min-width:0}.expense-method legend{color:#cbd5e1;margin-bottom:8px}.expense-method label{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;background:#111827;border:1px solid #31415e;border-radius:12px;min-height:48px;margin:0;padding:8px;cursor:pointer}.expense-method input{width:18px;height:18px;margin:0;accent-color:#38bdf8}.expense-method label:has(input:checked){background:#12334b;border-color:#38bdf8;color:#bae6fd}.expense-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 0;border-top:1px solid #26344d}.expense-row strong{overflow-wrap:anywhere}.expense-row p{margin:5px 0}.expense-row .actions{margin:0}.expense-row button{min-height:42px}.expense-error{background:#351c25;border-color:#8c4051;color:#fecdd3}.expenses-panel button:disabled{opacity:.55;cursor:wait}.expense-form button[hidden]{display:none}@media(max-width:480px){.expenses-panel,.expense-form{padding:14px}.expense-method{flex-wrap:wrap}.expense-summary article{padding:12px}.expense-summary strong{font-size:23px}.expense-balance strong{font-size:30px}}.annual-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.annual-table{width:100%;min-width:850px;table-layout:fixed}.annual-table th,.annual-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:10px 7px}.annual-table th:nth-child(4){width:19%}.annual-table th:last-child{width:19%}.annual-table .actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}.annual-table button{white-space:normal;overflow-wrap:anywhere;width:100%;padding:8px;line-height:1.35}.annual-table .badge{display:inline-block;white-space:normal}@media(max-width:620px){.annual-panel{padding:12px}.annual-panel .panel-head button{width:100%}}
