/* Portal GUIA-DOR · índice interno de consulta.
   TESE: prancha de atlas, legenda em mono, fio teal. Aposta: zero imagem, só lista com fios. */
:root{
  --bg:#F7FAFC; --surface:#EDF2F7; --ink:#1A202C; --muted:#4A5568; --accent:#1A9E8B; --accent-ink:#0F6B5D;
  --line:rgba(26,32,44,.14); --r-box:6px; --r-ctl:3px;
  --f-display:'Archivo',system-ui,sans-serif; --f-text:'Source Serif 4',Georgia,serif; --f-mono:'IBM Plex Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--f-text);padding-bottom:env(safe-area-inset-bottom)}
::selection{background:var(--accent);color:#fff}
a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-ctl)}
.wrap{max-width:60rem;margin:0 auto;padding:0 1.25rem}
.top{border-bottom:1px solid var(--accent);padding:1.1rem 0}
.top .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}
.brand{font:800 1.125rem/1.2 var(--f-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.sub{font:500 .75rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
main{padding:2.5rem 0 4rem}
.crumb{display:inline-flex;align-items:center;min-height:44px;font:500 .8125rem/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--accent-ink)}
.crumb:hover{text-decoration:underline}
.crumb b{font-weight:600;color:var(--ink)}
h1{font:800 clamp(1.9rem,5vw,2.75rem)/1.04 var(--f-display);letter-spacing:-.03em;margin:.5rem 0 .5rem;text-wrap:balance}
.lead{margin:0 0 2.25rem;color:var(--muted);max-width:44rem;text-wrap:pretty}
h2{font:600 .8125rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:2.5rem 0 .75rem;padding-bottom:.6rem;border-bottom:1px solid var(--accent);display:flex;justify-content:space-between;gap:1rem}
h2 .n{font-variant-numeric:tabular-nums;color:var(--accent-ink)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}
.chips a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .95rem;border:1px solid var(--accent);border-radius:var(--r-ctl);font:600 .9375rem/1.2 var(--f-display);color:var(--ink);text-decoration:none;background:transparent;transition:background .18s var(--ease),color .18s var(--ease)}
.chips a:hover{background:var(--accent);color:#fff}
.chips a span{font-family:var(--f-mono);font-weight:500;font-size:.8125rem}
.folders{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.folders a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-height:64px;padding:.9rem .25rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .18s var(--ease),padding .18s var(--ease)}
.folders li:nth-child(odd) a{margin-right:1rem}
.folders li:nth-child(even) a{margin-left:1rem}
.folders a:hover{background:var(--surface);padding-left:.75rem}
.folders .nm{font:700 1.0625rem/1.25 var(--f-display);letter-spacing:-.01em}
.folders .ct{font:500 .75rem/1.3 var(--f-mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.folders .ct.zero{color:var(--muted);opacity:.85}
.group{margin-top:2.25rem}
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:1fr auto;gap:.25rem 1.25rem;align-items:start;min-height:64px;padding:.9rem .25rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .18s var(--ease)}
a.row:hover{background:var(--surface)}
.row .t{font:700 1.0625rem/1.3 var(--f-display);letter-spacing:-.01em}
a.row:hover .t{color:var(--accent-ink);text-decoration:underline;text-decoration-color:var(--accent)}
.row .d{grid-column:1;margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5;max-width:40rem}
.row .tag{grid-column:2;grid-row:1;font:500 .6875rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);border:1px solid var(--accent);border-radius:var(--r-ctl);padding:.35rem .5rem;white-space:nowrap;margin-top:.1rem}
.row .tag.off{color:var(--muted);border-color:var(--line)}
.row .go{margin-top:.35rem}
.empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.5rem .25rem;color:var(--muted)}
.empty b{display:block;font:700 1.0625rem/1.3 var(--f-display);color:var(--ink);margin-bottom:.2rem}
footer{border-top:1px solid var(--line);padding:1.25rem 0 2rem;font:500 .6875rem/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.row .u{grid-column:1;font:500 .8125rem/1.4 var(--f-mono);letter-spacing:.02em;color:var(--accent-ink);overflow-wrap:anywhere;word-break:break-all}
.note{margin:.75rem 0 0;font:500 .75rem/1.5 var(--f-mono);letter-spacing:.04em;color:var(--muted)}
@media (max-width:640px){
  .folders{grid-template-columns:1fr}
  .folders li:nth-child(odd) a,.folders li:nth-child(even) a{margin:0}
  .row{grid-template-columns:1fr}
  .row .tag{grid-column:1;grid-row:auto;justify-self:start;order:-1;margin-bottom:.25rem}
  .chips a{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.brand{display:inline-flex;align-items:center;gap:.5rem}
.mark{color:var(--accent)}
.folders .nm{display:inline-flex;align-items:center;gap:.65rem}
.fi{flex:none;color:var(--accent)}
