@import url('/brand-foundations.css');
@import url('/fonts/fonts.css');
/* Portal-only brand layer. No public-page selectors, readiness states, or workflows. */
html[data-bb-surface=portal]{--font-sans:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--page:#f5f1e9;--side:#fcf8f0;--card:#fffdf8;--card2:#eeeae2;--field:#fffdf8;--ink:#173244;--mut:#596874;--line:rgba(23,50,68,.11);--line2:#c9d0d2;--accent:#25495f;--accent-solid:#25495f;--accent-d:#173244;--accent2:#96513b;--control-border:#8d9da6;--shadow:0 4px 14px rgba(23,50,68,.04);--workspace-copper:#96513b;--workspace-cream:#fffaf0}
html[data-bb-surface=portal][data-theme=dark]{--page:#15242e;--side:#182a35;--card:#223640;--card2:#2c424d;--field:#182e3b;--ink:#fbf5ea;--mut:#bfccd3;--line:rgba(237,231,216,.11);--line2:#4a616d;--accent:#c3d9e6;--accent-solid:#25495f;--accent-d:#d2e3ee;--accent2:#dfae94;--control-border:#78909c;--shadow:0 6px 20px rgba(5,15,22,.12)}
html[data-bb-surface=portal] body{font-family:var(--font-sans);letter-spacing:-.01em}
html[data-bb-surface=portal] #app button{font-family:var(--font-sans)}
html[data-bb-surface=portal] #bg{background:var(--page)}
html[data-bb-surface=portal] #bg:before,html[data-bb-surface=portal] #bg:after{display:none}
html[data-bb-surface=portal] #side{background:var(--side);border-right:1px solid var(--line2);box-shadow:none}
html[data-bb-surface=portal] .topbar{background:var(--page);backdrop-filter:none;border-bottom:1px solid var(--line);padding-top:23px;padding-bottom:23px}
html[data-bb-surface=portal] #ptitle{font-family:var(--font-sans);font-size:clamp(27px,2.7vw,34px);line-height:1.15;font-weight:800;letter-spacing:-.035em}
html[data-bb-surface=portal] #view :is(h1,h2,h3,h4){font-weight:800}
html[data-bb-surface=portal] #app .btn{font-weight:800}
html[data-bb-surface=portal] #psub{font-size:14px;color:var(--mut);line-height:1.5;margin-top:7px}
html[data-bb-surface=portal] #app .btn:not(.sec):not(.ghost):not(.danger){background:#25495f;border-color:#25495f;color:#fff;box-shadow:none}
html[data-bb-surface=portal] #app .btn:not(.sec):not(.ghost):not(.danger):hover{background:#173244;border-color:#173244}
html[data-bb-surface=portal] #app .btn.sec,html[data-bb-surface=portal] #app .btn.ghost{color:var(--ink);background:transparent;border-color:var(--control-border);box-shadow:none}
html[data-bb-surface=portal] #app .btn,html[data-bb-surface=portal] #app .iconbtn{border-radius:9px;min-height:44px;font-family:var(--font-sans)}
html[data-bb-surface=portal] #app .card,html[data-bb-surface=portal] #app .panel{border-radius:15px;box-shadow:var(--shadow)}
html[data-bb-surface=portal] #app :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent2);outline-offset:4px}
html[data-bb-surface=portal] #app .ma-next .ma-button:focus-visible{outline-color:#fffaf0}
html[data-bb-surface=portal] #app input,html[data-bb-surface=portal] #app select,html[data-bb-surface=portal] #app textarea{font-family:var(--font-sans);border-radius:9px}
@media(max-width:760px){html[data-bb-surface=portal] .topbar{padding-top:18px;padding-bottom:18px}html[data-bb-surface=portal] #ptitle{font-size:27px}html[data-bb-surface=portal] #psub{font-size:13px}}
@media(forced-colors:active){html[data-bb-surface=portal] #side,html[data-bb-surface=portal] .topbar{border-color:CanvasText}html[data-bb-surface=portal] #app .btn{border-color:ButtonText}}

/* Shared controls also reach sign-in and body-mounted dialogs, not only #app.
   No visibility, pointer, disabled, validation, or operational status overrides. */
html[data-bb-surface=portal]{--font-sans:var(--lw-font)}
html[data-bb-surface=portal] :is(.tmodal,.modal,.lcard,.set-section) :is(h1,h2,h3,h4){font-family:var(--lw-font);font-weight:var(--lw-heading-weight)}
html[data-bb-surface=portal] :is(.tmodal,.modal,#login) :is(button,input,select,textarea){font-family:var(--lw-font)}
html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn{border-radius:var(--lw-control-radius);min-height:var(--lw-control-height);font-weight:var(--lw-control-weight);box-shadow:none}
html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn:not(.sec):not(.ghost):not(.danger){background:var(--lw-navy);border-color:var(--lw-navy);color:#fff}
html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn.sec,
html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn.ghost{background:transparent;border-color:var(--control-border);color:var(--ink)}
html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn:focus-visible{outline:3px solid var(--accent2);outline-offset:4px}
html[data-bb-surface=portal] #app :is(.card,.panel,.set-section){border-radius:var(--lw-card-radius)}
html[data-bb-surface=portal] #app :is(.card,.panel,.set-section)>:is(h2,h3){line-height:1.3;letter-spacing:-.025em}
@media(forced-colors:active){html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn,html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn:not(.sec):not(.ghost):not(.danger),html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn.sec,html[data-bb-surface=portal] :is(.tmodal,.modal,#login) .btn.ghost{background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none}}
/* Sign-in and setup paint immediately (2026-10-09): no entrance, sheen or page-fade motion.
   Field focus feedback and error notices are unchanged. */
@view-transition{navigation:none}
html[data-bb-surface=portal] body :is(#login .lcard,#login .lcard>*,#login .auth-heading h1,#obWrap,#obWrap>.card,#obWrap>.card>*,#obWrap #ob_title){animation:none}
html[data-bb-surface=portal] body #login .auth-submit::after{content:none}
html[data-bb-surface=portal] body #login .auth-submit:hover{box-shadow:none}
html[data-bb-surface=portal] body #login :is(.auth-visibility,.auth-action,.auth-submit):focus-visible{outline:3px solid #96513b;outline-offset:3px}
