:root {
  --azul:#0A2B73; --azul2:#123C91; --azul3:#061944;
  --amarelo:#F2D83A; --amarelo2:#FFF8D5;
  --verde:#1A6E3C; --vermelho:#C0392B;
  --ouro:#C8930A;
  --cinza50:#F7F9FC; --cinza100:#EEF2F7; --cinza300:#CAD3E0;
  --cinza600:#5E6A7D; --cinza800:#28354B; --texto:#172136;
  --raio:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--texto);background:var(--cinza50);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:var(--azul);text-decoration:none}
button,input,select,textarea{font:inherit}

/* ── Botões ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;font-weight:800;font-size:.86rem;cursor:pointer;transition:.18s;white-space:nowrap;text-decoration:none}
.btn-primary{background:var(--amarelo);color:var(--azul3)}
.btn-primary:hover{box-shadow:0 6px 18px rgba(242,216,58,.4);transform:translateY(-1px)}
.btn-blue{background:var(--azul);color:#fff}
.btn-blue:hover{background:var(--azul2)}
.btn-outline{background:#fff;color:var(--azul);border-color:var(--cinza300)}
.btn-outline:hover{border-color:var(--azul);background:#EEF3FF}
.btn-danger{background:#fff;color:var(--vermelho);border-color:#F1C5C0}
.btn-danger:hover{background:#FDEDEB;border-color:var(--vermelho)}
.btn-sm{min-height:32px;padding:0 11px;font-size:.78rem;border-radius:8px}
.btn-full{width:100%}

/* ── Alertas ── */
.alert{padding:12px 16px;border-radius:12px;font-size:.88rem;font-weight:600;margin-bottom:18px}
.alert-error{background:#FDEDEB;color:#8E2A20;border:1px solid #F1C5C0}
.alert-success{background:#E7F4ED;color:#0F4A27;border:1px solid #B0D8C0}
.alert-info{background:#EEF3FF;color:var(--azul);border:1px solid #D7E3FF}

/* ── Formulários ── */
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cinza600);margin-bottom:5px}
.form-group input[type=text],.form-group input[type=password],.form-group input[type=email],.form-group input[type=number],.form-group input[type=url],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--cinza300);border-radius:10px;background:#fff;color:var(--texto);font-size:.92rem;transition:border-color .15s,box-shadow .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(10,43,115,.12)}
.form-group textarea{min-height:110px;resize:vertical}
.form-group input[type=color]{width:52px;height:40px;padding:2px;border:1px solid var(--cinza300);border-radius:10px;background:#fff;cursor:pointer}
.form-group input[type=file]{font-size:.85rem}
.hint{display:block;margin-top:4px;font-size:.76rem;color:var(--cinza600)}
.check{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--cinza800);cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--azul)}
.row{display:grid;gap:14px}
.row.c2{grid-template-columns:1fr 1fr}
.row.c3{grid-template-columns:1fr 1fr 1fr}
.row.c4{grid-template-columns:repeat(4,1fr)}
.row.icon{grid-template-columns:90px 1fr}

