:root{--green:#12653a;--green2:#1b8b50;--lime:#72bf44;--blue:#0c65c7;--ink:#15251d;--muted:#66756d;--line:#dce7e0;--bg:#f4f8f5;--white:#fff;--orange:#e67e22;--red:#c0392b;--shadow:0 14px 35px rgba(23,65,42,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}a{color:var(--green);text-decoration:none}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #cbdad1;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}textarea{min-height:90px;resize:vertical}label{display:grid;gap:7px;font-weight:650;margin-bottom:14px}label small,.muted{font-weight:400;color:var(--muted)}button{cursor:pointer}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px 28px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:14px}.brand img{width:88px;height:82px;object-fit:contain}.brand h1,.brand p{margin:0}.brand p,.brand span{color:var(--muted)}.brand.mini img{width:58px;height:54px}.brand.mini div{display:grid}.brand.mini span{font-size:12px}.userbox{display:grid;text-align:right}.userbox small{color:var(--muted)}.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 115px)}aside{background:#fff;border-right:1px solid var(--line);padding:24px 14px}nav{display:grid;gap:5px}nav a{padding:11px 14px;border-radius:9px;color:#405248;font-weight:600}nav a:hover,nav a.active{background:#e9f6ee;color:var(--green)}.content{padding:28px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:29px;margin:2px 0 6px}.page-head p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase!important;letter-spacing:.14em;font-size:11px!important;font-weight:800;color:var(--green)!important}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stats article,.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.stats article{padding:19px;display:grid;gap:5px;border-top:4px solid var(--blue)}.stats article.green{border-top-color:var(--green2)}.stats article.orange{border-top-color:var(--orange)}.stats span,.stats small{color:var(--muted)}.stats strong{font-size:24px}.card{padding:20px;margin-bottom:20px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.card-head h2{margin:0;font-size:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf2ee}th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750}.badge.paid{background:#dff4e7;color:#12653a}.badge.unpaid{background:#fde7e4;color:#a33428}.badge.pending{background:#fff1d7;color:#9a5a0b}.badge.neutral{background:#edf1ef;color:#55645c}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbdad1;background:#fff;color:var(--ink);border-radius:9px;padding:10px 15px;font-weight:700}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.small{padding:7px 10px;font-size:12px}.btn.full{width:100%}.alert{border-radius:10px;padding:12px 14px;margin-bottom:17px}.alert.success{background:#dff4e7;color:#12653a}.alert.danger{background:#fde7e4;color:#a33428}.alert.warning{background:#fff1d7;color:#8b570f}.notice{background:#f0f7f3;border:1px solid #d6e8dd;border-radius:10px;padding:12px;margin-bottom:15px;color:#405248}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.filters{display:flex;gap:8px;margin-bottom:14px}.filters input{max-width:390px}.form-card{max-width:700px}.divider{text-align:center;color:var(--muted);margin:5px 0 15px}dialog{border:0;border-radius:15px;padding:0;box-shadow:0 25px 70px rgba(0,0,0,.25);width:min(650px,calc(100% - 24px))}dialog::backdrop{background:rgba(11,28,19,.55)}.modal-form{padding:22px}.modal-form .card-head button{border:0;background:transparent;font-size:18px}.pay-menu{position:relative}.pay-menu summary{list-style:none}.pay-menu>div{position:absolute;z-index:10;right:0;top:36px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:7px;width:210px}.pay-menu form{display:grid}.pay-menu button{background:#fff;border:0;padding:10px;text-align:left;border-radius:7px}.pay-menu button:hover{background:#eff7f2}.pay-menu button.manual{color:#8b570f}.auth{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 20% 10%,#dff3e7 0,transparent 35%),linear-gradient(145deg,#f7faf8,#eaf4ed)}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:19px;padding:28px;box-shadow:0 25px 70px rgba(23,65,42,.15)}.auth-card.wide{width:min(740px,100%)}.auth-card .brand{margin-bottom:22px}.center{justify-content:center}.center-text{text-align:center}.result-card{text-align:center;max-width:560px;margin:60px auto;padding:40px}.result-icon{width:70px;height:70px;border-radius:50%;background:#dff4e7;color:var(--green);display:grid;place-items:center;font-size:36px;margin:auto}footer{text-align:center;color:var(--muted);padding:14px;background:#fff;border-top:1px solid var(--line)}.menu-toggle{display:none;border:0;background:transparent;font-size:24px}@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}aside{display:none;position:fixed;inset:74px 0 0;width:240px;z-index:15;box-shadow:10px 0 25px rgba(0,0,0,.12)}.nav-open aside{display:block}.menu-toggle{display:block}.topbar{padding:8px 15px}.userbox{display:none}.content{padding:20px 14px}.page-head{align-items:flex-start}.brand.mini span{display:none}}@media(max-width:580px){.stats,.grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head{display:grid}.page-head .btn{width:100%}.brand.mini strong{font-size:12px}.stats strong{font-size:21px}}
