:root {
  color-scheme: light;
  --bg:#f4f6fa;
  --card:#ffffff;
  --text:#182235;
  --muted:#64748b;
  --border:#dce3ed;
  --accent:#2563eb;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --bg:#0b1220;
  --card:#162033;
  --text:#f1f5f9;
  --muted:#a3afc2;
  --border:#2c394e;
  --accent:#60a5fa;
}
* {box-sizing:border-box}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px system-ui,-apple-system,sans-serif;
}
.container {max-width:960px;margin:auto;padding:24px}
.top {display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand {font-weight:800;letter-spacing:1px}
button {
  padding:12px 16px;
  background:var(--card);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
}
button:focus-visible {outline:3px solid var(--accent);outline-offset:2px}
.card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:22px;
  padding:clamp(24px,5vw,56px);
  margin-top:72px;
}
.tag {color:var(--accent);font-weight:700}
h1 {font-size:clamp(30px,5vw,48px);line-height:1.15}
p {color:var(--muted);line-height:1.7}
.small {font-size:14px}
footer {padding:32px 0;text-align:center;color:var(--muted);font-size:12px}

/* FG Digital - Autenticacao e painel */
.auth-layout {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
}
.auth-card {
  width:100%;
  max-width:430px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:22px;
  padding:clamp(24px,5vw,40px);
  box-shadow:0 16px 55px rgba(0,0,0,.06);
}
.auth-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:32px;
}
.auth-card h1 {font-size:29px;margin-bottom:8px}
.form-group {margin:20px 0}
.form-group label {
  display:block;
  font-weight:600;
  font-size:14px;
  margin-bottom:8px;
}
.form-group input {
  display:block;
  width:100%;
  padding:14px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--text);
  font:inherit;
}
.form-group input:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.btn-primary {
  width:100%;
  background:var(--accent);
  color:#fff;
  border:0;
  font-weight:700;
}
html[data-theme="dark"] .btn-primary {color:#07111f}
.alert-error {
  background:rgba(220,38,38,.09);
  color:var(--text);
  border:1px solid rgba(220,38,38,.4);
  border-radius:10px;
  padding:13px;
  font-size:14px;
}
.panel-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.panel-actions {display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.panel-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(195px,1fr));
  gap:16px;
}
.metric {
  padding:24px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
}
.metric strong {display:block;font-size:32px;margin-top:12px}
.metric span {color:var(--muted);font-size:14px}
.section-title {margin:35px 0 16px}
a {color:var(--accent)}


