/* Uses the drawer's shared academy-dialog and academy-surface components. */
body.unlock-open { overflow:hidden; }
.unlock-dialog { color:var(--academy-panel-ink,#0e1b35); font:inherit; }
.unlock-dialog * { box-sizing:border-box; }
.unlock-dialog [hidden] { display:none!important; }
.unlock-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px 18px; border-bottom:1px solid var(--academy-panel-border,#dce5e7); }
.unlock-eyebrow { color:var(--academy-panel-accent,#0076a8); font-size:.75rem; font-weight:700; }
.unlock-dialog-header h2 { margin:5px 0 0; font-size:1.15rem; line-height:1.7; }
.unlock-dialog-body { padding:20px 24px 24px; }
.unlock-description,.unlock-detail { color:var(--academy-panel-muted,#536075); font-size:.82rem; line-height:1.95; margin:0 0 14px; }
.unlock-content-title { margin:0 0 16px; font-size:1rem; line-height:1.9; overflow-wrap:anywhere; text-align:start; unicode-bidi:plaintext; }
.unlock-summary { display:grid; gap:0; margin:0 0 14px; border:1px solid var(--academy-panel-border,#dce5e7); border-radius:13px; padding:2px 14px; background:#f8fbfc; }
.unlock-summary>div { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding:11px 0; }
.unlock-summary>div+div { border-top:1px solid #e4ecef; }
.unlock-summary dt { color:var(--academy-panel-muted,#536075); font-size:.8rem; }
.unlock-summary dd { margin:0; font-size:.88rem; font-weight:700; white-space:nowrap; }
.unlock-state { color:var(--academy-panel-accent,#0076a8); font-size:.84rem; line-height:1.9; margin:0 0 12px; }
.unlock-state.is-insufficient { color:#8b591e; }
.unlock-error { border:1px solid #ebcbd0; border-radius:11px; background:#fff5f5; color:#a32e3d; font-size:.8rem; line-height:1.9; padding:10px 12px; }
.unlock-dialog-actions { display:grid; gap:10px; margin-top:18px; }
.unlock-dialog-actions form { margin:0; }
.unlock-dialog-actions .academy-action { width:100%; color:#fff; }
.unlock-dialog-actions a { text-decoration:none; }
.unlock-cancel { justify-self:center; min-height:40px; padding:5px 18px; border:0; background:transparent; color:var(--academy-panel-muted,#536075); font:inherit; font-size:.8rem; cursor:pointer; }
.unlock-dialog[aria-busy="true"] .unlock-state { opacity:.75; }
@media(max-width:540px) { .unlock-dialog-header { padding:18px 20px 15px; } .unlock-dialog-body { padding:18px 20px 20px; } }
