/* Glass workspace: three destinations, consistent controls, clear grouping.
   Blur belongs to outer surfaces; repeated cards and fields stay lightweight. */
body.anteks-app {
  --ux-bg: #eaf0f7;
  --ux-surface: rgb(255 255 255 / 68%);
  --ux-subtle: rgb(233 241 250 / 64%);
  --ux-field-bg: rgb(255 255 255 / 84%);
  --ux-solid: #f8fbff;
  --ux-glass-border: rgb(255 255 255 / 88%);
  --ux-glass-shadow: 0 12px 32px rgb(29 55 88 / 10%), inset 0 1px 0 rgb(255 255 255 / 92%);
  --ux-ambient: radial-gradient(ellipse at 9% 6%, rgb(100 179 242 / 32%), transparent 42%), radial-gradient(ellipse at 94% 36%, rgb(159 145 229 / 24%), transparent 44%), radial-gradient(ellipse at 48% 100%, rgb(115 201 216 / 20%), transparent 48%);
  --ux-text: #1d2d40;
  --ux-muted: #536578;
  --ux-border: rgb(115 142 172 / 26%);
  --ux-field-border: #9dabb9;
  --ux-accent: #096bab;
  --ux-accent-soft: #e8f2fb;
  --ux-primary: #076bad;
  --ux-radius: 16px;
  --ux-radius-sm: 10px;
  --ux-shadow: 0 4px 14px rgb(30 48 66 / 5%);
  --ux-inset: inset 0 1px 3px rgb(30 48 66 / 7%);
}
body.anteks-app[data-theme="dark"] {
  --ux-bg: #0e1928;
  --ux-surface: rgb(20 36 53 / 78%);
  --ux-subtle: rgb(40 60 81 / 58%);
  --ux-field-bg: rgb(20 33 49 / 94%);
  --ux-solid: #1a2a3b;
  --ux-glass-border: rgb(175 211 246 / 23%);
  --ux-glass-shadow: 0 12px 32px rgb(0 5 15 / 24%), inset 0 1px 0 rgb(197 224 255 / 9%);
  --ux-ambient: radial-gradient(ellipse at 9% 6%, rgb(40 121 191 / 34%), transparent 42%), radial-gradient(ellipse at 94% 36%, rgb(106 79 167 / 25%), transparent 44%), radial-gradient(ellipse at 48% 100%, rgb(31 119 135 / 20%), transparent 48%);
  --ux-text: #e8f0f8;
  --ux-muted: #a9bbcd;
  --ux-border: rgb(147 179 209 / 23%);
  --ux-field-border: #637a90;
  --ux-accent: #8bc8f7;
  --ux-accent-soft: #223d52;
  --ux-shadow: 0 4px 16px rgb(0 0 0 / 13%);
  --ux-inset: inset 0 1px 3px rgb(0 0 0 / 16%);
}
body.anteks-app,
body.anteks-app[data-theme="dark"] {
  --bg: var(--ux-bg); --panel: var(--ux-surface); --panel-soft: var(--ux-subtle);
  --text: var(--ux-text); --muted: var(--ux-muted); --border: var(--ux-border);
  --brand-blue: var(--ux-accent); --brand-blue-soft: var(--ux-accent-soft);
  --ui-bg: var(--ux-bg); --ui-surface: var(--ux-surface); --ui-surface-muted: var(--ux-subtle);
  --ui-text: var(--ux-text); --ui-muted: var(--ux-muted); --ui-border: var(--ux-border);
  --ui-input-border: var(--ux-field-border); --ui-accent: var(--ux-accent);
  --ui-radius: var(--ux-radius); --ui-radius-sm: var(--ux-radius-sm); --ui-shadow: var(--ux-shadow);
  --nm-bg: var(--ux-bg); --nm-surface: var(--ux-surface); --nm-text: var(--ux-text);
  --nm-muted: var(--ux-muted); --nm-border: var(--ux-border); --nm-divider: var(--ux-border);
  --nm-edge: var(--ux-border); --nm-field-border: var(--ux-field-border); --nm-accent: var(--ux-accent);
  --nm-raised: var(--ux-shadow); --nm-raised-sm: 0 2px 4px rgb(20 40 60 / 7%);
  --nm-flat: 0 1px 2px rgb(20 40 60 / 6%); --nm-inset: var(--ux-inset);
  --nm-primary: var(--ux-primary); --nm-primary-shadow: 0 2px 4px rgb(0 58 100 / 18%);
  background: var(--ux-ambient), var(--ux-bg); background-attachment: fixed;
  color: var(--ux-text); font-size: 14px; line-height: 1.5;
}
body.anteks-app :is(button,input,select,textarea) { font: inherit; }
body.anteks-app :is(button,.button-secondary) { border-radius: var(--ux-radius-sm); }
body.anteks-app :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]) {
  border-color: var(--ux-field-border); color: var(--ux-text); background-color: var(--ux-field-bg);
  box-shadow: var(--ux-inset);
}
body.anteks-app :is(input,textarea)::placeholder { color: var(--ux-muted); opacity: .85; }
body.anteks-app :is(.workspace-view,.topbar,.workspace-tabs,.overview-metric,.overview-table-card,.task-card) {
  animation: none;
}
body.anteks-app :is(.workspace-view,.task-card) { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Equal outer columns keep navigation centered regardless of account-name length. */
body.anteks-app .topbar.workspace-navigation-shell {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  grid-template-areas: "brand navigation account"; align-items: center; gap: 20px;
  min-height: 72px; padding: 12px 28px; border-bottom: 1px solid var(--ux-glass-border);
  background: var(--ux-surface); box-shadow: 0 1px 12px rgb(20 40 60 / 4%);
}
body.anteks-app .workspace-navigation-shell > .brand { grid-area: brand; }
body.anteks-app .workspace-navigation-shell > .header-controls { grid-area: account; max-width: 100%; }
body.anteks-app .workspace-navigation-shell .account-bar { flex-wrap: nowrap; }
body.anteks-app .workspace-navigation-shell .account-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.anteks-app .brand { position: static; flex: 1 1 auto; width: auto; min-width: 0; gap: 16px; align-self: center; padding: 0; }
body.anteks-app .company-logo { width: 56px; height: 32px; filter: none; }
body.anteks-app .brand h1 {
  display: block; position: static; width: auto; height: auto; margin: 0; overflow: visible;
  clip: auto; clip-path: none; color: var(--ux-text); font-size: 16px; font-weight: 700; letter-spacing: .08em;
}
body.anteks-app .sync-state { margin-left: 4px; color: var(--ux-muted); font-size: 12px; font-weight: 450; box-shadow: none; }
body.anteks-app .header-controls { display: flex; flex: 0 0 auto; width: auto; min-width: 0; margin-left: auto; }
body.anteks-app .account-bar { gap: 10px; }
body.anteks-app .account-label { padding: 0 12px; border: 0; border-left: 1px solid var(--ux-border); border-radius: 0; background: transparent; box-shadow: none; font-size: 13px; font-weight: 500; }
body.anteks-app .topbar :is(.settings-button,.notification-button) {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px;
  width: 44px; height: 44px; min-height: 44px; padding: 10px;
  color: var(--ux-muted); border: 1px solid var(--ux-border); background: var(--ux-surface); box-shadow: var(--nm-flat);
}
body.anteks-app .topbar :is(.settings-button,.notification-button):hover { color: var(--ux-accent); background: var(--ux-accent-soft); }

/* Navigation: stable labels and positions in all three sections. */
body.anteks-app main,
body.anteks-app[data-workspace="chat"] main {
  display: grid; grid-template-columns: minmax(0,1fr);
  align-items: start; gap: 32px; width: 100%; max-width: 1920px;
  margin: 0 auto; padding: 32px 28px;
}
body.anteks-app .workspace-navigation-shell > .workspace-tabs {
  grid-area: navigation; justify-self: center; position: static; inset: auto; transform: none;
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch;
  width: max-content; max-width: 100%; height: auto; padding: 4px; margin: 0; gap: 4px;
  border: 1px solid var(--ux-glass-border); border-radius: 12px; background: var(--ux-subtle); box-shadow: none;
  overflow: visible;
}
body.anteks-app .workspace-navigation-shell .workspace-tab {
  display: flex; flex-direction: row; align-items: center; justify-content: center;
  width: 100%; min-width: 108px; height: 44px; min-height: 44px; gap: 8px;
  margin: 0; padding: 0 14px; border: 1px solid transparent; border-radius: var(--ux-radius-sm);
  color: var(--ux-muted); background: transparent; box-shadow: none; font-size: 14px; font-weight: 500; position: relative;
}
body.anteks-app .workspace-tab > svg { width: 20px; height: 20px; flex: 0 0 20px; }
body.anteks-app .workspace-tab > span:not(.nav-badge) { position: static; width: auto; height: auto; clip-path: none; overflow: visible; }
body.anteks-app .workspace-tab:hover { background: var(--ux-subtle); color: var(--ux-text); box-shadow: none; }
body.anteks-app .workspace-navigation-shell .workspace-tab.is-active { border-color: var(--ux-accent); color: var(--ux-accent); background: var(--ux-accent-soft); box-shadow: none; }
body.anteks-app .workspace-navigation-shell .workspace-tab:focus-visible { outline: 2px solid var(--ux-accent); outline-offset: 2px; }
body.anteks-app .workspace-navigation-shell .workspace-tab .nav-badge { position: absolute; top: -3px; right: -3px; margin: 0; }
body.anteks-app .workspace-view { min-width: 0; width: 100%; }
body.anteks-app main > .workspace-view[data-workspace-view] { grid-column: 1; grid-row: 1; }
body.anteks-app .task-year-badge { flex: 0 0 auto; padding: 3px 8px; border: 1px solid var(--ux-border); border-radius: 6px; color: var(--ux-muted); background: var(--ux-subtle); font-size: 11px; font-weight: 600; white-space: nowrap; }

/* Overview: one main action, three meaningful totals, then the working list. */
body.anteks-app .overview-workspace { padding: 0; }
body.anteks-app .overview-header { align-items: center; gap: 20px; margin-bottom: 24px; }
body.anteks-app :is(.overview-eyebrow,.workspace-eyebrow) { margin: 0 0 8px; color: var(--ux-accent); font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
body.anteks-app :is(.overview-header h2,.requests-page-header h2) { margin: 0; font-size: clamp(25px,2.3vw,34px); line-height: 1.25; letter-spacing: -.035em; font-weight: 650; }
body.anteks-app :is(.overview-subtitle,.workspace-description) { margin: 8px 0 0; color: var(--ux-muted); font-size: 14px; line-height: 1.6; }
body.anteks-app .overview-header-actions { align-items: center; gap: 10px; padding: 0; }
body.anteks-app .overview-header-actions button { min-height: 44px; padding-inline: 16px; font-size: 13px; }
body.anteks-app #overviewViewRequestsButton { border-color: transparent; background: transparent; box-shadow: none; color: var(--ux-accent); }
body.anteks-app :is(#overviewCreateTaskButton,#createTaskOpenButton) { min-height: 44px; padding: 0 16px; color: white; border-color: var(--ux-primary); background: var(--ux-primary); box-shadow: var(--nm-primary-shadow); }
body.anteks-app .overview-context { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 16px; color: var(--ux-muted); font-size: 12px; }
body.anteks-app .overview-context > span { font-size: 12px; font-weight: 500; }
body.anteks-app .overview-clock { display: flex; align-items: center; gap: 8px; font-size: 12px; }
body.anteks-app .overview-clock > strong { font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; }
body.anteks-app .overview-clock > small { font-size: 12px; color: var(--ux-muted); }
body.anteks-app .overview-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 28px; }
body.anteks-app .overview-metrics.is-worker-layout { grid-template-columns: minmax(0,1fr); }
body.anteks-app .overview-metric { min-height: 156px; padding: 20px 22px; gap: 10px; border: 1px solid var(--ux-border); border-radius: var(--ux-radius); background: var(--ux-surface); box-shadow: var(--ux-shadow); }
body.anteks-app .overview-metric-head { color: var(--ux-muted); font-size: 13px; font-weight: 500; }
body.anteks-app .overview-metric-icon { width: 32px; height: 32px; flex-basis: 32px; padding: 6px; border: 0; border-radius: 9px; background: var(--ux-subtle); box-shadow: none; color: var(--ux-muted); }
body.anteks-app #overviewPrimaryMetric .overview-metric-icon { color: var(--ux-accent); background: var(--ux-accent-soft); }
body.anteks-app .overview-metric > strong { font-size: 36px; font-weight: 600; letter-spacing: -.04em; line-height: 1.2; }
body.anteks-app .overview-metric > small { color: var(--ux-muted); font-size: 12px; line-height: 1.5; }
body.anteks-app .overview-table-card { border: 1px solid var(--ux-border); border-radius: var(--ux-radius); background: var(--ux-surface); box-shadow: var(--ux-shadow); overflow: hidden; }
body.anteks-app .overview-table-card > header { min-height: 88px; padding: 20px 24px; border-bottom: 1px solid var(--ux-border); }
body.anteks-app .overview-table-card h3 { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
body.anteks-app .overview-table-kicker { color: var(--ux-muted); font-size: 10px; margin-bottom: 5px; letter-spacing: .09em; }
body.anteks-app .overview-table-count { padding: 5px 10px; border: 1px solid var(--ux-border); border-radius: 20px; background: transparent; color: var(--ux-muted); box-shadow: none; }
body.anteks-app .overview-table { min-width: 740px; }
body.anteks-app .overview-table th { padding-inline: 20px; color: var(--ux-muted); background: var(--ux-subtle); font-size: 12px; font-weight: 500; }
body.anteks-app .overview-table td { padding: 16px 20px; height: 84px; border-color: var(--ux-border); font-size: 13px; }
body.anteks-app .overview-table tbody tr:hover { background: var(--ux-accent-soft); }
body.anteks-app .overview-task-link strong { font-size: 14px; font-weight: 550; }
body.anteks-app :is(.overview-task-subtitle,.overview-task-link > span) { color: var(--ux-muted); }
body.anteks-app .overview-task-progress-track { height: 5px; background: var(--ux-subtle); box-shadow: none; }

/* Compact Overview only: admin screens also reuse the generic overview classes. */
body.anteks-app .overview-header.overview-summary { display: grid; grid-template-columns: minmax(210px, .9fr) minmax(0, 2fr) auto; align-items: center; gap: 16px; margin-bottom: 16px; padding: 14px 16px; border: 1px solid var(--ux-border); border-radius: var(--ux-radius); background: var(--ux-surface); box-shadow: var(--ux-shadow); }
body.anteks-app .overview-summary .overview-welcome { min-width: 0; }
body.anteks-app .overview-summary .overview-welcome h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 21px; overflow-wrap: anywhere; }
body.anteks-app .overview-summary .overview-clock { display: flex; flex-wrap: wrap; gap: 2px 8px; margin-top: 6px; color: var(--ux-muted); }
body.anteks-app .overview-summary .overview-clock > small { font-size: 11px; }
body.anteks-app .overview-summary .overview-metrics { display: grid; grid-template-columns: repeat(3,minmax(170px,1fr)); gap: 0; min-width: 0; margin: 0; padding: 2px 0; overflow-x: auto; scrollbar-width: thin; }
body.anteks-app .overview-summary .overview-metrics.is-worker-layout { grid-template-columns: minmax(170px,1fr); }
body.anteks-app .overview-summary .overview-metric { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 0; padding: 0 14px; gap: 3px; border: 0; border-left: 1px solid var(--ux-border); border-radius: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.anteks-app .overview-summary #overviewPrimaryMetric { grid-column: auto; min-height: 0; }
body.anteks-app .overview-summary .overview-metric::after { display: none; }
body.anteks-app .overview-summary .overview-metric-head { min-width: 0; gap: 0; font-size: 11px; line-height: 1.4; }
body.anteks-app .overview-summary .overview-metric-icon { display: none; }
body.anteks-app .overview-summary .overview-metric > strong { font-size: 24px; line-height: 1.1; font-variant-numeric: tabular-nums; }
body.anteks-app .overview-summary .overview-metric > small { display: block; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
body.anteks-app .overview-summary .overview-header-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; width: auto; }
body.anteks-app .overview-summary .overview-header-actions button { flex: 0 0 auto; }
body.anteks-app .overview-summary .overview-metrics:focus-visible { outline: 2px solid var(--ux-accent); outline-offset: 2px; }
@media (max-width: 979px) {
  body.anteks-app .overview-header.overview-summary { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  body.anteks-app .overview-summary .overview-metrics { grid-column: 1 / -1; grid-row: 2; }
  body.anteks-app .overview-summary .overview-header-actions { grid-column: 2; grid-row: 1; }
}
@media (max-width: 639px) {
  body.anteks-app .overview-header.overview-summary { grid-template-columns: minmax(0,1fr); padding: 12px; gap: 12px; }
  body.anteks-app .overview-summary .overview-welcome h2 { font-size: 20px; }
  body.anteks-app .overview-summary .overview-header-actions { grid-column: 1; grid-row: 3; justify-content: space-between; }
  body.anteks-app .overview-summary .overview-header-actions button { padding-inline: 12px; }
}

/* Status labels retain readable semantic colours over either glass theme. */
body.anteks-app :is(.overview-status,.status-pill).status-preparation { color: #775507; background: #fff1d4; }
body.anteks-app :is(.overview-status,.status-pill).status-in_work { color: var(--ux-accent); background: var(--ux-accent-soft); }
body.anteks-app :is(.overview-status,.status-pill).status-in_production { color: #86500d; background: #ffedce; }
body.anteks-app :is(.overview-status,.status-pill).status-done { color: #126639; background: #e5f4eb; }
body.anteks-app :is(.overview-status,.status-pill).status-paused { color: #a72f46; background: #fce7ec; }
body.anteks-app[data-theme="dark"] :is(.overview-status,.status-pill).status-preparation { color: #f2d088; background: #41361f; }
body.anteks-app[data-theme="dark"] :is(.overview-status,.status-pill).status-in_production { color: #ffd38a; background: #45331b; }
body.anteks-app[data-theme="dark"] :is(.overview-status,.status-pill).status-done { color: #8fe0b1; background: #183b30; }
body.anteks-app[data-theme="dark"] :is(.overview-status,.status-pill).status-paused { color: #ffafba; background: #442b39; }

/* Requests: one compact summary row; year/status controls survive collapse. */
body.anteks-app .requests-page-header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; margin-bottom: 12px; padding: 12px 16px; border: 1px solid var(--ux-border); border-radius: var(--ux-radius); background: var(--ux-surface); box-shadow: var(--ux-shadow); }
body.anteks-app .requests-page-header h2 { display: flex; align-items: center; gap: 8px; font-size: 21px; white-space: nowrap; }
body.anteks-app .requests-heading-count { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 30px; padding: 0 8px; border: 1px solid var(--ux-border); border-radius: 9px; color: var(--ux-muted); background: var(--ux-surface); font-size: 15px; font-weight: 500; letter-spacing: 0; font-variant-numeric: tabular-nums; }
body.anteks-app #folderForm { display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 0; margin: 0; }
body.anteks-app #folderForm :is(button,input) { min-height: 44px; font-size: 13px; }
body.anteks-app #folderForm .month-picker { min-width: 176px; }
body.anteks-app #folderForm :is(.month-picker-label,.year-picker > span) { font-size: 11px; }
body.anteks-app #folderForm :is(.month-picker-button,.year-picker-button) { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; height: 44px; padding: 4px 10px; border: 1px solid var(--ux-border); background: var(--ux-surface); box-shadow: var(--nm-flat); }
body.anteks-app #folderForm .month-picker-copy { display: grid; gap: 1px; flex: 1 1 auto; min-width: 0; text-align: left; }
body.anteks-app #folderForm :is(.month-picker-button,.year-picker-button) > svg { width: 16px; height: 16px; flex: 0 0 16px; margin-left: auto; }
body.anteks-app #folderForm .month-picker-number { width: 30px; height: 30px; border-radius: 7px; color: var(--ux-accent); background: var(--ux-accent-soft); box-shadow: none; }
body.anteks-app #folderForm .month-picker-copy strong { color: var(--ux-text); font-size: 12px; }
body.anteks-app #folderForm .month-picker-copy small { color: var(--ux-muted); font-size: 10px; }
body.anteks-app #folderForm :is(#pickFileButton,#refreshButton) { padding-inline: 10px; color: var(--ux-muted); border-color: transparent; background: transparent; box-shadow: none; }
body.anteks-app .requests-page-header #folderForm { flex-wrap: nowrap; align-items: center; gap: 6px; width: auto; }
body.anteks-app .requests-workspace .requests-page-header .metrics { display: flex; flex-wrap: nowrap; min-width: 0; gap: 0; margin: 0; padding: 2px 0; overflow-x: auto; scrollbar-width: thin; border: 0; border-radius: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.anteks-app .requests-workspace .metric { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; flex: 1 0 auto; min-height: 40px; padding: 0 12px; gap: 2px; border: 0; border-right: 1px solid var(--ux-border); border-radius: 0; background: transparent; box-shadow: none; white-space: nowrap; }
body.anteks-app .requests-workspace .metric:last-child { border-right: 0; }
body.anteks-app .requests-workspace .metric-value { color: var(--ux-text); font-size: 20px; line-height: 1.2; font-weight: 600; font-variant-numeric: tabular-nums; }
body.anteks-app .requests-workspace .metric-label { color: var(--ux-muted); font-size: 11px; font-weight: 450; }
body.anteks-app .requests-workspace .toolbar { align-items: center; gap: 6px; margin-bottom: 22px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.anteks-app .requests-toolbar-controls { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; gap: 8px 12px; }
body.anteks-app .requests-status-filters { display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
body.anteks-app .requests-workspace .toolbar > .notice { flex: 1 1 300px; min-width: 0; max-width: 520px; margin: 0 0 0 auto; padding: 8px 12px; border-width: 1px; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
@media (max-width: 1450px) {
  body.anteks-app .requests-workspace .toolbar > .notice { flex-basis: 100%; max-width: none; }
}
body.anteks-app .requests-summary-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px; border: 1px solid var(--ux-border); border-radius: 9px; color: var(--ux-muted); background: var(--ux-surface); box-shadow: none; white-space: nowrap; font-size: 12px; }
body.anteks-app .requests-summary-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.anteks-app .requests-summary-toggle[aria-expanded="false"] svg { transform: rotate(180deg); }
body.anteks-app :is(.requests-summary-toggle,.requests-page-header .metrics):focus-visible { outline: 2px solid var(--ux-accent); outline-offset: 2px; }
body.anteks-app .requests-workspace :is(.filter-button,.carryover-filter-button,.warehouse-task-filter-button,.done-stage-filter,.production-role-filter) { min-height: 44px; padding: 0 12px; border: 1px solid transparent; border-radius: 9px; color: var(--ux-muted); background: transparent; box-shadow: none; font-size: 12px; font-weight: 500; }
body.anteks-app .requests-workspace :is(.filter-button,.done-stage-filter,.production-role-filter).is-active { border-color: var(--ux-border); color: var(--ux-accent); background: var(--ux-surface); box-shadow: var(--nm-flat); }
body.anteks-app .requests-workspace .carryover-filter-wrap { margin-left: auto; }
body.anteks-app .requests-workspace .board { gap: 16px; align-items: start; }
body.anteks-app .requests-workspace .column { padding: 12px; border: 1px solid var(--ux-border); border-radius: var(--ux-radius); background: var(--ux-subtle); box-shadow: none; }
body.anteks-app .requests-workspace .column-header { min-height: 44px; padding: 0 2px 12px; }
body.anteks-app .requests-workspace .column-title { color: var(--ux-text); font-size: 13px; font-weight: 600; }
body.anteks-app .requests-workspace .column-count { color: var(--ux-muted); background: var(--ux-surface); border-radius: 6px; box-shadow: none; }
body.anteks-app .requests-workspace .column-search { height: 40px; border: 1px solid var(--ux-border); background: var(--ux-surface); box-shadow: none; }
body.anteks-app .requests-workspace .cards { gap: 12px; }
body.anteks-app .requests-workspace .task-card { padding: 16px; border: 1px solid var(--ux-border); border-radius: 11px; color: var(--ux-text); background: var(--ux-surface); box-shadow: 0 2px 4px rgb(20 40 60 / 4%); }
body.anteks-app .requests-workspace .task-card:hover { transform: none; border-color: var(--ux-accent); background: var(--ux-surface); box-shadow: var(--ux-shadow); }
body.anteks-app .requests-workspace .task-title { color: var(--ux-text); font-size: 14px; font-weight: 550; line-height: 1.5; }
body.anteks-app .requests-workspace .task-card :is(.importance-badge:not(.importance-high):not(.importance-critical),.task-months) { color: var(--ux-muted); background: var(--ux-subtle); box-shadow: none; }
body.anteks-app .requests-workspace .empty { border-color: var(--ux-border); color: var(--ux-muted); background: transparent; }

/* The docked workspace owns the viewport. Only its two content panes scroll;
   the available height follows the actual header, summary and notice rows. */
html:has(> body.anteks-app.task-detail-docked),
body.anteks-app.task-detail-docked { height: 100dvh; overflow: hidden; }
body.anteks-app.task-detail-docked #appShell { display: flex; flex-direction: column; height: 100%; min-height: 0; }
body.anteks-app.task-detail-docked .topbar { flex-shrink: 0; }
body.anteks-app.task-detail-docked main { flex: 1 1 0; min-height: 0; grid-template-rows: minmax(0,1fr); align-items: stretch; padding-bottom: 14px; }
body.anteks-app.task-detail-docked #requestsWorkspace { display: flex; flex-direction: column; height: 100%; min-height: 0; }
body.anteks-app.task-detail-docked #requestsWorkspace > :is(.requests-page-header,.toolbar) { flex-shrink: 0; }
body.anteks-app.task-detail-docked .board.board-focus-layout { flex: 1 1 0; min-height: 0; grid-template-rows: minmax(0,1fr); overflow: hidden; }
body.anteks-app.task-detail-docked .board.board-focus-layout .column.is-focused-column { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
body.anteks-app.task-detail-docked .board.board-focus-layout .column.is-focused-column > :not(.cards) { flex-shrink: 0; }
body.anteks-app.task-detail-docked .column.is-focused-column > :is(.production-role-filters,.done-stage-filters) { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 2px; }
body.anteks-app.task-detail-docked .column.is-focused-column > :is(.production-role-filters,.done-stage-filters) > button { flex: 0 0 auto; white-space: nowrap; }
body.anteks-app.task-detail-docked .board.board-focus-layout .column.is-focused-column > .cards { flex: 1 1 0; min-height: 0; max-height: none; overflow-y: auto; overscroll-behavior: contain; }
body.anteks-app.task-detail-docked #taskModal.is-docked .modal-fields { overscroll-behavior: contain; }

/* A short desktop uses the full dialog with one content scroller, like narrow
   layouts: fixed-height form grids would otherwise squeeze the item list shut. */
@media (min-width: 1181px) and (max-height: 599px) {
  body.anteks-app #taskModal:not(.is-docked) .modal-fields { display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
  body.anteks-app #taskModal:not(.is-docked) .task-tabs { flex-shrink: 0; }
  body.anteks-app #taskModal:not(.is-docked) :is(.task-tab-panel,#managerTaskPanel,#technologistTaskPanel,#workerTaskPanel) { height: auto; min-height: auto; overflow: visible; }
  body.anteks-app #taskModal:not(.is-docked) :is(.manager-layout,.technologist-layout,.worker-layout) { grid-template-columns: minmax(0,1fr); height: auto; min-height: auto; overflow: visible; }
  body.anteks-app #taskModal:not(.is-docked) :is(.manager-left-column,.manager-right-column,.technologist-left-column,.technologist-right-column) { grid-template-rows: auto; height: auto; min-height: auto; overflow: visible; }
  body.anteks-app #taskModal:not(.is-docked) :is(.quantity-field,.role-tasks-field) { min-height: 0; height: auto; overflow: visible; }
  body.anteks-app #taskModal:not(.is-docked) :is(.quantity-list,.role-tasks-list) { height: auto; max-height: none; overflow: visible; }
  body.anteks-app #taskModal:not(.is-docked) :is(.manager-description-field,.manager-comment-field,.technologist-comment-field) textarea { height: 150px; min-height: 150px; }
}

/* Chat: separate contact navigation, conversation, and the composer. */
body.anteks-app .chat-workspace { min-height: 0; }
body.anteks-app .chat-shell { grid-template-columns: 288px minmax(0,1fr); min-height: 560px; height: calc(100dvh - 136px); max-height: none; border: 1px solid var(--ux-border); border-radius: var(--ux-radius); background: var(--ux-surface); box-shadow: var(--ux-shadow); overflow: hidden; }
body.anteks-app .chat-sidebar { background: transparent; border-right: 1px solid var(--ux-border); }
body.anteks-app .chat-sidebar-header { padding: 22px 18px 16px; gap: 14px; border-color: var(--ux-border); background: transparent; box-shadow: none; }
body.anteks-app .chat-sidebar-header h2 { margin: 0; color: var(--ux-text); font-size: 23px; font-weight: 600; letter-spacing: -.03em; }
body.anteks-app #chatContactSearch { min-height: 44px; font-size: 13px; }
body.anteks-app .chat-status-row { gap: 8px; color: var(--ux-muted); font-size: 11px; }
body.anteks-app .chat-contact-list { padding: 8px; }
body.anteks-app .chat-contact { gap: 12px; padding: 14px 10px; border: 1px solid transparent; border-radius: 10px; background: transparent; box-shadow: none; }
body.anteks-app .chat-contact:hover { background: var(--ux-subtle); }
body.anteks-app .chat-contact.is-active { color: var(--ux-text); border-color: var(--ux-border); background: var(--ux-accent-soft); box-shadow: none; }
body.anteks-app .chat-avatar { width: 40px; height: 40px; flex-basis: 40px; border: 1px solid var(--ux-border); border-radius: 12px; color: var(--ux-accent); background: var(--ux-surface); box-shadow: none; }
body.anteks-app .chat-dialog { background: var(--ux-subtle); }
body.anteks-app .chat-dialog-header { min-height: 82px; padding: 18px 24px; border-bottom: 1px solid var(--ux-border); background: transparent; box-shadow: none; }
body.anteks-app #chatDialogName { color: var(--ux-text); font-size: 15px; font-weight: 600; }
body.anteks-app #chatDialogRole { color: var(--ux-muted); font-size: 12px; }
body.anteks-app .chat-message-list { gap: 18px; padding: 24px; background: transparent; box-shadow: none; }
body.anteks-app .chat-message { padding: 12px 16px; border: 1px solid var(--ux-border); border-radius: 14px 14px 14px 4px; color: var(--ux-text); background: var(--ux-field-bg); box-shadow: var(--nm-flat); font-size: 14px; line-height: 1.6; }
body.anteks-app .chat-message-row.is-own .chat-message { border-color: color-mix(in srgb,var(--ux-accent) 24%,var(--ux-border)); border-radius: 14px 14px 4px 14px; background: var(--ux-accent-soft); box-shadow: none; }
body.anteks-app .chat-message.is-sticker-message { border: 0; background: transparent; box-shadow: none; }
body.anteks-app .chat-composer { gap: 10px; padding: 16px; border-top: 1px solid var(--ux-border); background: transparent; box-shadow: none; backdrop-filter: none; }
body.anteks-app .chat-file-tools > small { display: none; }
body.anteks-app .chat-file-tools:has(.chat-selected-file:empty):not(:has(button:not(.is-hidden))) { display: none; }
body.anteks-app .chat-composer :is(.chat-attach-button,.chat-expression-button,button[type="submit"]) { height: 44px; min-height: 44px; margin: 0; }
body.anteks-app .chat-composer textarea { height: 44px; min-height: 44px; padding: 10px 12px; line-height: 22px; }
body.anteks-app .chat-dialog-header { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* One frosted layer per large region, with a clear edge against the ambient light. */
body.anteks-app :is(.topbar,.workspace-tabs,.overview-metric,.overview-table-card,.chat-shell,.login-panel),
body.anteks-app .requests-workspace :is(.metrics,.column) {
  border-color: var(--ux-glass-border);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}
body.anteks-app :is(.overview-metric,.overview-table-card,.chat-shell,.login-panel),
body.anteks-app .requests-workspace :is(.metrics,.column) { box-shadow: var(--ux-glass-shadow); }
body.anteks-app .requests-workspace .column { background: var(--ux-surface); }
body.anteks-app .requests-workspace :is(.task-card,.task-card:hover,.column-search) { background: var(--ux-field-bg); }
body.anteks-app .overview-table tbody tr { background: transparent; }
body.anteks-app .overview-table tbody tr:hover { background: var(--ux-accent-soft); }
body.anteks-app .login-view { background: var(--ux-ambient), var(--ux-bg); }
body.anteks-app .login-panel { background: var(--ux-surface); }

/* Put header glass behind its content: a filtered ancestor prevents floating
   menus from blurring the page outside the header's own bounds. */
body.anteks-app .topbar.workspace-navigation-shell {
  isolation: isolate; background: transparent;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.anteks-app .topbar::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: var(--ux-surface);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}

@media (max-width: 1199px) {
  body.anteks-app .topbar.workspace-navigation-shell { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "brand account" "navigation navigation"; gap: 10px 20px; }
  body.anteks-app main,body.anteks-app[data-workspace="chat"] main { gap: 24px; padding: 24px 20px; }
  body.anteks-app #folderForm { justify-content: flex-start; }
  body.anteks-app .chat-shell { grid-template-columns: 250px minmax(0,1fr); }
}
@media (max-width: 979px) {
  body.anteks-app .requests-page-header { grid-template-columns: auto minmax(0,1fr); gap: 10px; }
  body.anteks-app .requests-page-header #folderForm { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-start; }
  body.anteks-app .topbar { padding-inline: 20px; }
  body.anteks-app main,body.anteks-app[data-workspace="chat"] main { display: block; padding: 20px; }
  body.anteks-app .chat-shell { height: calc(100dvh - 192px); min-height: 480px; }
  body.anteks-app .overview-header { flex-wrap: wrap; }
  body.anteks-app .overview-table { min-width: 700px; }
}
@media (max-width: 639px) {
  body.anteks-app { background-attachment: scroll; }
  body.anteks-app .topbar.workspace-navigation-shell { min-height: 64px; padding: 10px 16px; gap: 10px; }
  body.anteks-app .brand { gap: 10px; }
  body.anteks-app .company-logo { width: 44px; height: 28px; }
  body.anteks-app .brand h1 { font-size: 13px; }
  body.anteks-app .sync-state { display: none; }
  body.anteks-app .account-label { display: none; }
  body.anteks-app .account-bar { gap: 8px; }
  body.anteks-app main,body.anteks-app[data-workspace="chat"] main { padding: 24px 16px calc(24px + env(safe-area-inset-bottom,0px)); }
  body.anteks-app .workspace-navigation-shell > .workspace-tabs { width: 100%; }
  body.anteks-app .workspace-navigation-shell .workspace-tab { min-width: 0; gap: 6px; padding: 0 6px; font-size: 13px; }
  body.anteks-app .workspace-navigation-shell .workspace-tab > svg { width: 17px; height: 17px; flex-basis: 17px; }
  body.anteks-app .overview-header { align-items: flex-start; gap: 20px; margin-bottom: 20px; }
  body.anteks-app .overview-header h2 { font-size: 26px; }
  body.anteks-app :is(.overview-subtitle,.workspace-description) { font-size: 13px; }
  body.anteks-app .overview-header-actions { display: flex; width: 100%; justify-content: space-between; }
  body.anteks-app .overview-context { align-items: flex-start; }
  body.anteks-app .overview-context > span { display: none; }
  body.anteks-app .overview-clock { flex-wrap: wrap; gap: 4px 8px; }
  body.anteks-app .overview-clock > small { font-size: 11px; }
  body.anteks-app .overview-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
  body.anteks-app .overview-metric { padding: 14px 16px; min-height: 110px; gap: 8px; }
  body.anteks-app #overviewPrimaryMetric { grid-column: 1 / -1; min-height: 120px; }
  body.anteks-app .overview-metric-head { align-items: flex-start; font-size: 12px; }
  body.anteks-app .overview-metric > strong { font-size: 32px; }
  body.anteks-app .overview-table-card > header { padding: 18px 16px; }
  body.anteks-app .overview-table-card h3 { font-size: 17px; }
  body.anteks-app .overview-table { min-width: 0; }
  body.anteks-app .overview-table td { height: auto; padding: 4px 0; border: 0; }
  body.anteks-app .overview-table tbody tr { padding: 16px; border-color: var(--ux-border); }
  body.anteks-app .requests-page-header { padding: 10px; margin-bottom: 10px; }
  body.anteks-app .requests-page-header h2 { font-size: 18px; }
  body.anteks-app #folderForm { width: 100%; gap: 10px 8px; }
  body.anteks-app #folderForm .month-picker { min-width: 160px; flex: 1 1 160px; }
  body.anteks-app #folderForm #createTaskOpenButton { flex: 1 1 152px; }
  body.anteks-app .requests-workspace .metric { padding: 0 10px; }
  body.anteks-app .requests-workspace .toolbar { flex-direction: column; align-items: stretch; gap: 8px; margin-bottom: 16px; }
  body.anteks-app .requests-toolbar-controls { justify-content: space-between; gap: 8px; }
  body.anteks-app .requests-toolbar-controls .task-year-filter > span { display: none; }
  body.anteks-app .requests-status-filters { flex: 0 0 auto; flex-wrap: nowrap; gap: 4px; width: 100%; overflow-x: auto; scrollbar-width: thin; }
  body.anteks-app .requests-status-filters > button { flex: 0 0 auto; }
  body.anteks-app .requests-workspace .filter-button { padding-inline: 10px; }
  body.anteks-app .requests-workspace .carryover-filter-wrap { margin-left: 0; }
  body.anteks-app .chat-shell { display: block; height: calc(100dvh - 180px - env(safe-area-inset-bottom,0px)); min-height: 340px; border-radius: 12px; }
  body.anteks-app .chat-sidebar,body.anteks-app .chat-dialog { height: 100%; }
  body.anteks-app .chat-sidebar-header { padding: 18px 16px; }
  body.anteks-app .chat-message-list { padding: 16px; }
  body.anteks-app .chat-dialog-header { min-height: 72px; padding: 12px 16px; }
  body.anteks-app .chat-composer { padding: 12px; gap: 8px; }
}
/* Phone navigation stays within thumb reach. A conversation owns the bottom
   edge for its composer; returning to contacts reveals the same navigation. */
@media (max-width: 720px) {
  body.anteks-app .topbar.workspace-navigation-shell { grid-template-areas: "brand account"; }
  body.anteks-app .workspace-navigation-shell > .workspace-tabs {
    position: fixed; z-index: 20; top: auto; left: 12px; right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom,0px)); width: calc(100% - 24px); max-width: none;
    padding: 5px; border-radius: 16px; background: var(--ux-surface); box-shadow: var(--ux-glass-shadow);
  }
  body.anteks-app .workspace-navigation-shell .workspace-tab { flex-direction: column; min-width: 0; height: 52px; min-height: 52px; gap: 3px; padding: 4px; font-size: 11px; }
  body.anteks-app .workspace-navigation-shell .workspace-tab > svg { width: 20px; height: 20px; flex-basis: 20px; }
  body.anteks-app main,body.anteks-app[data-workspace="chat"] main { padding-bottom: calc(92px + env(safe-area-inset-bottom,0px)); }
  body.anteks-app[data-workspace="chat"] .chat-shell { height: 100%; min-height: 0; }
  body.anteks-app[data-workspace="chat"]:has(#chatWorkspace.has-open-dialog) .workspace-navigation-shell > .workspace-tabs { display: none; }
  body.anteks-app[data-workspace="chat"]:has(#chatWorkspace.has-open-dialog) main { padding-bottom: calc(12px + env(safe-area-inset-bottom,0px)); }
}
@media (prefers-reduced-motion: reduce) {
  body.anteks-app :is(.workspace-tab,.task-card,.chat-contact,.overview-metric) { transition: none; animation: none; }
}
@media (forced-colors: active) {
  body.anteks-app :is(.workspace-tab,.overview-metric,.overview-table-card,.column,.task-card,.chat-shell,.chat-message) { border: 1px solid CanvasText; box-shadow: none; }
  body.anteks-app .workspace-tab.is-active { outline: 2px solid Highlight; outline-offset: -3px; }
}

/* Settings: one frosted surface, quiet action rows, and an optional folder editor. */
body.anteks-app #settingsMenu {
  --settings-rule: color-mix(in srgb, var(--nm-divider) 58%, transparent);
  display: block;
  width: min(352px, calc(100vw - 24px));
  max-height: calc(100dvh - 84px);
  padding: 0;
  border: 1px solid var(--ux-glass-border);
  border-radius: 14px;
  background: var(--nm-surface);
  box-shadow: var(--ux-glass-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--nm-border) transparent;
  scroll-padding-block: 52px 8px;
}
#settingsMenu .settings-menu-header {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 48px;
  padding: 8px 12px 8px 16px;
  border: 0;
  background: var(--ux-solid);
}
#settingsMenu .settings-menu-header strong { font-size: 15px; font-weight: 600; letter-spacing: -.02em; }
#settingsMenu .settings-menu-close { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 8px; }
#settingsMenu .settings-section { padding: 12px 16px; gap: 6px; border-color: var(--settings-rule); background: transparent; }
#settingsMenu .settings-section-heading strong,
#settingsMenu .settings-label { color: var(--nm-muted); font-size: 12px; font-weight: 500; line-height: 1.4; }
#settingsMenu .settings-preferences { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px; }
#settingsMenu :is(.settings-view-form,.settings-theme-form) { gap: 6px; }
#settingsMenu :is(select,#rootFolderPath) {
  height: 36px;
  min-height: 36px;
  padding-block: 0;
  border-radius: 8px;
  border-color: color-mix(in srgb, var(--nm-field-border) 65%, var(--nm-surface));
  box-shadow: inset 1px 1px 3px color-mix(in srgb, var(--nm-text) 12%, transparent), inset -1px -1px 2px var(--nm-edge);
  font-size: 13px;
}
#settingsMenu select { padding-inline: 10px 26px; }
#settingsMenu .settings-shortcuts { gap: 0; }
#settingsMenu .settings-launch-button,
#settingsMenu #settingsWorkspaceSummary,
#settingsMenu #logoutButton {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 14px;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 6px 8px;
  border: 0;
  border-radius: 7px;
  color: var(--nm-text);
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}
#settingsMenu .settings-launch-button { width: calc(100% + 16px); max-width: none; margin-inline: -8px; }
#settingsMenu .settings-launch-copy strong { color: inherit; font-size: 13px; font-weight: 500; line-height: 1.4; }
#settingsMenu .settings-launch-button > svg:not(.settings-launch-chevron),
#settingsMenu .settings-provider-mark,
#settingsMenu #settingsWorkspaceSummary > svg,
#settingsMenu #logoutButton > svg {
  width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 0;
  color: var(--nm-muted);
  background: transparent;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#settingsMenu .settings-launch-chevron { display: block; width: 14px; height: 14px; color: var(--nm-muted); opacity: .7; }
#settingsMenu .settings-provider-mark { font-size: 10px; }
#settingsMenu .settings-workspace-details { margin: 0; padding: 4px 8px; border-block: 1px solid var(--settings-rule); }
#settingsMenu #settingsWorkspaceSummary { list-style: none; min-height: 38px; }
#settingsMenu #settingsWorkspaceSummary::-webkit-details-marker { display: none; }
#settingsMenu #settingsWorkspaceSummary .settings-folder-chevron { width: 14px; height: 14px; opacity: .7; }
#settingsMenu .settings-workspace-details[open] .settings-folder-chevron { transform: rotate(180deg); }
#settingsMenu .settings-root-form { padding: 6px 8px 8px; gap: 8px; }
#settingsMenu .settings-actions { display: flex; flex-direction: row; gap: 6px; }
#settingsMenu .settings-path-actions { display: flex; gap: 2px; }
#settingsMenu .settings-actions :is(.settings-save-button,.settings-quiet-action) {
  width: auto;
  min-width: 0;
  height: 32px;
  min-height: 32px;
  padding: 0 8px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 500;
}
#settingsMenu .settings-menu-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; gap: 0 4px; border: 0; background: transparent; }
#settingsMenu .settings-menu-actions :is(a,button) {
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 32px;
  padding: 6px 8px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}
#settingsMenu .settings-menu-footer { padding: 4px 8px 8px; border-top: 1px solid var(--settings-rule); }
#settingsMenu #logoutButton { grid-template-columns: 18px minmax(0, 1fr); color: #b42332; }
body[data-theme="dark"] #settingsMenu #logoutButton { color: #ffafb8; }
#settingsMenu #logoutButton > svg { color: inherit; }
#settingsMenu :is(.settings-launch-button,#settingsWorkspaceSummary,#logoutButton,.settings-menu-actions a,.settings-menu-actions button):hover {
  background: color-mix(in srgb, var(--nm-accent) 7%, var(--nm-surface));
  box-shadow: none;
  transform: none;
}
@media (max-width: 560px), (pointer: coarse) {
  #settingsMenu :is(.settings-menu-close,.settings-launch-button,#settingsWorkspaceSummary,#logoutButton,select,#rootFolderPath),
  #settingsMenu .settings-actions :is(.settings-save-button,.settings-quiet-action),
  #settingsMenu .settings-menu-actions :is(a,button) { min-height: 44px; }
  #settingsMenu .settings-menu-close { min-width: 44px; width: 44px; }
  #settingsMenu .settings-menu-header { padding-block: 4px; }
  #settingsMenu .settings-section { padding-block: 10px; }
}
@media (max-width: 560px) {
  body.anteks-app #settingsMenu {
    position: fixed;
    top: 84px;
    right: max(8px, env(safe-area-inset-right));
    left: max(8px, env(safe-area-inset-left));
    bottom: auto;
    width: auto;
    max-height: calc(100dvh - 96px - env(safe-area-inset-bottom, 0px));
  }
}
@media (forced-colors: active) {
  body.anteks-app #settingsMenu { border-color: CanvasText; }
  #settingsMenu :is(select,#rootFolderPath) { border-color: ButtonText; }
}

/* Preferences keep their labels on phones as well as on the desktop. */
body.anteks-app #settingsMenu .push-notification-control {
  display: flex; align-items: center; justify-content: flex-start; gap: 12px;
  width: 100%; min-width: 0; min-height: 44px; padding: 0;
  border: 0; color: var(--ux-text); background: transparent; box-shadow: none;
}
body.anteks-app #settingsMenu .push-notification-control-icon { flex: 0 0 20px; width: 20px; height: 20px; padding: 0; border: 0; color: var(--ux-muted); background: transparent; box-shadow: none; }
body.anteks-app #settingsMenu .push-notification-control-copy { display: grid; position: static; gap: 2px; width: auto; max-width: none; height: auto; overflow: visible; clip-path: none; text-align: left; }
body.anteks-app #settingsMenu .push-notification-control-copy :is(strong,small) { display: block; max-width: none; height: auto; overflow: visible; white-space: normal; text-overflow: clip; font-size: 12px; line-height: 1.5; }
body.anteks-app #settingsMenu .push-notification-control-copy strong { color: var(--ux-text); font-size: 13px; font-weight: 500; }
body.anteks-app #settingsMenu .push-notification-control-copy small { color: var(--ux-muted); font-weight: 400; }

/* Keep the interface usable without the glass effect or when transparency is reduced. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.anteks-app,body.anteks-app[data-theme="dark"] {
    --ux-surface: var(--ux-solid); --ux-subtle: var(--ux-solid); --ux-field-bg: var(--ux-solid);
    --ux-glass-border: var(--ux-border);
  }
}
@media (prefers-reduced-transparency: reduce), (forced-colors: active) {
  body.anteks-app,body.anteks-app[data-theme="dark"] {
    --ux-surface: var(--ux-solid); --ux-subtle: var(--ux-solid); --ux-field-bg: var(--ux-solid);
    --ux-glass-border: var(--ux-border);
    background-image: none;
  }
  body.anteks-app .login-view { background-image: none; }
  body.anteks-app :is(.topbar,.workspace-tabs,.overview-metric,.overview-table-card,.chat-shell,.login-panel,#settingsMenu),
  body.anteks-app .topbar::before,
  body.anteks-app .requests-workspace :is(.metrics,.column) {
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}
