:root{--green:#95c93d;--green-dark:#6ea124;--graphite:#4d4d4f;--ink:#202124;--ash:#f4f5f2;--line:rgba(77,77,79,.14);--shadow:0 24px 70px rgba(32,33,36,.16)}*{box-sizing:border-box}body{margin:0;font-family:Poppins,sans-serif;background:var(--ash);color:var(--ink)}a{color:inherit}.top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 min(36px,4vw);background:rgba(244,245,242,.9);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:800;line-height:1.05}.brand img{width:112px}.brand span{border-left:1px solid var(--line);padding-left:14px}.brand small{display:block;color:#777;font-weight:500}.top nav{display:flex;gap:18px;font-weight:700}.top nav a{text-decoration:none}main{width:min(1180px,calc(100% - 32px));margin:0 auto}.hero{min-height:620px;display:grid;grid-template-columns:1fr 360px;align-items:center;gap:48px;padding:72px 0}.hero h1,.dash-head h1{font-size:clamp(42px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:0}.hero p{font-size:18px;line-height:1.75;color:#666}.kicker{color:var(--green-dark);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--green);color:#17200c;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.small{min-height:38px;padding:0 15px;font-size:13px}.hero-card,.panel,.metrics article,.dash-head article{background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:26px;box-shadow:var(--shadow)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:70px}.metrics b{display:block;font-size:30px}.metrics span,.muted{color:#777}.cards{padding:40px 0 80px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid article,.mini{background:#fff;border-radius:22px;padding:22px;border:1px solid var(--line)}time{display:inline-flex;background:rgba(149,201,61,.2);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.auth{min-height:calc(100vh - 160px);display:grid;place-items:center}.auth .panel{width:min(460px,100%)}.auth img{width:130px;margin-bottom:18px}.panel h1,.panel h2{margin-top:0;letter-spacing:-.04em}label{display:block;font-size:13px;font-weight:800;margin:0 0 15px}input,select,textarea{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;background:#fbfbfa}textarea{min-height:115px;resize:vertical}.notice{padding:12px 14px;border-radius:14px;margin:14px 0;font-weight:700}.notice.error{background:#ffe7e7;color:#9d2727}.notice.success{background:rgba(149,201,61,.2);color:#426916}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.text-link{display:inline-flex;margin-top:14px;font-weight:800;color:var(--green-dark);text-decoration:none}.table.compact .row{grid-template-columns:.55fr 1fr .8fr .8fr;font-size:13px}.dash-head{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:end;padding:52px 0 28px}.dash-head article span{color:#777;font-weight:700}.dash-head article b{display:block;font-size:42px;letter-spacing:-.05em}.two-col,.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.admin-grid{align-items:start}.table{display:grid;gap:8px}.row{display:grid;grid-template-columns:1.1fr .7fr .8fr .6fr;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.paid,.pending,.overdue{justify-self:start;border-radius:999px;padding:6px 9px;font-size:12px}.paid{background:var(--green);color:#17200c}.pending{background:#ffd66b;color:#4b3300}.overdue{background:#ffb4b4;color:#7a1212}.mini{margin-bottom:12px}.mini p{color:#666;line-height:1.65}.mini form{display:grid;gap:8px;margin-top:10px}footer{width:min(1180px,calc(100% - 32px));margin:60px auto 24px;padding-top:24px;border-top:1px solid var(--line);color:#777}@media(max-width:850px){.hero,.dash-head,.two-col,.admin-grid,.form-row{grid-template-columns:1fr}.metrics,.grid{grid-template-columns:1fr 1fr}.row,.table.compact .row{grid-template-columns:1fr}.top{height:auto;padding:14px;align-items:flex-start}.top nav{flex-wrap:wrap}.brand img{width:90px}}@media(max-width:560px){main{width:min(100% - 22px,1180px)}.metrics,.grid{grid-template-columns:1fr}.hero{padding:46px 0}.hero h1{font-size:42px}.brand span{display:none}}
