/* Loaded by customer pages and sign-in only; authentication logic is unchanged. */
:root{color-scheme:dark;--background:#050e1b;--surface:#0b1b2d;--navy-950:#f3f7fb;--slate-700:#d0dce7;--slate-600:#acbed0;--slate-300:#365268;--slate-200:#22374d;--slate-100:#11283b;--blue-600:#72e1ca;--blue-100:#153d3b;--navy-800:#a9dfeb;--shadow:none}
body{background:var(--background);color:var(--navy-950);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.6}.wrap{max-width:1160px}.portal-return{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin:25px 0;font-size:13px}.portal-return a{color:#acbed0;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}.portal-return a:first-child{margin-right:auto;color:#72e1ca}.portal-header{border:1px solid #29475d;border-radius:10px;background:#0c2033;box-shadow:none}.portal-brand span{color:#72e1ca}.portal-brand strong{font-size:21px}.card{border-radius:10px;box-shadow:none}.card h1{letter-spacing:-.035em}.portal-login{max-width:510px;margin:55px auto;padding:35px}.portal-logo{border-radius:10px;display:block;margin-bottom:25px}.portal-eyebrow{font-size:10px;letter-spacing:.15em;color:#72e1ca}.portal-login>p:not(.portal-eyebrow){color:#acbed0;font-size:14px}.portal-login form{margin-top:28px}.portal-login label{margin-top:16px}.portal-login input{min-height:48px}.portal-login button{width:100%;margin-top:25px;min-height:48px}.portal-help{border-top:1px solid #22374d;padding-top:20px;margin-top:25px;font-size:12px!important}input,select,textarea{background:#061422;color:#f3f7fb;border-color:#365268}button,.btn{background:#72e1ca;border-color:#72e1ca;color:#071b20}button:hover,.btn:hover{background:#a4f4e2;border-color:#a4f4e2}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.table-wrap:focus-visible{outline:3px solid #72e1ca;outline-offset:4px}nav a.is-active{background:#72e1ca;border-color:#72e1ca;color:#071b20}table{background:#0b1b2d;min-width:680px}th{background:#11283b;color:#d0dce7}tbody tr:hover td{background:#10263a}.table-wrap{border-color:#29475d}td{overflow-wrap:anywhere}.err{color:#ffc2c9;background:#421e2b;border-color:#794354}.ok{color:#a9f4cd;background:#123a2d;border-color:#326a54}.preview-notice{padding:12px 18px;background:#143431;border:1px solid #386960;color:#c0eddf;font-size:13px}.preview-empty{padding:25px;color:#acbed0;text-align:center}@media(max-width:640px){.portal-login{margin:25px auto;padding:24px}.portal-return{gap:15px;margin:12px 0}.portal-header nav a{min-height:44px}.portal-return a:first-child{width:100%;margin:0}.card{padding:18px}}

/* Clear account tools and keyboard states shared by the live portal and preview. */
.portal-header nav a:focus-visible,
.btn:focus-visible,
.btn-secondary:focus-visible,
.btn-danger:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #72e1ca;
  outline-offset: 4px;
}
.portal-account-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px; }
.portal-account-heading h1 { overflow-wrap:anywhere; }
.portal-account-heading .portal-eyebrow { margin:0 0 8px; font-weight:700; }
.portal-account-mark { display:grid; place-items:center; width:80px; height:80px; flex:0 0 80px; border:1px solid #365268; border-radius:18px; background:#102c3c; }
.portal-account-mark svg { width:48px; height:48px; stroke:#72e1ca; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.portal-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 24px; }
.portal-action-card { display:flex; align-items:center; gap:16px; min-height:112px; padding:23px; border:1px solid #29475d; border-radius:10px; background:#0b1b2d; text-decoration:none; transition:border-color .18s ease,background .18s ease; }
.portal-action-card:hover { border-color:#72e1ca; background:#0e2938; }
.portal-action-icon { display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; border-radius:12px; background:#153d3b; color:#72e1ca; }
.portal-action-icon svg { width:26px; height:26px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.portal-action-card strong { display:block; color:#f3f7fb; font-size:17px; }
.portal-action-card strong+span { display:block; color:#acbed0; font-size:13px; margin-top:3px; }
.portal-action-arrow { color:#72e1ca; margin-left:auto; font-size:24px; }
.portal-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.portal-section-heading h2 { margin:0; }
.portal-count { color:#acbed0; font-size:12px; }
.portal-empty-state { border:1px dashed #365268; border-radius:9px; padding:30px 22px; background:#081727; }
.portal-empty-state strong { display:block; font-size:16px; color:#e4edf5; }
.portal-empty-state p { margin:7px 0 0; max-width:680px; font-size:14px; color:#acbed0; }
.portal-preview-label { color:#acbed0; font-size:12px; margin:0 0 14px; }
.portal-status-key { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:18px; }
.portal-status-key>span:first-child { color:#acbed0; font-size:12px; margin-right:4px; }
.status-pill { gap:6px; padding:5px 10px; text-transform:capitalize; }
.status-pill::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:0 0 6px; }
.status-active { background:#123a2d; color:#a9f4cd; }
.status-revoked,.status-released { background:#421e2b; color:#ffc2c9; }
.status-expired,.status-suspended { background:#3b3017; color:#f2d49b; }
.status-pending,.status-unknown { background:#233446; color:#cfdeec; }
.stat-card strong { color:#f3f7fb; }
.portal-login :disabled { opacity:.7; cursor:not-allowed; }
.portal-login button:disabled { background:#315b59; border-color:#527e79; color:#d4e5e0; }
@media(max-width:700px) {
  .portal-quick-actions { grid-template-columns:1fr; gap:12px; }
  .portal-account-heading { padding:22px; align-items:flex-start; }
  .portal-account-mark { width:52px; height:52px; flex-basis:52px; border-radius:12px; }
  .portal-account-mark svg { width:32px; height:32px; }
  .portal-action-card { min-height:100px; padding:19px; }
  .portal-empty-state { padding:22px 18px; }
}
@media(prefers-reduced-motion:reduce) { .portal-action-card { transition:none; } }
.portal-login h2 { font-size:clamp(26px,3vw,34px); letter-spacing:-.035em; margin-bottom:6px; }

@media(max-width:700px){
  input,select,textarea{font-size:16px}
  .portal-return a{font-size:14px;min-height:44px}
  .portal-login>p:not(.portal-eyebrow),.portal-empty-state p{font-size:16px}
  .portal-help{font-size:14px!important}
  .portal-action-card strong+span,.portal-count{font-size:14px}
  .portal-action-card{gap:12px}
  .portal-action-card>span:nth-child(2){min-width:0}
}
@media(max-width:400px){
  .portal-account-mark{display:none}
  .portal-action-card{padding:16px}
  .portal-action-icon{width:36px;height:36px;flex-basis:36px}
}

.portal-table-hint{display:none}@media(max-width:700px){.portal-table-hint{display:block;color:#acbed0;font-size:14px;margin:0 0 12px}}
