/* ============================================================
   ADMIN — refatorado com custom properties
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;font-family:var(--font-principal);font-size:14px;color:var(--cor-texto);background:#eef1f5;}

.admin-container{max-width:1000px;margin:0 auto;padding:20px;}

/* ---- Header ---- */
.admin-header{background:linear-gradient(135deg,var(--cor-primaria) 0%,var(--cor-primaria-hover) 100%);color:#fff;padding:20px 28px;border-radius:var(--radius-lg);margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 4px 12px rgba(27,94,32,.3);}
.admin-header h1{font-size:18px;font-weight:700;letter-spacing:-.3px;}
.admin-header-actions{display:flex;align-items:center;gap:10px;}
.admin-header .user-info{font-size:13px;opacity:.85;}
.admin-header .btn-voltar,.admin-header .btn-logout{padding:6px 14px;border-radius:var(--radius-md);font-size:13px;cursor:pointer;text-decoration:none;border:1px solid rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.1);transition:background .2s;}
.admin-header .btn-voltar:hover,.admin-header .btn-logout:hover{background:rgba(255,255,255,.25);}

/* ---- Login ---- */
.login-card{max-width:380px;margin:80px auto;background:var(--cor-fundo-card);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);}
.login-card h2{font-size:18px;margin-bottom:4px;color:var(--cor-primaria);}
.login-card p{font-size:13px;color:var(--cor-texto-terciario);margin-bottom:24px;}
.login-card input{width:100%;padding:11px 14px;border:1px solid var(--cor-borda);border-radius:8px;font-size:14px;margin-bottom:10px;transition:border-color .2s;}
.login-card input:focus{outline:none;border-color:var(--cor-primaria);box-shadow:0 0 0 3px rgba(27,94,32,.1);}
.login-card button{width:100%;padding:12px;background:var(--cor-primaria);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;}
.login-card button:hover{background:var(--cor-primaria-hover);}
.login-card .login-error{color:var(--cor-erro);font-size:13px;margin-top:8px;}

