/* Apple_v2 shared semantic palette. Business selectors and record identities are unchanged. */
:root,body[data-theme="light"] {
 --ui-canvas:#f5f5f7;--ui-surface:#fff;--ui-text:#1d1d1f;--ui-muted:#636366;
 --ui-border:#d2d2d7;--ui-brand:#0066cc;--ui-accent:#0066cc;--ui-on-accent:#fff;
 --ui-brand-soft:#eaf2fc;--ui-selected:#dceafb;--ui-ai-bg:#eaf2fc;--ui-display-bg:#edf2f7;
 --ui-sidebar-bg:#163b67;--ui-sidebar-text:#f5f8ff;--ui-sidebar-muted:#c3d7ee;
 --ui-sidebar-selected:#245b91;--ui-sidebar-border:#315d88;--ui-sidebar-link:#8dccff;
 --ui-control-border:#8e8e93;--ui-required:#b91c1c;--ui-flow-line:#8d9eb4;
 --ui-success-bg:#e6f4ea;--ui-success-fg:#23663a;--ui-wait-bg:#fff3dd;--ui-wait-fg:#855000;
 --ui-error-bg:#fcebed;--ui-error-fg:#a52232;--ui-info-bg:#eaf2fc;--ui-info:#0066cc;
 --ui-warning:#855000;--ui-danger:#a52232;--ui-gap:16px;--ui-radius:14px;
 --ink:var(--ui-text);--muted:var(--ui-muted);--paper:var(--ui-canvas);--surface:var(--ui-surface);
 --line:var(--ui-border);--green:var(--ui-brand);--green-deep:#164f87;--green-soft:var(--ui-brand-soft);
 --blue-soft:var(--ui-ai-bg);--orange-soft:var(--ui-wait-bg);--red:var(--ui-error-fg);--red-soft:var(--ui-error-bg);
 --shadow:0 8px 28px rgb(0 0 0 / .06);color-scheme:light;
}
body[data-theme="dark"] {
 --ui-canvas:#0b1220;--ui-surface:#151f30;--ui-text:#f5f5f7;--ui-muted:#a9b7ca;
 --ui-border:#35445a;--ui-brand:#0a84ff;--ui-accent:#0a84ff;--ui-on-accent:#001426;
 --ui-brand-soft:#182b43;--ui-selected:#203956;--ui-ai-bg:#182b43;--ui-display-bg:#102337;
 --ui-sidebar-bg:#061528;--ui-sidebar-text:#f5f8ff;--ui-sidebar-muted:#b6cce4;
 --ui-sidebar-selected:#1b3d63;--ui-sidebar-border:#365778;--ui-sidebar-link:#8dccff;
 --ui-control-border:#667b97;--ui-required:#ff9b9b;--ui-flow-line:#607995;
 --ui-success-bg:#153f30;--ui-success-fg:#a5dfbd;--ui-wait-bg:#3e2c12;--ui-wait-fg:#ffd28a;
 --ui-error-bg:#472331;--ui-error-fg:#ffb5bd;--ui-info-bg:#182b43;--ui-info:#79bfff;
 --ui-warning:#ffd28a;--ui-danger:#ffb5bd;
 --ink:var(--ui-text);--muted:var(--ui-muted);--paper:var(--ui-canvas);--surface:var(--ui-surface);
 --line:var(--ui-border);--green:#79bfff;--green-deep:#102337;--green-soft:var(--ui-brand-soft);
 --blue-soft:var(--ui-ai-bg);--orange-soft:var(--ui-wait-bg);--red:var(--ui-error-fg);--red-soft:var(--ui-error-bg);
 --shadow:0 8px 28px rgb(0 0 0 / .2);color-scheme:dark;
}
body {font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei","Noto Sans TC",sans-serif;background:var(--ui-canvas);color:var(--ui-text);line-height:1.55}
#appShell.ui-shell {grid-template-columns:224px minmax(0,1fr)!important}
#appShell .ui-sidebar {background:var(--ui-sidebar-bg);color:var(--ui-sidebar-text);padding:24px 12px 16px}
#appShell .ui-sidebar-brand {color:var(--ui-sidebar-text)}
#appShell .ui-identity {color:var(--ui-sidebar-muted)}
#appShell .ui-identity strong {color:var(--ui-sidebar-text)}
#appShell .ui-identity small,#appShell .ui-account-nav {border-color:var(--ui-sidebar-border)}
#appShell .ui-nav-link {color:var(--ui-sidebar-text);background:transparent;border-left:3px solid transparent;border-radius:10px;min-height:46px}
#appShell .ui-nav-link:hover,#appShell .ui-nav-link.active {background:var(--ui-sidebar-selected);color:var(--ui-sidebar-text)}
#appShell .ui-nav-link.active {border-left-color:var(--ui-sidebar-link)}
#appShell .topbar {background:var(--ui-surface);border-bottom:1px solid var(--ui-border);padding:12px 28px;min-height:72px;gap:16px}
#appShell .topbar {flex-wrap:wrap}
#appShell .top-actions {gap:8px;flex-wrap:wrap;justify-content:flex-end}
#appShell .ui62-global-search {max-width:540px;min-width:180px;flex:1 1 280px;background:var(--ui-canvas);border-color:var(--ui-border)}
#appShell .ui62-global-search input,#appShell #ui62Search {border:0!important;background:transparent!important;min-height:40px}
#appShell #readingToggle,#appShell #pageMenuButton {display:inline-flex!important;align-items:center;justify-content:center}
#appShell #readingPanel {display:none!important}
body.reading-open #appShell #readingPanel {display:flex!important;flex-direction:column}
#appShell .ui-page-heading {padding:24px 32px 12px;border-top:0}
#appShell .ui-page-heading h1 {font-size:calc(28px * var(--font-scale));font-weight:650;letter-spacing:-.02em}
#appShell #workspace {padding:0 32px 24px}
#appShell .ui62-page {gap:16px}
#appShell #v622DeveloperBar {background:var(--ui-display-bg);color:var(--ui-text);border-color:var(--ui-border)}
#appShell #v622DeveloperBar [data-group].is-active {background:var(--ui-selected)!important;color:var(--ui-info)!important;border-color:var(--ui-brand)!important;box-shadow:inset 0 -3px var(--ui-brand)}
#appShell .permission-notice {margin:8px 32px 24px;color:var(--ui-muted);background:var(--ui-display-bg)}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) :is(.ui62-card,.section-card,.v74-panel,.v7-card) {border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);border-radius:14px;box-shadow:none;min-width:0}
:is(#appShell,dialog) .ui62-card {padding:20px}
:is(#appShell,dialog) :is(.ui62-card,.section-card) h3 {font-weight:650;font-size:calc(18px * var(--font-scale));margin:0 0 14px}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select) {background:var(--ui-surface)!important;color:var(--ui-text)!important;border:1px solid var(--ui-control-border);border-radius:9px;min-height:44px;max-width:100%;min-width:0}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) :is(input,textarea)::placeholder {color:var(--ui-muted);opacity:1}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) :is(.primary,.secondary,.ghost,.page-menu-button) {border-radius:10px;min-height:44px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) .primary {background:var(--ui-brand);border-color:var(--ui-brand);color:var(--ui-on-accent)}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) :is(.secondary,.ghost,.page-menu-button) {background:var(--ui-surface);color:var(--ui-info);border:1px solid var(--ui-control-border)}
:is(#appShell,dialog) :is(.avatar,.ai-running-button,.ui-account-button) {background:var(--ui-ai-bg);color:var(--ui-info);border-color:var(--ui-border)}
:is(#appShell,dialog) :is(.ui62-tabs,.v7-tabs) {background:var(--ui-surface);border-bottom:1px solid var(--ui-border);gap:8px;flex-wrap:wrap}
:is(#appShell,dialog) :is(.ui62-tab,.v7-tabs button,[role=tab]) {min-height:44px;border-radius:9px;color:var(--ui-muted);background:var(--ui-surface)}
:is(#appShell,dialog) :is(.ui62-tab.active,.v7-tabs button.active,[role=tab][aria-selected=true]) {background:var(--ui-selected);color:var(--ui-info);border-color:var(--ui-brand)}
:is(#appShell,dialog) :is(th,.ui62-table-head) {background:var(--ui-canvas);color:var(--ui-muted)}
:is(#appShell,dialog) :is(td,th) {border-color:var(--ui-border);line-height:1.55}
:is(#appShell,dialog) :is(.ui62-facts,.v7-facts,.ui62-message,.ui62-hint,.v74-note) {color:var(--ui-text)}
:is(#appShell,dialog) :is(.ui62-empty,.ui62-message.info,.ui62-facts>div,.v7-facts>div) {background:var(--ui-display-bg);border-color:var(--ui-border)}
:is(#appShell,dialog) :is(.ui62-badge.success,.status.success,.badge.success) {background:var(--ui-success-bg);color:var(--ui-success-fg)}
:is(#appShell,dialog) :is(.ui62-badge.warning,.status.warning,.badge.warning,.v74-warning) {background:var(--ui-wait-bg);color:var(--ui-wait-fg)}
:is(#appShell,dialog) :is(.ui62-badge.danger,.status.danger,.badge.danger,.form-error,.v74-error) {color:var(--ui-error-fg)}
:is(#appShell,dialog) :is(.ui62-badge.info,.badge.info,.v74-status) {background:var(--ui-info-bg);color:var(--ui-info)}
:is(#appShell,dialog,#loginScreen,#v622RegistrationPage) :is(button,a,input,select,textarea,summary):focus-visible {outline:2px solid var(--ui-info);outline-offset:3px}
dialog {background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--shadow)}
dialog::backdrop {background:rgb(4 15 32 / .5)}
dialog .v5-dialog-head {background:var(--ui-surface);border-color:var(--ui-border)}
.apple75-required {display:inline!important;color:var(--ui-required)!important;opacity:1!important;font-weight:700}
.apple75-label-text {display:inline;min-width:0}
:is(#appShell,dialog) .ui62-card.apple75-display {background:var(--ui-display-bg)}
:is(#appShell,dialog) .ui62-card.apple75-input {background:var(--ui-surface)}
#loginScreen {background:var(--ui-canvas);padding:0;min-height:calc(100dvh - 80px);width:min(1440px,calc(100% - 80px));margin:40px auto;grid-template-columns:minmax(0,48fr) minmax(0,52fr);border:1px solid var(--ui-border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
#loginScreen .login-card {max-width:480px;width:100%;margin:auto;grid-template-columns:minmax(0,1fr);border:0;border-radius:0;box-shadow:none;overflow:visible}
#loginScreen .login-visual {background-color:#164f87!important;color:#f6faff}
body[data-theme=dark] #loginScreen .login-visual {background-color:var(--ui-sidebar-bg)!important}
#loginScreen .login-panel {background:var(--ui-surface);padding:40px}
#loginScreen .login-brand,#loginScreen .login-visual :is(h1,h2,h3,p,strong,span) {color:#f6faff}
#loginScreen .login-version {background:var(--ui-sidebar-bg);color:var(--ui-sidebar-text)}
#loginScreen .login-feature {background:transparent;color:#f6faff}
#loginScreen .login-visual .login-feature-icon {background:rgb(255 255 255 / .12);color:#f6faff}
#loginScreen .ui-login-features>div>.ui-icon {background:rgb(255 255 255 / .12);color:#f6faff}
body[data-theme=dark] :is(#appShell,dialog) .v6-hotkey {background:var(--ui-display-bg);color:var(--ui-info)}
body[data-theme=dark] :is(#appShell,dialog) :is(.ui62-kpi,.v6-number,.ui62-selection-row,.v7-receipt) {background:var(--ui-surface);color:var(--ui-text)}
body[data-viewport=tablet] #appShell.ui-shell,body[data-viewport=mobile] #appShell.ui-shell {display:block!important;grid-template-columns:minmax(0,1fr)!important}
/* Authentication visibility outranks every responsive shell layout. */
body[data-viewport] #appShell.ui-shell.hidden,#appShell.ui-shell.hidden {display:none!important}
body[data-viewport=tablet] #appShell .ui-sidebar,body[data-viewport=mobile] #appShell .ui-sidebar {display:none}
body[data-viewport=tablet] #appShell #workspace {padding-inline:24px}
body[data-viewport=mobile] #appShell #workspace {padding-inline:16px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
body[data-viewport=mobile] #appShell .ui-page-heading {padding:16px}
body[data-viewport=mobile] #appShell .ui-page-heading h1 {font-size:calc(23px * var(--font-scale))}
body[data-viewport=mobile] #appShell .topbar {padding:10px 16px}
body[data-viewport=mobile] #appShell .top-actions {gap:6px;justify-content:flex-start}
body[data-viewport=mobile] #appShell .ui62-card {padding:16px}
body[data-viewport=mobile] #appShell .permission-notice {margin-inline:16px}
@media(max-width:1199px) {#loginScreen {width:calc(100% - 48px);margin:24px auto;min-height:calc(100dvh - 48px);grid-template-columns:minmax(0,40fr) minmax(0,60fr)}#loginScreen .login-panel {padding:28px}}
@media(max-width:767px) {#loginScreen {width:calc(100% - 32px);margin:16px auto;min-height:calc(100dvh - 32px);grid-template-columns:minmax(0,1fr)}#loginScreen .login-visual {min-height:180px;padding:24px}#loginScreen .login-panel {padding:24px}dialog {max-width:calc(100vw - 24px)} }
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}
/* Portrait toolbar: keep every original action reachable in two compact rows.
   Text scales with the account preference; long/bilingual labels may grow. */
@media(max-width:650px) {
 body[data-viewport=mobile] #appShell .topbar {
  display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);
  align-items:center;gap:6px;min-height:0;height:auto;padding:6px 12px;
 }
 body[data-viewport=mobile] #appShell .topbar .top-actions {display:contents}
 body[data-viewport=mobile] #appShell .topbar :is(#readingToggle,#pageMenuButton,#v71-help) {
  min-width:0;width:100%;max-width:none;min-height:44px;height:auto;padding:4px;
  font-size:calc(13px * var(--font-scale));line-height:1.25;overflow-wrap:anywhere;
 }
 body[data-viewport=mobile] #appShell .topbar #readingToggle {grid-column:1;grid-row:1}
 body[data-viewport=mobile] #appShell .topbar .ui-notifications {
  grid-column:2;grid-row:1;box-sizing:border-box;width:44px;min-width:44px;min-height:44px;padding:8px;
 }
 body[data-viewport=mobile] #appShell .topbar #pageMenuButton {grid-column:3;grid-row:1}
 body[data-viewport=mobile] #appShell .topbar #accountButton {
  grid-column:4;grid-row:1;box-sizing:border-box;width:44px;min-width:44px;min-height:44px;
 }
 body[data-viewport=mobile] #appShell .topbar #v71-help {grid-column:5;grid-row:1}
 body[data-viewport=mobile] #appShell .topbar .ui62-global-search {
  grid-column:1/4;grid-row:2;box-sizing:border-box;min-width:0;width:100%;max-width:none;
  min-height:44px;padding:0 8px;gap:6px;order:0;
 }
 body[data-viewport=mobile] #appShell .topbar #ui62Search {
  box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:6px 0;
  font-size:max(16px,calc(14px * var(--font-scale)));
 }
 body[data-viewport=mobile] #appShell .topbar .v71-language {
  grid-column:4/-1;grid-row:2;min-width:0;min-height:44px;width:100%;margin:0;
 }
 body[data-viewport=mobile] #appShell .topbar .v71-language select {
  box-sizing:border-box;display:block;width:100%;min-width:0;min-height:44px;padding:4px;
  font-size:max(16px,calc(13px * var(--font-scale)));
 }
 body[data-viewport=mobile] #appShell .topbar :is(#aiTaskButton,#v71-notifications) {grid-column:1/-1;min-height:44px}
 body[data-viewport=mobile] #appShell .topbar #readingPanel {top:calc(100% + 6px);right:0}
 body[data-viewport=mobile][data-handedness=left] #appShell .topbar #readingPanel {left:0;right:auto}
 /* Extra-large type needs natural label widths instead of five narrow cells. */
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar {display:flex;flex-wrap:wrap}
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar .top-actions {
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px;width:100%;min-width:0;margin:0;
 }
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar :is(#readingToggle,#pageMenuButton,#v71-help) {
  flex:1 1 auto;width:max-content;max-width:100%;min-width:0;padding:4px 8px;overflow-wrap:normal;word-break:normal;
 }
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar :is(.ui-notifications,#accountButton) {flex:0 0 44px}
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar .v71-language {flex:1 1 130px;width:auto;max-width:100%}
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar .ui62-global-search {flex:1 0 100%;width:100%;order:2}
 body[data-viewport=mobile][data-font-size=xlarge] #appShell .topbar :is(#aiTaskButton,#v71-notifications) {flex:1 0 100%}
}
