/* Admin — visual sóbrio, funcional */
body.admin{ background:var(--fundo-alt); }
.adm-top{ background:var(--verde-escuro); color:#fff; }
.adm-top .container{ display:flex; align-items:center; gap:16px; min-height:60px; }
.adm-top a{ color:#cfe3d6; }
.adm-top__brand{ font-family:var(--fonte-titulo); font-weight:700; color:#fff; font-size:1.05rem; }
.adm-top__sep{ flex:1; }

.adm-wrap{ display:grid; grid-template-columns:230px 1fr; gap:0; min-height:calc(100vh - 60px); }
.adm-side{ background:var(--fundo); border-right:1px solid var(--linha); padding:18px 0; }
.adm-side a{ display:block; padding:11px 22px; color:var(--tinta); font-weight:600; font-size:.95rem; }
.adm-side a:hover,.adm-side a.ativo{ background:var(--verde-claro); text-decoration:none; border-right:3px solid var(--verde-cerrado); }
.adm-main{ padding:28px 32px; }
@media (max-width:780px){ .adm-wrap{ grid-template-columns:1fr; } .adm-side{ display:flex; flex-wrap:wrap; padding:8px; } .adm-side a{ padding:8px 14px; } }

.adm-main h1{ font-size:1.5rem; margin-bottom:18px; }
.adm-toolbar{ display:flex; gap:12px; align-items:center; margin-bottom:18px; flex-wrap:wrap; }
.adm-toolbar input[type=search]{ padding:9px 14px; border:1px solid var(--linha); border-radius:var(--raio-sm); font:inherit; min-width:220px; }

table.adm{ width:100%; border-collapse:collapse; background:var(--fundo); border:1px solid var(--linha); border-radius:var(--raio); overflow:hidden; }
table.adm th,table.adm td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--linha); font-size:.93rem; }
table.adm th{ background:var(--bone); font-family:var(--fonte-titulo); }
table.adm tr:last-child td{ border-bottom:0; }
.badge{ display:inline-block; padding:2px 9px; border-radius:999px; font-size:.78rem; font-weight:700; }
.badge--on{ background:var(--verde-claro); color:var(--verde-escuro); }
.badge--off{ background:#f0e2e2; color:var(--erro); }
.acoes{ display:flex; gap:8px; }
.acoes button{ border:0; background:none; cursor:pointer; color:var(--verde-cerrado); font-weight:600; font-size:.9rem; }
.acoes button.del{ color:var(--erro); }

/* Form */
.campo{ margin-bottom:16px; }
.campo label{ display:block; font-weight:600; margin-bottom:5px; font-size:.92rem; }
.campo input,.campo textarea,.campo select{ width:100%; padding:10px 12px; border:1px solid var(--linha); border-radius:var(--raio-sm); font:inherit; }
.campo textarea{ min-height:200px; font-family:var(--fonte-corpo); resize:vertical; }
.campo--check{ display:flex; align-items:center; gap:8px; }
.campo--check input{ width:auto; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
@media (max-width:680px){ .form-grid{ grid-template-columns:1fr; } }
.form-actions{ display:flex; gap:12px; margin-top:8px; }

/* Login */
.login-box{ max-width:380px; margin:8vh auto; background:var(--fundo); border:1px solid var(--linha); border-radius:var(--raio); padding:34px; box-shadow:var(--sombra); }
.login-box img{ height:60px; margin:0 auto 16px; }
.login-box h1{ text-align:center; font-size:1.3rem; margin-bottom:6px; }
.login-box p.sub{ text-align:center; color:var(--cinza); margin-bottom:22px; font-size:.92rem; }

.toast{ position:fixed; bottom:24px; right:24px; background:var(--tinta); color:#fff; padding:13px 20px; border-radius:var(--raio-sm); box-shadow:var(--sombra-forte); opacity:0; transform:translateY(10px); transition:.25s; z-index:200; }
.toast.show{ opacity:1; transform:none; }
.toast.erro{ background:var(--erro); }

.dash-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.dash-card{ background:var(--fundo); border:1px solid var(--linha); border-radius:var(--raio); padding:20px; }
.dash-card b{ display:block; font-size:2rem; font-family:var(--fonte-titulo); color:var(--verde-cerrado); }
.dash-card span{ color:var(--cinza); font-size:.9rem; }
.modal-bg{ position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; align-items:flex-start; justify-content:center; padding:40px 16px; overflow:auto; z-index:150; }
.modal-bg.show{ display:flex; }
.modal{ background:var(--fundo); border-radius:var(--raio); padding:26px; width:100%; max-width:720px; }
.modal h2{ margin-bottom:18px; }
