/*
 * DSE customer portal (features "portal" and "codes", 2026-10-14): task-first home, the open-request sign-in
 * notice, and the email-code sign-in pages. Editorial tokens shared with the staff side.
 */
html:is(#dse-po#dse-po#dse-po, *) body {
    --po-ink: #17181b; --po-ink-2: #3a3d43; --po-muted: #62666e; --po-soft: #8a8d94; --po-line: #dedfe3; --po-line-strong: #c9cbd0;
    --po-canvas: #f5f5f7; --po-navy: #101d2e; --po-navy-hover: #284566; --po-link: #235f99;
    --po-font: "DSE Inter", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Home ---------- */
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2 { max-width: 1040px; margin: 0 auto; padding: 36px 20px 64px; font-family: var(--po-font); color: var(--po-ink); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-hero { padding: 44px 40px 38px; background: var(--po-navy); border-radius: 24px; color: #fff; text-align: center; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-kicker { margin: 0 0 8px !important; color: #a9b4c2 !important; font: 550 14px/1.3 var(--po-font) !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-hero h1 { margin: 0 0 22px !important; padding: 0 !important; color: #fff !important; font: 650 clamp(30px, 4.4vw, 46px)/1.08 var(--po-font) !important; letter-spacing: -.03em !important; background: none !important; border: 0 !important; text-align: center !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search { display: flex; gap: 8px; max-width: 680px; margin: 0 auto 18px; padding: 6px; background: #fff; border-radius: 16px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search input {
    flex: 1 1 auto; min-width: 0; height: 48px !important; padding: 0 14px !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: var(--po-ink) !important; font: 400 16px/1 var(--po-font) !important; outline: none !important;
}
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search button { flex: 0 0 auto; height: 48px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--po-navy); color: #fff; font: 600 15px/1 var(--po-font); cursor: pointer; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search button:hover { background: var(--po-navy-hover); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search:focus-within { box-shadow: 0 0 0 3px rgba(169, 180, 194, .55); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-home2-primary, .dse-home2-secondary) {
    display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 22px; border-radius: 999px;
    font: 600 15px/1 var(--po-font); text-decoration: none !important;
}
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-primary { background: #fff; color: var(--po-navy) !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-hero .dse-home2-secondary { border: 1px solid rgba(255, 255, 255, .4); color: #fff !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-hero .dse-home2-secondary:hover { background: rgba(255, 255, 255, .08); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: 18px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-card { padding: 20px 22px; background: #fff; border: 1px solid var(--po-line); border-radius: 18px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-card h2 { margin: 0 0 10px !important; padding: 0 !important; color: var(--po-ink) !important; font: 650 18px/1.3 var(--po-font) !important; letter-spacing: -.01em !important; background: none !important; border: 0 !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-card > p { margin: 0 0 14px !important; color: var(--po-muted) !important; font: 400 15px/1.55 var(--po-font) !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-list { list-style: none; margin: 0; padding: 0; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-list li + li { border-top: 1px solid #ececef; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 4px; color: var(--po-ink) !important; text-decoration: none !important; border-radius: 10px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-list a:hover { background: var(--po-canvas); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-item { display: grid; gap: 3px; min-width: 0; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 15px/1.3 var(--po-font); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-answers .dse-home2-item strong { white-space: normal; font-weight: 550; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-item small { color: var(--po-muted); font: 400 13px/1.3 var(--po-font); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-status { flex: 0 0 auto; padding: 4px 10px; border-radius: 999px; font: 600 12.5px/1 var(--po-font); font-style: normal; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-status.is-open { background: #eef3f9; color: var(--po-navy); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-status.is-closed { background: #e6f4ec; color: #1f7a4d; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-card .dse-home2-secondary { border: 1px solid var(--po-line-strong); color: var(--po-ink) !important; height: 42px; }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-home2-link, .dse-home2-more) { color: var(--po-link) !important; font: 600 14px/1.3 var(--po-font); text-decoration: none !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-more { display: inline-block; margin-top: 12px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-empty { color: var(--po-muted) !important; font: 400 15px/1.55 var(--po-font) !important; }
@media (max-width: 640px) {
    html:is(#dse-po#dse-po#dse-po, *) body .dse-home2 { padding: 18px 14px 48px; }
    html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-hero { padding: 30px 18px 26px; border-radius: 20px; }
    html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search { flex-direction: column; }
    html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-search button { width: 100%; }
    html:is(#dse-po#dse-po#dse-po, *) body .dse-home2-actions > a { flex: 1 1 100%; }
}

/* ---------- Sign-in page additions ---------- */
html:is(#dse-po#dse-po#dse-po, *) body .dse-login-code {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 14px 0 0; font: 400 14px/1.5 var(--po-font);
}
html:is(#dse-po#dse-po#dse-po, *) body .dse-login-code span { color: inherit; opacity: .8; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-login-code a { font-weight: 650 !important; }

/* ---------- Email-code pages ---------- */
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-wrap { max-width: 520px; margin: 0 auto; padding: 40px 18px 64px; font-family: var(--po-font); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-card { padding: 30px 30px 26px; background: #fff; border: 1px solid var(--po-line); border-radius: 22px; color: var(--po-ink); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-kicker { color: var(--po-muted); font: 550 13px/1 var(--po-font); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-card h1 { margin: 8px 0 10px !important; padding: 0 !important; color: var(--po-ink) !important; font: 650 28px/1.15 var(--po-font) !important; letter-spacing: -.02em !important; background: none !important; border: 0 !important; text-align: left !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-lead { margin: 0 0 18px !important; color: var(--po-ink-2) !important; font: 400 15.5px/1.55 var(--po-font) !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-error { margin: 0 0 14px; padding: 11px 14px; border: 1px solid #f5c6c0; border-radius: 12px; background: #fdecea; color: #b42318; font: 550 14px/1.45 var(--po-font); }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-form { display: grid; gap: 8px; margin: 0 0 16px; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-form label { color: var(--po-ink) !important; font: 600 14px/1.3 var(--po-font) !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-form input {
    width: 100% !important; height: 50px !important; padding: 0 14px !important; border: 1px solid var(--po-line-strong) !important; border-radius: 12px !important;
    background: #fff !important; color: var(--po-ink) !important; font: 400 16px/1 var(--po-font) !important; box-shadow: none !important; box-sizing: border-box;
}
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-form input:focus { border-color: #387ac0 !important; box-shadow: 0 0 0 3px rgba(56, 122, 192, .18) !important; outline: none !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-form .dse-code-digits { font: 650 26px/1 var(--po-font) !important; letter-spacing: .3em !important; text-align: center; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-primary { height: 50px; margin-top: 6px; border: 0; border-radius: 999px; background: var(--po-navy); color: #fff; font: 600 16px/1 var(--po-font); cursor: pointer; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-primary:hover { background: var(--po-navy-hover); }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-code-alt, .dse-code-note) { margin: 8px 0 0 !important; color: var(--po-muted) !important; font: 400 14px/1.5 var(--po-font) !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-card a { color: var(--po-link) !important; font-weight: 600; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-code-card .dse-turnstile-wrap { display: flex; justify-content: center; margin: 8px 0 2px; }

/* ---------- Uniform pass (2026-10-15): remaining customer pages ---------- */
/* The generic page banner added by the older client shell repeats the page's own heading on these pages. */
html:is(#dse-po#dse-po#dse-po, *) body:has(:is(.dse-code-wrap, .dse-home2)) .dse-client-360-context { display: none !important; }
/* One typeface everywhere */
html:is(#dse-po#dse-po#dse-po, *) body.dse-client-portal :is(h1, h2, h3, h4, p, span, strong, small, label, a, li, td, th, button, input, select, textarea, legend, summary):not(i):not([class*="icon"]) { font-family: var(--po-font) !important; }
/* Account sign-up and profile: flat, editorial */
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-profile-hero, .dse-profile-workspace-card, .dse-profile-workspace-avatar, .dse-profile-progress, .dse-profile-helper) { background-image: none !important; box-shadow: none !important; }
html:is(#dse-po#dse-po#dse-po, *) body .dse-profile-hero { background-color: var(--po-navy) !important; border: 0 !important; border-radius: 22px !important; }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-profile-workspace-card, .dse-profile-progress, .dse-profile-helper) { background-color: #fff !important; border: 1px solid var(--po-line) !important; border-radius: 16px !important; color: var(--po-ink) !important; }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-profile-workspace-card, .dse-profile-progress, .dse-profile-helper) :is(h2, h3, strong, span:not(.dse-profile-workspace-avatar):not(.dse-profile-progress-number), p, small, li) { color: inherit !important; }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-profile-workspace-card, .dse-profile-helper) p { color: var(--po-muted) !important; }
html:is(#dse-po#dse-po#dse-po, *) body :is(.dse-profile-workspace-avatar, .dse-profile-progress-number) { background: var(--po-navy) !important; color: #fff !important; border: 0 !important; }
