/* pan-unlock.css — styles for the browser-only PAN/ITD file-unlock tool.
   All classes are prefixed pn-. Uses site CSS vars with fallbacks so it also
   works standalone. Buttons reuse the site classes aa-btn / aa-ghost. */

.pn-tool,.pn-tool-in,.aa-tool{--pn-ok:#1a7f37; --pn-warn:#9a6700; --pn-err:#b42318; --pn-accent:#1f6feb}
/* inner wrapper when the host element already draws the box (class pn-tool / aa-tool) */
.pn-tool-in{border:0;padding:0;margin:0;background:transparent;max-width:100%}
.pn-tool-in *{box-sizing:border-box}
.pn-tool .pn-tool{border:0;padding:0;margin:0}
.pn-tool{
  border:1px solid var(--aa-line,#dfe3e8);
  border-radius:var(--aa-r,10px);
  padding:16px; margin:16px 0; background:var(--aa-card,#fff);
  font:inherit; color:inherit; max-width:100%; box-sizing:border-box;
}
.pn-tool *{box-sizing:border-box}
.pn-msg{padding:12px;border:1px solid var(--aa-line,#dfe3e8);border-radius:var(--aa-r,10px);background:#fff8e6}

/* drop zone */
.pn-drop{
  border:2px dashed var(--aa-line,#c6ccd3); border-radius:var(--aa-r,10px);
  padding:22px 14px; text-align:center; cursor:pointer; background:#fafbfc;
}
.pn-drop.pn-over{border-color:var(--pn-accent);background:#eef5ff}
.pn-drop p{margin:.3em 0}
.pn-hint{font-size:.9em;opacity:.8}
.pn-file-input,.aa .pn-file-input{position:absolute;left:0;top:0;width:1px!important;height:1px!important;min-width:0!important;max-width:1px!important;padding:0!important;border:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.pn-pick{margin-top:8px}

/* cards */
.pn-cards{margin-top:12px;display:flex;flex-direction:column;gap:12px}
.pn-card{border:1px solid var(--aa-line,#dfe3e8);border-radius:var(--aa-r,10px);padding:12px;background:#fff}
.pn-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pn-fname{font-weight:700;word-break:break-all;flex:1 1 140px;min-width:0}
.pn-badge{font-size:.78em;padding:2px 8px;border-radius:999px;border:1px solid var(--aa-line,#dfe3e8);white-space:nowrap}
.pn-badge.pn-enc{background:#fff3cd;border-color:#e4c86b;color:var(--pn-warn)}
.pn-badge.pn-plain{background:#e7f6ec;border-color:#9bd3af;color:var(--pn-ok)}
.pn-badge.pn-bad{background:#fde7e5;border-color:#efa69d;color:var(--pn-err)}

.pn-body{margin-top:10px}
.pn-q{font-weight:600;margin:.2em 0 .5em}
.pn-rule-btns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}

/* fields */
.pn-fields{display:flex;flex-direction:column;gap:10px;margin:8px 0}
.pn-field label{display:block;font-weight:600;margin-bottom:3px}
.pn-field .pn-fhelp{font-weight:400;font-size:.86em;opacity:.8;display:block;margin-top:2px}
.pn-field input{
  width:100%;max-width:340px;padding:9px 10px;font:inherit;
  border:1px solid var(--aa-line,#c6ccd3);border-radius:var(--aa-r,8px);
}
.pn-field input:focus-visible{outline:2px solid var(--pn-accent);outline-offset:1px}
.pn-field.pn-invalid input{border-color:var(--pn-err)}
.pn-ferr{color:var(--pn-err);font-size:.86em;margin-top:3px;min-height:1em}
.pn-datewrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pn-datewrap input[type=date]{max-width:200px}
.pn-datewrap input.pn-dtext{max-width:150px}

.pn-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* status / results */
.pn-status{margin-top:8px;font-size:.92em;min-height:1.1em}
.pn-result{margin-top:10px;padding:10px;border-radius:var(--aa-r,8px)}
.pn-result.pn-ok{background:#e7f6ec;border:1px solid #9bd3af}
.pn-result.pn-err{background:#fde7e5;border:1px solid #efa69d}
.pn-result h4{margin:.1em 0 .4em}
.pn-ul{margin:.3em 0 .3em 1.1em;padding:0}
.pn-conf{font-size:.88em;margin:.2em 0 .4em;padding-left:1.4em;position:relative}
.pn-conf::before{position:absolute;left:0;top:0}
.pn-conf-confirmed::before{content:"\2714";color:var(--pn-ok)}
.pn-conf-reported::before{content:"\25CF";color:var(--pn-warn)}
.pn-conf-unknown::before{content:"?";font-weight:700;color:var(--pn-warn)}
.pn-pwline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.pn-pw{font-family:ui-monospace,Consolas,monospace;background:#fff;border:1px solid var(--aa-line,#dfe3e8);padding:2px 6px;border-radius:6px}

/* zip entries */
.pn-entries{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.pn-entry{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid var(--aa-line,#eceff2);border-radius:var(--aa-r,8px);padding:7px 9px}
.pn-entry .pn-ename{flex:1 1 120px;word-break:break-all;min-width:0}
.pn-entry .pn-esize{opacity:.7;font-size:.85em}

.pn-spin{display:inline-block;width:14px;height:14px;border:2px solid #ccc;border-top-color:var(--pn-accent);border-radius:50%;animation:pn-rot .7s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes pn-rot{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pn-spin{animation:none}}

.pn-foot{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pn-privacy{font-size:.85em;opacity:.8;flex:1 1 200px}

@media (max-width:420px){
  .pn-tool{padding:12px}
  .pn-field input{max-width:100%}
}
