/* Public partner access follows the corporate account palette and card treatment.
   The standalone portal also respects its saved light/dark preference. */
body.partner-access-open{overflow:hidden}
.pa-surface{--pa-muted:#c3b2d6;--pa-pink:#ff2e92;--pa-orange:#f26c1d;color:#fff;font-family:Inter,Arial,sans-serif;color-scheme:dark}
dialog.pa-dialog{width:min(960px,calc(100% - 36px));max-height:calc(100dvh - 36px);padding:48px 26px 26px;margin:auto;border:1px solid #ffffff1f;border-radius:24px;background:radial-gradient(ellipse at 90% 0%,#ff5a2822,transparent 65%),linear-gradient(180deg,#241335,#160a22);box-shadow:0 35px 100px #0009;overflow-y:auto;overscroll-behavior:contain}
dialog.pa-dialog:not([open]){display:none!important}
.pa-dialog::backdrop{background:#0b0417bd;backdrop-filter:blur(8px)}
.pa-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.pa-surface .pa-card{background:linear-gradient(165deg,#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:20px;padding:28px 26px;min-width:0}
.pa-surface .pa-eyebrow{font-size:.875rem;font-weight:750;color:#ff63ad;margin:0 0 9px;letter-spacing:.04em;line-height:1.5}
.pa-surface .pa-card h2{font-family:Montserrat,Inter,sans-serif;font-size:clamp(1.65rem,3vw,2.125rem);font-weight:800;line-height:1.2;letter-spacing:-.035em;margin:0 0 13px;color:#fff}
.pa-surface .pa-lead{color:var(--pa-muted);font-size:1rem;line-height:1.6;margin:0 0 20px}
.pa-surface form.pa-form{display:flex;flex-direction:column;gap:0;margin:0}
.pa-form label{font-size:.875rem;font-weight:700;color:#ffffffd9;margin:14px 0 7px;line-height:1.5}
.pa-form input{width:100%;min-width:0;min-height:49px;padding:13px 14px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff0d;color:#fff;font:inherit;font-size:1rem;outline:none;box-sizing:border-box}
.pa-form input:focus{border-color:var(--pa-pink);box-shadow:0 0 0 3px #ff2e921c}
.pa-surface .pa-primary{display:flex;justify-content:center;align-items:center;min-height:50px;padding:14px 20px;border:0;border-radius:12px;background:var(--pa-orange);color:#180b0a;font:inherit;font-size:1rem;font-weight:800;margin:20px 0 14px;cursor:pointer;line-height:1.45;box-shadow:0 12px 30px -10px #f26c1d99}
.pa-surface .pa-primary:hover{background:#ff8b42}.pa-surface .pa-primary:disabled{opacity:.65;cursor:wait}
.pa-surface .pa-forgot,.pa-surface .pa-full{color:#ff8cc4;font-size:.875rem;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.pa-surface .pa-full{display:inline-block;margin-top:23px;color:var(--pa-muted)}
.pa-surface .pa-error{color:#ff9aac;font-size:.875rem;line-height:1.5;margin:12px 0 0}.pa-error[hidden]{display:none!important}
.pa-surface .pa-close{position:absolute;right:15px;top:8px;display:grid;place-items:center;width:38px;height:38px;border:0;background:transparent;color:#e6dcf0;font:inherit;font-size:2rem;cursor:pointer;border-radius:50%}
.pa-surface .pa-close:hover{background:#ffffff14}
.pa-surface .pa-banner{background:radial-gradient(ellipse at 100% 0%,#ff87381f,transparent 70%),linear-gradient(150deg,#ff2e9224,#ffffff03);border:1px solid #ff63ad45;border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}
.pa-surface .pa-banner-tag{font-size:.8125rem;font-weight:700;color:#ffb48a;letter-spacing:.03em;margin-bottom:23px;line-height:1.5}
.pa-surface .pa-banner h3{font-family:Montserrat,Inter,sans-serif;font-size:clamp(1.6rem,2.6vw,2rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 18px;color:#fff;font-weight:800}
.pa-surface .pa-banner>p{color:#dfd0eb;font-size:1rem;line-height:1.65;margin:0}
.pa-surface .pa-banner ul{display:grid;gap:13px;margin:24px 0 30px;padding:0;list-style:none}
.pa-surface .pa-banner li{display:flex;gap:10px;align-items:start;color:#e7dced;font-size:.9375rem;line-height:1.5}.pa-banner li>span{color:#ffb48a}
.pa-surface .pa-more{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:50px;margin-top:auto;padding:14px 18px;background:#ffffff0a;border:1px solid #ff63ad88;border-radius:12px;color:#fff;font-size:1rem;font-weight:750;text-decoration:none;line-height:1.5;box-sizing:border-box}
.pa-surface .pa-more:hover{background:#ff2e9224;border-color:#ff63ad}
.pa-surface .pa-banner .pa-banner-note{font-size:.8125rem;line-height:1.6;color:var(--pa-muted);margin-top:17px}
.pa-surface a:focus-visible,.pa-surface button:focus-visible{outline:3px solid #ff8cc4;outline-offset:3px}

/* Standalone PWA login only: no authenticated pages, roles or workflows affected. */
body.login-page{background:var(--page-background);color:var(--ink);min-height:100dvh}
body.login-page .topbar{background:color-mix(in srgb,var(--bg) 90%,transparent);border-color:var(--line);color:var(--ink)}
body.login-page .brand b{color:#f26c1d}
body.login-page .lang-seg{background:var(--bg2);border:1px solid var(--line)}.login-page .lang-seg .seg-btn{color:var(--soft)}.login-page .lang-seg .seg-btn.on{background:var(--active-bg);color:var(--active)}
body.login-page #view{max-width:1100px;margin-inline:auto;padding:0 24px 45px}
body.login-page .auth-wrap.auth-login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:26px;width:100%;max-width:1000px;padding:0;margin:55px auto;color:var(--ink);color-scheme:inherit}
body.login-page .auth-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px 28px;box-shadow:var(--shadow)}
body.login-page .auth-title{font-size:clamp(1.65rem,3vw,2.125rem);font-weight:800;letter-spacing:-.035em;line-height:1.2;color:var(--ink)}
body.login-page .auth-lead{font-size:1rem;line-height:1.6;color:var(--soft)}
body.login-page .field-label{color:var(--ink);font-size:.875rem}.login-page .inp{background:var(--bg2);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:1rem;padding:13px 14px}.login-page .inp:focus{border-color:var(--active)}
body.login-page .auth-card .btn.primary{border-radius:12px;background:#f26c1d;color:#180b0a;min-height:50px;box-shadow:0 12px 30px -10px #f26c1d99;font-weight:800}
body.login-page .auth-links{gap:18px}.login-page .auth-links a{color:var(--active)}.login-page .form-err{color:var(--err)}
body.login-page .pa-banner{background-color:#21132f;color-scheme:dark}
@media(max-width:760px){.pa-grid{grid-template-columns:1fr}.pa-dialog .pa-banner{padding:26px}.pa-dialog .pa-card{padding:25px 23px}body.login-page .auth-wrap.auth-login-layout{grid-template-columns:1fr;max-width:520px;margin:28px auto}body.login-page #view{padding-inline:18px}}
@media(max-width:480px){dialog.pa-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:47px 14px 14px;border-radius:20px}.pa-grid{gap:16px}.pa-dialog .pa-card,.pa-dialog .pa-banner{padding:23px 20px}body.login-page .auth-card,.login-page .pa-banner{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){.pa-surface *{transition:none!important;scroll-behavior:auto!important}}
