@import url('./shift-tokens.css?v=20260929-bar-display-3');
@import url('./shift-brand.css?v=20260929-pale-bars-2');
html[data-shift-theme] .mobile-room-edit {background:var(--bg-surface)!important;color:var(--brand-navy)!important;border:1px solid var(--border-strong)!important;min-height:44px;border-radius:var(--radius-control)}
html[data-shift-theme] .mobile-view-switch button {color:var(--text-secondary)!important}
html[data-shift-theme] .mobile-view-switch button[aria-pressed="true"] {color:var(--brand-navy)!important;border-bottom:2px solid var(--brand-pink)!important}
html[data-shift-theme] body {background:var(--bg-page);color:var(--text-primary)}
html[data-shift-theme] :is(h1,h2,h3,h4,strong) {color:var(--brand-navy)}
html[data-shift-theme] :is(button,input,textarea,select) {font-family:inherit}
html[data-shift-theme] :is(button,[role=button],a):focus-visible {outline:2px solid var(--brand-pink)!important;outline-offset:3px;box-shadow:0 0 0 3px var(--focus-ring)!important}
html[data-shift-theme] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]) {min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius-input);background:var(--bg-surface);color:var(--text-primary);font-weight:var(--weight-normal)}
html[data-shift-theme] textarea {border-radius:var(--radius-input)!important;background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-strong)!important}
html[data-shift-theme] :is(input,select,textarea)::placeholder {color:var(--text-muted)}
html[data-shift-theme] :is(input,select,textarea):focus {outline:0!important;border-color:var(--brand-pink)!important;box-shadow:0 0 0 3px var(--focus-ring)!important}
html[data-shift-theme] :is(input,select,textarea)[aria-invalid=true] {border-color:var(--status-danger)!important}
html[data-shift-theme] :is(input[type=checkbox],input[type=radio]) {accent-color:var(--brand-pink)}
html[data-shift-theme] input[type=range] {accent-color:var(--brand-pink)}
html[data-shift-theme] :is(input,select,textarea):disabled {background:var(--disabled-bg)!important;color:var(--disabled-text)!important}
html[data-shift-theme] button {font-weight:var(--weight-action)}
html[data-shift-theme] button:is(.generate,.settings-save,.request-save,.save-therapist,.add-therapist,.dispatch-template-save,.mobile-board-save,.ai-correct-primary,.wide,.status-action,.request-confirm-submit,#saveRequests,#shiftAiRun,#shiftAiApply,#shiftAiSaveRule,#retryPortal):not(:disabled):active {background:var(--brand-pink-active)!important;color:var(--action-text)!important}
html[data-shift-theme] button:is(.generate,.settings-save,.request-save,.save-therapist,.add-therapist,.mobile-board-save,.ai-correct-primary,.wide,.status-action) :is(svg,i,b,strong,span) {color:inherit!important}
/* White secondary actions, with one primary action per visible workspace. */
html[data-shift-theme] :is(.ai-correct-trigger,.line-dispatch,.weekly-review-button,.settings-cancel,.request-cancel,.import-master,.import-cti,.therapist-retired-action,.admin-acknowledge,.mobile-board-cancel,.mobile-board-unplace,.dispatch-template-toggle,.dispatch-template-cancel,.shift-ai-row button,.shift-ai-foot button,.shift-ai-item-actions button,.ai-learning-item button,.ai-correct-actions button,.review-action,.therapist-account-buttons button,.request-actions button,.slot button,.logout,.back) {min-height:var(--control-height);border:1px solid var(--border-strong)!important;border-radius:var(--radius-control);background:var(--bg-surface)!important;color:var(--brand-navy)!important;box-shadow:none!important;font-weight:var(--weight-action)}
html[data-shift-theme] :is(.ai-correct-trigger,.line-dispatch,.weekly-review-button,.settings-cancel,.request-cancel,.import-master,.import-cti,.review-action,.shift-ai-row button,.shift-ai-foot button,.ai-learning-item button,.ai-correct-actions button,.therapist-account-buttons button,.request-actions button,.back):hover {background:var(--bg-page)!important;border-color:var(--border-strong)!important}
html[data-shift-theme] :is(.generate,.settings-save,.request-save,.save-therapist,.add-therapist,.dispatch-template-save,.mobile-board-save,.ai-correct-primary,.ai-learning-body>button,#shiftAiRun,#shiftAiApply,#shiftAiSaveRule,#saveRequests,#saveDispatchTemplate,.wide,.status-action,.schedule-acknowledgement button:not(:disabled),.account-form button[type=submit]) {min-height:var(--control-height);border:1px solid transparent!important;border-radius:var(--radius-control);background:var(--brand-pink)!important;color:var(--action-text)!important;box-shadow:none!important;font-weight:var(--weight-action)}
html[data-shift-theme] :is(.generate,.settings-save,.request-save,.save-therapist,.add-therapist,.dispatch-template-save,.mobile-board-save,.ai-correct-primary,.ai-learning-body>button,#shiftAiRun,#shiftAiApply,#shiftAiSaveRule,#saveRequests,#saveDispatchTemplate,.wide,.status-action,.schedule-acknowledgement button):not(:disabled):hover {background:var(--brand-pink-hover)!important;color:var(--action-text)!important}
html[data-shift-theme] #therapistModal:has(.therapist-editor:not(:empty)) .add-therapist {background:var(--bg-surface)!important;color:var(--brand-navy)!important;border-color:var(--border-strong)!important}
html[data-shift-theme] :is(.delete-therapist,.danger,.mobile-board-unplace,.request-chip button,[data-remove-room]) {background:var(--bg-surface)!important;color:var(--danger-text)!important;border:1px solid color-mix(in srgb,var(--status-danger) 30%,white)!important;min-height:var(--control-height);border-radius:var(--radius-control)}
html[data-shift-theme] :is(.delete-therapist,.danger,.mobile-board-unplace):hover {background:var(--danger-soft)!important}
html[data-shift-theme] :is(button,.import-master,.import-cti):disabled {background:var(--disabled-bg)!important;color:var(--disabled-text)!important;border-color:var(--border-default)!important;opacity:1!important;box-shadow:none!important;cursor:not-allowed}
/* Navigation and header. Preserve existing sizing/alignment. */
html[data-shift-theme] .nav {background:var(--brand-navy);color:#aeb9cd}
html[data-shift-theme] .nav :is(button,a) {position:relative;color:inherit!important}
html[data-shift-theme] .nav :is(button,a):hover {background:rgb(255 255 255 / .07);color:white!important}
html[data-shift-theme] .nav button.active {background:rgb(255 255 255 / .1);color:white!important}
html[data-shift-theme] .nav button.active::before {content:'';position:absolute;left:-6px;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--brand-pink)}
html[data-shift-theme] .service-wordmark {color:var(--brand-navy)}
html[data-shift-theme] .day {background:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-default);font-weight:500}
html[data-shift-theme] .day:hover {background:var(--bg-page)}
html[data-shift-theme] .day.active {background:var(--brand-navy);color:white;border-color:var(--brand-navy);font-weight:600}
html[data-shift-theme] :is(.week-switcher,.forecast-trigger) {border-color:var(--border-default)!important;background:var(--bg-surface)!important;box-shadow:none!important;border-radius:var(--radius-control)}
html[data-shift-theme] .week-step:hover {background:var(--bg-page);color:var(--brand-navy)}
html[data-shift-theme] .forecast-trigger {box-shadow:inset 3px 0 var(--status-info)!important}
html[data-shift-theme] .forecast-trigger :is(b,#forecastSummary) {color:var(--brand-navy)!important;font-weight:600!important}
html[data-shift-theme] .forecast-trigger :is(span,#forecastLabel,#forecastDate) {color:var(--text-secondary);font-weight:500}
html[data-shift-theme] .forecast-trigger #forecastDelta {background:var(--info-soft);color:var(--info-text)!important}
html[data-shift-theme] .forecast-trigger:hover {border-color:var(--border-strong)!important;box-shadow:inset 3px 0 var(--status-info),var(--shadow-hover)!important}
html[data-shift-theme] :is(.board-card,.side-card,.request-card,.therapist-editor,.forecast-kpi,.forecast-selected-card,.ai-correct-card,.ai-learning-item,.shift-ai-body section,.shift-ai-context,.shift-ai-item,.shift-ai-person-group,.shift-ai-metric,.review-section,.review-metric,.review-conversation,.review-details,.card,.slot,.day) {border-color:var(--border-default)!important;border-radius:var(--radius-card);box-shadow:none!important}
html[data-shift-theme] :is(.therapist-editor,.shift-ai-body section,.shift-ai-context,.shift-ai-item,.shift-ai-person-group,.shift-ai-metric,.review-conversation,.review-details,.forecast-kpi,.forecast-selected-card,.review-brief,.ai-learning-item) {background:var(--bg-surface)!important;color:var(--text-primary)!important}
html[data-shift-theme] :is(.review-brief h3,.review-brief p,.review-metric b,.forecast-kpi b,.forecast-selected-card b,.shift-ai-context strong,.shift-ai-summary,.shift-ai-after,.shift-ai-metric b) {color:var(--brand-navy)!important}
html[data-shift-theme] :is(.review-brief,.review-brief-label) {border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:none}
html[data-shift-theme] .review-brief-label {background:var(--bg-muted);color:var(--text-secondary)}
html[data-shift-theme] :is(.weekly-review-button,.people-tab,.request-tab,.shift-ai-tabs button) {color:var(--brand-navy)!important}
html[data-shift-theme] :is(.people-tab[aria-selected=true],.request-tab.active,.shift-ai-tabs button.active) {background:var(--bg-surface)!important;color:var(--brand-navy)!important;border-bottom:2px solid var(--brand-pink)!important;font-weight:600;box-shadow:none!important}
html[data-shift-theme] .request-tab.active::after {background:var(--brand-pink)}
/* Neutral metrics; category colors belong exclusively to room cards. */
html[data-shift-theme] #count {background:var(--bg-muted)!important;color:var(--brand-navy)!important;font-weight:500}
html[data-shift-theme] #count b {font-weight:600}
html[data-shift-theme] :is(.request-count,.additional-count,.count-badge,.balance-tag,.review-person-chip,.shift-ai-chips span) {background:var(--bg-muted);color:var(--brand-navy)!important;border-color:var(--border-default)}
html[data-shift-theme] :is(.candidate,.placed-person,.candidate.risk-reserve) {background:var(--bg-surface)!important;border-color:var(--border-default)!important;border-radius:var(--radius-card)}
html[data-shift-theme] :is(.candidate,.placed-person).risk-zero {border-left-color:var(--status-danger)!important}
html[data-shift-theme] :is(.candidate,.placed-person):is(.risk-low,.risk-pending) {border-left-color:var(--status-warning)!important}
html[data-shift-theme] :is(.candidate,.placed-person):is(.risk-quality,.risk-over) {border-left-color:var(--status-info)!important}
html[data-shift-theme] .candidate.risk-supplemental {border-left-color:var(--status-success)!important}
html[data-shift-theme] :is(.candidate,.placed-person) time {color:var(--text-secondary)!important}
html[data-shift-theme] :is(.candidate,.placed-person) .avatar {background:var(--bg-muted)!important;color:var(--brand-navy)!important}
html[data-shift-theme] .additional-label {background:var(--success-soft);color:var(--success-text)}
html[data-shift-theme] .therapist-name {background:var(--bg-surface);border-color:var(--border-default);font-weight:600}
html[data-shift-theme] .therapist-name.selected {background:#f3f6fa!important;border-color:#d5dae3!important;color:#172033!important;box-shadow:inset 3px 0 #111d36!important}
html[data-shift-theme] .therapist-name:hover {border-color:var(--border-strong);background:var(--bg-page)}
html[data-shift-theme] :is(.therapist-name i,.editor-title i) {background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] .placement-priority-track {background:#e2e6ed!important;opacity:1}
html[data-shift-theme] .priority-choice {--tier:#111d36!important;color:#647084}
html[data-shift-theme] .priority-choice i {width:14px;height:14px;background:#fff;border:2px solid #111d36;box-shadow:0 1px 2px rgb(17 29 54 / .08);transform:none}
html[data-shift-theme] .priority-choice:has(input:checked) i {border-color:#111d36;box-shadow:0 1px 2px rgb(17 29 54 / .08);background:#fff;transform:none}
html[data-shift-theme] .priority-choice:has(input:checked) {color:var(--brand-navy)}
html[data-shift-theme] .placement-priority:has(input:checked) .placement-priority-track {background:linear-gradient(to right,#111d36 0 var(--priority-progress,0%),#e2e6ed var(--priority-progress,0%) 100%)!important}
html[data-shift-theme] #therapistModal .priority-choice span {padding:2px 5px;border:1px solid transparent;border-radius:5px;background:transparent;line-height:16px;white-space:nowrap}
html[data-shift-theme] #therapistModal .priority-choice {display:grid;grid-template-rows:24px 24px;margin:0;place-items:center}
html[data-shift-theme] #therapistModal .placement-priority-track {top:34px;left:calc(10% + 4px);right:calc(10% + 4px)}
html[data-shift-theme] #therapistModal .priority-choice:has(input:checked) span {color:#172033;background:#fff1f5;border-color:#f9c8d7}
html[data-shift-theme] #therapistModal .placement-tag:has(input:checked) {background:#f3f6fa;border-color:#d5dae3;color:#172033}
html[data-shift-theme] #therapistModal input[type=checkbox] {appearance:none;box-sizing:border-box;flex:0 0 16px;width:16px;height:16px;min-height:0;padding:0;border:1px solid #c9cfd9;border-radius:4px;background:#fff;accent-color:#111d36;cursor:pointer}
html[data-shift-theme] #therapistModal input[type=checkbox]:checked {background:#111d36;border-color:#111d36;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html[data-shift-theme] #therapistModal :is(.priority-choice,.placement-tag):has(input:focus-visible) {outline:2px solid var(--brand-pink);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring);border-radius:6px}
html[data-shift-theme] #therapistModal :is(.therapist-photo-preview,.therapist-name i:not(.has-photo),.editor-title i:not(.has-photo)) {background:#edf0f4!important;color:#929aaa!important}
html[data-shift-theme] #therapistModal :is(.delete-therapist,.remove-photo) {background:#fff!important;color:#d94b5b!important;border:1px solid #f2c9cf!important}
html[data-shift-theme] .drawer .detail-row.selected-board-day {background:var(--bg-page);border-left-color:var(--brand-pink);color:var(--brand-navy)}
html[data-shift-theme] .drawer .detail-row.selected-board-day :is(b,.week-detail-date) {color:var(--brand-navy)!important}
html[data-shift-theme] .drawer .actual b {color:var(--brand-navy)}
/* Submitted/pending/none/unconfirmed retain labels plus small state accents. */
html[data-shift-theme] .submission-category-card {--state:var(--text-secondary);border:1px solid var(--border-default)!important;border-left:4px solid var(--state)!important;border-radius:var(--radius-card);background:var(--bg-surface)!important;color:var(--text-primary)!important;box-shadow:none!important;filter:none!important}
html[data-shift-theme] .submission-category-card.category-pending {--state:var(--status-danger)}
html[data-shift-theme] .submission-category-card.category-submitted {--state:var(--status-success)}
html[data-shift-theme] .submission-category-card.category-acknowledged {--state:var(--status-info)}
html[data-shift-theme] .submission-category-card.category-change_pending {--state:var(--status-warning)}
html[data-shift-theme] .submission-category-card :is(span,b) {color:var(--brand-navy)!important;font-weight:600}
html[data-shift-theme] .submission-category-card small {color:var(--text-secondary)!important}
html[data-shift-theme] .submission-category-card i {color:var(--brand-navy)!important;text-decoration:underline;text-underline-offset:3px}
html[data-shift-theme] .submission-category-card:hover {box-shadow:var(--shadow-hover)!important;transform:none}
html[data-shift-theme] .submission-home-back {background:var(--bg-surface)!important;border:1px solid var(--border-strong);color:var(--brand-navy);box-shadow:none}
html[data-shift-theme] .submission-home-back small {color:var(--text-secondary)}
/* Common modal chrome. Request form is a full-screen workspace, not an overlay. */
html[data-shift-theme] :is(.therapist-modal,.settings-modal,.forecast-modal,.dispatch-modal,.weekly-review-modal,.shift-ai-overlay,.ai-correct-overlay,.ai-learning-overlay) {background:var(--overlay)!important}
html[data-shift-theme] :is(.therapist-panel,.settings-panel,.forecast-panel,.dispatch-panel,.weekly-review-panel) {background:var(--bg-surface)!important;border:1px solid var(--border-default);border-radius:var(--radius-modal);box-shadow:var(--shadow-modal)!important}
html[data-shift-theme] :is(.shift-ai-panel,.ai-correct-panel,.ai-learning-panel) {background:var(--bg-surface)!important;color:var(--text-primary);border-radius:var(--radius-modal) 0 0 var(--radius-modal);box-shadow:var(--shadow-modal)!important}
html[data-shift-theme] :is(.shift-ai-head,.ai-correct-head,.ai-learning-panel>header,.dispatch-head,.weekly-review-head,.request-top,.therapist-head,.forecast-panel>header) {background:var(--bg-surface)!important;color:var(--brand-navy)!important;border-bottom:1px solid var(--border-subtle);box-shadow:none!important}
html[data-shift-theme] :is(.shift-ai-head,.ai-correct-head,.ai-learning-panel>header,.dispatch-head,.weekly-review-head) :is(h2,strong,b) {color:var(--brand-navy)!important}
html[data-shift-theme] :is(.shift-ai-head,.ai-correct-head,.ai-learning-panel>header,.dispatch-head,.weekly-review-head) :is(p,small) {color:var(--text-secondary)!important}
html[data-shift-theme] :is(.shift-ai-foot,.ai-correct-actions,.settings-footer,.request-footer) {background:var(--bg-surface)!important;border-top:1px solid var(--border-subtle)}
html[data-shift-theme] :is(.close-modal,.request-close,.shift-ai-close,.ai-correct-close,#closeForecast,#closeDispatch,#closeWeeklyReview,.ai-learning-panel>header button) {min-width:44px;min-height:44px;width:44px;height:44px;background:var(--bg-muted)!important;color:var(--brand-navy)!important;border:0!important;border-radius:var(--radius-control);box-shadow:none}
html[data-shift-theme] :is(.shift-ai-mark,.shift-ai-compose-symbol) {background:transparent!important;color:var(--brand-pink)!important}
html[data-shift-theme] :is(.ai-correct-head small,.ai-correction-thought-copy b) {color:var(--brand-navy)!important}
html[data-shift-theme] :is(.shift-ai-context-note,.shift-ai-usage,.shift-ai-status,.shift-ai-body p,.shift-ai-item small,.shift-ai-step,.ai-correct-summary,.ai-correct-help,.ai-learning-body p) {color:var(--text-secondary)!important}
html[data-shift-theme] :is(.shift-ai-person-evaluation,.shift-ai-empty,.shift-ai-steps,.shift-ai-message,.shift-ai-candidate,.shift-ai-learned,.ai-correct-slot.after) {background:var(--bg-muted)!important;border-color:var(--border-default)!important;color:var(--brand-navy)!important}
html[data-shift-theme] .shift-ai-message.user {background:var(--bg-page)!important;color:var(--brand-navy)!important}
html[data-shift-theme] :is(.shift-ai-suggestion-list button,.shift-ai-tabs button) {background:var(--bg-surface)!important;border-color:var(--border-default);color:var(--brand-navy)}
html[data-shift-theme] .ai-correct-step b {background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] :is(.ai-correct-track i,.ai-correct-ghost) {background:var(--bg-page);color:var(--brand-navy);border-color:var(--brand-pink-border)}
html[data-shift-theme] .ai-correction-target-shift {outline-color:var(--brand-pink)!important;box-shadow:0 0 0 3px var(--focus-ring)!important}
html[data-shift-theme] .ai-correction-complete {background:var(--bg-surface);border-color:var(--border-default);box-shadow:var(--shadow-modal)}
html[data-shift-theme] .ai-correction-complete-mark {background:var(--success-soft);color:var(--success-text)}
html[data-shift-theme] .forecast-bar {background:var(--bg-muted)!important}
html[data-shift-theme] .forecast-day.active .forecast-bar {background:var(--brand-navy)!important}
html[data-shift-theme] .forecast-day.active {background:var(--bg-page)!important;border-color:var(--border-default)}
html[data-shift-theme] :is(.forecast-best,.forecast-selected-card em) {background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] .forecast-average-marker {border-color:var(--status-info)}
html[data-shift-theme] :is(.forecast-opportunity b,.forecast-meta b,.review-good) {color:var(--success-text)}
/* Therapist portal: same components, no pastel-gradient page background. */
html[data-shift-theme=portal] .site-header::after {content:none}
html[data-shift-theme=portal] .rabbit-mark {background:var(--bg-surface);border-color:var(--border-default)}
html[data-shift-theme=portal] .rabbit-mark svg {stroke:var(--brand-navy)}
html[data-shift-theme=portal] :is(.status-card,.status-card.submitted,.status-card.overdue,.schedule-update-notice) {background:var(--bg-surface);border-color:var(--border-default);border-left:3px solid var(--brand-pink);color:var(--text-primary);box-shadow:none;border-radius:var(--radius-card)}
html[data-shift-theme=portal] .status-card.submitted {border-left-color:var(--status-success)}
html[data-shift-theme=portal] .status-card.overdue {border-left-color:var(--status-danger)}
html[data-shift-theme=portal] .status-icon {background:var(--bg-muted);color:var(--text-secondary)}
html[data-shift-theme=portal] .submitted .status-icon {background:var(--success-soft);color:var(--success-text)}
html[data-shift-theme=portal] .overdue .status-icon {background:var(--danger-soft);color:var(--danger-text)}
html[data-shift-theme=portal] .status-copy span {color:var(--text-secondary)}
html[data-shift-theme=portal] :is(.portal-card,.shortcut-card,.next-shift-card,.guide-shortcut,.schedule-acknowledgement) {border-color:var(--border-default);border-radius:var(--radius-card);box-shadow:none;background:var(--bg-surface);color:var(--brand-navy)}
html[data-shift-theme=portal] .bottom-nav button {background:transparent;color:var(--text-secondary)}
html[data-shift-theme=portal] .bottom-nav button.active {background:var(--bg-page);color:var(--brand-navy);box-shadow:inset 0 -2px var(--brand-pink)}
html[data-shift-theme] :is(.notice,.save-message.success,.shift-badge,.therapist-account-status.issued) {background:var(--success-soft);color:var(--success-text);border-color:var(--border-default)}
html[data-shift-theme] :is(.error,.closed-note,.save-message:not(.success),.compare-result.rest,.review-bad) {color:var(--danger-text)}
html[data-shift-theme] :is(.shift-badge.changed,.deadline,.shift-ai-warning,.slot .pending) {background:var(--warning-soft);color:var(--warning-text)}
html[data-shift-theme] .toast {background:var(--brand-navy);color:white;box-shadow:var(--shadow-hover)}
html[data-shift-theme] dialog::backdrop {background:var(--overlay)!important}
html[data-shift-theme] .shift-icon {width:20px;height:20px;display:inline-block;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-shift-theme] .day-lock {background:var(--bg-surface);color:var(--brand-navy);border-color:var(--border-default)}
html[data-shift-theme] .day-lock.locked {background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] .portal-auth-dialog {width:min(460px,calc(100vw - 32px));border:1px solid var(--border-default);border-radius:var(--radius-modal);background:var(--bg-surface);color:var(--text-primary);padding:var(--space-6);box-shadow:var(--shadow-modal)}
html[data-shift-theme] .portal-auth-form {display:grid;gap:var(--space-4)}
html[data-shift-theme] .portal-auth-form label {display:grid;gap:var(--space-2);font-size:var(--font-body)}
html[data-shift-theme] .portal-auth-form p {font-size:var(--font-body);line-height:1.6;color:var(--text-secondary);margin:0}
html[data-shift-theme] .dialog-heading {display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-4)}
html[data-shift-theme] .dialog-heading h2 {font-size:var(--font-title);margin:0}
html[data-shift-theme] .dialog-close {width:44px;height:44px;border:0;border-radius:var(--radius-control);background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] .dialog-actions {display:flex;justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}
html[data-shift-theme] .dialog-actions button {min-height:var(--control-height);padding:10px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--brand-navy)}
html[data-shift-theme] .dialog-actions button.primary,html[data-shift-theme=accounts] button {background:var(--brand-pink);color:var(--action-text);border:1px solid transparent;min-height:var(--control-height);border-radius:var(--radius-control)}
html[data-shift-theme] .ai-correct-overlay.open .ai-correct-head h2::before,html[data-shift-theme] .ai-learning-overlay.open .ai-learning-panel h2::before {content:'✦';color:var(--brand-pink);font-size:18px;margin-right:8px}
html[data-shift-theme] .candidate-zone:empty::after {color:var(--text-secondary)}
html[data-shift-theme] .room-label {background:var(--bg-surface)!important}
html[data-shift-theme] .shift :is(b,strong,small) {color:white!important}
/* Guide chrome shares the product palette; embedded reference screenshots remain untouched. */
html[data-shift-theme=guide] :is(.hero,.section,.step,.catalog-nav,.preview,.phone-card,.feature-points div,.workflow) {background:var(--bg-surface)!important;border-color:var(--border-default)!important;border-radius:var(--radius-card);box-shadow:none!important}
html[data-shift-theme=guide] :is(.eyebrow,.section-lead,.hero p,.step p,.preview-caption,.shot-caption,.footer,.mini-muted) {color:var(--text-secondary)!important}
html[data-shift-theme=guide] :is(.brand,.step h2,.section h2,.phone-title,.mini-result,.mini-week,.mini-row,.mini-field) {color:var(--brand-navy)!important}
html[data-shift-theme=guide] :is(.return,.back,.zoom,.flow a) {display:inline-flex;align-items:center;min-height:var(--control-height);background:var(--bg-surface)!important;color:var(--brand-navy)!important;border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:none;text-decoration:none}
html[data-shift-theme=guide] :is(.return,.back,.zoom,.flow a):hover {background:var(--bg-page)!important}
html[data-shift-theme=guide] :is(.feature-note,.step .note) {background:var(--bg-page);border-left-color:var(--brand-pink);color:var(--text-secondary)}
html[data-shift-theme=guide] .feature-note.warn {background:var(--warning-soft);border-left-color:var(--status-warning);color:var(--warning-text)}
html[data-shift-theme=guide] :is(.num,.number,.pin,.pin.blue,.pin.green,.instructions .bullet) {background:var(--brand-navy);color:white}
html[data-shift-theme=guide] :is(.brand-mark,.mark) {background:var(--bg-surface);color:var(--brand-pink);border:1px solid var(--border-default)}
html[data-shift-theme=guide] :is(.mini-pink,.mini-check span) {background:var(--brand-pink);color:var(--action-text);border-color:var(--brand-pink)}
html[data-shift-theme=guide] .mini-chip {background:var(--brand-pink-soft);border-color:var(--brand-pink);color:var(--brand-navy)}
html[data-shift-theme=guide] .mini-outline {border-color:var(--border-strong);color:var(--brand-navy)}
html[data-shift-theme=guide] :is(.badge,.section.optional .num) {background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] .service-wordmark shift-brand {--logo-size:42px;--logo-font-size:20px}
html[data-shift-theme=portal] shift-brand {--logo-size:42px;--logo-font-size:15px}
html[data-shift-theme=guide] shift-brand {--logo-size:36px;--logo-font-size:13px}
html[data-shift-theme=portal] .status-card:not(.submitted):not(.overdue) {background:var(--bg-surface);border-color:var(--border-default);border-left-color:var(--status-danger)}
html[data-shift-theme=portal] :is(.shortcut-icon,.next-shift-card>svg,.rooms .shortcut-icon) {background:var(--bg-muted);color:var(--text-secondary)}
html[data-shift-theme=portal] .portal-error {background:var(--bg-surface);border-color:var(--border-default);border-radius:var(--radius-card)}
html[data-shift-theme=portal] .portal-error::before {content:'';display:block;width:48px;height:48px;margin-bottom:16px;background:url('/shift-management/assets/clipper-rabbit.svg') center/contain no-repeat}
html[data-shift-theme=portal] #retryPortal {background:var(--brand-pink);color:var(--action-text);min-height:var(--control-height);border-radius:var(--radius-control)}
html[data-shift-theme=portal] .portal-skeleton::before {content:'';display:block;width:42px;height:42px;background:url('/shift-management/assets/clipper-rabbit.svg') center/contain no-repeat;animation:shift-brand-fade 2.2s ease-in-out infinite}
html[data-shift-theme=portal] .portal-skeleton i {background:var(--bg-muted);animation:none}
html[data-shift-theme=portal] .area-options input:checked+span {background:var(--bg-page);border-color:var(--brand-pink-border);box-shadow:inset 0 -2px var(--brand-pink);color:var(--brand-navy)}
html[data-shift-theme=portal] .area-options input:focus-visible+span {outline:2px solid var(--brand-pink);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring)}
html[data-shift-theme=portal] :is(.request-confirm-dialog,.request-confirm-head,.request-confirm-actions,.slot-composer) {background:var(--bg-surface);border-color:var(--border-default);border-radius:var(--radius-modal);box-shadow:none}
html[data-shift-theme=portal] :is(.request-confirm-submit,.slot-composer button,#accountForm button) {background:var(--brand-pink);color:var(--action-text);min-height:var(--control-height);border-radius:var(--radius-control)}
html[data-shift-theme=portal] .request-confirm-back {background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--brand-navy)}
html[data-shift-theme=portal] :is(.portal-submission-week,.portal-week-caption,.portal-view-week,.guide-link-copy small) {color:var(--text-secondary)}
html[data-shift-theme] :is(.shortcut-icon svg,.next-shift-card>svg,.bottom-nav svg,.user-menu-button svg,.status-icon svg) {stroke-width:1.7}
/* Room classification is a small edge marker, not a solid multicolour canvas. */
html[data-shift-theme] .room-label {background:var(--bg-surface)!important}
html[data-shift-theme] .room-label .room-dot {width:4px;border-radius:2px;background:var(--room-color)}
html[data-shift-theme] .shift {background:var(--room-soft)!important;border:1px solid transparent!important;border-left:4px solid var(--room-color)!important;border-radius:8px!important;color:var(--text-primary)!important;box-shadow:none!important;outline:0;transform:none!important;transition:background-color 150ms ease,border-color 150ms ease}
html[data-shift-theme] .shift:hover,html[data-shift-theme] .shift:focus-visible {background:var(--room-hover)!important;outline:1px solid var(--room-color)!important;outline-offset:0;box-shadow:0 1px 3px rgb(17 29 54 / .07)!important;transform:none!important}
html[data-shift-theme] .shift.dragging {background:var(--room-hover)!important;cursor:grabbing}
html[data-shift-theme] .shift.has-request-overrun {background:var(--room-soft)!important}
html[data-shift-theme] .shift.has-request-overrun:hover,html[data-shift-theme] .shift.has-request-overrun:focus-visible {background:var(--room-hover)!important}
html[data-shift-theme] .shift :is(b,.shift-name) {color:var(--text-primary)!important;font-weight:600}
html[data-shift-theme] .shift :is(small,.shift-time,.shift-time *) {color:#647084!important;font-weight:500;font-size:12px;opacity:1;font-variant-numeric:tabular-nums;text-shadow:none;-webkit-text-stroke:0}
html[data-shift-theme] .shift .shift-time .manually-adjusted-time {color:#435d87!important;font-weight:600}
html[data-shift-theme] .shift .avatar,html[data-shift-theme] .shift .avatar.has-photo {width:24px;height:24px;flex:0 0 24px;border:2px solid #fff;box-shadow:none;background:#edf0f4;color:#929aaa;opacity:1;align-self:center}
html[data-shift-theme] .shift .avatar img {opacity:1}
html[data-shift-theme] .shift.compact .avatar,html[data-shift-theme] .shift.compact .avatar.has-photo {width:24px;height:24px;flex-basis:24px}
html[data-shift-theme] .shift.compact {padding-top:0!important;padding-bottom:0!important}
html[data-shift-theme] .shift {gap:7px;opacity:1}
html[data-shift-theme] .shift .shift-copy {gap:5px;flex:1;align-items:center}
html[data-shift-theme] .shift .shift-name {font-size:12px;flex:0 1 auto}
html[data-shift-theme] .shift .shift-time {flex:0 0 auto;overflow:visible}
html[data-shift-theme] .shift.time-truncated .shift-time {display:none}
html[data-shift-theme] .shift-hover-card {background:#fff!important;border:1px solid #e2e6ed;border-radius:10px;box-shadow:0 4px 16px rgb(17 29 54 / .1);backdrop-filter:none;-webkit-backdrop-filter:none;box-sizing:border-box}
html[data-shift-theme] .shift-hover-name {color:#172033;font-weight:600}
html[data-shift-theme] .assigned-shift-tooltip {width:max-content;min-width:min(280px,calc(100vw - 24px));max-width:min(340px,calc(100vw - 24px));padding:15px;overflow:auto}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-name {font-size:14px;font-weight:600}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-diff {background:#eaf0f8!important;color:#405e8c!important;border-left:3px solid #5975a2;border-radius:7px;font-weight:600;margin-top:11px;padding:10px 12px}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-diff strong{color:inherit;font-weight:700}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-match{margin-top:10px;padding:7px 10px;border-radius:6px;background:#f3f6fa;color:#647084;font-size:11px;font-weight:500}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-diff > div + div {margin-top:4px}
html[data-shift-theme] .assigned-shift-tooltip :is(.shift-hover-requested,.shift-hover-assigned) {display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5;margin-top:8px}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-label {color:#647084;font-weight:500;white-space:nowrap}
html[data-shift-theme] .assigned-shift-tooltip .shift-hover-value {color:#172033;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}
html[data-shift-theme] .shift-hover-requested,html[data-shift-theme] .shift-hover-assigned {display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#647084;margin-top:7px}
html[data-shift-theme] .shift-hover-card :is(.shift-hover-requested,.shift-hover-assigned) .shift-hover-value {color:#172033;font-weight:600;font-variant-numeric:tabular-nums}
html[data-shift-theme] .shift .why {color:var(--text-secondary)!important}
html[data-shift-theme] .shift.selected {outline:2px solid var(--room-color)!important;outline-offset:1px;box-shadow:0 0 0 5px color-mix(in srgb,var(--room-color) 14%,transparent)!important}
/* The board bars sit one step above the grid without changing the shared room palette. */
html[data-shift-theme="board"] #shift-management .shift:not(.invalid) {
 --board-bar-surface:color-mix(in srgb,var(--room-soft) 88%,var(--room-color) 12%);
 --board-bar-hover:color-mix(in srgb,var(--room-hover) 88%,var(--room-color) 12%);
 --board-bar-accent:color-mix(in srgb,var(--room-color) 88%,var(--brand-navy) 12%);
 background:var(--board-bar-surface)!important;
 border-left-color:var(--board-bar-accent)!important;
}
html[data-shift-theme="board"] #shift-management .shift:not(.invalid):is(:hover,:focus-visible,.dragging) {background:var(--board-bar-hover)!important}
html[data-shift-theme="board"] #shift-management .shift:not(.invalid) :is(small,.shift-time,.shift-time *) {color:#46556f!important}
html[data-shift-theme="board"] #shift-management .generation-comparison .comparison-shift {background:color-mix(in srgb,var(--room-soft) 88%,var(--room-color) 12%);border-left-color:color-mix(in srgb,var(--room-color) 88%,var(--brand-navy) 12%)}
html[data-shift-theme] .current-time-line {width:1px;background:#e45b55}
html[data-shift-theme] .current-time-line span {background:#e45b55;color:#fff}
/* Request workspace: navy means selection, pink means action/focus, green means saved. */
html[data-shift-theme] #requestModal .request-row.on {background:#f8f9fc!important;box-shadow:inset 3px 0 var(--brand-navy)!important;border-left-color:var(--brand-navy)!important}
html[data-shift-theme] #requestModal .request-available {background:var(--bg-surface);border-color:var(--border-default);box-shadow:none}
html[data-shift-theme] #requestModal :is(.request-segment-off,.request-segment-on) {background:var(--bg-surface);color:var(--text-secondary);box-shadow:none;border:1px solid var(--border-default)}
html[data-shift-theme] #requestModal :is(.request-row.off .request-segment-off,.request-row.on .request-segment-on) {background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}
html[data-shift-theme] #requestModal :is(.request-row.off .request-segment-off,.request-row.on .request-segment-on)::before {content:'✓';margin-right:3px}
html[data-shift-theme] #requestModal :is(.request-segment-off,.request-segment-on) {display:flex;align-items:center;justify-content:center}
html[data-shift-theme] #requestModal :is(.request-progress-label,.request-footer-status,.request-footer-status b) {color:var(--text-primary)!important}
html[data-shift-theme] #requestModal .request-meter {background:var(--border-subtle)}
html[data-shift-theme] #requestModal .request-meter i {background:var(--brand-navy)!important}
html[data-shift-theme] #requestModal :is(.request-time,.request-area,.request-person-search) {background:var(--bg-surface)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important}
html[data-shift-theme] #requestModal :is(input,select,textarea):focus {border-color:var(--brand-pink)!important;box-shadow:0 0 0 3px var(--focus-ring)!important;outline:0!important}
html[data-shift-theme] #requestModal .request-available:focus-within {border-color:var(--brand-pink);outline:0;box-shadow:0 0 0 3px var(--focus-ring)}
html[data-shift-theme] #requestModal .request-hime-option input {accent-color:var(--brand-navy)}
html[data-shift-theme] #requestModal .request-more-menu button:hover {background:var(--bg-page)}
html[data-shift-theme] #requestModal .request-info:focus-visible {outline-color:var(--brand-pink);box-shadow:0 0 0 3px var(--focus-ring)}
html[data-shift-theme] #requestModal :is(.request-today,.request-hime-summary) {background:var(--bg-muted);color:var(--brand-navy)}
html[data-shift-theme] #requestModal :is(.request-week-step,.request-week-today,.request-person-results button):hover {background:var(--bg-page);border-color:var(--border-strong);color:var(--brand-navy)}
html[data-shift-theme] .toast.request-saved {background:var(--success-soft);color:var(--status-success);border:1px solid var(--border-default)}
@keyframes shift-brand-fade {50%{opacity:.6}}
@media(prefers-reduced-motion:reduce){html[data-shift-theme] :is(.portal-skeleton::before,.ai-correction-thought,.ai-correction-target-shift,.ai-correction-complete-mark){animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){html[data-shift-theme] *{scroll-behavior:auto!important}}

/* Board forms use navy for focus; pink remains reserved for primary actions. */
html[data-shift-theme=board] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea),
html[data-shift-theme=board] #requestModal :is(.request-time,.request-area,.request-person-search){background:#fff!important;border-color:#d8dee8!important;color:#172033!important}
html[data-shift-theme=board] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea):is(:focus,:focus-visible),
html[data-shift-theme=board] #requestModal :is(input,select,textarea):is(:focus,:focus-visible){outline:none!important;border-color:#536987!important;box-shadow:0 0 0 3px rgba(17,29,54,.10)!important;background:#fff!important}
html[data-shift-theme=board] #requestModal .request-available:focus-within{border-color:#536987!important;box-shadow:0 0 0 3px rgba(17,29,54,.10)!important}
html[data-shift-theme=board] :is(input,select,textarea)[aria-invalid=true]:is(:focus,:focus-visible),
html[data-shift-theme=board] #requestModal :is(input,select,textarea)[aria-invalid=true]:is(:focus,:focus-visible){border-color:#d94b5b!important;box-shadow:0 0 0 3px rgba(217,75,91,.12)!important}
html[data-shift-theme=board] #settingsModal :is(input[type=checkbox],input[type=radio]){accent-color:#111d36}
html[data-shift-theme=board] .settings-panel>p{margin:8px 0 0}
html[data-shift-theme=board] .settings-panel>.settings-fields{margin-top:22px}

/* Keep learning controls visible while only the memory list scrolls. */
html[data-shift-theme] #aiLearningReview{flex-shrink:1;min-height:0;max-height:52dvh;overflow:auto;padding:16px;border:1px solid #cdd8e8;border-radius:12px;background:#f5f8fd}
html[data-shift-theme] #aiLearningReview[hidden],html[data-shift-theme] #aiLearningEditCancel[hidden],html[data-shift-theme] #aiLearningApprove[hidden]{display:none!important}
html[data-shift-theme] #aiLearningReview [hidden]{display:none!important}
html[data-shift-theme] #aiLearningSummaryEditor{box-sizing:border-box;width:100%;min-height:130px;max-height:220px;padding:12px;resize:vertical;border:1px solid #b8c8dd;border-radius:9px;background:#fff;font:inherit;font-size:16px;line-height:1.65;color:#172033;margin-top:8px}
html[data-shift-theme] #aiLearningSummaryLabel{font-size:13px;color:#64748b}
html[data-shift-theme] #aiLearningQuestion:empty{display:none}
html[data-shift-theme] #aiLearningReviewSubject:empty{display:none}
html[data-shift-theme] #aiLearningReview #aiLearningReviewSubject{font-size:12px;line-height:1.2;color:#526078;margin:0 0 6px}
html[data-shift-theme] .ai-learning-subject-name{display:block;font-size:13px;color:#172033;margin-bottom:6px}
html[data-shift-theme] #aiLearningList .ai-learning-item>p{white-space:pre-line}
html[data-shift-theme] .ai-learning-edit-summary{min-height:36px;padding:6px 12px;border:1px solid #cdd8e8;border-radius:8px;background:#fff;color:#172033;cursor:pointer;font:inherit;font-size:13px}
html[data-shift-theme] #aiLearningReview h3{margin:0 0 10px;font-size:17px}
html[data-shift-theme] #aiLearningReview p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7;margin:8px 0}
html[data-shift-theme] .ai-learning-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
html[data-shift-theme] .ai-learning-review-actions button,html[data-shift-theme] #aiLearningEditCancel{min-height:44px;padding:10px 14px;border:1px solid #cdd8e8;border-radius:10px;background:#fff;color:#172033;cursor:pointer;font:inherit;font-size:14px}
html[data-shift-theme] #aiLearningApprove{background:#f23675;color:#fff;border-color:#f23675}
html[data-shift-theme] .ai-learning-body.is-reviewing>:is(label,textarea,#aiLearningSave,#aiLearningEditCancel){display:none!important}
html[data-shift-theme] #aiLearningSubject{flex-shrink:0;min-height:44px;margin-bottom:14px;padding:9px 12px;border:1px solid #cdd8e8;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:16px;width:100%;box-sizing:border-box}
html[data-shift-theme] .ai-learning-body.is-reviewing>#aiLearningSubject{display:none!important}
html[data-shift-theme] .ai-learning-approved{color:#426c56;font-size:12px}
html[data-shift-theme] .ai-learning-item details,html[data-shift-theme] #aiLearningReview details{margin-top:8px;color:#64748b;font-size:13px}
html[data-shift-theme] .ai-learning-item summary,html[data-shift-theme] #aiLearningReview summary{cursor:pointer}
html[data-shift-theme] .ai-learning-panel{height:100dvh;min-height:0}
html[data-shift-theme] .ai-learning-panel>header{flex-shrink:0;padding:18px 24px}
html[data-shift-theme] .ai-learning-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:20px 24px 12px}
html[data-shift-theme] .ai-learning-body>label{flex-shrink:0;margin-bottom:8px;font-size:14px}
html[data-shift-theme] .ai-learning-body>textarea{flex-shrink:0;min-height:78px;height:84px;max-height:160px;resize:vertical;font-size:14px}
html[data-shift-theme] #aiLearningSave{align-self:flex-start;flex-shrink:0;margin-top:10px;min-height:44px;padding:10px 20px}
html[data-shift-theme] #aiLearningStatus{flex-shrink:0;margin:8px 0 0;font-size:13px;line-height:1.5}
html[data-shift-theme] .ai-learning-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;border-top:1px solid var(--border-subtle);margin-top:18px;padding-top:16px}
html[data-shift-theme] .ai-learning-list-heading h3{margin:0;font-size:16px;color:var(--brand-navy)}
html[data-shift-theme] #aiLearningCount{font-size:12px;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}
html[data-shift-theme] .ai-learning-search-tools{display:flex;gap:8px;flex-shrink:0;margin:12px 0}
html[data-shift-theme] .ai-learning-search{position:relative;flex:1;min-width:0}
html[data-shift-theme] #aiLearningSearch{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--border-strong);border-radius:10px;padding:10px 40px 10px 12px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px}
html[data-shift-theme] #aiLearningSearch::-webkit-search-cancel-button{display:none}
html[data-shift-theme] #aiLearningSearchClear{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;border-radius:7px;background:var(--bg-muted);color:var(--brand-navy);font:inherit;font-size:20px;cursor:pointer}
html[data-shift-theme] #aiLearningFilter{max-width:120px;min-height:44px;padding:8px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13px}
html[data-shift-theme] #aiLearningList{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px 12px 0}
html[data-shift-theme] #aiLearningList .ai-learning-item{padding:12px;margin-bottom:8px;border:1px solid var(--border-subtle)!important;border-radius:10px}
html[data-shift-theme] #aiLearningList .ai-learning-item p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}
html[data-shift-theme] #aiLearningList .ai-learning-item-controls{margin-top:8px;gap:8px}
html[data-shift-theme] .ai-learning-empty{padding:24px 12px;text-align:center;font-size:14px;line-height:1.7;background:var(--bg-page);border-radius:10px}
html[data-shift-theme] :is(#aiLearningSearch,#aiLearningFilter,#aiLearningSearchClear):focus-visible{outline:2px solid var(--brand-navy);outline-offset:2px}
@media(max-width:700px){html[data-shift-theme] .ai-learning-panel>header{padding:14px 16px}html[data-shift-theme] .ai-learning-body{padding:14px 16px 8px}html[data-shift-theme] #aiLearningSearch{font-size:16px}html[data-shift-theme] .ai-learning-list-heading{margin-top:14px;padding-top:12px}}
@media(max-height:600px){html[data-shift-theme] .ai-learning-body>textarea{height:64px;min-height:64px;max-height:80px}html[data-shift-theme] .ai-learning-body{padding-top:10px}html[data-shift-theme] .ai-learning-list-heading{margin-top:10px;padding-top:10px}}
@media(max-height:600px){html[data-shift-theme] #aiLearningReview{padding:12px}html[data-shift-theme] #aiLearningReview h3{margin-bottom:6px}html[data-shift-theme] #aiLearningSummaryEditor{height:100px;min-height:96px;max-height:120px;line-height:1.45;padding:8px}html[data-shift-theme] .ai-learning-review-actions{margin-top:8px}}

/* Centered learning and first-open notice. */
html[data-shift-theme] .ai-learning-overlay{justify-content:center;align-items:center;padding:16px;box-sizing:border-box}
html[data-shift-theme] .ai-learning-panel{width:min(680px,100%);height:min(860px,calc(100dvh - 32px));border-radius:var(--radius-modal)!important;overflow:hidden}
.ai-learning-notice{position:fixed;inset:0;z-index:13000;display:grid;place-items:center;padding:16px;background:rgba(15,28,51,.35)}
.ai-learning-notice[hidden]{display:none}
.ai-learning-notice section{width:min(480px,100%);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:26px;border-radius:16px;background:#fff;color:#111d36;box-shadow:0 12px 40px #10234822}
.ai-learning-notice h2{font-size:20px;margin:0 0 18px}.ai-learning-notice p{font-size:14px;line-height:1.7;margin:12px 0;color:#52647c}.ai-learning-notice label{display:flex;gap:8px;align-items:center;font-size:14px;margin-top:22px}.ai-learning-notice footer{display:flex;justify-content:flex-end;margin-top:20px}
@media(max-height:640px){html[data-shift-theme] .ai-learning-overlay{padding:8px}html[data-shift-theme] .ai-learning-panel{height:calc(100dvh - 16px)}html[data-shift-theme] .ai-learning-panel>header{padding:12px 16px}html[data-shift-theme] .ai-learning-body{padding:10px 16px 8px}html[data-shift-theme] #aiLearningSummaryEditor{min-height:90px;height:90px}}