/* ---- Tabs ---- */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--cor-borda);margin-bottom:24px;background:var(--cor-fundo-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:0 8px;box-shadow:var(--shadow-sm);}
.tab-btn{padding:14px 24px;font-size:14px;font-weight:600;color:var(--cor-texto-terciario);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;margin-bottom:-2px;white-space:nowrap;transition:color .2s;}
.tab-btn:hover{color:#444;}
.tab-btn.active{color:var(--cor-primaria);border-bottom-color:var(--cor-primaria);}
.tab-badge{display:inline-block;background:#ef5350;color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:6px;vertical-align:1px;}
.tab-content{display:none;}
.tab-content.active{display:block;}

/* ---- Cards de moderacao ---- */
.card{background:var(--cor-fundo-card);border:1px solid #e8e8e8;border-radius:10px;padding:18px 22px;margin-bottom:12px;transition:box-shadow .2s;box-shadow:var(--shadow-sm);}
.card:hover{box-shadow:var(--shadow-md);}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;}
.card-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;padding:3px 10px;border-radius:20px;color:#fff;letter-spacing:.3px;}
.card-date{font-size:12px;color:#aaa;}
.card-field{font-size:13px;line-height:1.7;color:#555;margin-bottom:2px;}
.card-field strong{color:#333;}
.card-justificativa{font-size:13px;color:var(--cor-texto-secundario);font-style:italic;background:#f8f9fa;padding:10px 14px;border-radius:8px;margin:10px 0;border-left:3px solid var(--cor-borda);}
.card-actions{display:flex;gap:8px;margin-top:14px;}

.btn-aceitar{padding:8px 20px;background:var(--cor-primaria);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;}
.btn-aceitar:hover{background:var(--cor-primaria-hover);}
.btn-rejeitar{padding:8px 20px;background:var(--cor-fundo-card);color:var(--cor-erro);border:1.5px solid var(--cor-erro);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;}
.btn-rejeitar:hover{background:var(--cor-erro);color:#fff;}
.btn-aprovar{padding:8px 20px;background:var(--cor-info);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;}
.btn-aprovar:hover{background:#1976d2;}

.card-actions button:disabled{opacity:.4;cursor:not-allowed;}
.card-status-msg{font-size:13px;font-weight:600;margin-top:12px;padding:8px 12px;border-radius:var(--radius-md);}
.card-status-msg.aceita{color:var(--cor-primaria);background:#e8f5e9;}
.card-status-msg.rejeitada{color:var(--cor-erro);background:#ffebee;}
.card-status-msg.aprovado{color:var(--cor-info);background:#e3f2fd;}

.empty-state{text-align:center;padding:48px 20px;color:#aaa;font-size:14px;}
.loading{text-align:center;padding:48px;color:#aaa;}

/* ============================================================
   DASHBOARD DE ESTATISTICAS
   ============================================================ */

.dash-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;}
.dash-card{background:var(--cor-fundo-card);border-radius:var(--radius-lg);padding:22px 20px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid #e8e8e8;position:relative;overflow:hidden;}
.dash-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;}
.dash-card.dc-registros::before{background:var(--cor-primaria);}
.dash-card.dc-usuarios::before{background:var(--cor-info);}
.dash-card.dc-sugestoes::before{background:var(--cor-aviso);}
.dash-card.dc-aprovados::before{background:#4caf50;}

.dash-card .dc-value{font-size:36px;font-weight:800;line-height:1.1;margin-bottom:4px;letter-spacing:-.5px;}
.dash-card.dc-registros .dc-value{color:var(--cor-primaria);}
.dash-card.dc-usuarios .dc-value{color:var(--cor-info);}
.dash-card.dc-sugestoes .dc-value{color:var(--cor-aviso);}
.dash-card.dc-aprovados .dc-value{color:#4caf50;}

.dash-card .dc-label{font-size:12px;color:var(--cor-texto-terciario);text-transform:uppercase;letter-spacing:.5px;font-weight:600;}

/* Secoes de grafico */
.dash-section{background:var(--cor-fundo-card);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid #e8e8e8;}
.dash-section h3{font-size:15px;font-weight:700;color:#333;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid #f0f0f0;}

/* Barras horizontais */
.dash-bars{display:flex;flex-direction:column;gap:10px;}
.dash-bar-row{display:flex;align-items:center;gap:12px;}
.dash-bar-label{width:130px;font-size:13px;color:#555;text-align:right;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash-bar-track{flex:1;height:28px;background:#f3f4f6;border-radius:var(--radius-md);overflow:hidden;position:relative;}
.dash-bar-fill{height:100%;border-radius:var(--radius-md);transition:width .6s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:24px;}
.dash-bar-fill span{font-size:11px;font-weight:700;color:rgba(255,255,255,.95);}
.dash-bar-count{width:40px;font-size:14px;font-weight:700;color:#333;text-align:right;flex-shrink:0;}

/* Grid 2 colunas */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}

/* Responsivo */
@media(max-width:800px){
    .dash-cards{grid-template-columns:1fr 1fr;}
    .dash-grid{grid-template-columns:1fr;}
    .admin-container{padding:12px;}
    .admin-header{flex-direction:column;align-items:flex-start;border-radius:8px;}
    .tab-btn{padding:10px 14px;font-size:13px;}
    .dash-bar-label{width:90px;font-size:12px;}
}
@media(max-width:500px){
    .dash-cards{grid-template-columns:1fr 1fr;}
    .dash-card .dc-value{font-size:28px;}
}

/* ============================================================
   SUGESTOES: edicao do valor antes de aceitar
   ============================================================ */
.input-valor-sugestao{padding:5px 8px;border:1px solid var(--cor-borda);border-radius:var(--radius-sm);font-size:13px;min-width:220px;max-width:100%;}
.input-valor-sugestao:focus{outline:none;border-color:var(--cor-primaria);}
.dica-edicao{color:#aaa;font-size:11px;}
.valor-vazio{color:#aaa;}

/* ============================================================
   ULTIMOS REGISTROS (feed)
   ============================================================ */
.recente-item{padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:13px;line-height:1.6;}
.recente-item:last-child{border-bottom:none;}
.recente-item a{color:var(--cor-info);text-decoration:none;font-weight:600;}
.recente-item a:hover{text-decoration:underline;}
.recente-meta{color:#999;font-size:12px;}

/* ============================================================
   USUARIOS
   ============================================================ */
.usuarios-table{width:100%;border-collapse:collapse;background:var(--cor-fundo-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);font-size:13px;}
.usuarios-table th{background:#f3f4f6;text-align:left;padding:10px 14px;font-weight:700;color:#555;border-bottom:2px solid var(--cor-borda);}
.usuarios-table td{padding:10px 14px;border-bottom:1px solid #f0f0f0;color:#333;}
.usuarios-table tr:last-child td{border-bottom:none;}
.usuarios-table tr.usuario-inativo td{opacity:.5;}
.usuarios-table small{color:#999;}
.sel-papel{padding:5px 8px;border:1px solid var(--cor-borda);border-radius:var(--radius-sm);font-size:12px;background:var(--cor-fundo-card);cursor:pointer;}
.btn-toggle-ativo{padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;border:1px solid;}
.btn-desativar{background:transparent;color:var(--cor-erro);border-color:var(--cor-erro);}
.btn-desativar:hover{background:var(--cor-erro);color:#fff;}
.btn-ativar{background:transparent;color:var(--cor-primaria);border-color:var(--cor-primaria);}
.btn-ativar:hover{background:var(--cor-primaria);color:#fff;}
.btn-toggle-ativo:disabled,.sel-papel:disabled{opacity:.4;cursor:not-allowed;}
@media(max-width:800px){.usuarios-table{display:block;overflow-x:auto;}}
