:root{--p-navy:#07111f;--p-blue:#0b1f3a;--p-bg:#eef2f7;--p-line:#d8e0ea;--p-muted:#64748b;--p-ok:#137333;--p-bad:#b42318;--p-warn:#8a5a00}*{box-sizing:border-box}.portal-body{margin:0;background:var(--p-bg);color:var(--p-navy);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.portal-shell{width:min(1080px,92vw);margin:0 auto}.portal-login{width:min(470px,92vw);padding:48px 0 32px}.portal-brand{display:inline-flex;align-items:center;gap:12px;color:var(--p-navy);text-decoration:none}.portal-brand img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}.portal-brand span,.portal-brand strong,.portal-brand small{display:block}.portal-brand strong{font-size:20px}.portal-brand small{color:var(--p-muted)}.portal-card,.portal-hero-card,.portal-grid article,.portal-section,.portal-support{background:#fff;border:1px solid var(--p-line);border-radius:20px;box-shadow:0 12px 34px rgba(7,17,31,.06)}.portal-card{padding:30px;margin-top:28px}.portal-card h1{font-size:34px;margin:8px 0 12px}.portal-card>p{color:var(--p-muted);line-height:1.6}.portal-eyebrow{display:block;color:var(--p-muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.portal-form{display:grid;gap:16px;margin-top:24px}.portal-form label{font-weight:700}.portal-form input{width:100%;margin-top:7px;padding:14px;border:1px solid var(--p-line);border-radius:12px;font:inherit}.portal-form button,.portal-actions a.primary{border:0;background:var(--p-navy);color:#fff;padding:14px 18px;border-radius:12px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center}.portal-alert{padding:13px 15px;border-radius:10px;margin-top:16px}.portal-alert.error{background:#fff1f0;color:var(--p-bad);border:1px solid #ffc9c3}.portal-help{margin-top:22px;padding:16px;background:#f4f7fb;border-radius:12px;display:grid;gap:5px}.portal-help span{color:var(--p-muted);font-size:14px}.portal-help a{font-weight:700}.portal-foot{text-align:center;color:var(--p-muted);font-size:14px}.portal-foot a{color:var(--p-navy)}.portal-top{min-height:76px;background:#fff;border-bottom:1px solid var(--p-line);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);position:sticky;top:0;z-index:5}.portal-top nav{display:flex;gap:18px}.portal-top nav a{color:var(--p-navy);font-weight:700;text-decoration:none}.dashboard{padding:34px 0 60px}.portal-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.portal-welcome h1{font-size:38px;margin:7px 0 4px}.portal-welcome p{margin:0;color:var(--p-muted)}.status-chip{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:800;text-transform:capitalize}.status-chip.active,.status-chip.ready,.status-chip.fulfilled,.status-chip.success{background:#e8f5e9;color:var(--p-ok)}.status-chip.pending_sync,.status-chip.pending,.status-chip.initialized,.status-chip.verified{background:#fff8e1;color:var(--p-warn)}.status-chip.expired,.status-chip.disabled,.status-chip.sync_failed,.status-chip.failed,.status-chip.abandoned{background:#fff1f0;color:var(--p-bad)}.portal-hero-card{margin-top:24px;padding:28px;display:flex;justify-content:space-between;gap:24px;align-items:center}.portal-label{color:var(--p-muted);font-size:13px}.portal-code{font:800 clamp(16px,4vw,30px) ui-monospace,monospace;margin:8px 0;white-space:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.portal-hero-card p{margin:0;color:var(--p-muted)}.portal-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.portal-actions a{padding:11px 14px;border:1px solid var(--p-line);border-radius:10px;color:var(--p-navy);text-decoration:none;font-weight:800}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.portal-grid article{padding:20px}.portal-grid span,.portal-grid strong,.portal-grid small{display:block}.portal-grid span,.portal-grid small{color:var(--p-muted)}.portal-grid span{font-size:13px}.portal-grid strong{font-size:21px;margin:7px 0}.portal-grid small{line-height:1.45}.portal-section{padding:24px;margin-top:20px}.portal-section-head h2{margin:6px 0 16px}.portal-history{display:grid;gap:10px}.portal-history article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;background:#f7f9fc;border-radius:12px}.portal-history article>div:first-child{display:grid;gap:3px}.portal-history span,.portal-history small{color:var(--p-muted)}.portal-history article>div:last-child{display:flex;align-items:center;gap:10px}.portal-history a{font-weight:800;color:var(--p-navy)}.portal-empty{padding:22px;text-align:center;color:var(--p-muted)}.portal-support{margin-top:20px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.portal-support p{margin:5px 0 0;color:var(--p-muted)}.portal-support a{padding:11px 15px;background:var(--p-navy);color:#fff;border-radius:10px;text-decoration:none;font-weight:800}@media(max-width:860px){.portal-grid{grid-template-columns:1fr 1fr}.portal-hero-card{align-items:flex-start;flex-direction:column}.portal-actions{justify-content:flex-start}}@media(max-width:560px){.portal-top{padding:13px 4vw;align-items:flex-start}.portal-top nav{gap:10px;font-size:13px}.dashboard{padding-top:24px}.portal-welcome{flex-direction:column}.portal-grid{grid-template-columns:1fr}.portal-history article,.portal-support{align-items:flex-start;flex-direction:column}.portal-history article>div:last-child{width:100%;justify-content:space-between}.portal-card{padding:24px}.portal-card h1{font-size:30px}}

.portal-history article>div:first-child>span{font-family:ui-monospace,monospace;white-space:nowrap;overflow-x:auto;max-width:100%;display:block}.portal-card input[name="identifier"]{font-family:ui-monospace,monospace;text-transform:uppercase}.portal-brand img{border:0;background:transparent}
/* v1.7 customer experience */
.reward-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px;background:#f7f9fc;border:1px solid var(--p-line);border-radius:14px}.referral-code{font:800 clamp(20px,5vw,30px) ui-monospace,monospace;letter-spacing:.04em;white-space:nowrap;overflow-x:auto;margin:8px 0}.portal-button,.portal-actions button{border:0;background:var(--p-navy);color:#fff;padding:12px 16px;border-radius:10px;font-weight:800;cursor:pointer}.ledger{margin-top:20px}.ledger h3{margin:0 0 10px}.ledger-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-top:1px solid var(--p-line)}.ledger-row small{display:block;color:var(--p-muted);margin-top:3px}.ledger-row b{font-size:18px}.ledger-row .positive{color:var(--p-ok)}.ledger-row .negative{color:var(--p-bad)}.portal-bottom-nav{display:none}.muted{color:var(--p-muted)}
@media(max-width:700px){.portal-top nav{display:none}.reward-panel{align-items:flex-start;flex-direction:column}.reward-panel .portal-actions{width:100%}.reward-panel .portal-actions>*{flex:1}.dashboard{padding-bottom:88px}.portal-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:12px;right:12px;bottom:12px;z-index:20;background:#07111f;border-radius:15px;padding:7px;box-shadow:0 15px 40px rgba(7,17,31,.28)}.portal-bottom-nav a{color:#fff;text-decoration:none;text-align:center;font-size:12px;font-weight:750;padding:9px 3px}.portal-section{scroll-margin-top:88px}}
.portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.portal-stats article{padding:16px;background:#f7f9fc;border:1px solid var(--p-line);border-radius:13px}.portal-stats span,.portal-stats strong,.portal-stats small{display:block}.portal-stats span,.portal-stats small{color:var(--p-muted)}.portal-stats span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.portal-stats strong{font-size:22px;margin:6px 0}.portal-stats small{line-height:1.4}@media(max-width:700px){.portal-stats{grid-template-columns:1fr}.portal-actions a.primary{width:100%}}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* v1.8.2 Portal visual alignment */
.portal-card,.portal-section,.portal-support{box-shadow:0 8px 24px rgba(11,18,32,.055)}
.portal-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.portal-grid article{min-height:128px;display:flex;flex-direction:column}.portal-grid strong{line-height:1.1}.portal-grid small{margin-top:auto;padding-top:8px}.portal-history article{border:1px solid var(--p-line)}.portal-actions a,.portal-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.portal-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.portal-section-head p{margin:0;color:var(--p-muted)}
@media(max-width:560px){.portal-card,.portal-section{border-radius:16px}.portal-grid{grid-template-columns:1fr}.portal-actions{width:100%}.portal-actions a,.portal-actions button{width:100%}.portal-history article>div:last-child{gap:8px;flex-wrap:wrap}}
