/* ===== ARCANJO 131 — paleta do brand book ===== */
:root{
  --preto:#0D0D0D; --cinza1:#1F1F1F; --cinza2:#3A3A3A; --off:#F6F6F6; --ouro:#C8A86A; --ouro-claro:#d9bd85;
  --verde:#16a07e; --amarelo:#C8A86A; --vermelho:#c0564f; --azul-info:#5b7a99;
}
/* TEMA CLARO (padrão) */
body{
  --bg:#F6F6F6; --texto:#1F1F1F; --texto-sec:#6e6e73;
  --side-bg:#0D0D0D; --side-tx:#F6F6F6; --side-ativo:rgba(200,168,106,0.18); --side-borda:var(--ouro);
  --card-bg:#ffffff; --card-borda:#e5e3dd; --topo-card:#1F1F1F;
  --header-bg:#0D0D0D; --header-tx:#F6F6F6;
  --input-bg:#ffffff; --input-borda:#d2d2d7;
  --titulo:#1F1F1F; --tabela-head:#f0efe9;
}
/* TEMA DARK */
body.dark{
  --bg:#1F1F1F; --texto:#F6F6F6; --texto-sec:#a8a8a8;
  --side-bg:#0D0D0D; --side-tx:#F6F6F6; --side-ativo:rgba(200,168,106,0.22); --side-borda:var(--ouro);
  --card-bg:#2a2a2a; --card-borda:#3A3A3A; --topo-card:#0D0D0D;
  --header-bg:#0D0D0D; --header-tx:#F6F6F6;
  --input-bg:#1F1F1F; --input-borda:#3A3A3A;
  --titulo:#F6F6F6; --tabela-head:#0D0D0D;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family:'Poppins','Montserrat',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--texto); line-height:1.5; font-size:14px; transition:background .2s,color .2s; }

/* LOGO (texto fiel ao brand book) */
.logo-arcanjo{ text-align:center; line-height:1; }
.logo-arcanjo .icone{ font-size:26px; color:var(--ouro); margin-bottom:2px; }
.logo-arcanjo .nome{ font-family:'Poppins',sans-serif; font-weight:300; letter-spacing:4px; }
.logo-arcanjo .nome b{ color:var(--ouro); font-weight:500; }
.logo-arcanjo .sub{ font-size:8px; letter-spacing:2px; color:var(--ouro); margin-top:3px; text-transform:uppercase; }

/* SELETOR DE TEMA (barra de teste no topo) */
.tema-bar{ position:fixed; top:0; right:0; z-index:500; background:var(--ouro); color:#0D0D0D; padding:6px 14px; border-radius:0 0 0 10px; font-size:12px; font-weight:600; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,0.2); }

/* LOGIN */
.login-fundo { display:flex; align-items:center; justify-content:center; min-height:100vh; padding:20px; background:linear-gradient(135deg,#0D0D0D,#1F1F1F); }
.login-card { background:var(--card-bg); padding:34px 26px; border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,0.4); width:100%; max-width:390px; border:1px solid var(--card-borda); }
.login-card .marca-login{ margin-bottom:22px; }
.login-card .marca-login .nome{ font-family:'Poppins',sans-serif; font-size:30px; font-weight:300; letter-spacing:5px; color:var(--titulo); line-height:1; }
.login-card .marca-login .nome b{ color:var(--ouro); font-weight:500; }
.login-card .marca-login .icone{ font-size:34px; color:var(--ouro); margin-bottom:6px; }
.login-card .marca-login .sub{ font-size:10px; letter-spacing:3px; color:var(--ouro); margin-top:4px; }
.login-card h1 { font-size:17px; text-align:center; margin-bottom:4px; color:var(--titulo); font-weight:500; }
.login-card .subtitulo { text-align:center; color:var(--texto-sec); margin-bottom:20px; font-size:14px; }
.aviso-teste { background:rgba(200,168,106,0.12); border:1px solid var(--ouro); border-radius:8px; padding:10px 12px; font-size:12px; color:var(--ouro); margin-bottom:16px; }

/* APP */
.app { display:flex; min-height:100vh; }
.btn-hamburger { display:none; position:fixed; top:12px; left:12px; z-index:100; background:var(--preto); color:var(--ouro); border:1px solid var(--ouro); width:44px; height:44px; border-radius:8px; font-size:20px; cursor:pointer; }
.sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:90; }
.sidebar-overlay.aberto { display:block; }
.sidebar { width:220px; background:var(--side-bg); color:var(--side-tx); padding:18px 0; display:flex; flex-direction:column; gap:4px; flex-shrink:0; }
.sidebar-logo { padding:8px 16px 18px; text-align:center; border-bottom:1px solid rgba(200,168,106,0.25); margin-bottom:14px; }
.sidebar-logo .papel { background:var(--ouro); color:#0D0D0D; font-size:10px; padding:2px 10px; border-radius:10px; display:inline-block; margin-top:10px; font-weight:600; letter-spacing:1px; }
.menu-btn { padding:12px 18px; background:none; border:none; color:var(--side-tx); text-align:left; cursor:pointer; font-size:14px; font-family:inherit; border-left:3px solid transparent; text-decoration:none; display:block; min-height:44px; transition:all .15s; }
.menu-btn:hover { background:rgba(255,255,255,0.06); }
.menu-btn.ativo { background:var(--side-ativo); border-left-color:var(--side-borda); font-weight:500; color:var(--ouro-claro); }
.menu-rodape { margin-top:auto; padding:14px 18px; border-top:1px solid rgba(200,168,106,0.25); font-size:12px; color:var(--texto-sec); }
.menu-rodape .nm{ color:var(--side-tx); font-weight:500; }
.menu-rodape a { color:var(--ouro); cursor:pointer; }
.conteudo { flex:1; padding:24px 28px; min-width:0; }

/* HEADER DASH */
.dash-header { background:var(--header-bg); color:var(--header-tx); padding:16px 24px; border-radius:12px; margin-bottom:16px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; border:1px solid rgba(200,168,106,0.2); }
.dash-header .txt { flex:1; min-width:200px; }
.dash-header h1 { font-size:22px; margin:0; font-weight:500; color:var(--off); }
.dash-header .sub2 { font-size:12px; color:var(--ouro); margin-top:2px; }
.dash-header .data { text-align:right; font-size:12px; color:var(--texto-sec); }
.dash-header .data strong { color:var(--off); font-size:14px; display:block; }

/* CARDS */
.dash-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:18px; }
.dash-card { background:var(--card-bg); border-radius:12px; overflow:hidden; border:1px solid var(--card-borda); }
.dash-card .topo { padding:8px 14px; color:#F6F6F6; font-size:13px; font-weight:500; text-align:center; }
.dash-card .corpo { padding:18px 14px; text-align:center; color:var(--texto); }
.dash-card .valor { font-size:28px; font-weight:600; color:var(--titulo); }
.dash-card .valor-g { font-size:20px; font-weight:600; color:var(--titulo); }
.dc-azul .topo{background:var(--cinza2);} .dc-verde .topo{background:var(--verde);} .dc-amarelo .topo{background:var(--ouro);color:#0D0D0D;} .dc-vermelho .topo{background:var(--vermelho);}

.dash-graficos { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }
.dash-graf { background:var(--card-bg); border-radius:12px; overflow:hidden; border:1px solid var(--card-borda); }
.dash-graf .titulo-graf { padding:8px 14px; background:var(--topo-card); color:var(--off); font-size:13px; font-weight:500; text-align:center; }
.dash-graf .corpo-graf { padding:14px; height:230px; position:relative; }

/* TÍTULOS */
.titulo-pag { font-size:22px; font-weight:500; color:var(--titulo); margin-bottom:6px; font-family:'Poppins',sans-serif; }
.subtitulo-pag { font-size:13px; color:var(--texto-sec); margin-bottom:20px; }
h2.sec { color:var(--titulo); font-size:16px; margin:8px 0 10px; font-weight:500; }

/* TABELAS */
.tabela-wrap { background:var(--card-bg); border-radius:12px; overflow:hidden; border:1px solid var(--card-borda); overflow-x:auto; margin-bottom:18px; }
table { width:100%; border-collapse:collapse; }
thead { background:var(--tabela-head); }
th { padding:10px 12px; font-size:11px; color:var(--texto-sec); text-transform:uppercase; letter-spacing:.5px; font-weight:500; text-align:left; white-space:nowrap; }
td { padding:10px 12px; font-size:13px; border-top:1px solid var(--card-borda); color:var(--texto); }
tr:hover td { background:rgba(200,168,106,0.05); }
.vazio { text-align:center; padding:40px 20px; color:var(--texto-sec); }

/* BADGES */
.badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:11px; font-weight:500; }
.b-ok{background:rgba(22,160,126,0.15);color:#16a07e;} .b-prog{background:rgba(200,168,106,0.18);color:var(--ouro);} .b-nao{background:rgba(192,86,79,0.15);color:#c0564f;} .b-canc{background:rgba(120,120,120,0.15);color:#999;} .b-and{background:rgba(91,122,153,0.15);color:#5b7a99;}

/* BOTÕES */
.btn { display:inline-flex; align-items:center; gap:6px; padding:10px 16px; border-radius:8px; border:1px solid var(--input-borda); background:var(--card-bg); color:var(--texto); text-decoration:none; font-size:13px; cursor:pointer; font-family:inherit; min-height:38px; white-space:nowrap; }
.btn:hover { border-color:var(--ouro); }
.btn-primario { background:var(--ouro); color:#0D0D0D; border-color:var(--ouro); font-weight:500; } .btn-primario:hover{background:var(--ouro-claro);}
.btn-sucesso { background:var(--verde); color:#fff; border-color:var(--verde); }
.btn-perigo { background:var(--vermelho); color:#fff; border-color:var(--vermelho); }
.btn-pequeno { padding:6px 10px; font-size:11px; min-height:30px; }
.barra-acoes { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }

/* FORM */
.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; background:var(--card-bg); padding:20px; border-radius:12px; border:1px solid var(--card-borda); margin-bottom:18px; }
.form-grid.uma-col { grid-template-columns:1fr; }
.campo { display:flex; flex-direction:column; }
.campo.col-2 { grid-column:span 2; }
.campo label { font-size:12px; color:var(--texto-sec); margin-bottom:4px; }
input, select, textarea { padding:10px 12px; border:1px solid var(--input-borda); border-radius:8px; font-size:14px; font-family:inherit; background:var(--input-bg); color:var(--texto); min-height:40px; width:100%; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--ouro); box-shadow:0 0 0 3px rgba(200,168,106,0.2); }
.titulo-form { font-size:16px; font-weight:500; margin-bottom:6px; color:var(--titulo); grid-column:1/-1; font-family:'Poppins',sans-serif; }
.acoes-form { grid-column:1/-1; display:flex; gap:8px; margin-top:6px; flex-wrap:wrap; }

/* ALERTAS */
.alerta { padding:10px 14px; border-radius:8px; margin-bottom:14px; font-size:13px; }
.a-suc{background:rgba(22,160,126,0.12);color:#16a07e;border:1px solid rgba(22,160,126,0.4);} .a-erro{background:rgba(192,86,79,0.12);color:#c0564f;border:1px solid rgba(192,86,79,0.4);} .a-info{background:rgba(91,122,153,0.12);color:#7a98b5;border:1px solid rgba(91,122,153,0.4);} .a-aviso{background:rgba(200,168,106,0.12);color:var(--ouro);border:1px solid var(--ouro);}

/* QUITINETES */
.quit-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }
.quit-card { background:var(--card-bg); border-radius:12px; overflow:hidden; border:1px solid var(--card-borda); }
.quit-card .qt { padding:10px 14px; background:var(--topo-card); color:var(--off); display:flex; justify-content:space-between; align-items:center; }
.quit-card .qt .num { font-size:18px; font-weight:600; color:var(--ouro); }
.quit-card .qc { padding:14px; color:var(--texto); }
.sit-ocupada{background:rgba(22,160,126,0.15);color:#16a07e;} .sit-disponivel{background:rgba(91,122,153,0.15);color:#7a98b5;} .sit-reforma,.sit-construcao{background:rgba(200,168,106,0.18);color:var(--ouro);} .sit-apoio,.sit-sem_locacao{background:rgba(120,120,120,0.15);color:#999;}

.info-linha { display:flex; padding:9px 0; border-bottom:1px solid var(--card-borda); font-size:14px; color:var(--texto); }
.info-linha .rotulo { width:170px; color:var(--texto-sec); flex-shrink:0; }
.info-linha .vl { font-weight:500; }
.modal-fundo { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:300; display:flex; align-items:center; justify-content:center; padding:20px; }
.modal { background:var(--card-bg); border-radius:12px; padding:22px; max-width:560px; width:100%; max-height:90vh; overflow-y:auto; border:1px solid var(--card-borda); }

@media (max-width:800px){
  .btn-hamburger{display:block;}
  .sidebar{position:fixed; top:0; left:-100%; height:100vh; z-index:95; transition:left .25s; overflow-y:auto;}
  .sidebar.aberto{left:0;}
  .conteudo{padding:60px 14px 24px; width:100%;}
  .dash-graficos{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .campo.col-2{grid-column:span 1;}
  table,thead,tbody,th,td,tr{display:block;}
  thead{display:none;}
  tbody tr{background:var(--card-bg); border-radius:8px; margin:0 0 10px; border:1px solid var(--card-borda); padding:4px 0;}
  td{border:none; display:flex; justify-content:space-between; align-items:center; padding:8px 14px; gap:10px;}
  td::before{content:attr(data-label); font-weight:600; color:var(--texto-sec); font-size:12px; flex-shrink:0;}
  td .btn{margin-left:auto;}
  .tema-bar{font-size:11px; padding:5px 10px;}
  .modal{padding:18px 16px;}
  .barra-acoes .btn{flex:1; justify-content:center;}
  /* filtros e barras de ação empilham no celular */
  .conteudo > div[style*="display:flex"]{flex-wrap:wrap;}
  .conteudo select[style*="width:auto"]{flex:1; min-width:0 !important;}
}
@media (max-width:480px){
  .dash-card .valor{font-size:24px;}
  .dash-card .valor-g{font-size:17px;}
  .titulo-pag{font-size:19px;}
}