/* IA_ESTILO_RETORNO_V1 */
a.ia-voltar-painel {
  display:inline-flex!important;align-items:center;justify-content:center;
  gap:8px;padding:11px 17px;margin:8px 0 18px;
  border:1px solid var(--border,#d6dfed);border-radius:12px;
  background:var(--card,#fff);color:var(--text,#1b2940)!important;
  text-decoration:none!important;font-weight:700;
  box-shadow:0 2px 7px rgba(20,40,70,.045);
  transition:background .15s,transform .15s;
}
a.ia-voltar-painel:hover {background:var(--bg,#eef3fa);transform:translateY(-1px)}
a.ia-voltar-painel:focus-visible {outline:3px solid #2563eb;outline-offset:2px}

.ia-date-wrapper {position:relative;width:100%;min-width:0}
.ia-date-trigger {
  width:100%;min-height:49px;text-align:left;cursor:pointer;
  padding:12px 14px;border:1px solid var(--border,#d6dfed);
  border-radius:11px;background:var(--bg,#f4f6fa);
  color:var(--text,#172338);font:inherit;
}
.ia-date-picker {
  position:absolute;z-index:80;left:0;top:calc(100% + 7px);
  width:min(340px,calc(100vw - 65px));box-sizing:border-box;
  padding:16px;border-radius:18px;background:var(--card,#fff);
  border:1px solid var(--border,#d6dfed);
  color:var(--text,#172338);box-shadow:0 14px 45px rgba(0,0,0,.17);
}
.ia-date-picker[hidden] {display:none!important}
.ia-date-top,.ia-date-actions,.ia-date-time {
  display:flex;align-items:center;justify-content:space-between;gap:8px
}
.ia-date-top {margin-bottom:14px;text-transform:capitalize}
.ia-date-top button {
  border:1px solid var(--border,#ddd);border-radius:10px;
  padding:5px 14px;font-size:24px;background:transparent;color:inherit;cursor:pointer
}
.ia-date-weekdays,.ia-date-days {
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  text-align:center;gap:3px
}
.ia-date-weekdays {font-size:12px;opacity:.7;margin-bottom:6px}
.ia-date-days button {
  border:0;background:transparent;color:inherit;
  border-radius:50%;aspect-ratio:1;cursor:pointer;font:inherit
}
.ia-date-days button:hover {background:var(--bg,#e9eef8)}
.ia-date-days button.selected {background:#2563eb;color:#fff}
.ia-date-time {justify-content:center;margin:15px 0}
.ia-date-time select {
  width:85px;padding:9px;border-radius:9px;
  border:1px solid var(--border,#ddd);
  background:var(--bg,#fff);color:var(--text,#222)
}
.ia-date-actions {margin-top:12px}
.ia-date-actions button {
  border:0;border-radius:9px;padding:10px 12px;
  background:var(--bg,#eee);color:var(--text,#222);
  font-weight:700;cursor:pointer
}
.ia-date-actions .ia-date-apply {background:#2563eb;color:#fff}
@media(max-width:600px){
  .ia-date-picker {max-width:calc(100vw - 65px)}
  a.ia-voltar-painel {max-width:100%;box-sizing:border-box}
}


/* IA_ACABAMENTO_VISUAL_7I1 */
a.ia-link-acao {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:10px;
  background:var(--accent);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  border:1px solid transparent;
}
a.ia-link-acao:hover {filter:brightness(.92)}
a.ia-link-acao:focus-visible,
a.ia-voltar-painel:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px;
}
html[data-theme="dark"] a.ia-link-acao {color:#07111f}
a.ia-voltar-painel {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-decoration:none;
}
@media(max-width:600px) {
  .container {padding:16px}
  .panel-header {gap:12px;flex-wrap:wrap}
  .panel-actions {flex-wrap:wrap}
  a.ia-link-acao {max-width:100%;box-sizing:border-box}
}


/* IA_ACABAMENTO_GLOBAL_7N2 */

/* Navegação administrativa com aparência de botão. */
a.ia-link-acao {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 16px;
  border-radius:10px;
  background:var(--accent);
  color:#fff;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:700;
  line-height:1.35;
  max-width:100%;
  white-space:normal;
  text-align:center;
  transition:filter .15s ease;
}
a.ia-link-acao:hover {filter:brightness(.92)}
html[data-theme="dark"] a.ia-link-acao {color:#07111f}

/* Seta apenas quando o texto ainda não possui uma. */
a.ia-voltar-painel:not(.ia-seta-existente)::before {
  content:"←";
  display:inline-block;
  margin-right:7px;
  font-weight:700;
}

/* Navegação responsiva. */
.panel-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:640px) {
  .container {padding:16px}
  .panel-header {align-items:flex-start}
  .panel-actions {width:100%}
  .panel-actions a,
  .panel-actions button {max-width:100%}
  a.ia-link-acao {margin-bottom:6px}
}


/* IA_NAVEGACAO_ADMIN_7P */
a.ia-nav-voltar,
a.ia-nav-acao {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:9px 13px;
    border-radius:9px;
    font-size:13px;
    font-weight:650;
    line-height:1.3;
    text-decoration:none;
    border-radius:9px;
    transition:filter .15s ease;
}
a.ia-nav-voltar {
    color:var(--text);
    background:transparent;
    border:1px solid var(--border);
}
a.ia-nav-acao {
    color:#fff;
    background:#2563eb;
    border:1px solid #2563eb;
}
a.ia-nav-voltar:hover,
a.ia-nav-acao:hover {filter:brightness(.92)}
a.ia-nav-voltar:focus-visible,
a.ia-nav-acao:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:2px;
}
@media(max-width:600px) {
    a.ia-nav-voltar,
    a.ia-nav-acao {
        max-width:100%;
        white-space:normal;
    }
}

/* IA_ACABAMENTO_7Q */
.ia-qr-acoes-7q {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:16px 0;
}
.ia-qr-acoes-7q > button,
.ia-qr-acoes-7q > a {
  margin:0!important;
}
a.ia-link-publico-7q {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--card);
  color:var(--text)!important;
  text-decoration:none!important;
  font-weight:600;
}
.ia-qr-opcoes-7q {
  position:relative;
  flex-basis:100%;
  margin-top:4px;
}
.ia-qr-opcoes-7q summary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border-radius:10px;
  background:#2563eb;
  color:white;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.ia-qr-opcoes-7q summary::-webkit-details-marker {
  display:none;
}
.ia-qr-opcoes-7q summary::after {
  content:"⌄";
  margin-left:12px;
}
.ia-qr-lista-7q {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:14px 0 2px;
}
.ia-qr-lista-7q a {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px!important;
  margin:0!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--card)!important;
  color:var(--text)!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:600;
}
.ig-top .ia-voltar-painel {
  white-space:nowrap;
  flex-shrink:0;
  width:auto;
}
@media(max-width:650px) {
  .ig-top {
    flex-wrap:wrap;
    gap:12px;
  }
  .ig-top .ia-voltar-painel {
    max-width:100%;
  }
  .ia-qr-acoes-7q {
    align-items:stretch;
  }
  .ia-qr-acoes-7q > button,
  .ia-qr-acoes-7q > a {
    width:auto!important;
  }
  .ia-qr-lista-7q a {
    width:100%;
  }
}
