*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial;background:#f7f9fd;color:#101b3f}a{text-decoration:none;color:inherit}.install-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f1c52,#4356d8);padding:24px}.install-card{width:min(620px,100%);background:#fff;border-radius:20px;padding:32px;box-shadow:0 24px 60px #07103355}.install-card.login{max-width:440px}.brand{font-size:22px;font-weight:800}.brand b{color:#5966e8}h1{margin-bottom:6px}.muted{color:#667085}.install-card label{display:block;font-size:13px;font-weight:700;margin:12px 0}.install-card input{width:100%;padding:12px;border:1px solid #d9deea;border-radius:10px;margin-top:6px}.grid{display:grid;grid-template-columns:1fr 120px;gap:12px}.btn,button{border:0;border-radius:10px;padding:12px 18px;background:#182a72;color:#fff;font-weight:700;cursor:pointer;display:inline-block}.btn{width:100%;text-align:center;margin-top:14px}.error,.success{padding:12px;border-radius:10px;margin:12px 0}.error{background:#fff0f0;color:#a51d1d}.success{background:#ecfdf3;color:#087443}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.shell aside{background:#101a3d;color:#dce3ff;padding:28px 20px;display:flex;flex-direction:column}.shell aside .brand{color:#fff;margin-bottom:30px}.shell nav{display:grid;gap:7px}.shell nav a,.logout{padding:11px 13px;border-radius:9px}.shell nav a.active,.shell nav a:hover{background:#1d2c64;color:#fff}.logout{margin-top:auto}.content{padding:34px}.welcome{background:#fff;padding:20px;border-radius:14px;display:grid;gap:4px;box-shadow:0 5px 18px #17214d0d}.welcome span{font-size:14px;color:#6a7287}.stats,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.stats article{color:#fff;border-radius:14px;padding:25px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 40px -18px #17275d88}.stats span{font-weight:700}.stats small{display:block;opacity:.7;font-weight:400;margin-top:4px}.stats strong{font-size:30px}.g1{background:linear-gradient(135deg,#12265e,#4357d8)}.g2{background:linear-gradient(135deg,#3449bd,#8054ce)}.g3{background:linear-gradient(135deg,#111a3a,#25366c)}.cards article{background:#fff;border:1px solid #e8ebf3;border-radius:14px;padding:22px}.cards p{color:#6b7280;min-height:42px}@media(max-width:800px){.shell{grid-template-columns:1fr}.shell aside{display:none}.content{padding:18px}.stats,.cards{grid-template-columns:1fr}.grid{grid-template-columns:1fr}}
.optional{font-weight:400;color:#8a93a8}.auth-foot{text-align:center;color:#6b7280;margin:18px 0 0}.auth-foot a,.back{color:#3146bd;font-weight:700}.logout-form{margin-top:auto}.logout-form .logout{width:100%;text-align:left;background:transparent;padding:11px 13px}.logout-form .logout:hover{background:#1d2c64}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7f8ab5;margin:18px 13px 4px}.admin-page{max-width:1180px;margin:0 auto;padding:40px 28px}.admin-page.narrow{max-width:820px}.admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:18px 0 24px}.admin-top h1{margin:0 0 6px}.version-badge{background:#eef1ff;color:#3146bd;padding:8px 12px;border-radius:999px;font-weight:800}.update-card,.table-card{background:#fff;border:1px solid #e5e9f3;border-radius:18px;padding:26px;box-shadow:0 10px 30px #17214d0b}.update-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#eef1ff;color:#3146bd;font-size:26px;font-weight:800}.update-card h2{margin:14px 0 6px}.update-card p{color:#667085;line-height:1.55}.update-card form{display:grid;gap:14px;margin:22px 0 12px}.file-box{border:1px dashed #b9c1d6;border-radius:12px;padding:16px;font-weight:700}.file-box input{display:block;margin-top:10px}.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid #edf0f6;white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:#7a849d;background:#fafbfe}td small{display:block;color:#8a93a8;margin-top:3px}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status.ativo{background:#ecfdf3;color:#087443}.status.banido{background:#fff0f0;color:#a51d1d}