/* ── Página de login / setup ── */
.auth-body{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 18%,rgba(242,216,58,.18),transparent 30%),linear-gradient(135deg,#061944 0%,#0A2B73 60%,#1646A5 100%)}
.auth-card{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:32px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.auth-card.wide{max-width:560px}
.auth-brand{text-align:center;margin-bottom:22px}
.auth-brand img{width:78px;height:78px;object-fit:contain;margin:0 auto 10px;display:block}
.auth-brand h1{font-size:1.25rem;color:var(--azul);letter-spacing:-.02em}
.auth-brand p{font-size:.84rem;color:var(--cinza600)}
.auth-card h2{font-size:1.02rem;color:var(--azul);margin-bottom:12px}
.auth-links{margin-top:18px;text-align:center;font-size:.84rem;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.divider{border:0;border-top:1px solid var(--cinza100);margin:22px 0}
.user-list{display:grid;gap:8px;margin-top:10px}
.user-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--cinza100);border-radius:12px;font-size:.9rem;font-weight:700}

/* ── Painel ── */
.admin-top{background:var(--azul3);color:#fff;position:sticky;top:0;z-index:20}
.admin-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap;padding:8px 0}
.admin-brand{display:flex;align-items:center;gap:12px;color:#fff}
.admin-brand img{width:40px;height:40px;object-fit:contain}
.admin-brand strong{display:block;font-size:.95rem}
.admin-brand span{font-size:.72rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.admin-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.admin-nav a{color:rgba(255,255,255,.8);font-size:.82rem;font-weight:700;padding:7px 11px;border-radius:9px}
.admin-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.admin-nav .who{color:var(--amarelo);font-size:.8rem;font-weight:800;padding:0 8px}
.wrap{width:min(1180px,calc(100% - 32px));margin:auto}
.admin-main{padding:28px 0 60px}
.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.admin-head h1{font-size:1.5rem;color:var(--azul3);letter-spacing:-.02em}
.admin-head p{color:var(--cinza600);font-size:.88rem}
.panel{background:#fff;border:1px solid #E3E9F1;border-radius:var(--raio);padding:22px;box-shadow:0 6px 22px rgba(20,39,81,.04);margin-bottom:20px}
.panel h2{font-size:1rem;color:var(--azul);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.panel h2 small{font-weight:600;color:var(--cinza600);font-size:.8rem}
.panel.rest{border-color:#F4C99A;background:#FFFBF5}
.panel.rest h2{color:#B85A00}

.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.stat{padding:10px 16px;border-radius:12px;background:#fff;border:1px solid #E3E9F1;font-size:.8rem;color:var(--cinza600)}
.stat strong{display:block;font-size:1.2rem;color:var(--azul)}

/* Lista de patrocinadores */
.tier-group{margin-bottom:22px}
.tier-title{font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza600);margin:0 0 8px 4px}
.sp-list{display:grid;gap:8px}
.sp-row{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:10px 14px;background:#fff;border:1px solid #E3E9F1;border-radius:14px}
.sp-row.inactive{opacity:.55}
.sp-thumb{width:56px;height:56px;border-radius:12px;border:1px solid #E5EAF2;display:grid;place-items:center;overflow:hidden;background:#fff;padding:5px;font-weight:900;color:#fff;font-size:.9rem}
.sp-thumb img{width:100%;height:100%;object-fit:contain}
.sp-info strong{display:block;color:var(--azul);font-size:.95rem}
.sp-info .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:.68rem;font-weight:800;letter-spacing:.03em;background:var(--cinza100);color:var(--cinza800)}
.tag.platina{background:#EDE0FF;color:#4A2F8E}
.tag.ouro{background:#FEF3C7;color:#7A5500}
.tag.prata{background:#E8EDF2;color:#3D4A5C}
.tag.apoio{background:#E7F4ED;color:#0F4A27}
.tag.rest{background:#FFF3E8;color:#B85A00}
.tag.warn{background:#FDEDEB;color:#8E2A20}
.tag.off{background:#28354B;color:#fff}
.sp-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.empty{padding:30px;text-align:center;color:var(--cinza600);border:2px dashed var(--cinza300);border-radius:14px}

/* Editor */
.editor-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start}
.logo-preview{width:110px;height:110px;border-radius:18px;border:1px solid #E5EAF2;display:grid;place-items:center;overflow:hidden;padding:8px;margin-bottom:12px;background:#fff;font-weight:900;color:#fff;font-size:1.3rem}
.logo-preview img{width:100%;height:100%;object-fit:contain}
#pick-map{width:100%;height:260px;border-radius:12px;border:1px solid #E5EAF2;margin-bottom:12px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:sticky;bottom:0;background:linear-gradient(to top,var(--cinza50) 70%,transparent);padding:14px 0 6px}

@media(max-width:900px){
  .editor-grid{grid-template-columns:1fr}
  .row.c3,.row.c4{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .row.c2,.row.c3,.row.c4{grid-template-columns:1fr}
  .sp-row{grid-template-columns:48px 1fr}
  .sp-actions{grid-column:1 / -1;justify-content:flex-start}
  .auth-card{padding:24px}
}
.admin-nav a.current{background:rgba(255,255,255,.14);color:#fff}
