/**
 * MAPA INTERNO — ESTILO VISUAL BASE DO BACKEND CADASTRO
 * Função: prover um layout limpo, escuro e administrativo.
 * Arquivos relacionados: todas as páginas administrativas na raiz do domínio.
 */

:root{
    --bg:#232323;
    --panel:#2f2f2f;
    --panel-2:#3a3a3a;
    --text:#f5f5f5;
    --muted:#c7c7c7;
    --line:#4c4c4c;
    --brand:#3fa9f5;
    --danger:#ff5d5d;
    --success:#31c56b;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:var(--bg);
    color:var(--text);
}
a{color:var(--brand);text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:20px}
.topbar{
    display:flex;align-items:center;justify-content:space-between;
    background:var(--panel);padding:14px 18px;border-radius:10px;margin-bottom:18px;
    border:1px solid var(--line);
}
.card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:12px;
    padding:18px;
    margin-bottom:18px;
}
h1,h2,h3{margin-top:0}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
label{display:block;font-size:14px;margin-bottom:6px;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=number],textarea,select,input[type=file]{
    width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);
    background:var(--panel-2);color:var(--text);outline:none;
}
input[type=file]{padding:10px}
input[type=file]::file-selector-button{
    border:none;border-radius:8px;padding:10px 12px;margin-right:10px;cursor:pointer;
    background:#5a5a5a;color:#fff;font-weight:700;
}
textarea{min-height:120px;resize:vertical}
button,.btn{
    display:inline-block;border:none;border-radius:10px;padding:11px 16px;
    background:var(--brand);color:white;cursor:pointer;font-weight:700;
}
button[disabled], .btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-secondary{background:#565656}
.btn-danger{background:var(--danger)}
.btn-sm{padding:8px 12px;font-size:12px}
.flash{
    padding:12px 14px;border-radius:10px;margin-bottom:14px;font-weight:700;
}
.flash-success{background:rgba(49,197,107,.14);border:1px solid rgba(49,197,107,.45)}
.flash-error{background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.4)}
.table-wrap{overflow:auto}
table{
    width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);
}
th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
th{color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.small{font-size:12px;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kpi{background:var(--panel-2);padding:16px;border-radius:12px;border:1px solid var(--line)}
.login-wrap{max-width:480px;margin:60px auto}
.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#505050;color:#fff;font-size:12px;margin-right:6px}
.notice-box{background:#383838;border:1px solid var(--line);padding:12px;border-radius:10px;margin-bottom:14px}
.list-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.list-item:last-child{border-bottom:none}
@media (max-width: 900px){
    .grid-2,.grid-3,.kpis{grid-template-columns:1fr}
    .list-item{flex-direction:column}
}
