@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap";:root{--nav-green:#1e7a4c;--nav-green-dark:#155e3a;--nav-text:#ffffffdb;--nav-text-strong:#fff;--nav-hover-bg:#ffffff1a;--nav-active-bg:#ffffff2e;--nav-border:#ffffff29;--canvas:#fff;--surface:#fff;--field-bg:#edefec;--border:#dde2da;--text:#17231c;--text-dim:#5b6a5f;--text-faint:#8a968c;--success:#1e7a4c;--success-soft:#e3f3ea;--warning:#c97f0e;--warning-soft:#fbeacb;--danger:#b14435;--danger-soft:#f6dfd9;--info:#3f6690;--info-soft:#dde7f1;--shadow:#17231c1a;--shadow-lg:#17231c33;--radius-s:8px;--radius-m:12px;--radius-l:18px;--font-ui:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace}:root[data-theme=dark]{--canvas:#0e0e10;--surface:#18181a;--field-bg:#212123;--border:#2c2c2f;--text:#ededee;--text-dim:#a9a9ac;--text-faint:#78787b;--shadow:#00000080;--shadow-lg:#000000a6}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:800}p{margin:0}button{font-family:inherit}img{max-width:100%;display:block}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--nav-green);outline-offset:2px}.app-splash{background:var(--canvas);justify-content:center;align-items:center;height:100vh;display:flex}.app-splash-mark{background:var(--nav-green);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:800;animation:1.1s ease-in-out infinite splashPulse;display:flex}@keyframes splashPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@keyframes appEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-enter{animation:.4s cubic-bezier(.2,.8,.3,1) appEnter}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn-primary{background:var(--nav-green);color:#fff}.btn-primary:hover{background:var(--nav-green-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost:hover{border-color:var(--text-faint);background:var(--field-bg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#983626}.btn-sm{border-radius:8px;padding:6px 12px;font-size:12.5px}.btn-block{justify-content:center;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);transition:box-shadow .18s,border-color .18s,transform .18s}.card-gray{background:var(--field-bg);border-color:#0000}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:0 8px 22px -8px var(--shadow-lg);border-color:var(--text-faint);transform:translateY(-2px)}.pad{padding:18px}.filter-row{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-faint) transparent;flex-wrap:nowrap;gap:6px;padding-bottom:6px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 16px),#0000)}.filter-row::-webkit-scrollbar{height:5px}.filter-row::-webkit-scrollbar-track{background:0 0}.filter-row::-webkit-scrollbar-thumb{background:var(--text-faint);border-radius:999px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-dim);font-size:12.5px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--field-bg);color:var(--text);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:13.5px}.field textarea{resize:vertical;min-height:70px}.field .hint{color:var(--text-faint);font-size:11.5px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=720px){.field-row{grid-template-columns:1fr}}.pill{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.pill-overdue{background:var(--danger-soft);color:var(--danger)}.pill-pending{background:var(--warning-soft);color:var(--warning)}.pill-installment{background:var(--info-soft);color:var(--info)}.pill-confirmed,.pill-paid{background:var(--success-soft);color:var(--success)}.pill-archived{background:var(--field-bg);color:var(--text-dim)}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1px solid var(--border);padding:0 10px 8px;font-size:10.5px;font-weight:800}tbody td{border-bottom:1px solid var(--border);padding:10px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--field-bg)}.tbl-wrap{overflow-x:auto}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay{z-index:200;background:#0f141180;justify-content:center;align-items:center;padding:20px;animation:.16s overlayIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-m);width:100%;max-width:460px;max-height:90vh;box-shadow:0 30px 60px -20px var(--shadow-lg);animation:.18s cubic-bezier(.2,.8,.3,1) modalIn;overflow-y:auto}.modal-head{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 18px;display:flex;position:sticky;top:0}.modal-body{padding:18px}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast{background:var(--text);color:#fff;box-shadow:0 10px 25px var(--shadow-lg);z-index:300;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:700;animation:.2s cubic-bezier(.2,.8,.3,1) toastIn;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.empty{text-align:center;color:var(--text-faint);padding:40px 20px}.empty b{color:var(--text-dim);margin-bottom:4px;font-size:14px;display:block}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:10px;font-size:12.5px;font-weight:800}.error-text{color:var(--danger);font-size:12.5px;font-weight:600}.tabs{background:var(--field-bg);border-radius:10px;gap:4px;width:fit-content;margin-bottom:14px;padding:3px;display:flex}.tabs button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px var(--shadow)}.pill{transition:transform .12s}.amount-hidden{filter:blur(6px);-webkit-user-select:none;user-select:none}@keyframes notifPanelIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);width:340px;box-shadow:0 20px 45px -14px var(--shadow-lg);animation:.15s cubic-bezier(.2,.8,.3,1) notifPanelIn;overflow:hidden}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;transition:background .12s;display:flex;position:relative}.notif-item:hover{background:var(--field-bg)}.notif-item:last-child{border-bottom:none}.notif-dot{background:var(--info);border-radius:999px;width:6px;height:6px;position:absolute;top:18px;left:5px}.notif-icon{background:var(--field-bg);width:30px;height:30px;color:var(--text-dim);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.list-row{cursor:pointer;transition:background .12s}.list-row:hover{background:var(--field-bg)}.datepicker-trigger{border:1px solid var(--border);background:var(--field-bg);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:13.5px;display:flex}.datepicker-trigger:hover{border-color:var(--text-faint)}.datepicker-trigger:disabled{opacity:.55;cursor:not-allowed}.datepicker-trigger.is-white{background:var(--surface)}.datepicker-trigger svg{color:var(--text-faint);flex:none}@keyframes datepickerIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.datepicker-pop{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);width:250px;box-shadow:0 16px 36px -12px var(--shadow-lg);padding:12px;animation:.14s cubic-bezier(.2,.8,.3,1) datepickerIn;position:absolute;top:calc(100% + 6px);left:0}.datepicker-nav{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .12s;display:flex}.datepicker-nav:hover{background:var(--field-bg)}.datepicker-day{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;transition:background .12s,color .12s,transform .1s;display:flex}.datepicker-day:hover{background:var(--field-bg)}.datepicker-day:active{transform:scale(.9)}.datepicker-day.is-today{color:var(--nav-green);font-weight:800}.datepicker-day.is-selected{background:var(--nav-green);color:#fff}.datepicker-day.is-selected:hover{background:var(--nav-green-dark)}a,button,input,select,textarea{transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
