    .portal-wrap { max-width: 720px; margin: 0 auto; padding: 48px 20px 80px; }
    .portal-card { background: var(--card-bg, #fff); border-radius: 14px; padding: 32px;
                   box-shadow: 0 6px 24px rgba(20, 30, 60, .08); }
    .portal-card h1 { margin: 0 0 8px; font-size: 1.6rem; color: var(--heading-color, #16213e); }
    .portal-sub { color: var(--muted-color, #556); margin: 0 0 24px; }
    .portal-form { display: flex; gap: 10px; flex-wrap: wrap; }
    .portal-form input[type=email] { flex: 1 1 260px; padding: 12px 14px; border: 1px solid #ccd3e0;
                   border-radius: 8px; font-size: 1rem; }
    .portal-form button { padding: 12px 22px; border: 0; border-radius: 8px; background: #4361ee;
                   color: #fff; font-weight: 700; cursor: pointer; font-size: 1rem; }
    .portal-form button:disabled { opacity: .6; cursor: default; }
    .portal-msg { margin-top: 16px; padding: 12px 14px; border-radius: 8px; background: #eef4ff; color: #1d3557; }
    .order-list { margin-top: 8px; }
    .order-row { display: flex; align-items: center; justify-content: space-between; gap: 14px;
                 padding: 14px 4px; border-bottom: 1px solid #e7ebf3; flex-wrap: wrap; }
    .order-row:last-child { border-bottom: 0; }
    .order-title { font-weight: 700; color: #16213e; }
    .order-meta { color: #667; font-size: .85rem; }
    .order-dl { padding: 9px 16px; border-radius: 8px; background: #4361ee; color: #fff !important;
                text-decoration: none; font-weight: 700; font-size: .9rem; white-space: nowrap; }
    .order-dl.unavailable { background: #aab3c5; pointer-events: none; }
    .portal-note { margin-top: 20px; color: #667; font-size: .85rem; }

.order-item { display: flex; align-items: center; gap: 14px; min-width: 0; }
.order-cover { width: 44px; height: 58px; object-fit: cover; border-radius: 6px;
               box-shadow: 0 2px 8px rgba(20,30,60,.15); flex: 0 0 auto; }
.conf-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; align-items: center; }
.conf-secondary { padding: 9px 16px; border-radius: 8px; border: 1px solid #ccd3e0; color: #2b3a55;
                  text-decoration: none; font-weight: 600; font-size: .9rem; background: #fff; }
.conf-secondary:hover { border-color: #4361ee; color: #4361ee; }
