/* MC Assessoria — estilos compartilhados entre o site institucional e o portal do cliente. */

:root{
  --bg:#F7F7F4;
  --bg-panel:#FFFFFF;
  --ink:#1C2321;
  --ink-soft:#5B5F5C;
  --teal:#173436;
  --teal-2:#20494B;
  --brass:#B98D3E;
  --brass-light:#E9C883;
  --line:#DEDCD5;
  --line-dark:#2C4C4E;
  --ok:#3F6A52;
  --ok-soft:#DCE7DF;
  --stamp:#A63D33;
  --stamp-soft:#F1DAD6;
  --warn:#D9730D;
  --warn-soft:#FBE6C8;
  --warn-ink:#8A4B08;
  --gold-metal:#E6C074;
  --gold-metal-light:#F5E2AB;
  --nav-bg:#062323;
  --nav-bg-2:#0D3232;
  --nav-dropdown-bg:#163536;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}
a{color:inherit;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

/* ---------------- site institucional ---------------- */
header{
  background:linear-gradient(180deg, var(--nav-bg) 0%, var(--nav-bg-2) 220%);
  padding:16px 0; position:sticky; top:0; z-index:20;
  border-bottom:1px solid var(--gold-metal-light);
  box-shadow:0 4px 24px -10px rgba(0,0,0,0.4);
}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
.logo{font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:#fff;}
.logo span{color:var(--brass-light);}
.logo small{display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; color:#9FC4C4; letter-spacing:.08em; font-weight:400; margin-top:1px;}
nav a{text-decoration:none; color:#EDF2EF; font-size:16px; margin-left:26px;}
header nav{display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; row-gap:10px;}
header nav a{margin-left:24px; white-space:nowrap;}
header nav a:not(.nav-cta){
  position:relative; padding-bottom:5px; transition:color .15s ease;
}
header nav a:not(.nav-cta)::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--brass-light); transition:right .2s ease;
}
header nav a:not(.nav-cta):hover{ color:#fff; }
header nav a:not(.nav-cta):hover::after{ right:0; }
header nav a.nav-active{ color:var(--brass-light); font-weight:600; }
header nav a.nav-active::after{ right:0; }
header nav a:nth-last-child(2){ margin-left:34px; position:relative; }
header nav a:nth-last-child(2)::before{
  content:''; position:absolute; left:-17px; top:50%; transform:translateY(-50%);
  width:1px; height:22px; background:rgba(233,200,131,0.25);
}
@media(max-width:760px){ header nav a:nth-last-child(2)::before{ display:none; } }
.nav-cta{
  background:none; border:1px solid var(--gold-metal); color:var(--gold-metal);
  padding:9px 18px; border-radius:3px; font-weight:600; font-size:14px;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 3px 7px rgba(0,0,0,0.32);
}
.nav-cta:hover{ background:rgba(212,175,55,0.14); border-color:var(--gold-metal-light); color:var(--gold-metal-light); }
.nav-cta:active{ box-shadow: inset 0 2px 4px rgba(0,0,0,0.3); transform:translateY(1px); }
.nav-cta.btn-gold{ padding:9px 18px; border-radius:3px; font-size:14px; }
@media(max-width:760px){ nav a:not(.nav-cta){display:none;} }

.hero{
  background:
    radial-gradient(ellipse 56% 78% at 28% 40%,
      rgba(7,17,19,0.95) 0%,
      rgba(7,17,19,0.86) 32%,
      rgba(7,17,19,0.55) 55%,
      rgba(7,17,19,0.18) 75%,
      rgba(7,17,19,0) 90%
    ),
    url('images/hero-bg.jpg') center/cover no-repeat;
  color:#fff; padding:26px 0 44px; position:relative;
}
@media(max-width:760px){
  .hero{
    background:
      radial-gradient(ellipse 100% 92% at 50% 42%,
        rgba(7,17,19,0.94) 0%,
        rgba(7,17,19,0.88) 40%,
        rgba(7,17,19,0.6) 65%,
        rgba(7,17,19,0.25) 82%,
        rgba(7,17,19,0) 96%
      ),
      url('images/hero-bg.jpg') center/cover no-repeat;
  }
}
.hero .wrap{max-width:1240px;}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(233,200,131,0.4);
  color:var(--brass-light); font-family:'IBM Plex Mono',monospace; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; padding:7px 16px; border-radius:20px;
  margin-bottom:14px;
}
.hero h1{font-size:clamp(38px,6vw,64px); line-height:1.08; max-width:17ch; margin-bottom:14px;}
.hero h1 em{font-style:normal; color:var(--brass-light);}
.hero p.lead{font-size:17px; color:#C9DADA; max-width:52ch; margin-bottom:24px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px;}
.btn{padding:13px 24px; border-radius:3px; font-size:14px; font-weight:600; text-decoration:none; display:inline-block; border:1px solid transparent; cursor:pointer;}
.btn-brass{background:var(--brass); color:var(--teal);}
.btn-ghost{border-color:rgba(255,255,255,0.35); color:#fff; background:none;}

.btn-gold{
  padding:15px 30px;
  border-radius:7px;
  font-size:14.5px;
  text-decoration:none;
  display:inline-block;
  transition:all .2s;
  background:linear-gradient(180deg, #F0D275 0%, #D9B44A 45%, #C9A227 52%, #A8801A 100%);
  color:#141414;
  font-weight:700;
  letter-spacing:0.01em;
  border:1px solid #8F6B12;
  text-shadow:0 1px 0 rgba(255,255,255,0.4);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.65),
    inset 0 -1px 0 rgba(0,0,0,0.22),
    0 3px 7px rgba(0,0,0,0.32);
}
.btn-gold:hover{
  background:linear-gradient(180deg, #F6DE8C 0%, #E1C158 45%, #D3AC32 52%, #B58C1E 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.75),
    inset 0 -1px 0 rgba(0,0,0,0.2),
    0 4px 10px rgba(0,0,0,0.34);
  color:#141414;
}
.btn-gold:active{
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.3),
    0 1px 2px rgba(0,0,0,0.25);
  transform:translateY(1px);
  color:#141414;
}

.btn-teal-solid{
  padding:15px 30px;
  border-radius:7px;
  font-size:14.5px;
  text-decoration:none;
  display:inline-block;
  transition:all .2s;
  background:linear-gradient(180deg, #2F6058 0%, #1E4A42 45%, #15362F 52%, #0B211C 100%);
  color:#F0EEE6;
  font-weight:700;
  letter-spacing:0.01em;
  border:1px solid #08201C;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.16),
    inset 0 -1px 0 rgba(0,0,0,0.35),
    0 3px 7px rgba(0,0,0,0.32);
}
.btn-teal-solid:hover{
  background:linear-gradient(180deg, #396E65 0%, #26564D 45%, #1B4038 52%, #0F2C25 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    inset 0 -1px 0 rgba(0,0,0,0.3),
    0 4px 10px rgba(0,0,0,0.34);
  color:#fff;
}
.btn-teal-solid:active{
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.4),
    0 1px 2px rgba(0,0,0,0.25);
  transform:translateY(1px);
  color:#F0EEE6;
}
.nav-cta.btn-teal-solid{ padding:9px 18px; border-radius:3px; font-size:14px; }

.cta-tile{
  width:220px; height:220px;
  border-radius:16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:16px; text-align:center; padding:24px; text-decoration:none;
  transition:all .2s;
}
.cta-tile svg{ width:38px; height:38px; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cta-tile span{ font-size:16.5px; font-weight:700; letter-spacing:0.01em; line-height:1.3; }

.cta-tile-gold{
  background:linear-gradient(180deg, #F0D275 0%, #D9B44A 45%, #C9A227 52%, #A8801A 100%);
  color:#141414; border:1px solid #8F6B12; text-shadow:0 1px 0 rgba(255,255,255,0.4);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.65),
    inset 0 -1px 0 rgba(0,0,0,0.22),
    0 3px 7px rgba(0,0,0,0.32);
}
.cta-tile-gold svg{ stroke:#141414; }
.cta-tile-gold:hover{
  background:linear-gradient(180deg, #F6DE8C 0%, #E1C158 45%, #D3AC32 52%, #B58C1E 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.75),
    inset 0 -1px 0 rgba(0,0,0,0.2),
    0 4px 10px rgba(0,0,0,0.34);
}
.cta-tile-gold:active{ box-shadow:inset 0 2px 4px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.25); transform:translateY(1px); }

.cta-tile-teal{
  background:linear-gradient(180deg, #2F6058 0%, #1E4A42 45%, #15362F 52%, #0B211C 100%);
  color:#F0EEE6; border:1px solid #08201C;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.16),
    inset 0 -1px 0 rgba(0,0,0,0.35),
    0 3px 7px rgba(0,0,0,0.32);
}
.cta-tile-teal svg{ stroke:#F0EEE6; }
.cta-tile-teal:hover{
  background:linear-gradient(180deg, #396E65 0%, #26564D 45%, #1B4038 52%, #0F2C25 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    inset 0 -1px 0 rgba(0,0,0,0.3),
    0 4px 10px rgba(0,0,0,0.34);
}
.cta-tile-teal:active{ box-shadow:inset 0 2px 4px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.25); transform:translateY(1px); }
@media(max-width:480px){ .cta-tile{ width:100%; max-width:220px; } }

section{padding:76px 0;}
.section-head{max-width:620px; margin-bottom:44px;}
.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass); margin-bottom:12px; display:flex; align-items:center; gap:10px;}
.eyebrow::before{content:''; width:20px; height:1px; background:var(--brass);}
.section-head h2{font-size:clamp(25px,3.2vw,34px); color:var(--teal); margin-bottom:12px;}
.section-head p{color:var(--ink-soft); font-size:15.5px;}

.cta-band{background:var(--teal); color:#fff; text-align:center;}
.cta-band h1, .cta-band h2{color:#fff; font-size:clamp(25px,3.4vw,34px); margin-bottom:14px;}
.cta-band p{color:#C9DADA; max-width:50ch; margin:0 auto 28px; font-size:15px;}
.cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

footer{padding:32px 0; background:var(--teal); border-top:1px solid var(--line-dark);}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12.5px; color:#9BB6B6;}
footer a{color:var(--brass-light); text-decoration:none;}

/* ---------------- portal: login / cadastro ---------------- */
.auth-screen{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 15% 20%, rgba(184,147,74,0.10), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(23,52,54,0.06), transparent 40%),
    var(--bg);
  padding:40px 20px;
}
.login-card{
  width:100%; max-width:420px;
  background:var(--bg-panel);
  border:1px solid var(--line);
  position:relative;
  padding:44px 38px 38px;
}
.login-card::before{
  content:'';
  position:absolute; top:14px; left:14px; right:14px; bottom:14px;
  border:1px solid var(--line);
  pointer-events:none;
}
.login-seal{
  width:52px; height:52px; border-radius:50%;
  border:2px solid var(--brass);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces'; font-weight:600; font-size:19px; color:var(--brass);
  margin:0 auto 20px;
}
.login-card h1{font-size:26px; font-weight:600; text-align:center; margin-bottom:6px; color:var(--teal);}
.login-card p.sub{text-align:center; color:var(--ink-soft); font-size:13.5px; margin-bottom:30px;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:12.5px; color:var(--ink-soft); margin-bottom:6px;}
.field input, .field textarea, .field select{
  width:100%; padding:11px 13px; border:1px solid var(--line);
  background:#fff; font-family:'IBM Plex Sans'; font-size:14px; color:var(--ink);
  border-radius:2px;
}
.field input:focus, .field textarea:focus, .field select:focus, textarea:focus{ outline:none; border-color:var(--brass); }
.btn-primary{
  width:100%; padding:13px; background:var(--teal); color:#fff;
  border:none; font-family:'IBM Plex Sans'; font-size:14.5px; font-weight:600;
  cursor:pointer; margin-top:8px; letter-spacing:.2px; border-radius:3px;
}
.btn-primary:hover{ background:var(--teal-2); }
.login-foot{ text-align:center; font-size:13px; color:var(--ink-soft); margin-top:20px; }
.login-foot a{ color:var(--teal); font-weight:600; text-decoration:none; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:520px){ .form-row{ grid-template-columns:1fr; } }
.form-error{
  background:var(--stamp-soft); color:var(--stamp); border:1px solid var(--stamp);
  padding:10px 13px; border-radius:3px; font-size:13px; margin-bottom:16px; display:none;
}
.form-error.show{ display:block; }
.success-box{
  display:none; background:var(--bg-panel); border:1px solid var(--ok); border-left:4px solid var(--ok);
  padding:28px 26px; border-radius:4px;
}
.success-box.show{ display:block; }
.success-box h3{color:var(--teal); font-size:19px; margin-bottom:8px;}
.success-box p{color:var(--ink-soft); font-size:14.5px;}

/* ---------------- portal: layout logado ---------------- */
.app{ display:flex; min-height:100vh; }
.sidebar{
  width:230px; background:var(--teal); color:var(--bg);
  padding:28px 0; flex-shrink:0; display:flex; flex-direction:column;
}
.sidebar .brand{ padding:0 24px 26px; border-bottom:1px solid rgba(247,247,244,0.14); margin-bottom:18px; }
.sidebar .brand .mark{ font-family:'Fraunces'; font-size:20px; font-weight:600; color:#fff; }
.sidebar .brand .mark span{ color:var(--brass-light); }
.sidebar .brand .tag{ font-size:11px; color:#9FC4C4; margin-top:2px; }
.sidebar nav{ display:flex; flex-direction:column; }
.sidebar nav a{
  display:flex; align-items:center; gap:10px;
  padding:11px 24px; color:#C9DADA; text-decoration:none; font-size:14px;
  border-left:3px solid transparent;
}
.sidebar nav a.on{ color:#fff; background:rgba(184,147,74,0.14); border-left-color:var(--brass); font-weight:600; }
.sidebar nav a:hover:not(.on){ background:rgba(255,255,255,0.05); }
.sidebar nav a.back-to-site{
  color:#9FC4C4; font-size:13px; padding-bottom:16px; margin-bottom:8px;
  border-bottom:1px solid rgba(247,247,244,0.14);
}
.sidebar nav a.back-to-site svg{ width:14px; height:14px; flex-shrink:0; }
.sidebar nav a.back-to-site:hover{ color:#fff; }
.sidebar nav a svg{ width:17px; height:17px; flex-shrink:0; stroke:currentColor; fill:none; opacity:.85; }
.sidebar nav a.on svg{ opacity:1; stroke:var(--brass-light); }

/* ---------------- sidebar do admin: rodapé com avatar + sair ---------------- */
.sidebar-rodape{ margin-top:auto; }
.sidebar-perfil{
  display:flex; align-items:center; gap:10px; padding:16px 24px;
  border-top:1px solid rgba(247,247,244,0.14);
}
.sidebar-perfil .circulo{
  width:34px; height:34px; border-radius:50%; background:var(--brass); color:var(--teal);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; flex-shrink:0;
}
.sidebar-perfil .nome{ font-size:12.5px; font-weight:600; color:#fff; line-height:1.3; }
.sidebar-perfil .cargo{ font-size:11px; color:#9FC4C4; }
.sidebar-sair{
  display:flex; align-items:center; gap:10px; padding:10px 24px 18px;
  color:#C9DADA; font-size:13px; background:none; border:none; cursor:pointer; width:100%; text-align:left; font-family:inherit;
}
.sidebar-sair svg{ width:16px; height:16px; stroke:currentColor; fill:none; flex-shrink:0; }
.sidebar-sair:hover{ color:#fff; }
.sidebar-tagline{
  padding:14px 24px 0; border-top:1px solid rgba(247,247,244,0.14);
  font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(159,196,196,0.6); line-height:1.9;
}
.back-to-site-fixed{
  position:fixed; top:24px; left:24px; color:var(--ink-soft); font-size:13px;
  text-decoration:none; display:inline-flex; align-items:center; gap:6px; z-index:5;
}
.back-to-site-fixed svg{ width:14px; height:14px; }
.back-to-site-fixed:hover{ color:var(--teal); }
@media(max-width:480px){ .back-to-site-fixed{ position:static; display:flex; margin:16px auto 0; width:fit-content; } }
.sino-cliente{ position:fixed; top:20px; right:28px; z-index:50; }
body:has(.admin-topbar) .sino-cliente{ top:76px; }
.sino-botao{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  background:var(--teal); border:1px solid rgba(247,247,244,0.22);
  box-shadow:0 6px 16px rgba(0,0,0,0.2); cursor:pointer; padding:0;
}
.sino-botao:hover{ background:var(--teal-2); }
.sino-botao svg{ width:19px; height:19px; stroke:var(--brass-light); fill:none; }
.sino-badge{
  position:absolute; top:-3px; right:-3px;
  background:var(--stamp); color:#fff; font-size:10.5px; font-weight:700;
  min-width:17px; height:17px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  padding:0 4px; border:2px solid var(--bg);
}
.sino-painel{
  position:absolute; top:calc(100% + 14px); right:0; width:340px; max-width:calc(100vw - 40px); z-index:20;
  background:#fff; border-radius:12px; box-shadow:0 20px 44px rgba(0,0,0,0.26);
  overflow:hidden; border:1px solid var(--line);
}
.sino-painel::before{
  content:''; position:absolute; top:-6px; right:15px; width:12px; height:12px;
  background:var(--teal-2); transform:rotate(45deg); border-radius:2px;
}
.sino-painel-head{
  position:relative; padding:14px 16px; font-size:12.5px; font-weight:600; color:#fff;
  background:linear-gradient(165deg, var(--teal-2) 0%, var(--teal) 100%);
  display:flex; align-items:center; gap:9px;
}
.sino-painel-head svg{ width:16px; height:16px; stroke:var(--brass-light); fill:none; flex-shrink:0; }
.sino-lista{ max-height:300px; overflow-y:auto; }
.sino-item{
  display:flex; align-items:flex-start; gap:11px; padding:13px 16px;
  text-decoration:none; border-bottom:1px solid var(--line); transition:background .15s;
}
.sino-item:last-child{ border-bottom:none; }
.sino-item:hover{ background:var(--bg); }
.sino-ponto{ width:9px; height:9px; border-radius:50%; margin-top:5px; flex-shrink:0; background:var(--warn); }
.sino-ponto.sino-ponto-critico{ background:var(--stamp); }
.sino-ponto.sino-ponto-alerta{ background:var(--warn); }
.sino-corpo{ min-width:0; flex:1; display:flex; flex-direction:column; gap:5px; }
.sino-empresa{
  font-size:13px; font-weight:600; color:var(--ink); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.sino-linha2{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.sino-protocolo{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); }
.sino-situacao{
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:.01em;
  padding:2px 8px; border-radius:9px; background:var(--stamp-soft); color:var(--stamp);
}
.sino-escritorio{ font-size:10.5px; color:var(--ink-soft); }
.sino-painel-footer{
  display:block; padding:12px 16px; text-align:center; font-size:12.5px; font-weight:600;
  color:var(--teal); text-decoration:none; background:var(--bg); border-top:1px solid var(--line);
}
.sino-painel-footer:hover{ background:var(--line); }
.sino-vazio{ padding:30px 20px; text-align:center; color:var(--ink-soft); }
.sino-vazio svg{ width:30px; height:30px; stroke:var(--ok); fill:none; margin-bottom:10px; }
.sino-vazio p{ font-size:12.5px; margin:0; }

/* ---------------- layout novo do admin: topbar + painel lateral direito ---------------- */
.main-area{ flex:1; display:flex; flex-direction:column; min-width:0; }
.admin-topbar{
  display:flex; align-items:center; gap:20px; padding:0 32px; height:64px;
  background:#fff; border-bottom:1px solid var(--line); flex-shrink:0;
}
.admin-topbar-search{
  flex:1; max-width:420px; display:flex; align-items:center; gap:9px;
  background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:9px 14px;
}
.admin-topbar-search svg{ width:16px; height:16px; stroke:var(--ink-soft); fill:none; flex-shrink:0; }
.admin-topbar-search input{ border:none; background:none; outline:none; font-size:13.5px; width:100%; font-family:inherit; color:var(--ink); }
.admin-topbar-right{ margin-left:auto; display:flex; align-items:center; gap:20px; }
.admin-topbar-avatar{ display:flex; align-items:center; gap:10px; }
.admin-topbar-avatar .circulo{
  width:36px; height:36px; border-radius:50%; background:var(--teal); color:var(--brass-light);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12.5px; flex-shrink:0;
}
.admin-topbar-avatar .nome{ font-size:13px; font-weight:600; color:var(--ink); line-height:1.3; }
.admin-topbar-avatar .cargo{ font-size:11px; color:var(--ink-soft); }

.main-split{ display:grid; grid-template-columns:1fr 340px; flex:1; min-height:0; }
@media(max-width:1000px){ .main-split{ grid-template-columns:1fr; } .main-split .side-panel{ display:none; } }
.main-split .main-conteudo{ padding:36px 44px; min-width:0; }

.side-panel{
  position:relative; overflow:hidden;
  background:linear-gradient(165deg, #1E4A42 0%, #15362F 55%, #0B211C 100%);
  color:#F0EEE6; padding:44px 34px; display:flex; flex-direction:column; justify-content:flex-end;
}
.side-panel-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--brass-light); display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.side-panel-eyebrow::before{ content:''; width:18px; height:1px; background:var(--brass-light); }
.side-panel h2{ font-family:'Fraunces',serif; font-weight:600; font-size:25px; line-height:1.28; margin-bottom:18px; }
.side-panel h2 em{ font-style:normal; color:var(--brass-light); }
.side-panel-lista{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(240,238,230,0.7); line-height:2.2; padding-top:18px; border-top:1px solid rgba(200,169,106,0.22); }

.trio-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:26px 0; }
@media(max-width:700px){ .trio-grid{ grid-template-columns:1fr; } }
.trio-card{ background:var(--bg-panel); border:1px solid var(--line); border-radius:8px; padding:18px; }
.trio-card .icone{
  width:34px; height:34px; border-radius:50%; background:var(--teal); display:flex; align-items:center;
  justify-content:center; margin-bottom:12px;
}
.trio-card .icone svg{ width:16px; height:16px; stroke:var(--brass-light); fill:none; }
.trio-card h4{ font-size:13.5px; font-weight:600; color:var(--ink); margin-bottom:4px; }
.trio-card p{ font-size:12px; color:var(--ink-soft); line-height:1.5; }

/* ---------------- busca do topo do admin (funcional, com resultados) ---------------- */
.admin-topbar-search{ position:relative; }
.busca-dropdown{
  position:absolute; top:calc(100% + 10px); left:0; right:0; z-index:40;
  background:#fff; border:1px solid var(--line); border-radius:10px;
  box-shadow:0 18px 40px rgba(0,0,0,0.2); overflow:hidden; max-height:380px; overflow-y:auto;
}
.busca-grupo-titulo{
  padding:9px 14px 6px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--brass); background:var(--bg);
}
.busca-item{
  display:flex; flex-direction:column; gap:2px; padding:9px 14px; text-decoration:none;
  border-bottom:1px solid var(--line);
}
.busca-item:hover{ background:var(--bg); }
.busca-item .titulo{ font-size:13px; font-weight:600; color:var(--ink); }
.busca-item .sub{ font-size:11.5px; color:var(--ink-soft); }
.busca-vazio{ padding:18px 14px; font-size:12.5px; color:var(--ink-soft); text-align:center; }

.admin-topbar-sino{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%; background:none; border:none; cursor:pointer;
}
.admin-topbar-sino svg{ width:19px; height:19px; stroke:var(--ink-soft); fill:none; }
.admin-topbar-sino .ponto{
  position:absolute; top:6px; right:7px; width:8px; height:8px; border-radius:50%;
  background:var(--brass); border:2px solid #fff;
}

/* ---------------- página Início do admin ---------------- */
.inicio-cabecalho{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.inicio-cabecalho h1{ font-family:'Fraunces',serif; font-size:30px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.inicio-cabecalho h1 em{ font-style:italic; color:var(--brass); }
.inicio-cabecalho p{ font-size:13.5px; color:var(--ink-soft); }
.inicio-data-quote{ display:flex; align-items:center; gap:16px; flex-shrink:0; }
.inicio-data{ text-align:center; }
.inicio-data .dia{ font-family:'Fraunces',serif; font-size:26px; font-weight:600; color:var(--teal); line-height:1; }
.inicio-data .resto{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-top:4px; }
.inicio-quote{
  font-family:'Fraunces',serif; font-style:italic; font-size:13.5px; color:var(--ink);
  border-left:2px solid var(--brass); padding:6px 0 6px 14px; max-width:190px; line-height:1.4;
}

.stat-grid-admin{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:26px; }
@media(max-width:900px){ .stat-grid-admin{ grid-template-columns:repeat(2,1fr); } }

.stat-grid-cliente{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:26px; }
@media(max-width:760px){ .stat-grid-cliente{ grid-template-columns:1fr; } }
.stat-card-admin{
  background:var(--bg-panel); border:1px solid var(--line); border-radius:10px; padding:16px;
  display:flex; align-items:center; gap:12px;
}
.stat-card-admin .icone{
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.stat-card-admin .icone svg{ width:19px; height:19px; fill:none; stroke-width:1.8; }
.stat-card-admin.cor-ok .icone{ background:var(--ok-soft); } .stat-card-admin.cor-ok .icone svg{ stroke:var(--ok); }
.stat-card-admin.cor-alerta .icone{ background:var(--stamp-soft); } .stat-card-admin.cor-alerta .icone svg{ stroke:var(--stamp); }
.stat-card-admin.cor-ouro .icone{ background:#F1E4C6; } .stat-card-admin.cor-ouro .icone svg{ stroke:var(--brass); }
.stat-card-admin .numero{ font-family:'Fraunces',serif; font-size:24px; font-weight:600; color:var(--ink); line-height:1; }
.stat-card-admin .rotulo{ font-size:11.5px; color:var(--ink-soft); margin-top:3px; }

.inicio-colunas{ display:grid; grid-template-columns:1.1fr 1fr; gap:18px; margin-bottom:26px; align-items:start; }
@media(max-width:900px){ .inicio-colunas{ grid-template-columns:1fr; } }
.painel-inicio{ background:var(--bg-panel); border:1px solid var(--line); border-radius:10px; padding:20px; }
.painel-inicio-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.painel-inicio-head h3{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--ink); }
.painel-inicio-head h3 svg{ width:16px; height:16px; stroke:var(--brass); fill:none; }
.painel-inicio-head a{ font-size:12px; color:var(--teal); font-weight:600; text-decoration:none; }
.painel-inicio-head a:hover{ text-decoration:underline; }

.acoes-rapidas-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:520px){ .acoes-rapidas-grid{ grid-template-columns:1fr; } }
.acao-rapida-item{
  display:flex; align-items:center; gap:10px; padding:12px; border-radius:8px; background:var(--bg);
  text-decoration:none; border:1px solid var(--line);
}
.acao-rapida-item:hover{ border-color:var(--brass); }
.acao-rapida-item .icone{
  width:32px; height:32px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.acao-rapida-item .icone svg{ width:15px; height:15px; stroke:var(--brass-light); fill:none; }
.acao-rapida-item.atendimento .icone{ background:#25D366; }
.acao-rapida-item .texto{ font-size:12.5px; font-weight:600; color:var(--ink); line-height:1.3; }
.acao-rapida-item .seta{ margin-left:auto; color:var(--ink-soft); }

.solicitacao-recente{ display:flex; align-items:flex-start; gap:11px; padding:10px 0; border-bottom:1px solid var(--line); }
.solicitacao-recente:last-child{ border-bottom:none; padding-bottom:0; }
.solicitacao-recente .icone{
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px;
}
.solicitacao-recente .icone svg{ width:14px; height:14px; fill:none; stroke-width:1.8; }
.solicitacao-recente .corpo{ min-width:0; flex:1; }
.solicitacao-recente .titulo{ font-size:12.5px; font-weight:600; color:var(--ink); }
.solicitacao-recente .sub{ font-size:11.5px; color:var(--ink-soft); margin-top:1px; }
.solicitacao-recente .quando{ font-size:10.5px; color:var(--ink-soft); white-space:nowrap; flex-shrink:0; margin-top:2px; }

.inicio-banner{
  position:relative; overflow:hidden; border-radius:10px; margin-top:6px;
  background:linear-gradient(120deg, #1E4A42 0%, #15362F 55%, #0B211C 100%);
  color:#fff; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.inicio-banner h3{ font-family:'Fraunces',serif; font-size:19px; font-weight:600; line-height:1.3; }
.inicio-banner .marca{ text-align:right; }
.inicio-banner .marca .mc{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; }
.inicio-banner .marca .mc span{ color:var(--brass-light); }
.inicio-banner .marca small{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(240,238,230,0.65); margin-top:3px;
}

.sidebar .user{ margin-top:auto; padding:18px 24px 0; border-top:1px solid rgba(247,247,244,0.14); font-size:13px; color:#C9DADA; }
.sidebar .user button{
  background:none; border:1px solid rgba(247,247,244,0.3); color:#fff; font-size:12px;
  padding:6px 12px; margin-top:10px; border-radius:3px; cursor:pointer;
}
.sidebar .user button:hover{ background:rgba(255,255,255,0.1); }
.sidebar .user a{ display:block; color:#9FC4C4; font-size:11px; text-decoration:underline; margin-bottom:8px; }
.sidebar .user a:hover{ color:#fff; }

.main{ flex:1; padding:36px 44px; max-width:980px; }
.page-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:28px; flex-wrap:wrap; gap:10px;}
.page-head h1{ font-family:'Fraunces'; font-size:28px; font-weight:600; color:var(--teal); }
.page-head .date{ color:var(--ink-soft); font-size:13px; }

.envelope{
  background:var(--bg-panel); border:1px solid var(--line);
  padding:18px 22px; margin-bottom:12px;
  display:flex; align-items:center; gap:18px; cursor:pointer;
  position:relative; transition:.15s; text-decoration:none; color:inherit;
}
.envelope:hover{ border-color:var(--brass); }
.envelope .tab{
  position:absolute; top:-1px; left:22px; padding:2px 10px 4px;
  font-size:10.5px; font-weight:600; letter-spacing:.3px;
  border-radius:0 0 3px 3px;
}
.tab.status-em_andamento{ background:var(--warn); color:#fff; }
.tab.status-doc_pendente{ background:var(--stamp); color:#fff; }
.tab.status-concluido{ background:var(--ok); color:#fff; }
.envelope .num{ font-family:'IBM Plex Mono'; font-size:12px; color:var(--ink-soft); width:96px; flex-shrink:0; }
.envelope .info{ flex:1; }
.envelope .info h3{ font-size:15.5px; font-weight:600; margin-bottom:3px; color:var(--ink); font-family:'IBM Plex Sans'; }
.envelope .info p{ font-size:13px; color:var(--ink-soft); }
.envelope .arrow{ color:var(--brass); font-size:18px; }
.envelope select{ padding:7px 10px; border:1px solid var(--line); font-size:12px; background:#fff; }
.empty-state{ padding:36px 22px; text-align:center; color:var(--ink-soft); border:1px dashed var(--line); font-size:13.5px; }

.new-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--brass); color:var(--teal); border:none;
  padding:11px 20px; font-weight:600; font-size:14px; cursor:pointer; border-radius:3px;
  text-decoration:none;
}
.new-btn:hover{ background:var(--brass-light); }

.back-link{ display:inline-block; margin-bottom:18px; color:var(--ink-soft); font-size:13px; text-decoration:none; cursor:pointer; }
.detail-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:36px; }
@media(max-width:800px){ .detail-grid{ grid-template-columns:1fr; } }

.timeline{ position:relative; padding-left:26px; }
.timeline::before{ content:''; position:absolute; left:6px; top:6px; bottom:6px; width:1px; background:var(--line); }
.t-item{ position:relative; padding-bottom:26px; }
.t-item:last-child{ padding-bottom:0; }
.t-item::before{
  content:''; position:absolute; left:-26px; top:3px; width:13px; height:13px;
  border-radius:50%; background:var(--bg-panel); border:2px solid var(--ok);
}
.t-item.pending::before{ border-color:var(--line); background:var(--bg); }
.t-item.current::before{ border-color:var(--brass); background:var(--brass); }
.t-item h4{ font-size:14.5px; font-weight:600; margin-bottom:2px; }
.t-item .when{ font-size:12px; color:var(--ink-soft); margin-bottom:4px; }
.t-item p{ font-size:13px; color:var(--ink-soft); line-height:1.5; }

.box{ background:#fff; border:1px solid var(--line); padding:22px; margin-bottom:18px; }
.box h3{ font-size:14px; font-weight:600; margin-bottom:14px; font-family:'IBM Plex Sans'; color:var(--teal); }
.doc-row{ display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
.doc-row:last-child{ border:none; }
.doc-icon{ width:26px; height:26px; background:var(--bg); border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--ink-soft); flex-shrink:0;}
.doc-row .name{ flex:1; }
.doc-row .dl{ color:var(--teal); font-weight:600; text-decoration:none; font-size:12.5px; background:none; border:none; cursor:pointer; font-family:inherit; }
.doc-row .arquivo{ font-size:12px; color:var(--ink-soft); margin-top:2px; }
.doc-row .status-pill{ margin-right:6px; flex-shrink:0; }
.doc-row .cliente{ font-size:11.5px; color:var(--ink-soft); }

.filtro-doc{ display:flex; gap:8px; margin-bottom:20px; }
.filtro-doc button{
  padding:8px 16px; font-size:13px; border-radius:3px; cursor:pointer;
  background:#fff; border:1px solid var(--line); color:var(--ink-soft); font-family:inherit;
}
.filtro-doc button[aria-pressed="true"]{ background:var(--teal); border-color:var(--teal); color:#fff; font-weight:600; }
.filtro-doc button:hover:not([aria-pressed="true"]){ border-color:var(--brass); }
.upload-zone{
  border:1.5px dashed var(--line); padding:22px; text-align:center;
  color:var(--ink-soft); font-size:13px; margin-top:10px; border-radius:2px; cursor:pointer;
}
.upload-zone:hover{ border-color:var(--brass); }
.status-pill{ display:inline-block; padding:4px 12px; font-size:12px; font-weight:600; border-radius:2px; }
.status-pill.status-em_andamento{ background:var(--warn-soft); color:var(--warn-ink); }
.status-pill.status-doc_pendente{ background:var(--stamp-soft); color:var(--stamp); }
.status-pill.status-concluido{ background:var(--ok-soft); color:var(--ok); }
.status-pill.origem-parceria{ background:#F1E4C6; color:var(--brass); }
.status-pill.origem-servico{ background:var(--ok-soft); color:var(--ok); }

.type-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:26px; }
@media(max-width:700px){ .type-grid{ grid-template-columns:1fr; } }
.type-card{
  border:1.5px solid var(--line); background:var(--bg-panel); padding:18px;
  cursor:pointer; transition:.15s;
}
.type-card:hover{ border-color:var(--brass); }
.type-card.sel{ border-color:var(--brass); box-shadow:inset 0 0 0 1.5px var(--brass); }
.type-card h4{ font-size:15px; font-weight:600; margin-bottom:4px; font-family:'IBM Plex Sans'; }
.type-card p{ font-size:12.5px; color:var(--ink-soft); }
.form-box{ background:#fff; border:1px solid var(--line); padding:26px; }
.field.destaque label{ font-weight:600; color:var(--teal); font-size:14px; }
.field.destaque textarea{ min-height:170px; border-color:var(--brass); box-shadow:0 0 0 1px var(--brass); }
textarea{
  width:100%; padding:11px 13px; border:1px solid var(--line);
  background:#fff; font-family:'IBM Plex Sans'; font-size:14px; color:var(--ink);
  resize:vertical; min-height:90px; border-radius:2px;
}

/* ---------------- site institucional: seções de conteúdo (compartilhadas entre as páginas) ---------------- */
.trust-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:6px; max-width:640px;}
@media(max-width:640px){ .trust-strip{grid-template-columns:1fr;} }
.trust-strip div{ background:rgba(255,255,255,0.04); border-left:2px solid var(--brass); padding:10px 14px; }
.trust-strip .t{font-family:'Fraunces',serif; font-size:14.5px; color:var(--brass-light); margin-bottom:3px;}
.trust-strip .d{font-size:12px; color:#B9CBCB; line-height:1.35;}

.process{background:var(--bg-panel);}
.steps{display:flex; flex-direction:column;}
.step{display:grid; grid-template-columns:64px 1fr; gap:22px; padding:28px 0; border-top:1px solid var(--line);}
.step:last-child{border-bottom:1px solid var(--line);}
.step .n{font-family:'Fraunces',serif; font-size:26px; color:var(--brass); font-weight:500;}
.step h3{font-size:18px; color:var(--teal); margin-bottom:7px; font-weight:500;}
.step p{font-size:14.5px; color:var(--ink-soft); max-width:62ch;}

.fees{background:var(--bg-panel);}
.fee-block{margin-bottom:36px;}
.fee-block:last-child{margin-bottom:0;}
.fee-block h3{
  font-size:13px; font-family:'IBM Plex Mono',monospace; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:var(--teal); display:inline-block; padding:8px 16px; border-radius:3px; margin-bottom:0;
}
.fee-table{width:100%; border-collapse:collapse; margin-top:0; border:1px solid var(--line); border-top:none;}
.fee-table tr{border-top:1px solid var(--line);}
.fee-table td{padding:14px 16px; font-size:13.5px; vertical-align:top;}
.fee-table td.svc-name{font-weight:600; color:var(--teal); width:32%;}
.fee-table td.svc-desc{color:var(--ink-soft);}
.fee-table td.svc-price{font-weight:600; color:var(--brass); width:150px; text-align:right; white-space:nowrap;}
.fee-table td.svc-price.svc-price-free{color:var(--ok);}
.fee-table tr:nth-child(even){background:#FAFAF7;}
.fees-note{margin-top:32px; padding:20px 22px; background:#FBF3E3; border:1px solid #E9C883; border-radius:6px; font-size:13.5px; color:#6B4E1E; line-height:1.6;}
.fees-note strong{color:#4E3714;}
@media(max-width:640px){
  .fee-table, .fee-table tbody, .fee-table tr, .fee-table td{display:block; width:100% !important;}
  .fee-table tr{padding:12px 16px;}
  .fee-table td{padding:3px 0; text-align:left !important;}
}

.split{background:var(--bg);}
.split .wrap{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media(max-width:800px){ .split .wrap{grid-template-columns:1fr;} }
.split-col{
  background:var(--bg-panel); border-radius:10px; padding:42px 36px;
  box-shadow:0 24px 50px -28px rgba(23,52,54,0.28); border:1px solid var(--line);
  position:relative; overflow:hidden;
}
.split-col::before{
  content:''; position:absolute; top:0; left:0; width:100%; height:5px;
  background:linear-gradient(90deg, var(--brass), var(--brass-light));
}
.split-col .tag{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--brass); letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; display:block;}
.split-col h3{font-size:23px; color:var(--teal); margin-bottom:16px;}
.split-col p{font-size:14.5px; color:var(--ink-soft); margin-bottom:12px;}
.split-col ul{list-style:none; margin-top:18px;}
.split-col li{font-size:14px; color:var(--ink); padding:12px 0; border-top:1px solid var(--line); display:flex; gap:12px; align-items:center;}

.payment{background:var(--bg-panel);}
.pay-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:760px){ .pay-grid{grid-template-columns:1fr;} }
.pay-card{border:1px solid var(--line); border-radius:4px; padding:28px 24px;}
.pay-card .mono{font-size:11.5px; color:var(--brass); display:block; margin-bottom:10px;}
.pay-card h3{font-size:17px; color:var(--teal); margin-bottom:8px; font-weight:500;}
.pay-card p{font-size:13.5px; color:var(--ink-soft);}
.pay-note{margin-top:28px; padding:18px 20px; background:#FBF3E3; border:1px solid #E9C883; border-radius:4px; font-size:14px; color:#6B4E1E;}

.support-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:700px){ .support-grid{grid-template-columns:1fr;} }
.support-card{background:var(--bg-panel); padding:28px 26px;}
.support-card .icon-circle{ margin-bottom:16px; }
.support-card h3{font-size:16px; color:var(--teal); margin-bottom:8px; font-weight:500;}
.support-card p{font-size:13.5px; color:var(--ink-soft);}

.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:700px){ .svc-grid{grid-template-columns:1fr;} }
.svc{background:var(--bg-panel); padding:28px 26px; text-decoration:none; color:inherit; display:block; transition:.15s;}
.svc:hover{ background:#FAFAF7; }
.svc h3{font-size:16.5px; color:var(--teal); margin-bottom:6px; font-weight:500;}
.svc p{font-size:13.5px; color:var(--ink-soft); margin-bottom:10px;}
.svc .go{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass); letter-spacing:.04em;}

.page-hero{
  background:
    radial-gradient(ellipse 58% 100% at 26% 50%,
      rgba(7,17,19,0.94) 0%,
      rgba(7,17,19,0.85) 32%,
      rgba(7,17,19,0.55) 55%,
      rgba(7,17,19,0.18) 75%,
      rgba(7,17,19,0) 90%
    ),
    url('images/hero-bg.jpg') center/cover no-repeat;
  color:#fff; padding:52px 0 60px;
}
@media(max-width:760px){
  .page-hero{
    background:
      radial-gradient(ellipse 100% 100% at 50% 50%,
        rgba(7,17,19,0.92) 0%,
        rgba(7,17,19,0.86) 40%,
        rgba(7,17,19,0.6) 65%,
        rgba(7,17,19,0.25) 82%,
        rgba(7,17,19,0) 96%
      ),
      url('images/hero-bg.jpg') center/cover no-repeat;
  }
}
.page-hero.bg-negocio{
  background:
    radial-gradient(ellipse 58% 100% at 26% 50%,
      rgba(7,17,19,0.94) 0%,
      rgba(7,17,19,0.85) 32%,
      rgba(7,17,19,0.55) 55%,
      rgba(7,17,19,0.18) 75%,
      rgba(7,17,19,0) 90%
    ),
    url('images/negocio-bg.jpg') center/cover no-repeat;
}
@media(max-width:760px){
  .page-hero.bg-negocio{
    background:
      radial-gradient(ellipse 100% 100% at 50% 50%,
        rgba(7,17,19,0.92) 0%,
        rgba(7,17,19,0.86) 40%,
        rgba(7,17,19,0.6) 65%,
        rgba(7,17,19,0.25) 82%,
        rgba(7,17,19,0) 96%
      ),
      url('images/negocio-bg.jpg') center/cover no-repeat;
  }
}
.page-hero .eyebrow{color:var(--brass-light);}
.page-hero .eyebrow::before{background:var(--brass-light);}
.page-hero h1{font-size:clamp(28px,4vw,44px); line-height:1.15; max-width:22ch; margin-bottom:14px;}
.page-hero p{font-size:16px; color:#C9DADA; max-width:60ch;}

/* ---------------- modal: solicitar parceria ---------------- */
.parceria-modal-overlay{
  position:fixed; inset:0; background:rgba(11,26,28,0.68); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; z-index:1000; padding:24px; overflow-y:auto;
  opacity:0; visibility:hidden; transition:opacity .22s ease;
}
.parceria-modal-overlay.open{ opacity:1; visibility:visible; }
.parceria-modal{
  background:var(--teal); width:100%; max-width:620px; max-height:calc(100vh - 48px);
  border-radius:10px; position:relative; display:grid; grid-template-columns:190px 1fr;
  box-shadow:0 30px 60px -18px rgba(0,0,0,0.5); overflow:hidden; margin:auto;
  transform:scale(0.96) translateY(6px); opacity:0;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
}
.parceria-modal-overlay.open .parceria-modal{ transform:scale(1) translateY(0); opacity:1; }
@media (prefers-reduced-motion: reduce){
  .parceria-modal-overlay, .parceria-modal{ transition:none; }
}
.parceria-modal-image{
  position:relative;
  background:
    linear-gradient(180deg, rgba(11,26,28,0.2), rgba(11,26,28,0.5)),
    url('images/empresa.png') center/cover no-repeat;
}
.parceria-modal-image::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent 40%, var(--teal) 100%);
}
.parceria-modal-content{ padding:26px 24px; overflow-y:auto; max-height:calc(100vh - 48px); }
.parceria-modal-content .eyebrow{margin-bottom:8px; font-size:11px; color:var(--brass-light);}
.parceria-modal-content .eyebrow::before{background:var(--brass-light); width:16px;}
.parceria-modal-content h3{font-size:18px; color:#fff; margin-bottom:6px; font-family:'Fraunces',serif; font-weight:500;}
.parceria-modal-content > p{font-size:13px; color:#C9DADA; margin-bottom:16px; line-height:1.5;}
.parceria-modal-content .field{ margin-bottom:11px; }
.parceria-modal-content .field label{ color:#C9DADA; font-size:11.5px; margin-bottom:4px; }
.parceria-modal-content .field input,
.parceria-modal-content .field select,
.parceria-modal-content .field textarea{
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2); color:#fff;
  padding:8px 11px; font-size:13px;
}
.parceria-modal-content .field textarea{ min-height:48px; }
.parceria-modal-content .field input::placeholder,
.parceria-modal-content .field textarea::placeholder{ color:rgba(255,255,255,0.45); }
.parceria-modal-content .field select option{ color:var(--ink); }
.parceria-modal-content .field input:focus,
.parceria-modal-content .field select:focus,
.parceria-modal-content .field textarea:focus{ border-color:var(--brass); }
.parceria-modal-content .form-row{ gap:11px; }
.parceria-modal-content .success-box{
  background:rgba(255,255,255,0.06); border-color:var(--ok); padding:20px 18px;
}
.parceria-modal-content .success-box h3{ color:#fff; }
.parceria-modal-content .success-box p{ color:#C9DADA; font-size:13px; }
.parceria-modal-content .btn-primary{ background:var(--brass); color:var(--teal); font-size:13.5px; padding:10px 20px !important; }
.parceria-modal-content .btn-primary:hover{ background:var(--brass-light); }
.parceria-modal-close{
  position:absolute; top:12px; right:12px; width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,0.92); border:none; cursor:pointer; font-size:13px; color:var(--teal);
  display:flex; align-items:center; justify-content:center; z-index:2; line-height:1;
}
.parceria-modal-close:hover{ background:#fff; }
@media(max-width:700px){
  .parceria-modal{ grid-template-columns:1fr; max-height:calc(100vh - 24px); }
  .parceria-modal-overlay{ padding:12px; }
  .parceria-modal-image{ height:86px; }
  .parceria-modal-image::after{ background:linear-gradient(180deg, transparent 30%, var(--teal) 100%); }
  .parceria-modal-content{ padding:22px 20px 24px; max-height:none; }
}

/* ---------------- ícones ilustrativos (compartilhado) ---------------- */
.icon-circle{
  width:40px; height:40px; border-radius:50%; background:var(--teal); color:var(--brass-light);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.icon-circle svg{ width:20px; height:20px; }
.icon-circle.sm{ width:30px; height:30px; }
.icon-circle.sm svg{ width:15px; height:15px; }

/* ---------------- estatísticas em destaque ---------------- */
.stats-band{ background:var(--teal); }
.stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.stat{ text-align:center; padding:22px 20px; border-left:1px solid rgba(233,200,131,0.16); }
.stat:first-child{ border-left:none; }
.stat .num{ font-family:'Fraunces',serif; font-size:clamp(32px,4.5vw,48px); color:var(--brass-light); font-weight:600; line-height:1; margin-bottom:8px; }
.stat .label{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.05em; color:#C9DADA; text-transform:uppercase; }
@media(max-width:700px){
  .stats-grid{ grid-template-columns:1fr; }
  .stat{ border-left:none; border-top:1px solid rgba(233,200,131,0.16); padding:18px 20px; }
  .stat:first-child{ border-top:none; }
}

/* ---------------- diferenciais (showcase com painel de foto + grade de cards) ---------------- */
.showcase{ padding:0; }
.showcase-wrap{ display:grid; grid-template-columns:0.86fr 1.14fr; align-items:stretch; padding:0; max-width:1280px; }
@media(max-width:900px){ .showcase-wrap{ grid-template-columns:1fr; } }

.showcase-photo-frame{ position:relative; }
.showcase-photo-frame::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,#F0D275 0%,#D9B44A 45%,#C9A227 55%,#A8801A 100%);
  clip-path:polygon(0 0, 100% 0, 88% 100%, 0% 100%);
}
@media(max-width:900px){ .showcase-photo-frame::before{ display:none; } }

.showcase-photo{
  position:relative; min-height:640px; overflow:hidden; background:#0B211C;
  clip-path:polygon(0 0, calc(100% - 6px) 0, calc(88% - 6px) 100%, 0% 100%);
  padding:56px 64px 40px 48px; display:flex; flex-direction:column; justify-content:space-between;
}
@media(max-width:900px){ .showcase-photo{ clip-path:none; min-height:420px; padding:44px 32px; } }
.showcase-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.showcase-photo::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(160deg, rgba(11,33,28,0.95) 0%, rgba(11,33,28,0.88) 45%, rgba(11,33,28,0.55) 75%, rgba(11,33,28,0.18) 100%);
}
.showcase-photo-top, .showcase-photo-bottom{ position:relative; z-index:2; }
.showcase-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass-light); display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.showcase-eyebrow::before{ content:''; width:20px; height:1px; background:var(--brass-light); }
.showcase-title{ font-family:'Fraunces',serif; font-weight:600; font-size:clamp(26px,3.4vw,34px); line-height:1.2; color:#fff; margin-bottom:16px; max-width:16ch; }
.showcase-title span{ color:var(--brass-light); }
.showcase-desc{ font-size:14.5px; line-height:1.6; color:rgba(240,238,230,0.78); max-width:34ch; }
.showcase-tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(240,238,230,0.72); line-height:1.9; }
.showcase-tag::before{ content:''; display:block; width:20px; height:1px; background:var(--brass-light); margin-bottom:12px; }

.showcase-content{ position:relative; overflow:hidden; background:var(--bg-panel); padding:56px 48px 44px; }
@media(max-width:900px){ .showcase-content{ padding:44px 24px 36px; } }
.showcase-watermark{
  position:absolute; right:-4px; bottom:-30px; font-family:'Fraunces',serif; font-weight:600;
  font-size:150px; line-height:1; color:var(--line); opacity:.6; z-index:0; pointer-events:none; user-select:none;
}
.showcase-corner{
  position:relative; z-index:1; text-align:right; margin-bottom:32px;
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--brass); line-height:1.9;
}
.showcase-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:760px){ .showcase-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:460px){ .showcase-grid{ grid-template-columns:1fr; } }
.showcase-card{
  background:var(--bg); border:1px solid var(--line); border-radius:10px;
  padding:26px 18px; text-align:center; display:flex; flex-direction:column; align-items:center;
}
.showcase-icon{ width:58px; height:58px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; margin-bottom:16px; flex:none; }
.showcase-icon svg{ width:24px; height:24px; fill:none; stroke:var(--brass-light); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.showcase-card h3{ font-family:'Fraunces',serif; font-weight:600; font-size:15.5px; line-height:1.3; color:var(--ink); margin-bottom:10px; }
.showcase-rule{ width:24px; height:2px; background:var(--brass); margin-bottom:12px; }
.showcase-card p{ font-size:12.5px; line-height:1.5; color:var(--ink-soft); }
.btn-teal-gold{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  padding:15px 26px; border-radius:7px; font-size:14.5px; font-weight:700; letter-spacing:0.01em;
  background:linear-gradient(180deg, #1E4A42 0%, #15362F 55%, #0B211C 100%);
  color:var(--brass-light); border:1px solid var(--brass);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.1), 0 3px 7px rgba(0,0,0,0.28);
  transition:all .2s;
}
.btn-teal-gold:hover{ background:linear-gradient(180deg, #26564D 0%, #1B4038 55%, #0F2C25 100%); color:#F6DE8C; }
.btn-teal-gold:active{ transform:translateY(1px); }
.showcase-footer{ position:relative; z-index:1; display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:36px; }
.showcase-footer-label{
  padding-left:24px; border-left:1px solid var(--line);
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); line-height:1.85;
}

.feature-list{ list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:16px; }
.feature-list li{ display:flex; gap:14px; align-items:center; font-size:14.5px; color:var(--ink); font-weight:500; }
.feature-list li strong{ display:block; font-weight:600; }
.feature-list li small{ display:block; font-weight:400; font-size:13px; margin-top:2px; }

/* ---------------- seção com foto de fundo (texto à esquerda, sobre a imagem) ---------------- */
.section-photo{
  position:relative; padding:72px 0; color:#fff; overflow:hidden;
  background-color:var(--teal); background-size:cover; background-position:center;
}
.section-photo::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(23,52,54,0.82) 0%, rgba(23,52,54,0.62) 40%, rgba(23,52,54,0.25) 70%, rgba(23,52,54,0.05) 100%);
}
.section-photo .wrap{ position:relative; z-index:1; }
.section-photo-inner{ max-width:540px; }
.section-photo .eyebrow{ color:var(--brass-light); }
.section-photo .eyebrow::before{ background:var(--brass-light); }
.section-photo h2{ color:#fff; font-size:clamp(24px,3.2vw,32px); margin-bottom:18px; }
.section-photo .feature-list{ margin-bottom:30px; }
.section-photo .feature-list li{ align-items:flex-start; color:#fff; }
.section-photo .feature-list li small{ color:#C9DADA; }
.section-photo .cta-statement{ font-family:'Fraunces',serif; font-size:19px; line-height:1.4; color:#fff; margin-bottom:20px; max-width:44ch; }
.section-photo .cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }
@media(max-width:700px){
  .section-photo{ padding:52px 0; }
  .section-photo::before{ background:linear-gradient(180deg, rgba(23,52,54,0.55) 0%, rgba(23,52,54,0.88) 55%, rgba(23,52,54,0.94) 100%); }
  .section-photo-inner{ max-width:none; }
}

/* ---------------- contato (whatsapp / e-mail / redes sociais) ---------------- */
.contact-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media(max-width:700px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-item{
  background:var(--bg-panel); padding:22px 24px; display:flex; align-items:center; gap:16px;
  text-decoration:none; color:inherit; transition:background-color .15s ease;
}
.contact-item:hover{ background:#FAFAF7; }
.contact-item strong{ display:block; font-size:14.5px; color:var(--teal); margin-bottom:2px; }
.contact-item span.handle{ font-size:13px; color:var(--ink-soft); }

/* ---------------- menu suspenso (hover) ---------------- */
.nav-dropdown{ position:relative; display:inline-flex; align-items:center; margin-left:24px; }
header nav a.nav-dropdown-trigger{ margin-left:0; display:inline-flex; align-items:center; gap:4px; }
.nav-dropdown-trigger svg{ width:11px; height:11px; transition:transform .15s ease; }
.nav-dropdown:hover .nav-dropdown-trigger svg{ transform:rotate(180deg); }
.nav-dropdown:hover .nav-dropdown-trigger::after{ right:0; }
.nav-dropdown-menu{
  position:absolute; top:100%; left:0; margin-top:16px; min-width:200px;
  background:var(--nav-dropdown-bg); border:1px solid rgba(233,200,131,0.2); border-radius:6px;
  box-shadow:0 24px 48px -18px rgba(0,0,0,0.55);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  padding:8px 0; z-index:30;
}
.nav-dropdown:hover .nav-dropdown-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav-dropdown-menu a{
  display:block; margin-left:0 !important; padding:10px 20px !important; font-size:14px;
  color:#EDF2EF; white-space:nowrap; position:static; border-left:2px solid transparent;
}
.nav-dropdown-menu a::after{ content:none !important; }
.nav-dropdown-menu a:hover{ background:rgba(233,200,131,0.1); color:#fff; }
.nav-dropdown-menu a.nav-active{
  color:var(--brass-light); font-weight:600;
  border-left-color:var(--brass-light); padding-left:18px !important;
  background:rgba(233,200,131,0.08);
}
@media(max-width:760px){ .nav-dropdown-menu{ display:none; } }

[data-reveal]{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
[data-reveal].in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ [data-reveal]{opacity:1; transform:none; transition:none;} }

/* ---------------- rodapé compartilhado (assets/site-footer.js injeta o HTML aqui dentro) ---------------- */
.site-footer{ background:#102523; color:#EFE8D8; padding:56px 0 0; }
.site-footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding-bottom:44px; }
@media(max-width:760px){ .site-footer-grid{ grid-template-columns:1fr; gap:32px; } }
.site-footer-logo{ font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:#EFE8D8; margin-bottom:10px; }
.site-footer-logo span{ color:#C8A96A; }
.site-footer-brand p{ font-size:13.5px; color:rgba(239,232,216,0.7); margin-bottom:18px; }
.site-footer-social{ display:flex; gap:10px; }
.site-footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(200,169,106,0.4);
  display:flex; align-items:center; justify-content:center; color:#C8A96A; transition:.15s;
}
.site-footer-social a:hover{ border-color:#C8A96A; background:rgba(200,169,106,0.12); }
.site-footer-social svg{ width:16px; height:16px; }
.site-footer-heading{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:#C8A96A; margin-bottom:16px;
}
.site-footer-link{
  display:block; font-size:14px; color:rgba(239,232,216,0.82); text-decoration:none;
  margin-bottom:10px; transition:color .15s;
}
.site-footer-link:hover{ color:#C8A96A; }
.site-footer-link strong{ color:#C8A96A; font-weight:600; }
.site-footer-bottom{
  border-top:1px solid rgba(200,169,106,0.18); padding:18px 0; text-align:center;
  font-size:12px; color:rgba(239,232,216,0.55);
}

/* ---------------- menu mobile do header (injetado por assets/nav-active.js) ---------------- */
.nav-burger{
  display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:38px; height:38px; background:none; border:1px solid rgba(233,200,131,0.35);
  border-radius:5px; cursor:pointer; flex-shrink:0;
}
.nav-burger span{ display:block; width:18px; height:2px; background:var(--gold-metal-light); transition:transform .2s ease, opacity .2s ease; }
.nav-burger.nav-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-burger.nav-open span:nth-child(2){ opacity:0; }
.nav-burger.nav-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media(max-width:760px){
  .nav-burger{ display:flex; }
  header .wrap{ flex-wrap:wrap; }
  header nav{
    display:none; width:100%; flex-direction:column; align-items:stretch; row-gap:0;
    margin-top:16px; padding-top:12px; border-top:1px solid rgba(233,200,131,0.18);
  }
  header nav.nav-open{ display:flex; }
  header nav.nav-open a:not(.nav-cta){ display:block; margin-left:0; padding:12px 4px; }
  header nav a.nav-cta{ margin-left:0; margin-top:8px; justify-content:center; }
  header nav a.nav-cta:first-of-type{ margin-top:14px; }
  .nav-dropdown{ display:flex; flex-direction:column; align-items:stretch; margin-left:0; width:100%; }
  header nav a.nav-dropdown-trigger{ justify-content:space-between; width:100%; }
  .nav-dropdown.nav-dropdown-open .nav-dropdown-menu{
    display:flex; flex-direction:column; position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; background:rgba(255,255,255,0.03); margin-top:4px; padding:2px 0 2px 14px;
  }
  .nav-dropdown.nav-dropdown-open .nav-dropdown-trigger svg{ transform:rotate(180deg); }
}

/* ---------------- menu mobile do portal (cliente e admin, injetado por assets/portal-mobile-nav.js) ---------------- */
.portal-burger{
  display:none; position:fixed; top:14px; left:14px; z-index:1001;
  width:38px; height:38px; border-radius:6px; background:var(--teal); border:1px solid rgba(247,247,244,0.3);
  flex-direction:column; justify-content:center; align-items:center; gap:5px; cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,0.25);
}
.portal-burger span{ display:block; width:16px; height:2px; background:#fff; transition:transform .2s ease, opacity .2s ease; }
.portal-burger.aberto span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.portal-burger.aberto span:nth-child(2){ opacity:0; }
.portal-burger.aberto span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.portal-overlay{ display:none; }

@media(max-width:860px){
  .portal-burger{ display:flex; }
  .sidebar{
    position:fixed; top:0; left:0; height:100vh; z-index:1000; width:250px;
    transform:translateX(-100%); transition:transform .25s ease; overflow-y:auto;
  }
  .sidebar.aberta{ transform:translateX(0); box-shadow:0 0 40px rgba(0,0,0,0.4); }
  .sidebar .brand{ padding-left:72px; }
  .portal-overlay{
    display:block; position:fixed; inset:0; background:rgba(0,0,0,0); pointer-events:none;
    transition:background .2s ease; z-index:999;
  }
  .portal-overlay.ativo{ background:rgba(0,0,0,0.45); pointer-events:auto; }
  .main{ width:100%; max-width:100%; padding:70px 18px 28px; }
  .main-area{ width:100%; }
  .admin-topbar{ padding:0 16px 0 60px; gap:10px; }
  .admin-topbar-search{ max-width:none; }
  .admin-topbar-avatar .nome, .admin-topbar-avatar .cargo{ display:none; }
  .main-conteudo{ padding:24px 18px !important; }
  .main-split{ grid-template-columns:1fr; }
  .main-split .main-conteudo{ padding:24px 18px !important; }
}

/* ===== Painel do App MEI (portal/admin/mei.html; assets/admin-mei-painel.js). Desenho: rascunhos/painel-mei ===== */
.pmei-hoje{ border-left:4px solid var(--brass); }
.pmei-total{ font-family:'Fraunces', serif; font-size:15px; color:var(--ink-soft); margin:-6px 0 12px; }
.pmei-total strong{ font-size:22px; color:var(--teal); }
.pmei-pend{ display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid var(--line); font-size:14px; }
.pmei-num{ min-width:34px; height:34px; border-radius:17px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex-shrink:0; }
.pmei-num.n-alerta{ background:var(--warn-soft); color:var(--warn-ink); }
.pmei-num.n-ruim{ background:var(--stamp-soft); color:var(--stamp); }
.pmei-num.n-ok{ background:var(--ok-soft); color:var(--ok); }
.pmei-txt{ flex:1; }
.pmei-txt small{ display:block; color:var(--ink-soft); font-size:12.5px; }
.pmei-clientes{ margin:0 0 8px 46px; padding:0; list-style:none; font-size:13.5px; line-height:1.8; }
.pmei-clientes a{ color:var(--teal); font-weight:600; text-decoration:none; }
.pmei-semaforo{ display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; }
.pmei-luz{ border:1px solid var(--line); padding:14px; display:flex; gap:12px; align-items:flex-start; }
.pmei-bola{ width:18px; height:18px; border-radius:50%; flex-shrink:0; margin-top:3px; background:var(--line); }
.pmei-luz.verde .pmei-bola{ background:var(--ok); box-shadow:0 0 0 4px var(--ok-soft); }
.pmei-luz.amarelo .pmei-bola{ background:var(--warn); box-shadow:0 0 0 4px var(--warn-soft); }
.pmei-luz.vermelho .pmei-bola{ background:var(--stamp); box-shadow:0 0 0 4px var(--stamp-soft); }
.pmei-luz strong{ display:block; font-size:14px; color:var(--teal); }
.pmei-luz span{ font-size:13px; color:var(--ink-soft); }
.pmei-grade{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.pmei-grade .box{ margin-bottom:0; }
.pmei-valor{ font-family:'Fraunces', serif; font-size:26px; color:var(--teal); }
.pmei-valor small{ font-family:'IBM Plex Sans', sans-serif; font-size:13px; color:var(--ink-soft); }
.pmei-barra{ height:14px; background:var(--bg); border:1px solid var(--line); margin:10px 0 6px; overflow:hidden; }
.pmei-barra div{ height:100%; background:var(--ok); }
.pmei-barra div.alta{ background:var(--warn); }
.pmei-barra div.cheia{ background:var(--stamp); }
.pmei-legenda{ font-size:12.5px; color:var(--ink-soft); margin:0; }
.pmei-indisponivel{ font-size:13.5px; color:var(--ink-soft); background:var(--bg); padding:8px 12px; margin:0; }
.pmei-alerta{ background:var(--stamp-soft); color:var(--stamp); border:1px solid var(--stamp); padding:10px 13px; font-size:13.5px; margin-bottom:12px; }
.pmei-rolagem{ overflow:auto; max-height:360px; }
.pmei-tabela{ width:100%; border-collapse:collapse; font-size:13px; }
.pmei-tabela th{ text-align:left; color:var(--ink-soft); padding:6px 8px; font-weight:500; }
.pmei-tabela td{ padding:6px 8px; border-top:1px solid var(--line); }
.pmei-tabela tr.destaque td{ background:var(--stamp-soft); }
.pmei-item{ padding:9px 0; border-top:1px solid var(--line); font-size:13.5px; }
.pmei-topo{ display:flex; justify-content:space-between; gap:10px; align-items:baseline; flex-wrap:wrap; }
.pmei-quando{ font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--ink-soft); }
.pmei-emergencia{ border:2px solid var(--stamp); }
.pmei-emergencia h3{ color:var(--stamp); }
.pmei-emergencia p{ font-size:13.5px; color:var(--ink-soft); }
.pmei-estado{ font-weight:600; color:var(--ok) !important; }
.pmei-estado.desligada{ color:var(--stamp) !important; }
.pmei-botoes{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:12px; }
.pmei-botoes select{ padding:10px 12px; border:1px solid var(--line); font-size:14px; min-width:200px; }
.pmei-resultado{ margin-top:10px; font-weight:600; color:var(--ink) !important; }
.btn-perigo{ padding:11px 16px; border:1px solid var(--stamp); background:var(--stamp); color:#fff; font-size:14px; font-weight:600; cursor:pointer; }
.btn-perigo-claro{ padding:11px 16px; border:1px solid var(--stamp); background:#fff; color:var(--stamp); font-size:14px; font-weight:600; cursor:pointer; }
.btn-sec{ padding:11px 14px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:14px; cursor:pointer; }
.pmei-botoes button[disabled]{ opacity:.5; cursor:not-allowed; }
@media (max-width: 860px){
  .pmei-semaforo, .pmei-grade{ grid-template-columns:1fr; }
  .pmei-clientes{ margin-left:0; }
}
