/* Private-access page layer. Shared tokens and primitives stay in /styles.css. */
.private-page { max-width: 920px; padding-block: clamp(64px, 9vw, 112px); }
.account-intro { max-width: 680px; margin-bottom: 40px; }
.account-intro h1, .account-card-centered h1 { margin: 12px 0 18px; font-size: clamp(3rem, 7vw, 5rem); line-height: .96; }
.account-intro .lede { max-width: 560px; margin-bottom: 28px; color: var(--ink-soft); font-size: 1.12rem; }
.bookmark-line { margin: 24px 0 0; color: var(--ink-soft); }
.account-card { padding: clamp(24px, 4vw, 36px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow-sm); }
.account-card h2 { margin: 0 0 12px; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.account-card p:last-child { margin-bottom: 0; }
.account-card-centered { max-width: 650px; margin: 0 auto; text-align: center; }
.account-card-centered .button { margin-top: 12px; }
.statement-line, .support-line { color: var(--muted); font-size: .9rem; }
.support-line { margin-top: 12px; }
.status-pulse { display: flex; justify-content: center; gap: 7px; margin-top: 30px; }
.status-pulse i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); animation: account-pulse 1.2s ease-in-out infinite; }
.status-pulse i:nth-child(2) { animation-delay: .16s; }
.status-pulse i:nth-child(3) { animation-delay: .32s; }
@keyframes account-pulse { 0%, 80%, 100% { opacity: .3; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }
.delivery-table { margin-top: 8px; box-shadow: var(--shadow-sm); }
.delivery-table th { color: var(--muted); background: #f3f5f4; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.delivery-table td { padding-block: 20px; vertical-align: middle; }
.delivery-table tr:last-child td { border-bottom: 0; }
.delivery-table td:first-child { width: 25%; }
.delivery-table td:nth-child(2) { width: 25%; color: var(--ink-soft); }
.delivery-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; min-height: 1.4em; margin-bottom: 11px; color: var(--muted); font-size: .72rem; }
.delivery-meta strong { color: var(--ink); }
.file-links { display: flex; flex-wrap: wrap; gap: 8px; }
.file-links .button { min-height: 38px; }
.empty-state { margin-top: 8px; text-align: center; }
.empty-state h2 { margin-top: 12px; }
.empty-icon { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent-dark); font-size: 1.25rem; font-weight: 800; }
.delivery-note { margin-top: 28px; background: #f1f4f3; box-shadow: none; }
.delivery-note p:last-child { color: var(--muted); font-size: .9rem; }

@media (max-width: 600px) {
  .private-page { width: min(calc(100% - 32px), var(--container)); padding-block: 52px 72px; }
  .account-intro h1, .account-card-centered h1 { font-size: 3rem; }
  .delivery-table { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .delivery-table table, .delivery-table tbody, .delivery-table tr, .delivery-table td { display: block; width: 100%; }
  .delivery-table thead { display: none; }
  .delivery-table tbody { display: grid; gap: 12px; }
  .delivery-table tr { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow-sm); }
  .delivery-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .delivery-table td:first-child { width: auto; background: #f3f5f4; font-size: 1.05rem; }
  .delivery-table td:nth-child(2) { width: auto; color: var(--ink); }
  .delivery-table td:last-child { border-bottom: 0; }
  .delivery-table td:nth-child(2)::before { display: block; margin-bottom: 3px; color: var(--muted); content: "Period"; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
}

@media (prefers-reduced-motion: reduce) {
  .status-pulse i { animation: none; }
}
