/* User-requested appearance layer: optional dark mode and sidebar.
   AURORA vendor stylesheets and original logo remain unchanged. */
html[data-theme=light] { color-scheme:light; }
html[data-theme=dark] { color-scheme:dark; }
.portal { --portal-bg:#f7f7f7; --portal-surface:#ffffff; --portal-text:#222222; --portal-muted:#676d71; --portal-border:#e1e1e1; --portal-hover:#f0f4f8; --portal-selected:#e9f0f8; --portal-link:#003f8a; --portal-accent:#80bc00; }
[data-theme=dark] .portal { --portal-bg:#111820; --portal-surface:#19232e; --portal-text:#edf2f7; --portal-muted:#a5b4c2; --portal-border:#334351; --portal-hover:#243342; --portal-selected:#243c52; --portal-link:#93c6ff; --portal-accent:#a3d844; }
body.portal { background:var(--portal-bg); color:var(--portal-text); font-size:18px; line-height:1.6; }
.portal #wrapper,.portal #main { background:var(--portal-bg); color:var(--portal-text); }
.portal-header { background:var(--portal-surface); border-bottom:1px solid var(--portal-border); }
.portal-product { color:var(--portal-text); font-size:18px; font-weight:500; }
#account-nav { font-size:14px; }
.portal-account-name { color:var(--portal-text); font-weight:600; }
.portal #account-nav a { color:var(--portal-muted); text-decoration:none; }
.portal #account-nav a:hover { color:var(--portal-link); }
.portal-sidebar { background:var(--portal-surface); border-right:1px solid var(--portal-border); }
.portal-sidebar-top,.portal-nav-caption { color:var(--portal-muted); font-size:10px; font-weight:600; letter-spacing:1.6px; }
.portal .portal-nav-link { color:var(--portal-muted); border-radius:7px; font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; }
.portal .portal-nav-link:hover { background:var(--portal-hover); color:var(--portal-link); }
.portal .portal-nav-link[aria-current=page] { color:var(--portal-link); background:var(--portal-selected); font-weight:600; }
.portal-nav-marker { background:var(--portal-accent); border-radius:50%; }
.portal-sidebar-bottom { color:var(--portal-muted); font-size:11px; }
.portal-context { color:var(--portal-muted); font-size:12px; }
.portal-context>span:first-child { font-size:10px; letter-spacing:1.6px; }
.portal-context>span:last-child { color:var(--portal-text); }
.portal h1,.portal h2,.portal h3,.portal h4,.portal .h2,.portal .h3,.portal .h4 { color:var(--portal-text); }
.portal #app h1.h2 { font-size:clamp(24px,2.5vw,38px)!important; line-height:1.2; overflow-wrap:break-word; hyphens:auto; }
.portal h2.h3 { font-size:24px; line-height:1.3; }
.portal .ce_headline_extended p { color:var(--portal-muted); }
.portal .portal-grid>section,.portal .portal-board>section { background:var(--portal-surface); border:1px solid var(--portal-border); border-radius:10px; padding:26px; }
.portal .portal-grid.autogrid_row,.portal .portal-board.autogrid_row { margin-left:0; margin-right:0; }
.portal .portal-grid>section,.portal .portal-board>section { width:auto; float:none; margin-bottom:0; }
.portal .portal-table { background:var(--portal-surface); border:1px solid var(--portal-border); border-radius:8px; }
.portal .portal-table table,.portal .portal-table td,.portal .portal-table th { color:var(--portal-text); background:transparent; border-color:var(--portal-border); }
.portal .portal-table th { background:var(--portal-hover); }
.portal .portal-table tr:hover td { background:var(--portal-hover); }
.portal-icon-button,.portal-theme-button { color:var(--portal-muted); background:transparent; border:1px solid var(--portal-border); border-radius:7px; font:inherit; font-size:12px; line-height:1; }
.portal-icon-button:hover,.portal-theme-button:hover { color:var(--portal-link); background:var(--portal-hover); }
.portal-theme-track { background:var(--portal-border); border-radius:12px; }
.portal-theme-track span { background:var(--portal-surface); border-radius:50%; }
[data-theme=dark] .portal-theme-track { background:#80bc00; }
[data-theme=dark] .portal-theme-track span { background:#ffffff; }
.portal :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--portal-link); outline-offset:3px; }
.portal-skip { background:var(--portal-surface); color:var(--portal-link); border:1px solid var(--portal-border); border-radius:6px; }
.portal #menu-backdrop { background:rgba(0,0,0,.5); }
.portal-footer-image { border-radius:10px; }
.portal-footer-caption { color:var(--portal-muted); font-size:12px; }
.portal-footer-caption>span { color:var(--portal-link); font-weight:700; letter-spacing:2px; }
.portal .portal-footer-caption>a { color:var(--portal-muted); text-decoration:none; }
.portal .portal-footer-caption>a:hover { color:var(--portal-link); }
.portal-logo .portal-logo-dark { display:none; }
[data-theme=dark] .portal-logo .portal-logo-light { display:none; }
[data-theme=dark] .portal-logo .portal-logo-dark { display:block; }
[data-theme=dark] .portal :is(a, .ce_text a) { color:var(--portal-link); }
[data-theme=dark] .portal :is(p,label,legend,summary,pre,li) { color:var(--portal-text); }
[data-theme=dark] .portal :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { color:var(--portal-text); background:var(--portal-bg); border-color:var(--portal-border); box-shadow:none; }
[data-theme=dark] .portal :is(input,textarea)::placeholder { color:var(--portal-muted); opacity:1; }
[data-theme=dark] .portal .widget input:is([type=checkbox],[type=radio]) { accent-color:var(--portal-accent); }
[data-theme=dark] .portal :is(button.submit,.ce_hyperlink a.hyperlink_txt) { background:#003f8a; border-color:#003f8a; color:#ffffff; }
[data-theme=dark] .portal :is(button.submit,.ce_hyperlink a.hyperlink_txt):hover { background:#185ba6; border-color:#185ba6; color:#ffffff; }
[data-theme=dark] .portal .ce_hyperlink a.outline { color:var(--portal-link); background:transparent; border-color:var(--portal-link); }
[data-theme=dark] .portal fieldset { border-color:var(--portal-border); }
[data-theme=dark] .portal .color-accent { color:var(--portal-accent)!important; }
@media(prefers-reduced-motion:no-preference) { .portal-theme-track span { transition:transform .15s ease; } }
