@font-face { font-family:"Noto Sans"; src:url("/assets/fonts/noto-sans.ttf") format("truetype"); font-style:normal; font-weight:100 900; font-display:swap; }
:root { --navy:#111827; --ink:#172033; --muted:#69748a; --blue:#2457d6; --bg:#f4f6fa; --border:#e3e8f1; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Noto Sans",system-ui,sans-serif; }
button,input,select,textarea { font:inherit; }
button { min-height:42px; padding:0 16px; border:1px solid var(--blue); border-radius:10px; background:var(--blue); color:#fff; font-weight:600; cursor:pointer; }
input,select,textarea { width:100%; min-height:44px; padding:0 12px; border:1px solid #d8deea; border-radius:10px; background:#fff; }
textarea { min-height:90px; padding:11px 12px; resize:vertical; }
label { display:grid; gap:7px; color:#404a5e; font-size:.78rem; font-weight:600; }
.admin-login { min-height:100vh; padding:24px; background:linear-gradient(135deg,#0e1728,#173d91); }
.admin-login:not([hidden]) { display:grid; place-items:center; }
.login-card { width:min(100%,430px); padding:34px; border-radius:20px; background:#fff; box-shadow:0 28px 70px #07102066; }
.brand { display:flex; align-items:center; gap:11px; margin-bottom:30px; }
.brand>span { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:var(--blue); color:#fff; font-weight:600; }
.brand strong,.brand small,.catalog-card strong,.catalog-card small,header strong,header small { display:block; }
.brand small,.catalog-card small,header small { margin-top:3px; color:var(--muted); font-size:.72rem; }
.eyebrow { margin:0; color:var(--blue); font-size:.68rem; font-weight:600; letter-spacing:.14em; }
.login-card h1 { margin:8px 0; }
.login-card>p:not(.eyebrow),.heading>div>p:last-child,.catalog-heading p:last-child { color:var(--muted); }
.login-card button { width:100%; margin-top:18px; }
.turnstile-container { min-height:65px; margin-top:16px; }
.error,.notice { padding:11px 13px; border-radius:9px; color:#991b1b; background:#fef2f2; font-size:.78rem; }
.admin-shell:not([hidden]) { display:grid; min-height:100vh; grid-template-columns:250px minmax(0,1fr); }
aside { display:flex; min-height:100vh; flex-direction:column; padding:22px 14px; background:var(--navy); color:#fff; }
.brand.light { padding:0 7px; }
.brand.light small { color:#9ba6ba; }
.admin-nav { display:grid; gap:7px; }
.admin-nav button { display:flex; width:100%; align-items:center; gap:11px; border:0; background:transparent; color:#aeb8ca; text-align:left; }
.admin-nav button span { width:22px; color:#7f8da5; font-size:1rem; text-align:center; }
.admin-nav button:hover,.admin-nav button.active { background:#2457d6; color:#fff; }
.admin-nav button.active span { color:#fff; }
.admin-signature { margin:auto 7px 0; padding:14px 10px 4px; border-top:1px solid #ffffff14; }
.admin-signature p { margin:10px 0; color:#9ba6ba; font-size:.65rem; line-height:1.4; }
.admin-signature p strong { color:#fff; }
.admin-signature small { display:block; color:#7f8da5; font-size:.6rem; }
.admin-signature small strong { color:#aeb8ca; }
main>header { display:flex; min-height:78px; align-items:center; justify-content:space-between; padding:0 30px; border-bottom:1px solid var(--border); background:#fff; }
.admin-menu-button,.admin-sidebar-backdrop { display:none; }
.secondary { border-color:var(--border); background:#fff; color:var(--ink); }
.content { width:min(1180px,calc(100% - 56px)); margin:auto; padding:32px 0 50px; }
.heading,.editor-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.heading h1,.catalog-heading h2 { margin:6px 0; }
.group-list { display:grid; gap:12px; margin-top:25px; }
.group-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:20px; border:1px solid var(--border); border-radius:15px; background:#fff; }
.group-card h3 { margin:0 0 5px; }
#individualList .group-card, #individualAccessResult .group-card { grid-template-columns:minmax(0,1fr); overflow-wrap:anywhere; }
#individualAccessResult { display:grid; gap:16px; min-width:0; overflow-wrap:anywhere; }
.group-card p { margin:0; color:var(--muted); font-size:.76rem; }
.pill { display:inline-block; margin-right:8px; padding:4px 8px; border-radius:999px; background:#ecfdf3; color:#166534; font-size:.68rem; font-weight:600; }
.pill.off { background:#f2f4f7; color:#667085; }
.empty { padding:38px; border:1px dashed #cbd3e0; border-radius:15px; color:var(--muted); text-align:center; }
.editor { margin-top:26px; padding:25px; border:1px solid var(--border); border-radius:18px; background:#fff; }
.editor h2 { margin:5px 0 0; }
.base-fields { display:grid; grid-template-columns:2fr 2fr 1fr 1.2fr; align-items:end; gap:16px; margin-top:24px; }
.admin-password-shell { position:relative; display:block; }
.admin-password-shell input { padding-right:82px; }
.admin-password-shell .password-visibility { position:absolute; top:5px; right:5px; min-height:34px; padding:0 10px; font-size:.7rem; }
.check { display:flex; min-height:44px; align-items:center; gap:8px; }
.check input { width:18px; min-height:18px; }
.permissions-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:28px; }
.permissions-heading h3 { margin:0; }
.permissions-heading p { margin:5px 0 0; color:var(--muted); font-size:.75rem; }
.permission-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; margin-top:16px; }
.permission-row { display:grid; grid-template-columns:minmax(0,1fr) 130px; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; }
.permission-row span { font-size:.76rem; }
.permission-row select { min-height:38px; }
.actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--border); }
.catalog-admin { margin-top:34px; }
.catalog-admin.compact-top { margin-top:18px; }
.catalog-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.catalog-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px; border:1px solid var(--border); border-radius:13px; background:#fff; }
.calc-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:10px; background:#eef4ff; color:var(--blue); font-weight:600; }
.calculator-fields { display:grid; grid-template-columns:2fr 1fr .5fr; gap:16px; margin-top:24px; }
.calculator-fields .wide { grid-column:1/-1; }
.field-label-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; margin-top:16px; }
.field-label-row { display:grid; grid-template-columns:130px minmax(0,1fr); align-items:center; gap:10px; }
.field-label-row span { color:var(--muted); font-size:.72rem; }
.audit-filters { display:grid; grid-template-columns:1.5fr 1.3fr 1fr 1fr auto; align-items:end; gap:12px; margin-top:24px; padding:18px; border:1px solid var(--border); border-radius:15px; background:#fff; }
.filter-actions { display:flex; gap:8px; }
.audit-summary { display:flex; align-items:center; justify-content:space-between; margin-top:22px; }
.audit-list { display:grid; gap:8px; margin-top:12px; }
.audit-row { display:grid; grid-template-columns:minmax(190px,1.5fr) 1fr 1fr .8fr; align-items:center; gap:16px; padding:14px 16px; border:1px solid var(--border); border-radius:11px; background:#fff; font-size:.75rem; }
.audit-type { width:max-content; max-width:100%; padding:5px 8px; border-radius:999px; color:#1d4ed8; background:#eff6ff; font-weight:600; }
.audit-type.warning { color:#991b1b; background:#fef2f2; }
.audit-row time,.audit-row span:not(.audit-type) { color:var(--muted); }
.audit-ip { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.security-card { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:26px; padding:25px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.security-card h2 { margin:0 0 7px; }
.security-card p { margin:0; color:var(--muted); font-size:.78rem; }
.pixel-form { display:grid; gap:14px; margin-top:26px; }
.pixel-guidance { margin:0; padding:12px 14px; border:1px solid #f2dfad; border-radius:10px; color:#795b13; background:#fffbeb; font-size:.72rem; line-height:1.5; }
.pixel-card { padding:22px; border:1px solid var(--border); border-radius:15px; background:#fff; }
.pixel-card [hidden] { display:none !important; }
.meta-events-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:8px; }
.meta-event-list { display:grid; gap:14px; margin-top:14px; }
.meta-event-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; border:1px solid var(--border); border-radius:12px; background:#f8faff; }
.meta-event-editor .meta-event-title { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; }
.meta-event-editor .remove-meta-event { padding:7px 10px; }
.pixel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.pixel-heading strong,.pixel-heading small { display:block; }
.pixel-heading small { margin-top:5px; color:var(--muted); font-size:.72rem; }
.switch { display:flex; min-height:34px; align-items:center; grid-template-columns:auto auto; gap:8px; }
.switch input { width:18px; min-height:18px; }
.pixel-notice { color:#166534; background:#ecfdf3; }
.help-admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:24px; }
.help-metric { padding:18px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.help-metric strong,.help-metric span { display:block; }
.help-metric strong { font-size:1.5rem; }
.help-metric span { margin-top:5px; color:var(--muted); font-size:.7rem; }
.help-admin-section { padding:22px; }
.help-lesson-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.help-admin-card { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.help-admin-card>div { min-width:0; }
.help-admin-card strong,.help-admin-card small { display:block; }
.help-admin-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.help-admin-card small { margin-top:4px; color:var(--muted); font-size:.7rem; }
.help-admin-card button { flex:0 0 auto; min-height:36px; padding:0 13px; }
.help-search-list { display:grid; gap:7px; max-height:420px; margin-top:16px; overflow:auto; }
.help-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:11px 13px; border-bottom:1px solid var(--border); }
.help-search-row:last-child { border-bottom:0; }
.help-search-row strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.help-search-row span { color:var(--muted); font-size:.72rem; white-space:nowrap; }
.split-actions { display:grid; grid-template-columns:auto 1fr auto auto; }
.danger-button { border-color:#fecaca; color:#b42318; background:#fff; }
@media(max-width:850px) {
  .admin-shell:not([hidden]) { grid-template-columns:1fr; }
  aside { position:fixed; inset:0 auto 0 0; z-index:60; display:flex; width:min(290px,86vw); transform:translateX(-105%); transition:transform .2s ease; box-shadow:18px 0 50px #07102055; }
  aside.open { transform:translateX(0); }
  .admin-menu-button { display:inline-flex; align-items:center; justify-content:center; width:44px; padding:0; }
  .admin-sidebar-backdrop { position:fixed; inset:0; z-index:55; display:block; background:#07102099; opacity:0; pointer-events:none; transition:opacity .2s ease; }
  .admin-sidebar-backdrop.visible { opacity:1; pointer-events:auto; }
  .base-fields,.permission-list,.catalog-list,.calculator-fields,.field-label-list,.audit-filters,.audit-row { grid-template-columns:1fr; }
  .content { width:calc(100% - 30px); }
  main>header { padding:0 16px; }
  .heading,.permissions-heading { align-items:stretch; flex-direction:column; }
  .heading>button { align-self:flex-start; }
  .group-card { grid-template-columns:1fr; }
  .calculator-fields .wide { grid-column:auto; }
  .field-label-row { grid-template-columns:1fr; }
  .security-card { align-items:stretch; flex-direction:column; }
  .help-admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .help-lesson-list { grid-template-columns:1fr; }
  .help-search-row { grid-template-columns:minmax(0,1fr) auto; }
  .help-search-row span:last-child { grid-column:1/-1; }
  .split-actions { display:flex; flex-wrap:wrap; }
  .split-actions span { flex:1; }
}
#metricsFilters {display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0} #metricsFilters label {min-width:150px;flex:1} #metricsSummary {overflow:auto;margin:24px 0} .consultation-table {border-collapse:collapse;width:100%;margin:12px 0;background:white;font-size:14px} .consultation-table th,.consultation-table td {text-align:left;border:1px solid #d8deea;padding:10px;vertical-align:top} #metricsHeatmap .consultation-table {min-width:1050px} #metricsHeatmap td {text-align:center} #suggestionAdminList section {background:white;border:1px solid #d8deea;border-radius:14px;padding:20px;margin:16px 0;overflow-wrap:anywhere} #suggestionAdminList form {display:grid;gap:12px} #metricsTools {max-width:100%} #metricsGroups,#metricsDaily {overflow:auto} #metricsPanel>h2 {margin-top:28px}
#metricsSummary {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;overflow:visible} #metricsSummary section {background:#fff;border:1px solid #d8deea;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px} #metricsSummary span {font-size:13px;color:#53627a} #metricsSummary strong {font-size:28px;color:#172b4d}
.admin-shell>main {min-width:0} #metricsPanel {min-width:0;max-width:calc(100% - 30px)} #metricsHeatmap,#metricsTools {min-width:0;width:100%;max-width:100%;overflow:auto}

.cnpj-update-notice{margin:20px 24px;padding:16px;border:1px solid #b7d8c3;border-radius:12px;background:#f0faf3;overflow-wrap:anywhere}.cnpj-update-notice[data-warning="true"]{background:#fff6e8;border-color:#e6be77}.cnpj-update-notice p{margin:8px 0;white-space:pre-line}

/* Tipografia alinhada à referência visual, sem alterar a lógica das ferramentas. */
body { font-size:14px; line-height:1.5; }
h1,h2,h3 { font-weight:600; line-height:1.3; }
strong,b { font-weight:600; }
button,input,select,textarea { font-family:inherit; }

.queue-status-panel{margin:20px 24px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:#fff;min-width:0}
.queue-status-panel[hidden]{display:none}
.queue-status-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.queue-status-heading h2{margin:0;font-size:1rem;font-weight:500}
.queue-status-badge{padding:5px 10px;border-radius:20px;background:#edf5ff;color:#28548e;font-size:.78rem;font-weight:500}
.queue-status-panel[data-warning="true"] .queue-status-badge{background:#fff4df;color:#885d16}
.queue-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}
.queue-status-grid>div{padding:12px;border:1px solid var(--border);border-radius:9px;background:#fafbfd}
.queue-status-grid dt{color:var(--muted);font-size:.75rem;line-height:1.4}
.queue-status-grid dd{margin:6px 0 0;font-size:1.35rem;font-weight:500}
.queue-status-panel details{font-size:.75rem;color:var(--muted)}
.queue-status-panel summary{cursor:pointer}.queue-status-panel details p{line-height:1.5}
@media(max-width:600px){.queue-status-panel{margin:16px;padding:16px}.queue-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.jurisprudence-source-list{margin-top:16px}.jurisprudence-source-list summary{cursor:pointer;font-weight:600}.source-table-wrap{overflow-x:auto}.jurisprudence-source-table{width:100%;border-collapse:collapse;background:#fff;margin-top:12px}.jurisprudence-source-table caption{text-align:left;padding:8px;color:#526079}.jurisprudence-source-table th,.jurisprudence-source-table td{text-align:left;padding:10px;border-bottom:1px solid #dce5df;vertical-align:top}.jurisprudence-source-table a{color:#2454d7}.jurisprudence-source-list .source-description{font-size:14px}

@media(min-width:851px){#adminSidebar{position:sticky;top:0;align-self:start;height:100dvh;overflow-y:auto}}
#localAuthLab{margin:32px 0;padding:24px;background:#fff;border:1px solid #dce3ea;border-radius:16px;overflow-wrap:anywhere}
#localAuthLab>button{margin:6px 8px 6px 0}
#localAuthLab h3{margin-top:24px}
#localAuthLab form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
#localAuthLab label{display:block;min-width:0}
#localAuthLab label select,#localAuthLab input{width:100%;min-width:0;max-width:100%;margin-top:6px}
#localAuthLab form>label:first-child{grid-column:1/-1}
@media(max-width:600px){#localAuthLab{padding:16px}#localAuthLab form{grid-template-columns:minmax(0,1fr)}#localAuthLab>button{width:100%;margin-right:0}}
