:root{--brand:#168653;--brand-2:#0f5f3b;--ink:#173329;--muted:#6b7d76;--surface:#f4f7f5}*{box-sizing:border-box}body{color:var(--ink);background:var(--surface);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.btn-brand{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-brand:hover{background:var(--brand-2);color:#fff}.auth-bg{min-height:100vh;background:linear-gradient(135deg,#e8f7ef,#f8fbf9)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.brand-panel{background:linear-gradient(150deg,#168653,#0b5031);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.brand-panel h1{font-size:3rem;margin:.8rem 0 0}.brand-mark{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:24px;background:#fff;color:#168653;font-size:2.5rem;font-weight:900;box-shadow:0 12px 32px #073c2688}.brand-mark.small{width:36px;height:36px;border-radius:12px;font-size:1.25rem}.auth-card{align-self:center;justify-self:center;width:min(420px,90%);padding:2.5rem;border-radius:24px;background:#fff;box-shadow:0 20px 60px #3153431c}.portal-shell{display:flex;min-height:100vh}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:#10291f;color:#fff;padding:1rem;overflow:auto;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;padding:.5rem}.sidebar nav{margin-top:1.5rem}.sidebar nav a,.nav-disabled{display:flex;align-items:center;gap:.75rem;padding:.68rem .8rem;border-radius:9px;color:#d8e8e1;text-decoration:none}.sidebar nav a:hover{background:#ffffff14;color:#fff}.nav-disabled{opacity:.43;font-size:.86rem;padding-block:.37rem}.nav-label{color:#82a395;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;margin:1.2rem .8rem .4rem}.portal-main{margin-left:250px;min-width:0;flex:1}.topbar{height:70px;background:#fff;border-bottom:1px solid #e2ebe6;display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;padding:0 2rem;position:sticky;top:0;z-index:10}.topbar div{display:flex;flex-direction:column;text-align:right}.topbar small{font-size:.65rem;color:var(--muted)}.content{padding:2rem}.portal-main footer{text-align:center;padding:2rem;color:var(--muted);font-size:.8rem}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.stat-card,.panel{background:#fff;border:1px solid #e5ece8;border-radius:16px;padding:1.25rem;box-shadow:0 4px 16px #17332908}.stat-card small{color:var(--muted)}.stat-card strong{font-size:1.65rem;display:block}.table-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e5ece8}.table-card .table{margin:0}.form-card{background:#fff;padding:1.5rem;border-radius:16px;border:1px solid #e5ece8}.app-body{padding-bottom:82px}.app-header{background:linear-gradient(135deg,#168653,#0d6540);color:#fff;padding:calc(1rem + env(safe-area-inset-top)) 1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-radius:0 0 24px 24px}.app-header div{display:flex;flex-direction:column}.app-header a{color:#fff;font-size:1.3rem}.app-content{padding:1rem}.app-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.app-kpis .stat-card:first-child{grid-column:span 2}.bottom-nav{position:fixed;z-index:30;inset:auto 0 0;background:#fff;display:flex;justify-content:space-around;border-top:1px solid #e0e9e4;padding:.5rem 0 calc(.4rem + env(safe-area-inset-bottom))}.bottom-nav a{color:#718078;text-decoration:none;text-align:center;font-size:.68rem;display:flex;flex-direction:column;gap:.15rem}.bottom-nav i{font-size:1.2rem}.bottom-nav .active{color:#168653}.fab{background:#168653;color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;margin-top:-25px;border:4px solid #fff}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.portal-main{margin-left:0}.topbar{justify-content:space-between}.content{padding:1rem}}@media(max-width:720px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:30vh}.brand-panel .brand-mark{width:55px;height:55px;border-radius:18px;font-size:2rem}.brand-panel h1{font-size:2rem}.auth-card{margin:-2rem auto 2rem;z-index:2;padding:1.5rem}.page-head{align-items:flex-start;gap:.75rem;flex-direction:column}}
