:root{
  --bg:#0a0f0c; --bg2:#0e1712; --card:#101b14; --card2:#142318;
  --line:#233a2b; --line2:#2f4f3a;
  --green:#1aa564; --green-d:#0f5132; --mint:#7ef0b0; --mint-soft:#bff0d4;
  --gold:#d4b878; --txt:#eaf5ee; --muted:#8fae9c; --danger:#ff6b6b; --warn:#ffcf6b;
  --radius:16px; --shadow:0 10px 40px rgba(0,0,0,.45);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);background:radial-gradient(1200px 600px at 80% -10%,#13241a 0%,var(--bg) 60%);
  color:var(--txt);min-height:100vh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
a{color:var(--mint);text-decoration:none}
.muted{color:var(--muted)}
.container{max-width:1100px;margin:0 auto;padding:24px}

/* Brand */
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}
.brand .logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--green),var(--green-d));
  display:grid;place-items:center;box-shadow:0 4px 14px rgba(26,165,100,.35)}
.brand .logo svg{width:20px;height:20px}
.brand small{display:block;font-weight:500;color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase}

/* Top bar */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;
  border-bottom:1px solid var(--line);background:rgba(8,14,10,.6);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}
.topbar .who{font-size:13px;color:var(--muted)}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;
  background:#13261d;border:1px solid var(--line2);color:var(--mint-soft);letter-spacing:.5px;text-transform:uppercase}

/* Cards */
.card{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);
  border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}

/* Stats */
.stat{padding:18px 20px}
.stat .n{font-size:30px;font-weight:800;color:#fff;line-height:1}
.stat .l{font-size:12px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:1px}

/* Forms */
label{display:block;font-size:12px;color:var(--muted);margin:12px 0 6px;letter-spacing:.4px}
input,select{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line2);
  background:#0c1611;color:var(--txt);font-size:16px;font-family:var(--font);outline:none}
input:focus,select:focus{border-color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:none;
  padding:13px 20px;border-radius:11px;font-weight:700;font-size:15px;font-family:var(--font);
  background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;transition:.15s;width:100%}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.ghost{background:#13261d;border:1px solid var(--line2);color:var(--mint-soft)}
.btn.sm{width:auto;padding:8px 14px;font-size:13px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* Tables / lists */
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:none}
.avatar{width:42px;height:42px;border-radius:11px;object-fit:cover;background:#13261d;border:1px solid var(--line2);
  display:grid;place-items:center;font-weight:700;color:var(--mint-soft);flex:0 0 auto}
.tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.4px;text-transform:uppercase}
.tag.proprietario{background:#10261a;color:var(--mint);border:1px solid var(--line2)}
.tag.morador_permanente{background:#10261a;color:var(--mint);border:1px solid var(--line2)}
.tag.morador_temporario{background:#1c2438;color:#9db4ff;border:1px solid #2c3a5a}
.tag.amigo{background:#221a2e;color:#c9a9ff;border:1px solid #3d2f57}
.tag.servico{background:#2a2410;color:var(--gold);border:1px solid #4a3f1f}
.tag.ok{background:#0f2e1d;color:var(--mint)}
.tag.pend{background:#2a2410;color:var(--warn)}
.tag.neg{background:#2e1414;color:var(--danger)}

/* Section heads + tabs */
.h{font-size:15px;font-weight:700;margin:0 0 4px}
.sub{font-size:13px;color:var(--muted);margin:0 0 16px}
.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tabs button{cursor:pointer;background:#0c1611;border:1px solid var(--line);color:var(--muted);
  padding:9px 16px;border-radius:10px;font-weight:600;font-size:14px}
.tabs button.active{background:#13261d;color:#fff;border-color:var(--green)}
.hidden{display:none!important}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#10261a;color:#fff;
  padding:13px 20px;border-radius:12px;border:1px solid var(--line2);box-shadow:var(--shadow);z-index:50;font-size:14px}
.center{min-height:100vh;display:grid;place-items:center;padding:20px}
.linkbox{display:flex;gap:8px;margin-top:8px}
.linkbox input{font-size:13px}

/* ===== App-like no celular: barra de navegação inferior ===== */
@media(max-width:760px){
  .topbar{padding:12px 16px}
  .topbar .who{display:none}
  .container{padding:16px 14px 92px}
  .tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;gap:0;justify-content:space-around;
    background:rgba(10,16,12,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);
    padding:8px 6px calc(8px + env(safe-area-inset-bottom))}
  .tabs button{flex:1;background:transparent;border:none;color:var(--muted);font-size:12px;font-weight:600;padding:9px 4px}
  .tabs button.active{background:#13261d;color:#fff;border:none}
  .toast{bottom:84px}
  .btn.sm{padding:10px 14px}
  .topbar .brand small{display:none}
  #gate-link{display:none}
  .grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .stat{padding:15px 16px}
  .stat .n{font-size:25px}
  .stat .l{font-size:11px}
}
