:root{--g:#14bf77;--d:#071b15;--bg:#f2f7f4;--l:#dce7e1;--m:#6e7e76}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:#17251f;font:16px Arial,sans-serif}button,input{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,#176146,transparent 35%),var(--d);padding:20px}.login form{display:grid;gap:14px;width:min(440px,100%);background:#fff;border-radius:22px;padding:35px}.login img{width:170px;height:60px;object-fit:contain}.login span,.hero span,.title span{font-size:.72rem;color:var(--m);font-weight:800;letter-spacing:.1em}.login h1{margin:0}.login label{font-weight:700;font-size:.85rem}.login input{display:block;width:100%;border:1px solid var(--l);border-radius:10px;padding:13px;margin-top:7px}.login button,.title button{border:0;border-radius:10px;background:var(--g);padding:13px;font-weight:800}.login p{color:#a52d35}main{max-width:1250px;margin:auto;padding:20px}header{background:#fff;border:1px solid var(--l);border-radius:15px;padding:9px 16px;display:flex;align-items:center}header img{width:145px;height:50px;object-fit:contain}header div{margin-left:auto;display:flex;align-items:center;gap:14px}header button{border:0;background:#eef4f1;padding:9px;border-radius:8px}.hero{margin-top:17px;background:linear-gradient(120deg,#0a2b21,#126044);color:#fff;border-radius:20px;padding:26px}.hero span,.hero p{color:#b9d8ca}.hero h1{margin:7px 0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:14px 0}.kpis article,.card{background:#fff;border:1px solid var(--l);border-radius:15px;padding:20px}.kpis span,.kpis small{color:var(--m);font-size:.78rem}.kpis strong{display:block;font-size:1.65rem;margin:9px 0}.card{margin-top:14px;padding:0;overflow:hidden}.title{display:flex;justify-content:space-between;align-items:center;padding:20px}.title h2{margin:5px 0}.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:13px 18px;border-top:1px solid #edf1ef;font-size:.82rem}th{color:var(--m);font-size:.7rem}.status{padding:6px 9px;border-radius:20px;background:#edf1ef}.status.on{background:#dff8ea;color:#087b4c}@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr}}@media(max-width:450px){main{padding:10px}.kpis{grid-template-columns:1fr}.hero{padding:20px}header strong{display:none}}
