/* Biblioteca de Jurisprudência — mesma identidade do site (Manrope, papel, vermelho institucional) */
@font-face{font-family:Manrope;src:url('/assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#101112;--red:#871314;--bright:#c72e30;--paper:#f6f5f1;--card:#ffffff;--muted:#666661;--line:#d4d3cd;
  --fav:#1e6b45;--fav-bg:#e3f1e8;--des:#9a2c25;--des-bg:#f8e4e2;--par:#8a5a00;--par-bg:#fbefd6;--sup:#4b3c8c;--sup-bg:#ebe7f8;
  --space:clamp(1rem,4vw,3.5rem)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select{font:inherit}
:focus-visible{outline:3px solid #cf595b;outline-offset:3px}
.bib-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem var(--space);background:#fff;border-bottom:2px solid var(--red)}
.bib-brand img{width:220px;height:auto;display:block}
.bib-nav{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;font-size:.875rem}
.bib-nav a{text-decoration:none;padding:.4rem 0}.bib-nav a:hover{color:var(--red)}
.bib-nav form{margin:0}.bib-nav button{background:none;border:1px solid var(--line);padding:.35rem .8rem;cursor:pointer;color:var(--ink)}
.bib-nav button:hover{border-color:var(--red);color:var(--red)}
.bib-who{color:var(--muted)}
.bib-main{max-width:1000px;margin:0 auto;padding:2.2rem var(--space) 3rem}
.bib-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin:0}
h1{font-weight:400;letter-spacing:-.05em;line-height:1.1;font-size:clamp(2rem,4.4vw,3.2rem);margin:.6rem 0 .8rem;text-wrap:balance}
h2{font-weight:400;letter-spacing:-.04em;font-size:1.6rem;margin:2.5rem 0 1rem}
.bib-sub{color:var(--muted);max-width:62ch;margin:0}
.bib-stats{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:1rem;font-size:.8125rem;color:var(--muted)}
.bib-stats b{color:var(--ink);font-variant-numeric:tabular-nums}
.bib-controls{position:sticky;top:64px;z-index:5;background:var(--paper);display:grid;gap:.6rem;padding:1rem 0;margin-top:1rem;border-bottom:1px solid var(--line)}
.bib-search{width:100%;padding:.75rem .9rem;border:1px solid var(--line);background:#fff;color:var(--ink)}
.bib-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.chip{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.3rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:700;cursor:pointer}
.chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}
.chip .n{opacity:.7;margin-left:.3rem;font-variant-numeric:tabular-nums}
select{padding:.4rem .5rem;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.8125rem;min-width:0}
.bib-count{margin-left:auto;font-size:.8125rem;color:var(--muted)}
.bib-list{display:grid;gap:.8rem;margin-top:1.2rem}
.card{background:var(--card);border:1px solid var(--line);padding:1rem 1.15rem;display:grid;gap:.5rem;min-width:0}
.card:hover{border-color:#b9a9a6}
.meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:center;font-size:.78rem;color:var(--muted)}
.proc{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}
.tag{font-size:.7rem;font-weight:700;padding:.1rem .5rem;letter-spacing:.02em}
.t-tema{background:#efe4e3;color:var(--red)}
.p-fav{background:var(--fav-bg);color:var(--fav)}.p-des{background:var(--des-bg);color:var(--des)}.p-par{background:var(--par-bg);color:var(--par)}.p-sup{background:var(--sup-bg);color:var(--sup)}
.resumo{margin:0;font-size:.95rem}
.tese{margin:0;border-left:3px solid var(--line);padding-left:.8rem;font-size:.875rem}
.tese .lbl{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
details summary{cursor:pointer;font-size:.8125rem;color:var(--red);font-weight:700}
details p{margin:.5rem 0 0;font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere}
.foot{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.8125rem}
.foot a{color:var(--red);font-weight:700;text-decoration:none}.foot a:hover{text-decoration:underline}
.bib-empty{background:#fff;border:1px dashed var(--line);padding:1.6rem;text-align:center;color:var(--muted)}
.bib-note{margin-top:2rem;font-size:.8125rem;color:var(--muted);max-width:72ch}
.bib-footer{padding:1.5rem var(--space);font-size:.75rem;color:#a3a39e;background:var(--ink);text-align:center}
/* formulários */
.bib-login{max-width:440px;margin:1.5rem auto}
.bib-form{display:grid;gap:.35rem;margin-top:1.3rem}
.bib-form label{font-size:.8125rem;color:var(--muted);margin-top:.5rem}
.bib-form label small{color:#8b8b85}
.bib-form input{padding:.75rem .8rem;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}
.bib-button{margin-top:1rem;background:var(--red);border:1px solid var(--red);color:#fff;padding:.85rem 1.2rem;font-weight:700;cursor:pointer;min-height:46px}
.bib-button:hover{background:#a51c20}
.bib-hint{font-size:.8125rem;color:var(--muted);margin-top:1rem}
.bib-alert{background:var(--des-bg);color:var(--des);padding:.7rem .9rem;margin-top:1rem;border-left:3px solid var(--des)}
.bib-ok{background:var(--fav-bg);color:var(--fav);padding:.7rem .9rem;margin-top:1rem;border-left:3px solid var(--fav)}
.bib-senha code{background:#fff;padding:.1rem .4rem;color:var(--ink);font-size:1rem}
/* administração */
.bib-table-wrap{overflow-x:auto;margin-top:1.4rem}
.bib-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff;border:1px solid var(--line)}
.bib-table th,.bib-table td{padding:.65rem .7rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.bib-table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bib-actions{display:flex;flex-wrap:wrap;gap:.35rem}
.bib-actions form{margin:0;display:flex;gap:.3rem;align-items:center}
.bib-small{background:#fff;border:1px solid var(--line);padding:.3rem .6rem;font-size:.78rem;cursor:pointer}
.bib-small:hover{border-color:var(--red);color:var(--red)}
.bib-danger{color:var(--des)}
.bib-confirm{font-size:.72rem;color:var(--muted);display:flex;gap:.2rem;align-items:center}
.bib-tag{font-size:.68rem;background:#efe4e3;color:var(--red);padding:.05rem .4rem;font-weight:700}
.bib-muted{color:var(--muted);font-size:.8rem}
.bib-form-inline{grid-template-columns:1fr 1fr;gap:.6rem 1rem;align-items:end}
.bib-form-inline .bib-check{grid-column:1/-1;display:flex;gap:.4rem;align-items:center;color:var(--ink)}
.bib-form-inline .bib-check input{width:auto}
.bib-form-inline .bib-button{grid-column:1/-1;justify-self:start}
@media(max-width:640px){.bib-brand img{width:160px}.bib-controls{top:0;position:static}.bib-form-inline{grid-template-columns:1fr}.bib-count{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
