/* DesbloqueioPDF — CSS3 puro, sem framework. Mobile-first, dark elegante. */
:root{
  --bg:#0f1420; --bg2:#161d2e; --card:#1b2440cc; --line:#ffffff1f;
  --txt:#eef2ff; --mut:#a5b0cc; --acc:#22d3ee; --acc2:#a78bfa;
  --ok:#34d399; --err:#f87171; --r:18px;
  --sh:0 20px 60px #0009;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--txt); min-height:100vh;
  font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:
    radial-gradient(900px 400px at 10% -5%, #22d3ee33, transparent 60%),
    radial-gradient(800px 380px at 95% 0%, #a78bfa33, transparent 60%),
    linear-gradient(var(--bg),var(--bg2));
}
.wrap{max-width:760px; margin-inline:auto; padding:0 clamp(14px,4vw,28px)}
.topbar{position:sticky; top:0; z-index:5; backdrop-filter:blur(14px);
  background:#0f1420d9; border-bottom:1px solid var(--line)}
.topbar-in{display:flex; gap:14px; align-items:center; padding:14px clamp(14px,4vw,28px)}
.logo{font-size:2rem; filter:drop-shadow(0 4px 12px #22d3ee88)}
.topbar h1{font-size:1.25rem; margin:0}
.topbar p{margin:0; color:var(--mut); font-size:.85rem}
.topbar nav{margin-left:auto}
.topbar a,.faq a,footer a{color:var(--acc)}
.topbar nav a{border:1px solid var(--line); border-radius:999px;
  padding:8px 16px; text-decoration:none; font-weight:600; white-space:nowrap}
.topbar nav a:hover{background:#22d3ee22}
main{padding-block:26px 60px; display:grid; gap:18px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:clamp(16px,4vw,26px); box-shadow:var(--sh)}
.hero{padding-block:16px}
.steps{display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between}
.steps span{color:var(--mut); font-size:.9rem}
.steps b{display:inline-grid; place-items:center; width:26px; height:26px; margin-right:8px;
  border-radius:50%; color:#06121a; background:linear-gradient(135deg,var(--acc),var(--acc2))}
.drop{display:grid; place-items:center; gap:6px; text-align:center; cursor:pointer;
  border:2px dashed #ffffff40; border-radius:var(--r); padding:38px 18px;
  transition:border-color .2s, background .2s, transform .2s}
.drop:hover,.drop.over{border-color:var(--acc); background:#22d3ee14; transform:scale(1.005)}
.drop-icon{font-size:2.6rem}
.drop-text{font-size:1.05rem}
.drop-hint{color:var(--mut); font-size:.83rem}
.row{display:flex; gap:12px; margin-top:14px; flex-wrap:wrap}
.field{flex:1 1 220px; display:grid; gap:6px}
.field span{font-weight:600} .field small{color:var(--mut); font-weight:400}
input[type=password],input[type=text]{background:#0c1222; border:1px solid var(--line); color:var(--txt);
  border-radius:12px; padding:13px 14px; font-size:1rem; width:100%}
input[type=password]:focus,input[type=text]:focus{outline:2px solid var(--acc); border-color:transparent}
.login{max-width:420px; margin:12vh auto 0; text-align:center}
.login form{display:grid; gap:12px; margin-top:16px; text-align:left}
.mut{color:var(--mut)}
.btn{appearance:none; border:0; cursor:pointer; text-decoration:none; text-align:center;
  color:#06121a; font-weight:800; font-size:1rem; border-radius:12px; padding:13px 26px;
  background:linear-gradient(135deg,var(--acc),var(--acc2)); transition:filter .15s, transform .15s}
.btn:hover{filter:brightness(1.1)} .btn:active{transform:scale(.98)}
.btn:disabled{opacity:.5; cursor:wait}
.ghost{background:transparent; color:var(--mut); border:1px solid var(--line);
  border-radius:10px; padding:9px 18px; cursor:pointer}
.ghost:disabled{opacity:.4; cursor:default} .ghost:not(:disabled):hover{color:var(--txt)}
.status{margin-top:12px; padding:11px 14px; border-radius:12px; font-size:.92rem}
.status.ok{background:#34d3991f; border:1px solid #34d39955}
.status.err{background:#f8717118; border:1px solid #f8717155}
progress{width:100%; margin-top:10px; accent-color:var(--acc)}
h2{margin:0 0 12px; font-size:1.05rem; display:flex; align-items:center; gap:10px}
.pill{background:#22d3ee26; border:1px solid #22d3ee55; border-radius:999px;
  font-size:.8rem; padding:1px 11px}
.list{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.list li{display:flex; gap:10px; align-items:center; background:#0c122280;
  border:1px solid var(--line); border-radius:12px; padding:10px 13px; font-size:.92rem}
.list .n{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1}
.list .s{color:var(--mut); font-size:.8rem; white-space:nowrap}
.list .x{background:none; border:0; color:var(--mut); cursor:pointer; font-size:1.05rem}
.list .x:hover{color:var(--err)}
.empty{justify-content:center; color:var(--mut)}
.actions{margin-top:12px; display:flex; justify-content:flex-end}
.result{border-color:#34d39966; text-align:center}
.result .btn{display:inline-block; margin-top:8px}
.faq details{border-top:1px solid var(--line); padding:12px 2px}
.faq summary{cursor:pointer; font-weight:600}
.faq p{color:var(--mut); margin:8px 0 4px}
footer{color:var(--mut); text-align:center; padding:26px 0 40px; font-size:.85rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
