.secure-documents,.secure-viewer { padding-block:clamp(24px,5vw,60px); min-width:0; }
.secure-documents__heading,.secure-viewer__heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.secure-documents__heading h1,.secure-viewer h1 { font-size:clamp(1.6rem,4vw,2.8rem); letter-spacing:-.045em; line-height:1.1; margin:8px 0 16px; max-width:750px; }
.secure-documents__heading p { max-width:680px; color:var(--text-soft); }
.secure-documents code,.secure-viewer code,.admin-documents code { overflow-wrap:anywhere; font-size:.78rem; }
.secure-documents__tools { display:flex; gap:12px; margin-block:24px; flex-wrap:wrap; }
.secure-documents__tools label { position:relative; overflow:hidden; cursor:pointer; }
.secure-file-input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.secure-document-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; }
.secure-document-card { display:grid; gap:18px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--surface-strong); box-shadow:var(--shadow-soft); min-width:0; }
.secure-document-card>.material-symbols-outlined { font-size:38px; color:var(--sapphire); }
.secure-document-card h2 { text-transform:capitalize; font-size:1.2rem; margin:12px 0; }
.secure-document-card p,.secure-document-card small { color:var(--muted); }
.secure-document-card .button { align-self:end; }
.secure-status { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:99px; background:var(--surface-subtle); color:var(--text-soft); font-size:.72rem; font-weight:750; white-space:nowrap; }
.secure-status.is-active { background:color-mix(in srgb,var(--success) 10%,var(--surface-strong)); color:var(--success); }
.secure-status.is-active::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.secure-empty,.secure-viewer__locked { text-align:center; padding:40px 24px; border:1px solid var(--line); border-radius:24px; background:var(--surface-strong); }
.secure-empty>.material-symbols-outlined,.secure-viewer__locked>.material-symbols-outlined { display:block; font-size:44px; color:var(--sapphire); margin-bottom:16px; }
.secure-viewer__locked p { max-width:540px; margin:0 auto 20px; color:var(--text-soft); }
.secure-viewer__locked>a { display:block; margin:18px auto 0; color:var(--muted); font-size:.85rem; }
.secure-error { padding:16px 20px; border:1px solid color-mix(in srgb,var(--error) 25%,transparent); border-radius:14px; background:color-mix(in srgb,var(--error) 7%,var(--surface-strong)); color:var(--error); }
.secure-viewer__work { margin-top:22px; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--surface-strong); }
.secure-viewer [hidden] { display:none!important; }
.secure-viewer__toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px; border-bottom:1px solid var(--line); }
.secure-pager { display:flex; align-items:center; gap:14px; margin-right:auto; }
.secure-pager button { min-width:44px; min-height:44px; font-size:1.5rem; background:var(--surface-subtle); border:1px solid var(--line); border-radius:10px; color:var(--text); cursor:pointer; }
.secure-viewer__toolbar select { min-height:44px; padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--surface-strong); color:var(--text); }
.secure-viewer__canvas { overflow:auto; min-height:200px; max-height:78svh; padding:12px; background:color-mix(in srgb,var(--canvas) 90%,#7489a5); }
.secure-viewer__canvas canvas { display:block; margin:auto; background:white; box-shadow:0 3px 18px #0002; max-width:none; }
.secure-viewer__meta { padding:0 16px; color:var(--muted); font-size:.8rem; }
.secure-modal { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; background:#071225aa; padding:16px; }
.secure-modal__card { width:min(100%,560px); max-height:85svh; overflow:auto; background:var(--surface-strong); color:var(--text); padding:28px; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.secure-modal__card p { line-height:1.6; color:var(--text-soft); }
.secure-modal__actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:24px; }
.personal-license { margin:20px 0; padding:16px 18px; border:1px solid var(--line); border-radius:16px; background:var(--surface-subtle); text-align:left; }
.personal-license__heading { display:flex; gap:10px; align-items:center; }
.personal-license__heading h2 { font-size:.95rem; margin:0; }
.personal-license__heading>.material-symbols-outlined { flex:0 0 22px; width:22px; height:22px; overflow:hidden; font-size:22px; color:var(--sapphire); }
.personal-license__open { min-height:40px; margin-top:10px; padding:8px 14px; font-size:.82rem; }
.personal-license__accepted { font-size:.75rem; color:var(--success); margin:8px 0; overflow-wrap:anywhere; }
.personal-license__dialog { width:min(calc(100vw - 28px),700px); max-height:calc(100svh - 40px); padding:22px; border:1px solid var(--line); border-radius:20px; color:var(--text); background:var(--surface-strong); overflow:auto; }
.personal-license__dialog::backdrop { background:#06101cb3; backdrop-filter:blur(4px); }
.personal-license__dialog header { display:flex; gap:14px; align-items:start; justify-content:space-between; }
.personal-license__dialog h2 { font-size:1.15rem; margin:0; }
.personal-license__dialog header button { border:0; background:var(--surface-subtle); color:var(--text); min-width:44px; min-height:44px; border-radius:50%; font-size:1.5rem; }
.personal-license__reader { height:clamp(160px,38svh,360px); overflow:auto; overscroll-behavior:contain; padding:8px 14px; margin:14px 0; border:1px solid var(--line); border-radius:10px; text-align:left; }
.personal-license__reader p { font-size:.92rem; line-height:1.65; color:var(--text-soft); }
.personal-license__check { display:flex; gap:12px; align-items:flex-start; line-height:1.5; font-size:.88rem; margin:16px 0; }
.personal-license__check input { flex:0 0 20px; width:20px; height:20px; margin-top:2px; accent-color:var(--sapphire); }
.personal-license__read-hint { font-size:.8rem; color:var(--muted); }
.admin-documents { min-width:0; }
.admin-document-search { display:flex; align-items:end; gap:10px; padding:20px; flex-wrap:wrap; }
.admin-document-search label { flex:1 1 280px; display:grid; gap:6px; font-size:.82rem; font-weight:650; }
.admin-document-search input,.admin-document-detail input:not([type="checkbox"]) { min-height:46px; padding:10px 12px; width:100%; max-width:100%; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--surface-strong); font-size:16px; }
.admin-document-totals { margin:0 20px 16px; font-size:.9rem; color:var(--muted); }
.admin-document-list { display:grid; }
.admin-document-row { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:20px; border-top:1px solid var(--line); min-width:0; }
.admin-document-row>div:first-child { min-width:0; }
.admin-document-row strong,.admin-document-row code { display:block; margin-top:8px; }
.admin-document-row p { margin:8px 0; overflow-wrap:anywhere; font-size:.85rem; }
.admin-document-row small { color:var(--muted); }
.admin-document-counts { display:flex; gap:18px; align-items:center; flex-shrink:0; }
.admin-document-counts>span { display:grid; gap:6px; font-size:.75rem; text-align:center; color:var(--muted); }
.admin-document-counts b { font-size:1.2rem; color:var(--text); }
.admin-document-pagination { display:flex; align-items:center; gap:14px; padding:20px; justify-content:flex-end; }
.admin-document-detail { background:var(--surface-subtle); border:1px solid var(--line); border-radius:18px; margin:20px; padding:20px; min-width:0; overflow-wrap:anywhere; }
.admin-document-detail>header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.admin-document-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:18px; padding:20px 0; }
.admin-document-facts dt { font-size:.75rem; color:var(--muted); margin-bottom:5px; }
.admin-document-facts dd { font-size:.88rem; margin:0; }
.admin-document-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.admin-document-detail details { border-top:1px solid var(--line); padding:12px 0; }
.admin-document-detail summary { cursor:pointer; min-height:44px; align-content:center; font-weight:650; }
.admin-document-proof { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.75rem; max-height:320px; overflow:auto; }
.admin-document-events { padding:0; list-style:none; }
.admin-document-events li { border-left:2px solid var(--line); padding:0 0 20px 16px; font-size:.85rem; }
.admin-document-events time { display:block; font-size:.72rem; color:var(--muted); margin-top:6px; }
.admin-document-events p { margin:4px 0; }
.admin-delete-control { grid-column:1 / -1; min-width:0; width:100%; }
.admin-delete-confirm { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.admin-delete-confirm form,.admin-delete-confirm label { display:grid; gap:10px; min-width:0; }
.admin-delete-confirm input:not([type="checkbox"]) { width:100%; max-width:100%; min-height:46px; padding:12px; font-size:16px; }
.payment-methods { display:flex; justify-content:center; margin:14px auto; max-width:640px; }
.payment-methods .payment-logos { width:100%; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:12px; margin:0; border:1px solid var(--line); border-radius:14px; background:var(--surface-strong); list-style:none; }
.payment-methods .payment-logos li { flex:0 0 58px; width:58px; height:34px; padding:3px; display:grid; place-items:center; }
.payment-methods img { width:52px; height:26px; object-fit:contain; }
.subscription-payments { margin-top:22px; padding:20px; }
.subscription-payments>p { max-width:720px; font-size:.76rem; line-height:1.55; margin:8px auto 0; color:var(--muted); }
@media(max-width:700px) {
  .secure-documents__heading,.secure-viewer__heading { align-items:start; flex-direction:column; gap:12px; }
  .secure-viewer__toolbar { gap:8px; }
  .secure-viewer__toolbar>.button { flex:1 1 45%; padding:10px; font-size:.8rem; }
  .secure-pager { flex:1 1 65%; }
  .secure-viewer select,.secure-modal input,.personal-license__dialog input { font-size:16px; }
  .secure-modal__card { padding:22px; }
  .personal-license__dialog { padding:16px; }
  .personal-license__check { font-size:.8rem; }
  .admin-document-row { flex-direction:column; align-items:stretch; padding:16px; }
  .admin-document-counts { justify-content:space-between; gap:12px; }
  .admin-document-detail { margin:12px; padding:16px; }
  .admin-page input,.admin-page select,.admin-page textarea { font-size:16px!important; }
  .admin-page .admin-member__action { min-width:0; }
  .admin-delete-confirm { font-size:.88rem; padding:16px; }
  .admin-delete-confirm .admin-access-button { white-space:normal; min-height:46px; line-height:1.35; }
}
@media print { .secure-viewer,.secure-documents,.secure-modal,.personal-license { display:none!important; } }

.pdf-download-page,.pdf-download-card { min-width:0; }
.pdf-download-icon { overflow:hidden; }
.pdf-download-card>.button { max-width:100%; white-space:normal; line-height:1.4; }
