/* User-requested appearance layer: optional dark mode and sidebar.
   AURORA vendor stylesheets and original logo remain unchanged. */
.board-summary { color:var(--portal-muted); font-size:12px; }
.board-summary span { border-color:var(--portal-accent); }
.portal #app .board-count { font-size:11px; }
.board-column { background:var(--portal-hover); border-color:var(--portal-border); transition:border-color .2s ease; }
.board-column-mark { background:var(--portal-accent); }
.board-column-heading p,.board-column-heading small { color:var(--portal-muted); }
.board-column-heading small { font-size:10px; }
.portal .board-add { color:var(--portal-link); background:var(--portal-surface); border-color:var(--portal-border); font-size:12px; text-decoration:none; transition:border-color .2s ease; }
.portal .board-add:hover { border-color:var(--portal-accent); }
.board-card { background:var(--portal-surface); border-color:var(--portal-border); transition:transform .2s ease,border-color .2s ease; }
.board-card:hover { border-color:var(--portal-muted); }
.board-author strong { font-size:11px; font-weight:600; }
.board-author time { color:var(--portal-muted); font-size:9px; line-height:1.6; }
.board-author .portal-avatar { font-size:10px; }
.portal .board-edit { color:var(--portal-muted); font-size:9px; text-decoration:none; }
.portal .board-edit:hover { color:var(--portal-link); }
.portal .board-card-copy h3>a { color:var(--portal-text); text-decoration:none; }
.portal .board-card-copy h3>a:hover { color:var(--portal-link); }
.portal .board-link { color:var(--portal-link); background:var(--portal-hover); border-color:var(--portal-border); text-decoration:none; font-size:11px; }
.board-image,.board-media video { background:var(--portal-hover); }
.board-file-caption,.board-document small { font-size:10px; color:var(--portal-muted); }
.portal .board-document { color:var(--portal-link); border-color:var(--portal-border); text-decoration:none; font-size:12px; }
.portal .board-more-media { font-size:11px; font-weight:600; }
.board-card-footer { border-color:var(--portal-border); }
.portal .board-reactions button { background:var(--portal-hover); border-color:var(--portal-border); color:var(--portal-text); font:inherit; font-size:11px; line-height:1.4; }
.portal .board-reactions button[aria-pressed=true] { border-color:var(--portal-accent); }
.portal .board-reactions button:hover:not(:disabled) { border-color:var(--portal-accent); }
.portal .board-reactions button:disabled { cursor:default; opacity:.7; }
.portal .board-comment-link { color:var(--portal-link); font-size:10px; text-decoration:none; }
.board-empty { color:var(--portal-muted); border-color:var(--portal-border); font-size:12px; }
.board-empty svg { color:var(--portal-link); }
.board-discussion { border-color:var(--portal-border); background:var(--portal-surface); }
.board-comment { border-color:var(--portal-border); }
.board-comment header { font-size:12px; }
.board-comment time { font-size:10px; color:var(--portal-muted); }
.portal .board-comment summary { font-size:11px; color:var(--portal-link); }
.portal .board-comment textarea,.portal .board-comment-form textarea { background:var(--portal-surface); color:var(--portal-text); border-color:var(--portal-border); font:inherit; font-size:13px; }
.board-comment-form label { font-size:12px; }
.board-attachment-fields,.board-selected-file { border-color:var(--portal-border); }
.board-upload-zone { border-color:var(--portal-border); background:var(--portal-hover); color:var(--portal-link); }
.board-upload-zone:focus-within { outline:2px solid var(--portal-accent); outline-offset:2px; }
.board-upload-zone span,.board-selected-file small { color:var(--portal-muted); font-size:10px; }
.board-selected-file strong { font-size:12px; font-weight:500; }
.portal .board-text-button { background:transparent; color:var(--portal-link); font:inherit; font-size:11px; }
.portal .board-delete { color:#cb1d1d; }
.board-upload-progress { font-size:12px; }
.board-upload-progress progress { accent-color:var(--portal-accent); }
.board-drop-target { border-color:var(--portal-accent); outline:2px solid var(--portal-accent); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .board-card,.board-column,.portal .board-add { transition:none; } }
.portal-directory-card { background:var(--portal-surface); border-color:var(--portal-border); }
.portal #app .portal-directory-person h3 { font-weight:600; }
.portal-directory-symbol { background:var(--portal-hover); color:var(--portal-link); }
.portal-directory-person p,.portal-directory-description,.portal-directory-fact>svg,.portal-directory-fact>div>span:first-child { color:var(--portal-muted); }
.portal-directory-fact :is(strong,div>span:not(:first-child)) { color:var(--portal-text); font-weight:400; }
.portal-directory-fact,.portal-directory-footer,.portal-editor-guide>p { border-color:var(--portal-border); }
.portal-directory-footer { background:var(--portal-hover); }
.portal-directory-footer>.portal-muted { font-size:11px; }
.portal .portal-directory-more summary { color:var(--portal-muted); }
.portal .portal-directory-more>a { color:#cb1d1d; }
.portal .portal-directory-related summary,.portal .portal-editor-back { color:var(--portal-link); }
.portal-directory-empty { border-color:var(--portal-border); color:var(--portal-muted); }
.portal-editor-guide { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-editor-guide>svg { color:var(--portal-link); }
.portal-editor-guide li,.portal-editor-guide>p { color:var(--portal-muted); }
.portal-editor-guide strong { color:var(--portal-text); }
.portal #app .portal-editor-guide>p { font-size:11px; }
.portal .portal-choice-toolbar input { background:transparent; border:0; box-shadow:none; }
.portal-choice-list>label { font-size:12px; line-height:1.7; }
.portal-choice-list>label:has(input:checked) { border-color:var(--portal-accent); }
.portal-choice-none { color:var(--portal-muted); }
.portal-override-group { background:var(--portal-hover); border-color:var(--portal-border); }
.portal .portal-directory-toolbar .portal-search input::placeholder,.portal .portal-choice-toolbar .portal-search input::placeholder { color:var(--portal-muted)!important; opacity:1; }
.portal-login { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-login-story { background:#003f8a; }
.portal .portal-login-caption :is(h2,p,.portal-kicker) { color:#ffffff; }
.portal #app .portal-login-caption h2 { font-size:clamp(28px,3vw,42px); line-height:1.2; margin:16px 0; }
.portal #app .portal-login-help { font-size:12px; color:var(--portal-muted); }
.portal-login-content>p,.portal-admin-intro p,.portal-admin-tile p,.portal-form-section p { color:var(--portal-muted); }
.portal .portal-password-toggle { background:var(--portal-hover); color:var(--portal-link); }
.portal .portal-password-toggle:hover { background:var(--portal-selected); }
.portal .portal-admin-tile { color:var(--portal-text); text-decoration:none; background:var(--portal-surface); border-color:var(--portal-border); }
.portal .portal-admin-tile:hover { border-color:var(--portal-accent); }
.portal .portal-admin-tile h2 { color:var(--portal-text); }
.portal-admin-icon,.portal-admin-emblem { background:var(--portal-hover); color:var(--portal-link); border-color:var(--portal-border); }
.portal-tile-arrow { color:var(--portal-link); font-size:22px; }
.portal .portal-row-actions a { border-color:var(--portal-border); color:var(--portal-link); text-decoration:none; font-size:12px; font-weight:500; }
.portal .portal-row-actions a:hover { background:var(--portal-hover); border-color:var(--portal-link); }
.portal .portal-row-actions a[href$="/delete"] { color:#cb1d1d; }
.portal-role-chip,.portal-state-chip,.portal-category-label { background:var(--portal-hover); border-color:var(--portal-border); color:var(--portal-muted); font-size:10px; line-height:1.5; }
.portal .portal-state-active { color:var(--portal-text); border-left:3px solid #80bc00; }
.portal-pending-password { color:var(--portal-muted); font-size:10px; }
.portal-form-section,.portal-admin-form fieldset,.portal-admin-form .portal-checkboxes label { border-color:var(--portal-border); }
.portal-admin-form .portal-checkboxes label { background:var(--portal-hover); }
.portal .portal-admin-form input[type=checkbox] { accent-color:var(--portal-accent); }
.portal .portal-table { background:var(--portal-surface); border:1px solid var(--portal-border); border-radius:10px; }
.portal .portal-table thead th { background:var(--portal-hover); font-size:11px; color:var(--portal-muted); font-weight:600; }
.portal .portal-table tbody tr:hover { background:var(--portal-hover); }
.portal .portal-category-label { color:var(--portal-link); }
.portal-roster-group-heading { border-color:var(--portal-border); }
.portal .portal-admin-form :is(input,select,textarea):focus { border-color:var(--portal-link); outline:2px solid var(--portal-accent); outline-offset:2px; }
.portal-list-empty { padding:24px; border:1px dashed var(--portal-border); border-radius:10px; color:var(--portal-muted); }
.portal .portal-login-content .portal-form { border:0; border-radius:0; background:transparent; }
.portal .portal-login-content .portal-form :is(input,textarea)::placeholder { color:var(--portal-muted); opacity:1; }
.portal #app .portal-login-content h1,.portal #app .portal-admin-intro h1 { margin-bottom:20px; }
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:#f8f8f8; --portal-selected:#f7f7f7; --portal-link:#003f8a; --portal-accent:#80bc00; }
[data-theme=dark] .portal { --portal-bg:#222222; --portal-surface:#333333; --portal-text:#ffffff; --portal-muted:#aaaaaa; --portal-border:#555555; --portal-hover:#3c3c3c; --portal-selected:#3c3c3c; --portal-link:#ffffff; --portal-accent:#80bc00; }
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:#003f8a; border-color:#003f8a; 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; } }

.portal-muted,.portal-calendar-hint { color:var(--portal-muted); }
.portal .portal-trainee-card,.portal .portal-board article { background:var(--portal-surface); border:1px solid var(--portal-border); border-radius:10px; }
.portal-avatar { color:var(--portal-link); background:var(--portal-selected); border-radius:50%; font-weight:600; }
.portal .portal-eyebrow { color:var(--portal-muted); font-size:10px; letter-spacing:1.2px; font-weight:600; }
.portal .portal-trainee-card h3 { font-size:21px; }
.portal .portal-trainee-card p,.portal-trainee-placement { font-size:15px; }
.portal-placement-tag { color:var(--portal-text); font-weight:500; }
.portal-placement-tag small { color:var(--portal-muted); font-weight:400; }
.portal-calendar-scroll { border:1px solid var(--portal-border); border-radius:8px; background:var(--portal-surface); }
.portal .portal-calendar :is(th,td) { border:1px solid var(--portal-border); color:var(--portal-text); background:var(--portal-surface); }
.portal .portal-calendar thead th { background:var(--portal-hover); }
.portal .portal-calendar-person { background:var(--portal-surface); }
.portal .portal-calendar-person>span,.portal-calendar thead th>span { font-size:12px; color:var(--portal-muted); font-weight:400; }
.portal .portal-calendar .portal-current-week { background:var(--portal-hover); }
.portal .portal-calendar-entry { color:var(--portal-text); background:var(--portal-selected); border-left:3px solid var(--portal-link); border-radius:5px; font-size:12px; line-height:1.5; }
.portal .portal-calendar-entry:hover { outline:1px solid var(--portal-link); }
.portal .portal-calendar-entry.portal-kind-project { border-left-color:var(--portal-accent); }
.portal .portal-calendar-entry strong { color:var(--portal-link); font-size:13px; }
.portal-calendar-entry[draggable=true] { cursor:grab; }
.portal .portal-calendar-add { color:var(--portal-link); background:transparent; border:1px dashed var(--portal-border); border-radius:5px; font:inherit; font-size:12px; }
.portal .portal-calendar-add:hover { background:var(--portal-hover); }
.portal-calendar-free { color:var(--portal-muted); }
.portal-calendar caption,.portal-calendar-hint { font-size:12px; }
.portal-board-visual { border-radius:10px; }
.portal .portal-board article { background:var(--portal-hover); }

/* Palette and Inter inherited from the official AURORA website. */
.portal { font-family:Inter,sans-serif; }
.portal #app h1 { font-size:clamp(28px,2.8vw,42px); line-height:1.17; font-weight:600; letter-spacing:-1.2px; color:var(--portal-text); }
.portal #app h2 { font-size:25px; line-height:1.3; font-weight:600; letter-spacing:-.5px; }
.portal #app p { font-size:14px; line-height:1.7; }
.portal .portal-kicker { font-size:10px; font-weight:600; letter-spacing:1.6px; color:var(--portal-link); }
.portal-welcome,.portal-planning-intro { background:var(--portal-surface); border:1px solid var(--portal-border); border-radius:12px; }
.portal-welcome-copy p,.portal-section-heading p,.portal-plan-heading p,.portal-planning-intro p { color:var(--portal-muted); }
.portal .portal-welcome h1 { color:var(--portal-link); }
.portal .portal-button { font:inherit; font-size:12px; line-height:1.5; font-weight:600; border:1px solid #003f8a; border-radius:6px; background:#003f8a; color:#ffffff!important; text-decoration:none; }
.portal .portal-button:hover { background:#80bc00; border-color:#80bc00; color:#222222!important; }
.portal .portal-button-secondary { background:var(--portal-surface); border-color:var(--portal-border); color:var(--portal-text)!important; }
.portal .portal-button-secondary:hover { background:var(--portal-hover); border-color:var(--portal-link); color:var(--portal-link)!important; }
.portal .portal-metrics { border:1px solid var(--portal-border); border-radius:10px; background:var(--portal-surface); }
.portal-metrics>div+div { border-left:1px solid var(--portal-border); }
.portal-metrics strong { font-size:27px; font-weight:600; line-height:1.2; letter-spacing:-.6px; }
.portal-metrics span { font-size:12px; color:var(--portal-muted); }
.portal .portal-metric-icon { color:var(--portal-link); background:var(--portal-selected); border-radius:8px; }
.portal-date-badge { border:1px solid var(--portal-border); border-radius:6px; color:var(--portal-muted); font-size:11px; }
.portal-search { border:1px solid var(--portal-border); border-radius:7px; background:var(--portal-surface); color:var(--portal-muted); }
.portal .portal-search input { border:0; background:transparent; box-shadow:none; font:inherit; font-size:12px; color:var(--portal-text); }
.portal .portal-filter select { font:inherit; font-size:12px; color:var(--portal-text); background-color:var(--portal-surface); border:1px solid var(--portal-border); border-radius:7px; }
.portal-result-count { color:var(--portal-muted); font-size:11px; }
.portal .portal-trainee-card { border-radius:10px; }
.portal .portal-person-heading :is(h3,h4) { font-size:17px; font-weight:600; line-height:1.4; letter-spacing:-.3px; }
.portal .portal-person-heading p { font-size:12px!important; line-height:1.6; color:var(--portal-muted); }
.portal .portal-avatar { border-radius:9px; color:var(--portal-link); background:var(--portal-hover); font-size:13px; border:1px solid var(--portal-border); }
.portal-trainee-placement { background:var(--portal-hover); border-radius:7px; }
.portal .portal-eyebrow { font-size:9px; letter-spacing:1px; }
.portal-current-placement { color:var(--portal-link); }
.portal-current-placement strong { font-size:13px; font-weight:600; color:var(--portal-text); line-height:1.5; }
.portal-current-placement small,.portal-placement-empty { color:var(--portal-muted); font-size:11px; }
.portal-card-footer { border-top:1px solid var(--portal-border); }
.portal .portal-text-link { font-size:11px; font-weight:600; color:var(--portal-link); text-decoration:none; }
.portal .portal-text-link:hover { text-decoration:underline; }
.portal-status { font-size:10px; color:var(--portal-muted); }
.portal-dot-active { background:#80bc00; }
.portal-dot-empty { background:var(--portal-muted); }
.portal-calendar-toolbar { background:var(--portal-surface); border:1px solid var(--portal-border); border-bottom:0; border-radius:10px 10px 0 0; }
.portal-calendar-scroll { border-radius:0 0 10px 10px; }
.portal-calendar-buttons>strong { font-size:12px; font-weight:500; }
.portal .portal-calendar-controls label { color:var(--portal-muted); font-size:10px; }
.portal .portal-calendar-controls :is(input,select) { font-size:12px; border-radius:5px; border-color:var(--portal-border); }
.portal-timeline-row+.portal-timeline-row { border-top:1px solid var(--portal-border); }
.portal-timeline-person { background:var(--portal-surface); border-right:1px solid var(--portal-border); font-size:13px; }
.portal .portal-timeline-person a { color:var(--portal-text); text-decoration:none; font-weight:600; }
.portal-timeline-person>span { color:var(--portal-muted); font-size:11px; }
.portal-timeline-header .portal-timeline-person { color:var(--portal-muted); font-size:9px; letter-spacing:1px; }
.portal-timeline-header { background:var(--portal-hover); }
.portal-timeline-weeks>div { border-right:1px solid var(--portal-border); }
.portal-timeline-weeks strong { font-size:12px; font-weight:600; }
.portal-timeline-weeks span { color:var(--portal-muted); font-size:9px; }
.portal-timeline-weeks small { color:var(--portal-link); font-size:9px; }
.portal-current-week { background:var(--portal-hover); }
.portal-timeline-week { border-right:1px solid var(--portal-border); }
.portal .portal-timeline-entry { color:#ffffff!important; background:#003f8a; border-left:3px solid #80bc00; border-radius:5px; text-decoration:none; }
.portal-timeline-entry strong { color:#ffffff; font-size:12px; line-height:1.4; font-weight:600; }
.portal-timeline-entry :is(span,small) { color:#ffffff; font-size:9px; line-height:1.6; }
.portal .portal-timeline-entry.portal-kind-project { background:var(--portal-hover); color:var(--portal-text)!important; border:1px solid var(--portal-border); border-left:3px solid #80bc00; }
.portal .portal-timeline-entry.portal-kind-other { background:var(--portal-hover); color:var(--portal-text)!important; border:1px solid var(--portal-border); border-left:3px solid var(--portal-muted); }
.portal .portal-timeline-entry:is(.portal-kind-project,.portal-kind-other) :is(strong,span,small) { color:var(--portal-text); }
.portal .portal-timeline-entry.portal-kind-vacation { background:#cb1d1d; color:#ffffff!important; border:1px solid #cb1d1d; border-left:3px solid #cb1d1d; }
.portal .portal-timeline-entry.portal-kind-vacation :is(strong,span,small) { color:#ffffff; }
.portal-legend-vacation,.portal-dot-vacation { background:#cb1d1d; }
.portal .portal-vacation-summary>.portal-eyebrow { display:inline-block; background:#cb1d1d; color:#ffffff; padding:3px 8px; border-radius:4px; }
.portal-timeline-entry[draggable=true] { cursor:grab; }
.portal-timeline-entry:hover { outline:2px solid #80bc00; outline-offset:1px; }
.portal-timeline-empty { color:var(--portal-muted); font-size:11px; }
.portal-timeline-additions .portal-calendar-add { font-size:10px; border-style:solid; }
.portal-calendar-caption { color:var(--portal-muted); font-size:10px; }
.portal #app .portal-calendar-caption p { font-size:10px; }
.portal-legend-department { background:#003f8a; }
.portal-legend-project { background:#80bc00; }
.portal-legend-other { background:var(--portal-muted); }
.portal .portal-form { background:var(--portal-surface); border:1px solid var(--portal-border); border-radius:10px; }
.portal .portal-form label,.portal .portal-form legend { font-size:13px; }
.portal .portal-form :is(input,select,textarea) { font-size:14px; border-radius:5px; }
.portal .portal-actions :is(.ce_hyperlink a.hyperlink_txt,button.submit),.portal .portal-form button.submit { font-size:13px; padding:12px 20px; border-radius:5px; line-height:1.5; }
.portal .portal-table :is(th,td) { font-size:13px; line-height:1.6; padding:16px; }
.portal-profile-note { color:var(--portal-muted); }
.portal .portal-search input::placeholder { color:var(--portal-muted); opacity:1; }
.portal #app :is(.portal-plan-heading,.portal-planning-intro) h1 { margin:10px 0 14px; }
.portal .portal-timeline-person>a,.portal .portal-text-link { color:var(--portal-link)!important; }
.portal #app .portal-welcome-copy h1 { overflow-wrap:anywhere; }
@media(max-width:600px) { .portal #app h1 { font-size:28px; } .portal-metrics strong { font-size:24px; } .portal-metrics span { font-size:10px; } .portal #app h2 { font-size:23px; } }
.portal-management-card { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-management-card p { color:var(--portal-muted); font-size:13px; }
.portal-document-section { border-color:var(--portal-border); }
.portal-document-notice { margin:28px 0; padding:24px; border:1px solid var(--portal-border); border-left:6px solid var(--portal-accent); border-radius:12px; background:var(--portal-hover); overflow-wrap:anywhere; }
.portal-document-notice p { line-height:1.65; }
.portal-document-notice .portal-eyebrow { font-weight:700; }
@media print { body[data-document-export] { --portal-text:#000000; --portal-muted:#333333; --portal-surface:#ffffff; --portal-hover:#ffffff; --portal-border:#999999; color:#000000; background:#ffffff; } body[data-document-export] .portal-management-card { background:#ffffff; color:#000000; } }

.portal .board-toolbar .portal-search input::placeholder { color:var(--portal-muted)!important; opacity:1; }

.portal .board-editor-layout :is(input,textarea)::placeholder,.portal .board-discussion textarea::placeholder { color:var(--portal-muted)!important; opacity:1; }
.portal .board-attachment-fields legend { background:transparent; color:var(--portal-text); font-weight:600; }

.portal-display-pairing { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-display-code { background:var(--portal-hover); color:var(--portal-link); border-color:var(--portal-border); font-size:clamp(22px,4vw,42px); font-weight:600; letter-spacing:.08em; }
.portal-display-status { border-color:var(--portal-border); color:var(--portal-muted); }
.portal #app .portal-display-status p { font-size:11px; }
#display-feedback,#device-feedback { color:var(--portal-link); }

.portal-signin { color:var(--portal-text); background:var(--portal-surface); border-color:var(--portal-border); }
.portal-signin-visual { background:#003f8a; }
.portal #app .portal-signin-visual :is(h2,p,.portal-kicker) { color:#ffffff; }
.portal #app .portal-signin h1 { font-size:clamp(28px,3vw,36px); line-height:1.25; margin:14px 0 12px; }
.portal #app .portal-signin-visual h2 { font-size:32px; line-height:1.25; margin:16px 0; }
.portal #app .portal-signin :is(p,label,input,button,summary,.portal-button) { font-size:16px; line-height:1.6; }
.portal #app .portal-signin .portal-signin-intro { color:var(--portal-text); font-size:17px; }
.portal #app .portal-signin .portal-signin-submit { font-size:17px; font-weight:600; }
.portal-signin-password { border-color:var(--portal-border); background:var(--portal-bg); }
.portal-signin-password button { color:var(--portal-text); background:var(--portal-hover); border-color:var(--portal-border); }
.portal-signin-department { border-color:var(--portal-border); }
.portal #app .portal-signin-department summary { font-weight:600; }
.portal #app .portal-signin-department summary>span { font-size:14px; color:var(--portal-muted); font-weight:400; }
.portal #app .portal-signin .portal-signin-feedback { color:var(--portal-link); margin:0; }
.portal-signin-help { color:var(--portal-text); }
.portal #app .portal-device-management :is(p,label,input,button,summary,dt,dd,.portal-button,.portal-text-link) { font-size:16px; line-height:1.65; }
.portal #app .portal-device-management h1 { font-size:34px; line-height:1.25; }
.portal #app .portal-device-management h2 { font-size:25px; line-height:1.35; }
.portal #app .portal-device-management h3 { font-size:20px; line-height:1.4; margin:0 0 12px; }
.portal-device-setup,.portal-device-card { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-device-management .portal-form { background:transparent; }
.portal-step-number { background:var(--portal-hover); color:var(--portal-link); font-size:20px; font-weight:600; }
.portal-device-confirm { border-color:var(--portal-border); }
.portal-device-card dt { color:var(--portal-muted); }
.portal-device-empty { border-color:var(--portal-border); }

.portal .portal-device-management .portal-form { border:0; padding:0; border-radius:0; }
.portal #app .portal-display-pairing :is(p,button,.portal-text-link) { font-size:17px; line-height:1.6; }
.portal #app .portal-display-status p { font-size:14px; }

.portal .portal-signin .portal-form { border:0; background:transparent; padding:0; border-radius:0; }

.portal #app .portal-link-url { font-size:16px; line-height:1.6; }

.portal-directory-group { background:var(--portal-surface); border-color:var(--portal-border); }
.portal .portal-directory-group>summary { color:var(--portal-text); background:var(--portal-hover); }
.portal .portal-directory-group>summary:hover { background:var(--portal-selected); }
.portal .portal-directory-group>summary:focus-visible { outline:2px solid var(--portal-accent); outline-offset:-4px; }
.portal-directory-group-icon,.portal-directory-chevron { color:var(--portal-link); }
.portal-directory-group-count,.portal-directory-group-tools p { color:var(--portal-muted); }

.portal-display-current { background:color-mix(in srgb,var(--portal-accent) 8%,var(--portal-surface)); border-color:var(--portal-accent); }
.portal-display-current .portal-kicker { color:var(--portal-text); }
.portal-display-current .portal-kicker svg { color:var(--portal-accent); }
.portal-display-current-count { color:#222222; background:var(--portal-accent); }
.portal-display-next { background:var(--portal-surface); border-color:var(--portal-border); border-top:3px solid var(--portal-link); }
.portal-display-next .portal-kicker,.portal-display-arrival time { color:var(--portal-link); }
.portal-display-person { border-color:var(--portal-border); }
.portal-display-avatar { background:var(--portal-hover); color:var(--portal-link); }
.portal-display-current .portal-display-avatar { background:color-mix(in srgb,var(--portal-accent) 16%,var(--portal-surface)); color:var(--portal-text); }
.portal-display-person p,.portal-display-person-group,.portal-display-arrival>span { color:var(--portal-muted); }
.portal-display-vacation { color:#ffffff; background:#cb1d1d; }
.portal-report-prototype,.portal-report-history { background:var(--portal-hover); border-color:var(--portal-border); color:var(--portal-muted); }
.portal .portal-report-week-link { background:var(--portal-surface); border-color:var(--portal-border); color:var(--portal-text); }
.portal .portal-report-week-link:hover { border-color:var(--portal-link); }
.portal-report-status { background:var(--portal-hover); border-color:var(--portal-border); color:var(--portal-text); }
.portal-report-status.portal-report-approved { border-left:4px solid var(--portal-accent); }
.portal-report-status.portal-report-submitted { border-left:4px solid #003f8a; }
.portal-report-status.portal-report-returned { border-left:4px solid #cb1d1d; }
.portal-report-day,.portal-report-release,.portal-report-inbox,.portal-report-reviews article { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-report-day>header { background:var(--portal-hover); }
.portal-report-place-company>header { border-left:4px solid #003f8a; }
.portal-report-place-school>header { border-left:4px solid var(--portal-accent); }
.portal-report-place-vacation>header { border-left:4px solid #cb1d1d; }
.portal .portal-report-week :is(input:not([type=checkbox]),select,textarea),.portal-report-toolbar :is(input,select) { background:var(--portal-surface); color:var(--portal-text); border-color:var(--portal-border); }
.portal .portal-report-week :is(input,select,textarea):focus-visible { outline:2px solid var(--portal-accent); outline-offset:2px; }
.portal .portal-report-week input[type=checkbox] { accent-color:var(--portal-accent); }
.portal .portal-report-week fieldset:disabled :is(input,select,textarea) { opacity:1; color:var(--portal-text); }
.portal-report-entry,.portal-report-inbox-row { border-color:var(--portal-border); }
.portal .portal-report-remove { color:var(--portal-muted); background:var(--portal-hover); }
.portal-report-actions [role=status],.portal-report-day>header span { color:var(--portal-muted); }
.portal-report-notice { background:var(--portal-hover); border-color:var(--portal-accent); }
.portal-report-demo-entry { background:var(--portal-surface); border-color:var(--portal-border); }
.portal-report-demo-controls,.portal-report-demo-notice { background:var(--portal-hover); border-color:var(--portal-accent); }

.portal-report-profile { border-color:var(--portal-border); background:var(--portal-surface); }
.portal-book-cover,.portal-book-week,.portal-book-table th,.portal-book-table td { border-color:var(--portal-border); }
@media print {
 body.portal:has(.portal-book-export),body.portal:has(.portal-report-week) { --portal-text:#000000; --portal-muted:#333333; --portal-border:#999999; --portal-hover:#ffffff; --portal-surface:#ffffff; color:#000000!important; background:#ffffff!important; }
 body.portal:has(.portal-book-export) :is(h1,h2,h3,p,th,td,dt,dd,strong,small),body.portal:has(.portal-report-week) :is(h1,h2,h3,p,th,td,strong) { color:#000000!important; }
}

/* Ausbildungsberufe and recurring school days. */
.portal .portal-photo-avatar{position:relative;display:inline-grid;place-items:center;overflow:hidden;width:64px;height:64px;min-width:64px;padding:0;border:1px solid var(--portal-border);border-radius:14px;background:var(--portal-hover);color:var(--portal-text);font:inherit;font-weight:700;flex-shrink:0}
.portal .portal-photo-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portal .portal-photo-plus{position:absolute;inset:0;display:grid;place-items:center;background:#003f8a;color:#fff;font-size:30px;opacity:0;transition:opacity .15s ease}.portal button.portal-photo-avatar:hover .portal-photo-plus,.portal button.portal-photo-avatar:focus-visible .portal-photo-plus{opacity:1}.portal button.portal-photo-avatar:focus-visible{outline:3px solid var(--portal-accent);outline-offset:3px}
.portal .portal-photo-dialog{width:min(620px,calc(100vw - 32px));box-sizing:border-box;max-height:90vh;margin:auto;padding:28px;border:1px solid var(--portal-border);border-radius:20px;background:var(--portal-surface);color:var(--portal-text);overflow:auto}.portal-photo-dialog::backdrop{background:rgba(0,0,0,.65)}.portal-photo-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.portal-photo-dialog h2{font-size:28px;margin:12px 0;color:var(--portal-text)}.portal-photo-close{font:inherit;font-size:30px;line-height:1;min-width:44px;min-height:44px;background:transparent;color:inherit;border:1px solid var(--portal-border);border-radius:8px}.portal-photo-drop{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px;border:2px dashed var(--portal-border);border-radius:16px;margin:20px 0}.portal-photo-drop.is-dragover{border-color:var(--portal-accent);background:var(--portal-hover)}.portal-photo-preview{display:grid;place-items:center;min-height:112px}.portal-photo-preview>img{width:112px;height:112px;object-fit:cover;border-radius:18px}.portal-photo-dialog p{line-height:1.6;font-size:15px}.portal-photo-note{color:var(--portal-muted)}.portal-photo-actions{display:flex;flex-wrap:wrap;gap:12px}.portal-photo-dialog [data-feedback]{min-height:24px}.portal-photo-drop strong{font-size:20px}
@media(hover:none){.portal .portal-photo-plus{inset:auto 0 0 auto;width:24px;height:24px;font-size:20px;border-radius:8px 0 0 0;opacity:1}}
@media(prefers-reduced-motion:reduce){.portal .portal-photo-plus{transition:none}}
.portal-school-days input { width:20px; height:20px; accent-color:var(--portal-accent); flex-shrink:0; }
.portal-training-assignment p { font-size:14px; color:var(--portal-muted); }
.portal .portal-timeline-entry.portal-kind-school { background:#ff6600; color:#222222!important; border:1px solid #ff6600; padding:8px 1px; margin:0 1px; }
.portal .portal-timeline-entry.portal-kind-school :is(strong,span,small) { color:#222222; }
.portal-legend-school { background:#ff6600; border:2px solid #ff6600; }

.portal-school-year,.portal-school-calendar-note { border-color:var(--portal-border); }
.portal-school-calendar-note { background:var(--portal-hover); color:var(--portal-muted); }
.portal-school-year>summary { background:var(--portal-hover); color:var(--portal-text); }

.portal-school-placement,.portal-placement-tag.portal-school-tag { background:#ff6600; color:#222222; border-color:#ff6600; }
.portal-school-placement :is(strong,small,svg),.portal-placement-tag.portal-school-tag small { color:#222222; }
body.portal.portal-privacy-page #main.portal-privacy-content{width:100%;box-sizing:border-box;max-width:1040px;padding:clamp(24px,5vw,64px);margin:auto}.portal-privacy-content section{padding:24px 0;border-bottom:1px solid var(--portal-border)}.portal-privacy-content h2{font-size:1.5rem;margin-bottom:16px}.portal-privacy-content p,.portal-privacy-content li{line-height:1.7}.portal-privacy-status{padding:24px;border:1px solid var(--portal-accent);border-radius:12px;margin:24px 0;background:var(--portal-surface)}.portal-privacy-page .portal-header{position:static}.portal-privacy-content code{overflow-wrap:anywhere}.portal-footer-caption{flex-wrap:wrap;gap:16px}

.portal-mfa{max-width:780px;margin:clamp(16px,4vw,48px) auto;padding:clamp(20px,4vw,40px);border:1px solid var(--portal-border,#666);border-radius:20px;background:var(--portal-surface,transparent)}
.portal-mfa h1{margin-bottom:24px}.portal-mfa h2{font-size:1.35rem;margin-top:28px}.portal-mfa p{line-height:1.6}.portal-mfa form{max-width:520px}.portal-mfa .portal-signin-field{margin:20px 0}.portal-mfa input:not([type=checkbox]){width:100%;min-height:48px}.portal-mfa-feedback{min-height:1.5em;font-weight:600}.portal-mfa-setup{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.portal-mfa-qr{background:#fff;border-radius:12px;padding:8px;flex:none}.portal-mfa-secret{overflow-wrap:anywhere;user-select:all;display:block;letter-spacing:.1em}.portal-mfa-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;border:1px solid currentColor;border-radius:12px;padding:20px;margin:24px 0}.portal-mfa-codes code{font-size:14px;user-select:all;overflow-wrap:anywhere}.portal-mfa-ack{display:flex;gap:12px;align-items:flex-start;margin:24px 0}.portal-mfa-ack input{width:22px;height:22px;flex:none}.portal-mfa .portal-button{white-space:normal;text-align:left}.portal-mfa details{margin:16px 0}
@media(max-width:480px){.portal-mfa-codes{grid-template-columns:1fr;padding:12px}.portal-mfa{padding:20px 16px}.portal-mfa-setup{gap:12px}}

/* System documentation surfaces retain the AURORA palette. */
.portal-document-title { border-color:var(--portal-accent); }
.portal-document-check,.portal-document-data { border-color:var(--portal-border); background:var(--portal-surface); }
.portal-document-check-state { border-color:var(--portal-border); background:var(--portal-hover); }
.portal-document-check-state[data-state=ready] { border-left-color:var(--portal-accent); }
@media print { body[data-document-export],body[data-document-export] #app { background:#ffffff!important; } }

/* AURORA surfaces and motion */
@media screen {
 .portal {
  --aurora-blue:#003f8a;
  --aurora-green:#80bc00;
  --portal-edge:color-mix(in srgb,var(--aurora-blue) 13%,var(--portal-border));
  --portal-raised:0 1px 2px rgba(0,63,138,0.039216),0 8px 24px rgba(0,63,138,0.043137);
  --portal-floating:0 1px 2px rgba(0,63,138,0.070588),0 16px 44px rgba(0,63,138,0.086275);
  --portal-rim:inset 0 1px 0 rgba(255,255,255,0.74902);
  --portal-wash:color-mix(in srgb,var(--aurora-blue) 8%,var(--portal-bg));
  --portal-tint:color-mix(in srgb,var(--aurora-blue) 7%,var(--portal-surface));
  --portal-glass:color-mix(in srgb,var(--portal-surface) 86%,transparent);
  --portal-focus:#003f8a;
  --portal-panel-radius:16px;
  --portal-control-radius:9px;
  --portal-ease:cubic-bezier(.2,.75,.25,1);
 }

 [data-theme=dark] .portal {
  --portal-edge:color-mix(in srgb,var(--portal-border) 87%,white);
  --portal-raised:0 1px 2px rgba(0,0,0,0.2),0 8px 24px rgba(0,0,0,0.133333);
  --portal-floating:0 1px 2px rgba(0,0,0,0.266667),0 16px 44px rgba(0,0,0,0.333333);
  --portal-rim:inset 0 1px 0 rgba(255,255,255,0.070588);
  --portal-wash:color-mix(in srgb,var(--aurora-blue) 28%,var(--portal-bg));
  --portal-tint:color-mix(in srgb,var(--aurora-blue) 34%,var(--portal-surface));
  --portal-glass:color-mix(in srgb,var(--portal-surface) 88%,transparent);
  --portal-focus:var(--aurora-green);
 }

 body.portal {
  min-height:100vh;
  background-image:radial-gradient(ellipse at 94% 0%,var(--portal-wash),transparent 66%);
  background-size:100% min(900px,100vh);
  background-repeat:no-repeat;
 }
 .portal #wrapper,.portal #main { background:transparent; }

 .portal-header,.portal-sidebar,.portal dialog:not(.aurora-consent-dialog) {
  border-color:var(--portal-edge);
  background:var(--portal-surface);
  box-shadow:var(--portal-rim),var(--portal-raised);
 }
 .portal-header { border-top:3px solid var(--aurora-blue); }
 .portal-header .portal-product {
  padding-inline-start:20px;
  border-inline-start:1px solid var(--portal-edge);
 }
 .portal-sidebar { overscroll-behavior:contain; scrollbar-width:thin; }
 .portal .portal-nav-link {
  border:1px solid transparent;
  border-radius:var(--portal-control-radius);
 }
 .portal .portal-nav-link[aria-current=page] {
  border-color:var(--portal-edge);
  background:var(--portal-tint);
  box-shadow:inset 3px 0 0 var(--aurora-green);
 }
 .portal .portal-nav-link[aria-current=page] .portal-nav-marker { visibility:hidden; }
 .portal .portal-context {
  align-self:flex-start;
  padding:6px 12px;
  border:1px solid var(--portal-edge);
  border-radius:var(--portal-control-radius);
  background:var(--portal-surface);
 }
 .portal .portal-context>span:first-child { color:var(--portal-link); }

 .portal :is(.portal-welcome,.portal-signin,.portal-login,.portal-mfa,.portal-planning-intro,.portal-display-pairing) {
  border-color:var(--portal-edge);
  border-radius:20px;
  box-shadow:var(--portal-rim),var(--portal-floating);
 }
 .portal :is(.portal-welcome,.portal-signin) {
  background:linear-gradient(145deg,var(--portal-surface) 38%,var(--portal-tint));
 }
 .portal .portal-signin-main { padding:clamp(20px,3.2vw,40px); }
 .portal .portal-signin .portal-form { gap:16px; margin-top:24px; }
 .portal :is(.portal-welcome-copy h1,.portal-signin-main h1,.ce_headline_extended h1)::after {
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin-top:14px;
  border-radius:2px;
  background:var(--aurora-green);
 }
 .portal :is(.portal-admin-tile,.portal-directory-card,.portal-management-card,.portal-trainee-card,
 .portal-metrics,.portal-report-day,.portal-report-release,.portal-report-inbox,.portal-training-card,
 .portal-display-current,.portal-display-next,.portal-info-card,.portal-grid>section,.board-card) {
  border-radius:var(--portal-panel-radius);
  box-shadow:var(--portal-rim),var(--portal-raised);
 }
 .portal :is(.portal-admin-tile,.portal-directory-card,.portal-management-card,.portal-trainee-card,
 .portal-report-day,.portal-report-release,.portal-info-card,.board-card) { border-color:var(--portal-edge); }
 .portal .portal-admin-tile:hover { border-color:var(--aurora-green); }
 .portal .portal-info-card { background:var(--portal-surface); }
 .portal .portal-info-card:hover { border-color:var(--aurora-green); }
 .portal :is(.portal-roster-toolbar,.portal-calendar-toolbar,.portal-search,.portal-date-badge,.board-column) {
  border-color:var(--portal-edge);
 }
 .portal .portal-calendar-toolbar { border-radius:var(--portal-panel-radius) var(--portal-panel-radius) 0 0; }
 .portal .portal-calendar-scroll {
  border-color:var(--portal-edge);
  border-radius:0 0 var(--portal-panel-radius) var(--portal-panel-radius);
  box-shadow:var(--portal-raised);
 }
 .portal :is(.portal-table,.portal-info-group,.portal-form:not(.portal-signin *),.board-column) {
  border-radius:var(--portal-panel-radius);
 }
 .portal .portal-footer-image { border-radius:var(--portal-panel-radius); }

 .portal :is(.portal-button,.portal-icon-button,.portal-theme-button) { border-radius:var(--portal-control-radius); }
 .portal :is(.portal-icon-button,.portal-theme-button) {
  border-color:var(--portal-edge);
  color:var(--portal-text);
  background:var(--portal-surface);
 }
 .portal :is(.portal-icon-button,.portal-theme-button):hover { background:var(--portal-tint); }
 .portal .portal-button:not(.portal-button-secondary) { box-shadow:0 2px 6px rgba(0,63,138,0.141176); }
 .portal :is(a,button,input,select,textarea,summary):not(.aurora-consent-dialog *):focus-visible {
  outline:2px solid var(--portal-focus);
  outline-offset:3px;
 }
 .portal dialog:not(.aurora-consent-dialog) {
  margin:auto;
  border-radius:var(--portal-panel-radius);
  box-shadow:var(--portal-rim),var(--portal-floating);
 }
 .portal dialog:not(.aurora-consent-dialog)::backdrop { background:rgba(0,0,0,0.533333); }

 @media (min-width:861px) {
  html:has(body.portal) { scroll-padding-top:100px; }
  .portal-header { position:sticky; top:0; z-index:20; }
  .portal-sidebar {
   top:94px;
   height:calc(100dvh - 108px);
   margin:14px 0 14px 14px;
   padding-top:20px;
   border:1px solid var(--portal-edge);
   border-radius:var(--portal-panel-radius);
  }
  .portal .portal-nav-link { padding-inline:11px; }
  .portal .portal-nav-link>span { hyphens:none; }
  .portal :is(.board-preview,.portal-editor-guide) { top:100px; }
 }

 @supports (backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px)) {
  .portal-header,.portal-sidebar {
   background:var(--portal-glass);
   -webkit-backdrop-filter:blur(12px);
   backdrop-filter:blur(12px);
  }
  .portal dialog:not(.aurora-consent-dialog)::backdrop {
   -webkit-backdrop-filter:blur(4px);
   backdrop-filter:blur(4px);
  }
 }

 @media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .portal :is(.portal-admin-tile,.portal-info-card,.board-card) {
   transition:transform 180ms var(--portal-ease),box-shadow 180ms var(--portal-ease),border-color 180ms ease;
  }
  .portal :is(.portal-admin-tile,.portal-info-card,.board-card):hover {
   transform:translateY(-2px);
   box-shadow:var(--portal-rim),var(--portal-floating);
  }
 }

 @media (prefers-reduced-motion:no-preference) {
  .portal :is(.portal-button,.portal-icon-button,.portal-theme-button,.portal-nav-link) {
   transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease;
  }
  .portal #app>:is(.portal-signin,.portal-welcome,.ce_headline_extended),.portal dialog:not(.aurora-consent-dialog)[open] {
   animation:portal-appear 200ms var(--portal-ease) both;
  }
  @keyframes portal-appear {
   from { opacity:.7; transform:translateY(4px); }
   to { opacity:1; transform:none; }
  }
 }

 @media (prefers-reduced-motion:reduce) {
  .portal-sidebar,.portal :is(.portal-nav-link,.portal-admin-tile,.portal-info-card,.board-card,.portal-button) {
   transition:none;
  }
 }

 @media (prefers-reduced-transparency:reduce),(forced-colors:active) {
  body.portal { background-image:none; }
  .portal-header,.portal-sidebar {
   background:var(--portal-surface);
   -webkit-backdrop-filter:none;
   backdrop-filter:none;
  }
  .portal dialog:not(.aurora-consent-dialog)::backdrop {
   -webkit-backdrop-filter:none;
   backdrop-filter:none;
  }
 }
}
