/* Appearance utilities are independent of the intro's intentionally absent app header. */
.appearance-tools{display:flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--ps-ink,#172c30)}
.appearance-tools button,.appearance-tools .language-control{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--ps-line,#beced3);border-radius:12px;background:var(--ps-surface,#fff);color:var(--ps-ink,#172c30);cursor:pointer}
.appearance-tools svg{width:21px;height:21px;flex-shrink:0}
.appearance-tools [hidden]{display:none!important}
.appearance-tools .language-control{gap:2px;width:62px;padding:0 5px}
.appearance-tools [data-language-code]{font:650 10px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.appearance-tools select{position:absolute;inset:0;width:100%;height:100%;min-height:44px;margin:0;opacity:0;cursor:pointer}
.appearance-tools button:focus-visible,.appearance-tools label:focus-within{outline:3px solid var(--ps-action,#006b68);outline-offset:3px}
.appearance-tools button:hover,.appearance-tools label:hover{background:var(--ps-mint-soft,#e0fdfc)}
body:not(.login-mode) .intro-appearance{display:none}
body.login-mode .intro-appearance{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:25}
body.login-mode .intro-appearance button,body.login-mode .intro-appearance label{background:var(--ps-surface,#fff)}
/* Keep translated labels legible rather than clipping long Thai/Vietnamese text. */
html:not([lang=ko]) .tabs{flex-wrap:wrap;height:auto}
html:not([lang=ko]) .nav-item,html:not([lang=ko]) .dock-label{overflow-wrap:anywhere}
html:not([lang=ko]) .page-head{flex-wrap:wrap}
html:not([lang=ko]) .page-head h1,html:not([lang=ko]) .modal-head h2{overflow-wrap:anywhere}
@media(max-width:760px){
 body:not(.login-mode) header{gap:6px}
 body:not(.login-mode) header .head-tools{margin-left:auto;gap:4px}
 body:not(.login-mode) header .brand{min-width:0;flex:1 1 auto}
 body:not(.login-mode) header .brand b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 body:not(.login-mode) header .brand img{width:32px;height:32px}
 body:not(.login-mode) header .head-tools>button[data-nav=notifications]{display:none}
 body:not(.login-mode) header .head-tools .appearance-tools{gap:2px}
 body:not(.login-mode) .app-dock .dock-label{white-space:normal;text-align:center;font-size:11px;line-height:1.25;max-width:72px}
 body:not(.login-mode) .app-dock .dock-item{min-height:68px}
 body:not(.login-mode) header:has(#pwa-controls:not([hidden])) [data-mobile-search]{display:none}
 body.login-mode .intro-appearance{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}
}
@media print{.appearance-tools{display:none!important}}

/* Distinct luminance levels: canvas < sidebar < cards < controls.
   Brand mint never changes; its label colour is always the fixed --ps-on-mint. */
html[data-theme=dark]{
 --ps-canvas:#0e171f;--ps-sidebar:#16232e;--ps-surface:#21313e;--ps-input:#2b3e4d;--ps-inset:#1a2935;
 --ps-ink:#edf6fa;--ps-muted:#b6cbd5;--ps-line:#536d7d;--ps-action:#69f4ee;
 --ps-mint:#00ede8;--ps-mint-hover:#35f7f1;--ps-mint-soft:#123f43;--ps-mint-wash:#102e34;--ps-mint-line:#33767a;--ps-on-mint:#102b2c;
 --ps-disabled-bg:#2b3944;--ps-disabled-line:#435764;--ps-disabled-text:#a8bdc8;
 --ps-danger:#ffb7c4;--ps-danger-soft:#472630;--ps-danger-line:#9b586c;--ps-danger-ink:#ffc0cc;
 --text:var(--ps-ink);--surface:var(--ps-surface);--muted:var(--ps-muted);--line:var(--ps-line);
 color:var(--ps-ink);background:var(--ps-canvas);color-scheme:dark;
}
html[data-theme=dark] body{color:var(--ps-ink);background:var(--ps-canvas)}
html[data-theme=dark] button{background:var(--ps-surface);color:var(--ps-ink);border-color:var(--ps-line)}
html[data-theme=dark] :is(input,select,textarea){background:var(--ps-input);color:var(--ps-ink);border-color:var(--ps-line)}
html[data-theme=dark] :is(input,textarea)::placeholder{color:var(--ps-muted);opacity:1}
html[data-theme=dark] :is(label,small,.muted,.loading,.nav-label,.nav-icon,.empty,.compose-prompt,.source-note,.task-sub,.gantt-track span,.org-no-departments,.org-department small,.org-content-heading small,.org-content h2 span,.org-selection span,.org-profile-detail p,.biz-details dt){color:var(--ps-muted)}
html[data-theme=dark] :is(.empty b,.org-summary b,.message-author,.room-copy strong,.brand,.login-service-name){color:var(--ps-ink)}
html[data-theme=dark] :is(.tabs,.project-detail .tabs,.chat-layout,.bubble,.messenger-layout,.messenger-sidebar,.messenger-title,#messenger-detail,#messenger-search-form,#messenger-send,.messenger-main #messenger-send,.reply-preview,.form-actions,.comment-form,.chat-message-popover,.policy-matrix tbody th,.notification.read){background:var(--ps-surface);color:var(--ps-ink);border-color:var(--ps-line)}
html[data-theme=dark] :is(.messenger-main,.messenger-main[data-theme=lavender],.messenger-main[data-theme=white],.messages){background:var(--ps-canvas);color:var(--ps-ink)}
html[data-theme=dark] .messenger-main[data-theme=blue]{background:#122335}
html[data-theme=dark] :is(.weekday,.blank,.chat-room-search,.chat-list-filters button,.chat-day-divider span,.chat-pinned,.progress,.file-icon){background:var(--ps-inset);color:var(--ps-muted)}
html[data-theme=dark] :is(.day.today,.biz-route li.current,.chat-list-filters button.active,.messenger-room.selected){background:var(--ps-mint-soft);color:var(--ps-ink)}
html[data-theme=dark] :is(.tabs button,.post-bottom button,.messenger-title small,.messenger-title nav button,.room-copy small,.room-trailing small,.chat-pinned span,.message-meta,.message-meta small,.chat-quote span,.chat-no-messages,.chat-no-messages b,.messenger-compose-tools span,.messenger-compose-tools button[type=button],#messenger-typing,.reply-preview small,.chat-people-picker legend,.chat-small-empty,.messenger-start,.messenger-list-title .chat-read-all){color:var(--ps-muted)}
html[data-theme=dark] :is(.tabs button.active,.notification em,.mention){color:var(--ps-action)}
html[data-theme=dark] :is(.message-bubble,.chat-file,.reaction,.chat-load-more,.message-hover-tools button){background:#30444f;color:var(--ps-ink);border-color:var(--ps-line)}
html[data-theme=dark] .mine .message-bubble{background:var(--ps-mint-soft);color:var(--ps-ink)}
html[data-theme=dark] .reaction.mine{background:var(--ps-mint-soft);border-color:var(--ps-mint-line);color:var(--ps-action)}
html[data-theme=dark] .message-bubble.deleted{color:var(--ps-muted)}
html[data-theme=dark] .message-meta b{color:#f5ce89}
html[data-theme=dark] .chat-quote{background:transparent;color:var(--ps-ink)}
html[data-theme=dark] :is(.messenger-layout,.messenger-sidebar,#messenger-detail,.chat-people-picker,.messenger-main #messenger-text){border-color:var(--ps-line)}
html[data-theme=dark] .biz-badge{background:#3a4a58;color:#e0edf5}
html[data-theme=dark] .biz-badge.good{background:#174536;color:#b6f5d8}
html[data-theme=dark] .biz-badge.bad{background:var(--ps-danger-soft);color:var(--ps-danger-ink)}
html[data-theme=dark] :is(.error,.permissions-page .error){background:var(--ps-danger-soft);color:var(--ps-danger-ink);border-color:var(--ps-danger-line)}
html[data-theme=dark] .app-dock{background:#21313ef5;border-color:var(--ps-line);box-shadow:0 10px 35px #0006}
html[data-theme=dark] .app-dock .dock-icon{background:var(--ps-on-mint)}
html[data-theme=dark] .app-dock .dock-label{background:var(--ps-input);color:var(--ps-ink)}
html[data-theme=dark] #toast{background:#304754;color:var(--ps-ink);border:1px solid var(--ps-line)}
html[data-theme=dark] kbd{border-color:var(--ps-line);color:var(--ps-muted)}
html[data-theme=dark] body.search-open header #search-form{background:var(--ps-input);border-color:var(--ps-line)}
html[data-theme=dark] .gantt-track{background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 31 - 1px),#536d7d calc(100% / 31 - 1px),#536d7d calc(100% / 31))}
html[data-theme=dark] .status{color:#102b2c}
html[data-theme=dark] .status.s3{color:#fff}
html[data-theme=dark] :is(.room-trailing .unread,.day.today>b){background:var(--ps-mint);color:var(--ps-on-mint)}
html[data-theme=dark] :is(#pwa-update,#pwa-install-dialog #pwa-install){color:var(--ps-on-mint)}
html[data-theme=dark] body.login-mode,html[data-theme=dark] body.login-mode main,html[data-theme=dark] body.login-mode .login{background:var(--ps-canvas);color:var(--ps-ink)}
html[data-theme=dark] body.login-mode :is(.login-service-name,.login-instruction,.intro-security-label){color:var(--ps-ink)}
html[data-theme=dark] .intro-security-scan{background:var(--ps-mint-soft)}
html[data-theme=dark] .appearance-tools button,html[data-theme=dark] .appearance-tools label{background:var(--ps-surface);color:var(--ps-ink);border-color:var(--ps-line)}
@media(max-width:760px){html[data-theme=dark] .app-dock .dock-icon{background:var(--ps-on-mint)}html[data-theme=dark] .app-dock .dock-label{background:transparent}html[data-theme=dark] .biz-table td::before{color:var(--ps-muted)}}
/* Keep the organization stylesheet's legacy !important red out of dark mode. */
html[data-theme=dark] body:not(.login-mode) .org-danger{color:var(--ps-danger-ink)!important}
