:root{--ink:#102a2f;--navy:#0f2f33;--teal:#0f766e;--teal2:#14b8a6;--paper:#f4f7f7;--line:#d7e1e1;--muted:#667a7d;--white:#fff;--amber:#b45309;--red:#b42318;--green:#047857;--shadow:0 18px 50px rgba(15,47,51,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1240px,calc(100% - 32px));margin-inline:auto}.topbar{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.topbar-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.auth-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#2dd4bf;color:#063b3d;font-weight:900;font-size:22px;box-shadow:0 10px 28px rgba(0,0,0,.18)}.brand span:last-child{display:grid}.brand strong{font-size:18px;letter-spacing:-.02em}.brand small{font-size:13px;color:rgba(204,251,241,.65)}.nav-actions{display:flex;gap:8px}.nav-link{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);font-weight:700;font-size:14px}.nav-link:hover{background:rgba(255,255,255,.14)}.main-stack{display:grid;gap:26px;padding-block:32px 48px}.dashboard-grid{display:grid;grid-template-columns:1.45fr .75fr .8fr;gap:16px}.hero-card{position:relative;overflow:hidden;min-height:245px;border-radius:28px;padding:30px;background:linear-gradient(135deg,#0f766e,#0f3f45);color:#fff;box-shadow:var(--shadow)}.hero-card:after{content:"";position:absolute;width:210px;height:210px;right:-70px;top:-70px;border:36px solid rgba(255,255,255,.06);border-radius:50%}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:rgba(204,251,241,.75)}.eyebrow.dark{color:var(--teal)}.hero-card h1,.admin-title h1,.auth-card h1{margin:0;letter-spacing:-.035em;line-height:1.12}.hero-card h1{max-width:620px;font-size:clamp(30px,4vw,44px)}.hero-card p:last-child{max-width:600px;margin:18px 0 0;color:rgba(240,253,250,.72)}.stat-card{display:flex;flex-direction:column;min-height:245px;padding:24px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 8px 25px rgba(15,47,51,.04)}.stat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#e6fffa;color:var(--teal);font-size:22px;font-weight:900}.stat-card.amber .stat-icon{background:#fff7ed;color:var(--amber)}.stat-card small{margin-top:auto;color:var(--muted);font-weight:600}.stat-card strong{margin-top:5px;font-size:clamp(24px,3vw,35px);letter-spacing:-.04em;color:#10242a}.panel{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 8px 30px rgba(15,47,51,.04)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:21px;letter-spacing:-.02em}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:14px}.ledger-tools{align-items:flex-end}.filters{display:flex;gap:10px}.search-box{position:relative;display:block;min-width:290px}.search-box span{position:absolute;left:13px;top:50%;transform:translateY(-52%);color:#849598;font-size:22px}.search-box input{padding-left:42px}.search-box.compact{min-width:230px}.search-box.compact input{width:100%}input,select{width:100%;height:44px;padding:0 13px;border:1px solid #cbd9d9;border-radius:12px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(20,184,166,.14)}.filters select{width:190px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{padding:14px 20px;background:#f8fafa;color:#687c7f;text-transform:uppercase;letter-spacing:.07em;font-size:11px;text-align:left}td{padding:15px 20px;border-top:1px solid #e7eded;color:#52666a;font-size:14px}tbody tr:hover{background:#f2fbfa}.right{text-align:right}.block-name{color:#0d706a}.balance{display:inline-flex;padding:5px 11px;border-radius:999px;font-size:13px;font-weight:800}.balance.due{background:#fef3c7;color:#92400e}.balance.paid{background:#d1fae5;color:#047857}.empty-cell{text-align:center!important;padding:45px!important;color:var(--muted)}.footer{padding:25px 0 40px;color:#75888a;text-align:center;font-size:13px}.flash{margin-top:18px;padding:13px 16px;border:1px solid #a7f3d0;border-radius:13px;background:#ecfdf5;color:#065f46;font-weight:700}.flash.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.admin-main{gap:22px}.admin-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:5px 2px}.admin-title h1{font-size:38px}.admin-title p:last-child{margin:8px 0 0;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;border-radius:12px;cursor:pointer;font-weight:800;font-size:14px}.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:#0b655f}.button.ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-grid article{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}.metric-grid span{display:block;color:var(--muted);font-size:13px;font-weight:650}.metric-grid strong{display:block;margin-top:8px;font-size:26px;letter-spacing:-.03em}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-panel{padding-bottom:22px}.form-grid,.transaction-grid{display:grid;gap:14px;padding:22px 24px 0}.form-grid{grid-template-columns:1fr 1fr}.transaction-grid{grid-template-columns:1.35fr .85fr .65fr .8fr .8fr 1fr auto;align-items:end}.form-grid label,.transaction-grid label,.form-stack label{display:grid;gap:6px;color:#4c6164;font-size:13px;font-weight:750}.span-2{grid-column:span 2}.rate-list{display:flex;flex-wrap:wrap;gap:7px;margin:18px 24px 0;padding-top:16px;border-top:1px solid var(--line)}.rate-list span{padding:6px 10px;border-radius:999px;background:#edf5f4;color:#416366;font-size:12px;font-weight:700}.door-sub{display:block;margin-top:2px;color:#879799}.text-green{color:var(--green)}.actions-cell{white-space:nowrap}.actions-cell form{display:inline}.mini-button{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#245d60;font-weight:750;font-size:12px;cursor:pointer}.mini-button.danger{border-color:#fecaca;color:var(--red);margin-left:5px}.type-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}.type-badge.charge{background:#fef3c7;color:#92400e}.type-badge.payment{background:#d1fae5;color:#047857}.auth-wrap{display:grid;min-height:calc(100vh - 155px);place-items:center;padding:35px 16px}.auth-card{width:min(460px,100%);padding:34px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.auth-card .auth-mark{margin-bottom:24px}.auth-card h1{font-size:32px}.auth-card>p:not(.eyebrow){color:var(--muted)}.form-stack{display:grid;gap:15px;margin-top:24px}.form-error{margin-top:18px;padding:12px 14px;border-radius:11px;background:#fef2f2;color:#991b1b;font-weight:700;font-size:14px}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}.stat-card{min-height:170px}.transaction-grid{grid-template-columns:repeat(3,1fr)}.transaction-grid .button{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.container{width:min(100% - 22px,1240px)}.topbar-inner{min-height:70px}.brand strong{font-size:16px}.brand small{display:none}.brand-mark{width:40px;height:40px;border-radius:12px}.nav-link{min-height:38px;padding:0 11px}.dashboard-grid{grid-template-columns:1fr}.hero-card{min-height:235px;padding:24px}.stat-card{min-height:145px}.ledger-tools,.panel-head,.admin-title{align-items:stretch;flex-direction:column}.filters{flex-direction:column}.search-box,.filters select,.search-box.compact{width:100%;min-width:0}.metric-grid,.admin-grid,.form-grid,.transaction-grid{grid-template-columns:1fr}.span-2,.transaction-grid .button{grid-column:auto}.form-grid,.transaction-grid{padding:18px 16px 0}.panel-head{padding:18px 16px}.rate-list{margin-inline:16px}.admin-title h1{font-size:32px}.button.ghost{width:100%}.metric-grid article{padding:16px}.metric-grid strong{font-size:22px}.actions-cell form{display:block;margin-top:6px}.mini-button.danger{margin-left:0}th,td{padding-left:14px;padding-right:14px}}
