/* rattib-sheet-run
 * GENERATED by tools/build-rattib.mjs from tools/rattib-sheets.json. Do not edit: change the member sheets or the list, then run npm run build:app.
 * Members in cascade order (file, bytes, first line):
 * Reversible members: format 2
 *   account-foundation.css 1749 17
 *   styles.css 126694 32
 *   localized-controls.css 2189 4709
 *   projects.css 29673 4727
 *   client-profiles.css 9277 5004
 *   suite-shell.css 35276 5098
 *   workspace-chrome.css 36955 5706
 *   ui-state.css 1651 6081
 *   create-drafts.css 4308 6142
 *   documents.css 10107 6183
 *   time.css 16481 6270
 */
.account-foundation { border-block-start:1px solid var(--border, #ffffff24); padding-block-start:1.25rem; margin-block-start:1.25rem; display:grid; gap:1rem; min-width:0; }
.account-foundation[hidden], .account-foundation [hidden] { display:none !important; }
.account-foundation h4, .account-foundation p { margin:0; }
.account-foundation :is(input,button) { min-height:44px; }
.account-foundation .cloud-account-form { gap:.75rem; }
.account-paths { border:0; margin:0; padding:0; display:flex; gap:.75rem; flex-wrap:wrap; }
.account-path-option { display:flex; align-items:center; gap:.65rem; min-height:48px; padding:.5rem .85rem; border:1px solid var(--border, #ffffff24); border-radius:12px; flex:1 1 140px; cursor:pointer; }
.account-path-option:has(:checked) { border-color:var(--accent, #00cfa1); background:color-mix(in srgb, var(--accent, #00cfa1) 8%, transparent); }
.account-foundation .account-path-option input { width:20px; height:20px; min-height:20px; flex:0 0 auto; accent-color:var(--accent, #00cfa1); }
.account-access, .account-owner { display:grid; gap:.65rem; border-block-start:1px solid var(--border, #ffffff24); padding-block-start:1rem; }
.account-owner-counts { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.5rem 1rem; margin:0; }
.account-owner-counts dd { margin:0; font-weight:700; font-variant-numeric:tabular-nums; }
.account-foundation :focus-visible { outline:3px solid var(--accent, #00cfa1); outline-offset:3px; }
.account-plan-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.account-foundation .account-plan-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:.5rem 1.1rem; text-decoration:none; overflow-wrap:anywhere; }
:root,
html[data-theme="dark"] {
  /**/
  --bg: #0c0a07;
  --card: #1b1812;
  --border: #40392e;
  --green: #9bc8a7;
  --green-dim: #244633;
  --text: #f6f0e5;
  --muted: #b8afa0;
  --danger: #ff8d86;
  --row: #242018;
  --input: #29241b;
  --rail: #17140f;
  --elevated: #2d2a20;
  --warn-bg: #2a2114;
  --danger-surface: #241512;
  --danger-surface-strong: #2c1916;
  --danger-border: #663b32;
  --danger-chip-bg: #663b32;
  --danger-chip-fg: #f3aaa1;
  --radius: 12px;
  --font: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;
  /**/
  --fs-kicker: .78rem;
  --fs-rail: .86rem;
  --fs-muted: .86rem;
  --fs-body: .92rem;
  --fs-title: 1.02rem;
  --fs-h1: 1.4rem;
  --lh-tight: 1.25;
  --lh-body: 1.4;
  --lh-ar: 1.32;
  --space-card-y: .7rem;
  --space-card-x: .85rem;
  color-scheme: dark;
}


html[data-theme="light"] {
  --bg: #f3f0e8;
  --card: #fffdf7;
  --border: #d9d8cd;
  --green: #315c43;
  --green-dim: #294e39;
  --text: #25392f;
  --muted: #657066;
  --danger: #d64545;
  --row: #f0eee6;
  --input: #fffefa;
  --rail: #ecece3;
  --elevated: #dce9da;
  --warn-bg: #f5f0e0;
  --danger-surface: #f8eaea;
  --danger-surface-strong: #f3e0e0;
  --danger-border: #e2b4b4;
  --danger-chip-bg: #f0d4d4;
  --danger-chip-fg: #a82828;
  --radius: 12px;
  --font: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;
  --fs-kicker: .78rem;
  --fs-rail: .86rem;
  --fs-muted: .86rem;
  --fs-body: .92rem;
  --fs-title: 1.02rem;
  --fs-h1: 1.4rem;
  --lh-tight: 1.25;
  --lh-body: 1.4;
  --lh-ar: 1.32;
  --space-card-y: .7rem;
  --space-card-x: .85rem;
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: var(--font); }
body { display: flex; flex-direction: column; min-height: 100vh; }
.top {
  display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem;
  padding: .75rem 1.1rem; border-bottom: 1px solid var(--border); flex-wrap: wrap;
}
.brand { display: flex; gap: .75rem; align-items: flex-start; min-width: 0; flex: 1 1 16rem; }
.brand .mark {
  width: 40px; height: 40px; border-radius: 10px;
  object-fit: cover; display: block; flex-shrink: 0;
  background: var(--row);
  border: 1px solid rgba(32, 224, 112, 0.35);
  margin-top: .1rem;
}
.brand-copy { min-width: 0; flex: 1 1 12rem; }
.brand strong { display: block; }
.brand small { color: var(--muted); }
.brand-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .5rem;
  margin-top: .45rem;
}
.brand-access,
.brand-tut {
  display: inline-flex; align-items: center; justify-content: center; margin-top: 0;
  min-height: 44px; padding: .4rem .85rem;
  font-size: .82rem; font-weight: 600; color: var(--muted);
  background: var(--row); border-radius: 999px;
  text-decoration: none; border: 1px solid var(--border);
  font: inherit; cursor: pointer;
  box-sizing: border-box;
}
.brand-access:hover,
.brand-tut:hover { color: var(--green); border-color: var(--green-dim); }
.brand-access:focus-visible,
.brand-tut:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
.brand-tut[hidden] { display: none !important; }
.demo-seed-chip {
  display: inline-flex; align-items: center; margin-inline-start: 0; margin-top: 0;
  min-height: 1.75rem; padding: .15rem .7rem;
  font-size: .78rem; font-weight: 700; color: #e6c56a;
  border: 1px solid rgba(230, 197, 106, 0.45); border-radius: 999px; background: var(--warn-bg);
  vertical-align: middle;
}
.demo-seed-chip[hidden] { display: none !important; }
.account-session {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  vertical-align: middle;
  margin-inline-start: 0;
  margin-top: 0;
  max-width: min(22rem, 100%);
}
.account-sync-chip {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  min-height: 2.75rem;
  padding: .35rem .85rem;
  font: inherit;
  font-size: .78rem;
  font-weight: 600;
  color: var(--muted);
  text-align: start;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--row);
  cursor: pointer;
  max-width: 100%;
}
.account-sync-chip:hover { color: var(--text); border-color: var(--green-dim); }
.account-sync-chip:focus-visible,
.account-session-actions button:focus-visible,
#account-email:focus-visible {
  outline: 2px solid var(--text);
  outline-offset: 2px;
}
.account-sync-chip[data-session="signed_in"] {
  color: var(--text);
  border-color: var(--green-dim);
  background: var(--elevated);
}
.account-sync-chip[data-session="signed_in"]::before {
  content: "";
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(32, 224, 112, .16);
  flex: 0 0 auto;
}
.account-sync-chip[data-sync-ui="sync_failed"] {
  border-color: color-mix(in srgb, var(--danger) 55%, var(--border));
  color: var(--text);
}
.account-sync-chip[data-sync-ui="sync_ok"][data-remote="1"] {
  border-color: var(--green-dim);
}
.account-sync-status {
  margin: 0 0 .4rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: none;
}
.account-sync-status[data-sync-ui="sync_ok"] { color: var(--green); }
.account-sync-status[data-sync-ui="sync_failed"] { color: var(--danger); }
.account-sync-status[data-sync-ui="remote_configured"] { color: var(--text); }
.account-chip-email {
  direction: ltr;
  unicode-bidi: isolate;
  color: var(--text);
  font-weight: 500;
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-session-panel {
  margin-top: .45rem;
  padding: .75rem .8rem .85rem;
  width: min(18.5rem, 100%);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.account-session-note {
  margin: 0 0 .55rem;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.45;
}
.account-session-who {
  margin: 0 0 .35rem;
  color: var(--text);
  font-weight: 600;
  font-size: .92rem;
  direction: ltr;
  unicode-bidi: isolate;
  text-align: start;
}
.account-session-meta {
  margin: 0 0 .45rem;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.45;
}
.account-email-field {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  font-size: .82rem;
  color: var(--muted);
}
#account-email {
  min-height: 2.75rem;
  box-sizing: border-box;
  direction: ltr;
  text-align: left;
}
.account-email-error {
  margin: .4rem 0 0;
  color: var(--danger);
  font-size: .78rem;
  line-height: 1.4;
}
.account-session-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .65rem;
}
.account-session-actions .primary,
.account-session-actions .ghost {
  margin-top: 0;
  min-height: 2.75rem;
}
.account-session [hidden],
.account-sync-chip[hidden] { display: none !important; }

.day1-tutorial {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
  padding: .85rem 1.25rem 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--rail);
}
.day1-tutorial[hidden] { display: none !important; }
.day1-copy { flex: 1 1 16rem; min-width: 0; }
.day1-copy > summary { min-height: 44px; align-items: center; cursor: pointer; }
.day1-copy > summary > span { color: var(--muted); font-size: .78rem; }
.day1-copy > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; border-radius: 6px; }
.day1-copy[open] > summary { margin-bottom: .75rem; }
.day1-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .35rem .85rem;
  margin-bottom: .2rem;
}
.day1-kicker {
  margin: 0;
  color: var(--green);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.day1-progress {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.day1-lead {
  margin: 0 0 .45rem;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
.day1-progress-chips {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .28rem;
  margin: 0 0 .7rem;
  padding: 0;
  list-style: none;
  max-width: 16rem;
}
.day1-progress-chip {
  display: block;
  height: .45rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--row);
  box-sizing: border-box;
}
.day1-progress-chip.is-done {
  background: var(--green);
  border-color: var(--green);
}
.day1-progress-chip.is-current {
  height: .55rem;
  background: color-mix(in srgb, var(--green) 55%, var(--row));
  border-color: var(--green);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--green) 40%, transparent);
}
.day1-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.day1-step {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .6rem;
  padding: .35rem .15rem;
  border-radius: 8px;
}
.day1-step.is-current {
  background: var(--elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .8rem .9rem .85rem;
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .day1-step.is-current {
  box-shadow: inset -4px 0 0 var(--green);
}
.day1-step.is-upcoming {
  position: relative;
  opacity: .72;
  padding: .2rem .15rem;
}
.day1-step.is-done {
  padding: .15rem .15rem;
}
.day1-step .ghost.sr-only {
  min-height: 0 !important;
  min-width: 0 !important;
}
.day1-step.is-done .day1-step-label { color: var(--green); }
.day1-step-n {
  font-variant-numeric: tabular-nums;
  color: var(--muted);
  font-size: .8rem;
  min-width: 1.2rem;
}
.day1-step.is-current .day1-step-n {
  color: var(--green);
  font-weight: 700;
}
.day1-step-label { flex: 1 1 10rem; font-size: .92rem; }
.day1-step.is-current .day1-step-label { font-weight: 600; }
.day1-need {
  flex: 1 1 100%;
  margin: .1rem 0 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.45;
}
.day1-step .ghost {
  margin: 0;
  min-height: 2.75rem;
  padding: .35rem .75rem;
  font-size: .82rem;
}
.day1-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.day1-actions .ghost {
  min-height: 2.75rem;
}
@media (prefers-reduced-motion: reduce) {
  .day1-progress-chip.is-current { box-shadow: none; }
}
.fx-block {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: flex-end;
  max-width: 36rem;
}
.pricing-studio-tools {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin: 0 0 1.15rem;
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--rail);
}
.pricing-studio-head {
  align-items: flex-start;
  margin-bottom: 1.15rem;
}
.pricing-studio-title { min-width: 0; flex: 1 1 16rem; }
.pricing-studio-lead {
  margin: .25rem 0 0;
  max-width: 36rem;
  font-size: .88rem;
  line-height: 1.45;
}
.pricing-studio-actions {
  justify-content: flex-end;
  max-width: 32rem;
}
.proposal-studio-head {
  align-items: flex-start;
  margin-bottom: 1.15rem;
}
.proposal-studio-title { min-width: 0; flex: 1 1 16rem; }
.proposal-studio-lead {
  margin: .25rem 0 0;
  max-width: 36rem;
  font-size: .88rem;
  line-height: 1.45;
}
.proposal-studio-actions {
  justify-content: flex-end;
  max-width: 32rem;
}
.crm-board-head {
  align-items: flex-start;
  margin-bottom: 1.15rem;
}
.crm-board-title { min-width: 0; flex: 1 1 16rem; }
.crm-studio-lead {
  margin: .25rem 0 0;
  max-width: 36rem;
  font-size: .88rem;
  line-height: 1.45;
}
.crm-board-actions {
  justify-content: flex-end;
  max-width: 32rem;
}
.proposal-studio {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.proposal-core {
  min-width: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 12px;
}
.proposal-core legend {
  padding-inline: .4rem;
  color: var(--text);
  font-weight: 600;
}
.proposal-detail {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
}
.proposal-detail > summary {
  min-height: 44px;
  padding: .85rem 1rem;
  cursor: pointer;
  color: var(--text);
  font-weight: 600;
  overflow-wrap: anywhere;
}
.proposal-detail > summary:hover { background: color-mix(in srgb, var(--green) 6%, transparent); }
.proposal-detail > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.proposal-detail-status {
  display: inline-block;
  margin-inline-start: .75rem;
  color: var(--muted);
  font-weight: 400;
  font-size: .8rem;
}
.proposal-detail-body { padding: 1rem; border-top: 1px solid var(--border); }
.proposal-detail-body > section { margin-top: 0; }
.proposal-window > .proposal-detail { margin-top: 1rem; }
.week-board-head {
  align-items: flex-start;
  margin-bottom: 1.15rem;
}
.week-board-title { min-width: 0; flex: 1 1 16rem; }
.week-progress {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin-top: .45rem;
  max-width: 22rem;
}
.week-progress-stat {
  margin: 0;
  font-size: .9rem;
  font-variant-numeric: tabular-nums;
}
.week-progress-stat strong { color: var(--text); }
.week-progress-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .28rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.week-progress-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .22rem;
  min-width: 0;
  height: auto;
  border: none;
  background: transparent;
  padding: 0;
}
.week-progress-bar {
  display: block;
  width: 100%;
  height: .62rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--row);
  box-sizing: border-box;
}
.week-progress-day.is-planned .week-progress-bar {
  background: color-mix(in srgb, var(--green-dim) 42%, var(--row));
  border-color: var(--green-dim);
}
.week-progress-day.is-today .week-progress-bar {
  height: .78rem;
  background: color-mix(in srgb, var(--green) 55%, var(--row));
  border-color: var(--green);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--green) 40%, transparent);
}
.week-progress-day.is-done .week-progress-bar {
  background: var(--green);
  border-color: var(--green);
}
.week-progress-day.is-done.is-today .week-progress-bar {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--green) 45%, transparent);
}
.week-progress-day-lab {
  font-size: .62rem;
  line-height: 1;
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
}
.week-progress-day.is-today .week-progress-day-lab {
  color: var(--green);
  font-weight: 700;
}
.week-progress-day.is-done .week-progress-day-lab { color: var(--text); }
.week-progress-caption,
.week-progress-complete {
  margin: 0;
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.4;
}
.week-progress-complete {
  color: var(--green);
  font-weight: 600;
}
.week-progress-caption[hidden],
.week-progress-complete[hidden] { display: none !important; }
.week-board-actions {
  justify-content: flex-end;
  max-width: 32rem;
}
.week-action-main,
.action-main {
  color: var(--green);
  border-color: var(--green);
  background: color-mix(in srgb, var(--green) 14%, transparent);
  font-weight: 700;
}
.week-action-main:hover,
.action-main:hover { border-color: var(--green); color: var(--text); background: color-mix(in srgb, var(--green) 22%, transparent); }
.week-action-secondary,
.action-secondary {
  color: var(--muted);
}
.week-action-secondary:hover,
.action-secondary:hover { color: var(--text); border-color: var(--green-dim); }
.week-action-quiet,
.action-quiet {
  color: color-mix(in srgb, var(--danger) 72%, var(--muted));
  border-color: #3a2222;
  opacity: .78;
}
.week-action-quiet:hover,
.action-quiet:hover { opacity: 1; color: var(--danger); border-color: #5a2a2a; }
#panel-week .panel-actions .ghost,
#panel-week #btn-week-focus-done,
#panel-week #btn-week-carry,
#panel-pricing .panel-actions .ghost,
#panel-proposal .panel-actions .ghost,
#panel-crm .panel-actions .ghost,
#panel-crm #crm-empty-add,
#panel-pricing #pricing-empty-add,
#proposal-empty-add,
#week-empty-add,
#btn-load-sample {
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#panel-week .panel-actions .ghost,
#panel-pricing .panel-actions .ghost,
#panel-proposal .panel-actions .ghost,
#panel-crm .panel-actions .ghost { margin-top: 0; }
#panel-pricing .panel-actions .ghost[hidden] {
  display: none !important;
}

.week-focus {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin: 0 0 1.15rem;
  padding: 1.05rem 1.15rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .week-focus {
  box-shadow: inset -4px 0 0 var(--green);
}
.week-focus[hidden] { display: none !important; }
.week-focus.is-done {
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .week-focus.is-done {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.week-focus.is-done .week-focus-items {
  text-decoration: line-through;
  opacity: .82;
}


#panel-week .week-focus-task-form { display: grid; gap: .6rem; margin-block: .8rem; }
#panel-week .week-focus-task-form .week-focus-field { margin: 0; min-width: 0; }
#panel-week #week-focus-draft-label { display: block; margin-block-end: .4rem; font-size: .85rem; }
#panel-week #week-focus-draft-hint { margin: 0; font-size: .8rem; }
#panel-week #btn-week-focus-add { justify-self: start; min-height: 44px; min-width: 100px; margin: 0; }
#panel-week #week-focus-tasks { width: 100%; box-sizing: border-box; font-size: 1rem; }
#panel-week .week-focus-items { display: grid; gap: .45rem; padding-inline-start: 1.3rem; margin-block: .8rem; overflow-wrap: anywhere; }
#panel-week .week-cell-label { display: none; }
#panel-week :is(.week-plan-done, .done-toggle, .week-focus-items)[hidden] { display: none !important; }
@media (max-width: 700px) {
  #panel-week #btn-week-focus-add { justify-self: stretch; }
  #panel-week .week-focus-done-wrap { flex-wrap: wrap; }
  #panel-week #week-table td::before { content: none; }
  #panel-week .week-cell-label { display: block; color: var(--muted); font-size: .72rem; font-weight: 600; }
}
.week-focus.just-done {
  box-shadow: inset 4px 0 0 var(--green), 0 0 0 1px color-mix(in srgb, var(--green) 32%, transparent);
}
html[dir="rtl"] .week-focus.just-done {
  box-shadow: inset -4px 0 0 var(--green), 0 0 0 1px color-mix(in srgb, var(--green) 32%, transparent);
}
.week-focus-kicker {
  margin: 0;
  color: var(--green);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.week-focus-top {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: center;
  justify-content: space-between;
}
.week-focus-done-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .6rem;
}
.week-focus-done-chip { margin-inline-start: 0; }
.week-focus-done-chip[hidden] { display: none !important; }
.week-focus-day {
  margin: .2rem 0 0;
  font-size: .95rem;
}
.week-focus-field { display: block; margin: 0; }
.week-focus-field textarea {
  width: 100%;
  min-height: 5rem;
  resize: vertical;
  box-sizing: border-box;
}
.week-focus-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  align-items: flex-end;
}
.week-focus-hours { min-width: 9rem; }
.week-focus-count { margin: 0; font-size: .85rem; }
.week-capacity-hint {
  margin: 0;
  align-self: flex-start;
  max-width: 100%;
  padding: .4rem .8rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--row);
  font-size: .82rem;
  line-height: 1.45;
  color: var(--muted);
}
.week-capacity-hint[hidden] { display: none !important; }

.week-capacity-prefs {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin: .15rem 0 .35rem;
  min-width: 0;
}
.week-capacity-soft-hint {
  margin: 0;
  font-size: .82rem;
  line-height: 1.45;
}
.week-capacity-prefs-fields {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  align-items: flex-end;
}
.week-capacity-field {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 9rem;
  margin: 0;
}
.week-capacity-field input[type="number"] {
  min-height: 44px;
  min-width: 5.5rem;
  box-sizing: border-box;
  padding: .4rem .65rem;
}
html[dir="rtl"] .week-capacity-prefs-fields {
  flex-direction: row;
}

.week-carry-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .85rem;
  align-items: center;
  justify-content: space-between;
  padding-top: .45rem;
  border-top: 1px dashed var(--border);
}
.week-carry-row[hidden] { display: none !important; }
.week-carry-note {
  margin: 0;
  flex: 1 1 14rem;
  font-size: .85rem;
  line-height: 1.45;
}


.week-glance {
  margin: 0 0 .85rem;
  padding: var(--space-card-y) var(--space-card-x) .8rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  min-width: 0;
  max-width: 100%;
}
.week-glance-kicker {
  margin: 0 0 .5rem;
  color: var(--muted);
  font-size: var(--fs-kicker);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: var(--lh-tight);
}
.week-glance-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  min-width: 0;
}
.week-glance-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: .55rem;
  row-gap: .45rem;
  min-width: 0;
  padding: .65rem .7rem;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) - 2px);
  background: var(--row);
}
.week-glance-icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--green);
  flex-shrink: 0;
  grid-column: 1;
  grid-row: 1;
  margin-block-start: .12rem;
}
.week-glance-icon svg {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}
.week-glance-copy {
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
}
.week-glance-title {
  margin: 0;
  font-size: var(--fs-body);
  font-weight: 700;
  color: var(--text);
  line-height: var(--lh-tight);
}
.week-glance-stat {
  margin: .15rem 0 0;
  font-size: var(--fs-muted);
  line-height: var(--lh-body);
  word-break: break-word;
}
.week-glance-cta {
  min-height: 44px;
  width: 100%;
  justify-content: center;
  grid-column: 1 / -1;
  margin-block-start: .1rem;
}
@media (max-width: 900px) {
  .week-glance-cards {
    grid-template-columns: 1fr;
  }
}

.week-money {
  margin: 0 0 1.15rem;
  padding: .85rem 1rem .95rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--row);
  min-width: 0;
  max-width: 100%;
}
.week-money-kicker {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.week-money-empty {
  margin: .45rem 0 0;
  font-size: .9rem;
  line-height: 1.45;
}
.week-money-empty[hidden],
.week-money-list[hidden] { display: none !important; }
.week-money-list {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin-top: .75rem;
  min-width: 0;
}
.week-money-bucket-title {
  margin: 0 0 .4rem;
  font-size: .78rem;
  font-weight: 700;
  color: var(--text);
}
.week-money-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.week-money-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .85rem;
  align-items: center;
  justify-content: flex-start;
  padding: .55rem .7rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--row);
  min-width: 0;
}
.week-money-row[data-kind="blocked"],
.week-money-row[data-kind="overdue"],
.week-money-row[data-kind="expired"] {
  border-inline-start: 3px solid color-mix(in srgb, var(--danger) 70%, var(--border));
}
.week-money-row[data-kind="unlocked"],
.week-money-row[data-kind="today"],
.week-money-row[data-kind="soon"] {
  border-inline-start: 3px solid var(--green-dim);
}
.week-money-row[data-kind="pending_co"],
.week-money-row[data-kind="parked"] {
  border-inline-start: 3px solid color-mix(in srgb, var(--muted) 55%, var(--border));
}
.week-money-bucket[data-bucket="creep"] .week-money-bucket-title {
  color: var(--muted);
  font-weight: 700;
}
.week-money-copy {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
.week-money-name {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.week-money-detail {
  margin: .15rem 0 0;
  font-size: .85rem;
  line-height: 1.4;
}
.week-money-action {
  flex: 0 0 auto;
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.follow-card.is-jump-target {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
.week-rest-label {
  margin: 0 0 .55rem;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 600;
}
.studio-label {
  margin: 0 0 .35rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--text);
}
.buffer-fields {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: flex-end;
}
.pricing-floor {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 0 0 1.15rem;
  padding: 1.05rem 1.15rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .pricing-floor {
  box-shadow: inset -4px 0 0 var(--green);
}
.pricing-floor.is-empty {
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .pricing-floor.is-empty {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.pricing-floor-top {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  align-items: flex-end;
  justify-content: space-between;
}
.pricing-floor-caption {
  margin: .25rem 0 0;
  max-width: 36rem;
  font-size: .85rem;
  line-height: 1.45;
}
.pricing-floor-caption[hidden] { display: none !important; }
.pricing-floor-figures {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .75rem;
  align-items: stretch;
}
.pricing-floor-stat {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 7.5rem;
  padding: .45rem .75rem .5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--row);
}
.pricing-floor-stat-lab {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
}
.pricing-floor-stat-num {
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.15;
}
.pricing-floor-stat-cur {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 600;
}
.money-fig {
  font-variant-numeric: tabular-nums;
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
}
.pricing-protect-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pricing-protect-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: .2rem .7rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--row);
  color: var(--muted);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.35;
  max-width: 100%;
}
.pricing-protect-chip.is-off {
  font-weight: 500;
  line-height: 1.45;
  white-space: normal;
  border-radius: 8px;
  background: transparent;
  border-color: transparent;
  padding-inline: 0;
}
.pricing-demo-note {
  margin: 0;
  padding: .45rem .8rem;
  border: 1px solid rgba(230, 197, 106, 0.45);
  border-radius: var(--radius);
  background: var(--warn-bg);
  color: #e6c56a;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.45;
}
.pricing-demo-note[hidden] { display: none !important; }
.floor-hint,
.budget-suggest {
  margin: 0;
  font-size: .85rem;
  line-height: 1.45;
}
.floor-hint[hidden],
.budget-suggest[hidden] { display: none !important; }
.budget-block {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  align-items: flex-start;
  padding-top: .55rem;
  border-top: 1px dashed var(--border);
}
.budget-field { min-width: 12rem; max-width: 100%; }
.pkg-scan {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .45rem;
  margin: .4rem 0 0;
}
.pkg-scan[hidden] { display: none !important; }
.pkg-scan-item {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: .1rem .5rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--row);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.quote-floor-chip {
  display: inline-flex;
  align-items: center;
  margin-top: .3rem;
  min-height: 1.5rem;
  padding: .15rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--row);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  width: max-content;
  max-width: none;
  white-space: nowrap;
}
.quote-floor-chip[hidden] { display: none !important; }
.quote-floor-chip[data-kind="above"] {
  color: var(--green);
  border-color: var(--green-dim);
}
.quote-floor-chip[data-kind="at"] {
  color: var(--text);
  border-color: var(--green-dim);
}
.quote-floor-chip[data-kind="below"] {
  color: var(--danger);
  border-color: #5a2a2a;
}
.fx-hint {
  margin: 0;
  flex: 1 1 16rem;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.4;
}

.fx-asof-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
  margin: .15rem 0 0;
  flex: 1 1 16rem;
}
.fx-asof,
.fx-asof-stale {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.4;
}
.fx-asof[hidden],
.fx-asof-stale[hidden] { display: none !important; }
.fx-asof-stale {
  /**/
  color: var(--muted);
}
.fx-confirm-today {
  min-height: 44px;
  padding: .45rem .85rem;
  box-sizing: border-box;
}
#panel-pricing .fx-confirm-today {
  min-height: 44px;
}
.calc-sub {
  display: block;
  margin-top: .15rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 500;
}


.empty-workspace {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .7rem 1rem;
  padding: .7rem 1.1rem;
  border-bottom: 1px solid var(--border);
  background: var(--rail);
}
.empty-workspace[hidden] { display: none !important; }
.empty-workspace-main {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  flex: 1 1 18rem;
  min-width: 0;
}
.empty-workspace-mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--green);
}
.empty-workspace-mark svg {
  display: block;
}
.empty-workspace-text {
  min-width: 0;
  flex: 1 1 auto;
}
.empty-workspace-title {
  margin: 0 0 .15rem;
  color: var(--text);
  font-size: var(--fs-title);
  font-weight: 650;
  line-height: var(--lh-tight);
}
.empty-workspace-copy {
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
.empty-workspace-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .55rem;
}
.empty-workspace-cta,
#empty-cta-pricing,
#empty-cta-crm,
#btn-load-sample {
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#btn-load-sample[hidden] { display: none !important; }
.backup-nudge {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .65rem 1rem;
  padding: .7rem 1.25rem;
  border-bottom: 1px solid var(--border);
  background: var(--rail);
}
.backup-nudge[hidden] { display: none !important; }
.backup-nudge-text {
  margin: 0;
  flex: 1 1 14rem;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.45;
}
.backup-nudge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.backup-nudge .primary {
  margin-top: 0;
  padding: .45rem .95rem;
  font-size: .88rem;
}
.backup-nudge .ghost {
  padding: .45rem .85rem;
  font-size: .88rem;
}

.import-preview {
  min-inline-size: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
  padding: .85rem 1.25rem;
  border-bottom: 1px solid var(--border);
  background: var(--rail);
}
.import-preview[hidden] { display: none !important; }
.import-preview-copy {
  min-inline-size: 0;
  flex: 1 1 16rem;
}
.import-preview-title {
  margin: 0 0 .3rem;
  font-weight: 700;
  font-size: 1rem;
}
.import-preview-kind,
.import-preview-note,
.import-preview-warnings {
  margin: .2rem 0 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.45;
}
.import-preview-counts {
  margin: .35rem 0 0;
  color: var(--text);
  font-weight: 700;
  font-size: .92rem;
  line-height: 1.45;
}
.import-preview-actions {
  min-inline-size: 0;
  max-inline-size: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.import-preview .primary,
.import-preview .ghost {
  max-inline-size: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  margin-top: 0;
  min-height: 44px;
  padding: .4rem .85rem;
  font-size: .88rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.shell-utils {
  justify-content: flex-end;
  max-width: 100%;
}
.shell-utils .ghost,
.shell-utils .lang-btn {
  min-height: 44px;
  box-sizing: border-box;
}


.lang-toggle {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--border);
  border-radius: 999px;
  overflow: hidden;
  background: var(--row);
}
.lang-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  min-height: 2.5rem;
  min-width: 2.75rem;
  padding: .35rem .7rem;
  cursor: pointer;
}
.lang-btn + .lang-btn {
  border-inline-start: 1px solid var(--border);
}
.lang-btn.active {
  background: color-mix(in srgb, var(--green) 14%, transparent);
  color: var(--green);
}
.lang-btn:hover { color: var(--text); }
.lang-btn.active:hover { color: var(--text); background: color-mix(in srgb, var(--green) 22%, transparent); }
.lang-btn:focus-visible {
  outline: 2px solid var(--text);
  outline-offset: 2px;
  z-index: 1;
}
@media (max-width: 700px) {
  .shell-utils { justify-content: flex-start; }
  .lang-toggle .lang-btn {
    min-height: 44px;
    min-width: 44px;
    padding: .35rem .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
}


.shell-utils .theme-btn {
  min-height: 44px;
  box-sizing: border-box;
}
.theme-toggle {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--border);
  border-radius: 999px;
  overflow: hidden;
  background: var(--row);
}
.theme-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  min-height: 2.5rem;
  min-width: 2.75rem;
  padding: .35rem .7rem;
  cursor: pointer;
}
.theme-btn + .theme-btn {
  border-inline-start: 1px solid var(--border);
}
.theme-btn.active {
  background: color-mix(in srgb, var(--green) 14%, transparent);
  color: var(--green);
}
.theme-btn:hover { color: var(--text); }
.theme-btn.active:hover { color: var(--text); background: color-mix(in srgb, var(--green) 22%, transparent); }
.theme-btn:focus-visible {
  outline: 2px solid var(--text);
  outline-offset: 2px;
  z-index: 1;
}
@media (max-width: 700px) {
  .theme-toggle .theme-btn {
    min-height: 44px;
    min-width: 44px;
    padding: .35rem .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
}



.app-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
  background: color-mix(in srgb, var(--green) 5%, var(--bg));
}
.tabs {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 0 0 13.25rem;
  width: 13.25rem;
  padding: .75rem .55rem;
  border-bottom: none;
  border-inline-end: 1px solid var(--border);
  background: var(--rail);
  flex-wrap: nowrap;
  overflow-x: visible;
  overflow-y: auto;
  align-items: stretch;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.rail-group {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
}
.rail-sep {
  height: 0;
  margin: .55rem .45rem;
  border-top: 1px dashed color-mix(in srgb, var(--border) 75%, var(--green));
  opacity: .8;
}
.tab {
  position: relative;
  background: transparent; border: 1px solid transparent; color: var(--muted);
  padding: .5rem .7rem; border-radius: 12px; cursor: pointer; white-space: normal; font: inherit;
  flex: 0 0 auto;
  font-weight: 500;
  font-size: var(--fs-rail);
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  text-align: start;
  gap: .45rem;
  box-sizing: border-box;
  line-height: var(--lh-tight);
  transition: all .15s ease;
}
.tab:hover { color: var(--text); border-color: var(--green-dim); background: color-mix(in srgb, var(--text) 4%, transparent); }
.tab.active {
  color: var(--text);
  background: color-mix(in srgb, var(--green) 15%, transparent);
  border-color: color-mix(in srgb, var(--green) 36%, transparent);
  box-shadow: 0 2px 10px rgba(32, 224, 112, .14);
  font-weight: 700;
}
.tab.active:hover { color: var(--text); background: color-mix(in srgb, var(--green) 22%, transparent); }
.tab.active::after { display: none; }
.tab.active .tab-icon {
  color: var(--green);
  filter: drop-shadow(0 0 6px rgba(32, 224, 112, .45));
}
.tab:focus-visible {
  outline: 2px solid var(--text);
  outline-offset: 2px;
}

.tab-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: inherit;
  line-height: 0;
}
.tab-icon svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}
.tab > [data-i18n] {
  min-width: 0;
}
.workspace {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: .65rem .75rem 1rem;
}
.workspace > main {
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1rem 1.05rem 1.15rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--green) 6%, transparent);
}
@media (max-width: 700px) {
  /**/
  .app-shell {
    flex-direction: column;
  }
  .tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    flex: 0 0 auto;
    align-items: stretch;
    padding: .45rem .65rem .55rem;
    gap: .5rem;
    overflow: visible;
    border-inline-end: none;
    border-bottom: 1px solid var(--border);
  }
  .rail-group {
    display: contents;
  }
  .rail-sep {
    display: none;
  }
  .tabs .tab {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: .4rem .55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: .84rem;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    gap: .3rem;
  }
  .tabs .tab-icon,
  .tabs .tab-icon svg {
    width: 1.1rem;
    height: 1.1rem;
  }
  .workspace {
    padding: .55rem .55rem 1rem;
  }
  .workspace > main {
    padding: 1rem .85rem 1.15rem;
    border-radius: 14px;
  }
  .badge { font-size: .68rem; padding: .08rem .35rem; margin-inline-start: .2rem; }
}
main { flex: 1; padding: 1.25rem; max-width: 1400px; width: 100%; margin: 0 auto; }
.panel { display: none; }
.panel.active { display: block; }
.panel-head { display: flex; justify-content: space-between; align-items: end; gap: .75rem; flex-wrap: wrap; margin-bottom: .85rem; }
.panel-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
h1 { margin: 0 0 .2rem; font-size: var(--fs-h1); line-height: var(--lh-tight); }
.muted { color: var(--muted); margin: 0; line-height: var(--lh-body); }
.fx { display: flex; flex-direction: column; gap: .35rem; color: var(--muted); font-size: .9rem; }
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); }
table { width: 100%; border-collapse: collapse; min-width: 900px; }
th, td { padding: .55rem .5rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
th { background: #0f3d2e; color: #fff; font-size: .85rem; position: sticky; top: 0; }
tr:nth-child(even) td { background: var(--row); }
input, select, textarea {
  width: 100%; background: var(--input); color: var(--text); border: 1px solid var(--border);
  border-radius: 8px; padding: .4rem .5rem; font: inherit;
}

#panel-pricing table input,
#panel-pricing table select,
#panel-crm table input,
#panel-crm table select,
#panel-week table input,
#panel-week table select {
  min-height: 44px;
  box-sizing: border-box;
}
textarea { min-height: 64px; resize: vertical; }
td.num input { text-align: left; font-variant-numeric: tabular-nums; direction: ltr; }
.calc { color: var(--green); font-weight: 600; font-variant-numeric: tabular-nums; direction: ltr; display: block; text-align: left; }
button { font: inherit; cursor: pointer; }
.primary {
  margin-top: 1rem; background: var(--green); color: #10150f; border: none;
  padding: .65rem 1.1rem; border-radius: 8px; font-weight: 700;
}
.ghost {
  background: transparent; color: var(--text); border: 1px solid var(--border);
  padding: .45rem .8rem; border-radius: 8px;
}
.ghost.danger { color: var(--danger); border-color: #5a2a2a; }
.ghost.action-main {
  color: var(--green);
  border-color: var(--green);
  background: color-mix(in srgb, var(--green) 14%, transparent);
  font-weight: 700;
}
.ghost.action-main:hover {
  border-color: var(--green);
  color: var(--text);
  background: color-mix(in srgb, var(--green) 22%, transparent);
}
.ghost.action-secondary { color: var(--muted); }
.ghost.action-secondary:hover { color: var(--text); border-color: var(--green-dim); }
.ghost.action-quiet {
  color: color-mix(in srgb, var(--danger) 72%, var(--muted));
  border-color: #3a2222;
  opacity: .78;
}
.ghost.action-quiet:hover { opacity: 1; color: var(--danger); border-color: #5a2a2a; }
.icon-btn { background: transparent; border: none; color: var(--muted); padding: .25rem .4rem; }
.form-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: .9rem;
  background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem;
}
.form-grid label { display: flex; flex-direction: column; gap: .35rem; color: var(--muted); font-size: .9rem; }
.form-grid .full { grid-column: 1 / -1; }
.foot { padding: 1rem 1.25rem; color: var(--muted); border-top: 1px solid var(--border); font-size: .85rem; }

tr.overdue td { box-shadow: inset 3px 0 0 var(--danger); }
tr.overdue input[data-k="next"], tr.overdue select[data-k="status"] {
  border-color: #7a3030; color: #ffb4b4;
}
@media (max-width: 700px) {
  /**/
  #panel-pricing .table-wrap,
  #panel-crm .table-wrap,
  #panel-week .table-wrap {
    overflow: visible;
    border: none;
    background: transparent;
    border-radius: 0;
  }
  #panel-pricing table,
  #panel-crm table,
  #panel-week table {
    min-width: 0;
    width: 100%;
    display: block;
  }
  #panel-pricing thead,
  #panel-crm thead,
  #panel-week thead { display: none; }
  #panel-pricing tbody,
  #panel-crm tbody,
  #panel-week tbody {
    display: flex;
    flex-direction: column;
    gap: .75rem;
  }
  #panel-pricing tr,
  #panel-crm tr,
  #panel-week tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem .65rem;
    padding: .85rem;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
  }
  #panel-pricing tr:nth-child(even) td,
  #panel-crm tr:nth-child(even) td,
  #panel-week tr:nth-child(even) td { background: transparent; }
  #panel-pricing td,
  #panel-crm td,
  #panel-week td {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 0;
    border: none;
    min-width: 0;
  }
  #panel-pricing td::before,
  #panel-crm td::before,
  #panel-week td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .72rem;
    font-weight: 600;
  }
  #panel-pricing td:nth-child(1),
  #panel-pricing td:nth-child(10),
  #panel-pricing td:nth-child(11) {
    grid-column: 1 / -1;
  }
  #panel-crm td:nth-child(1),
  #panel-crm td:nth-child(8),
  #panel-crm td:nth-child(9) {
    grid-column: 1 / -1;
  }
  #panel-week td:nth-child(1),
  #panel-week td:nth-child(2),
  #panel-week td:nth-child(4) {
    grid-column: 1 / -1;
  }
  #panel-pricing td.calc-cell {
    background: var(--elevated);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: .4rem .5rem;
  }
  #panel-pricing .row-actions,
  #panel-crm .row-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: .5rem;
    white-space: normal;
  }
  /**/
  #panel-pricing .row-actions {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: .4rem .5rem;
    width: 100%;
  }
  #panel-pricing .row-actions [data-use] {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }
  #panel-pricing .row-actions [data-dup],
  #panel-pricing .row-actions .icon-btn {
    justify-self: start;
  }
  #panel-pricing .row-actions .icon-btn {
    justify-self: end;
  }
  /**/
  #panel-crm .row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .5rem;
    width: 100%;
  }
  #panel-crm .row-actions [data-dup],
  #panel-crm .row-actions .icon-btn {
    margin-inline-start: 0;
  }
  #panel-crm tr.overdue {
    box-shadow: inset 3px 0 0 var(--danger);
  }
  #panel-crm tr.overdue td {
    box-shadow: none;
  }
  #panel-week tr.today {
    box-shadow: inset 3px 0 0 var(--green);
    background: var(--elevated);
  }
  html[dir="rtl"] #panel-week tr.today {
    box-shadow: inset -3px 0 0 var(--green);
  }
  #panel-week tr.today td {
    box-shadow: none;
    background: transparent;
  }
}

.badge {
  display: inline-block; margin-inline-start: .3rem; padding: .08rem .4rem;
  border-radius: 999px; background: #5a2a2a; color: #ffb4b4; font-size: .72rem; font-weight: 700;
  line-height: 1.2; vertical-align: middle; flex-shrink: 0;
}

#crm-overdue-badge[hidden] {
  display: none !important;
}
.row-actions { display: flex; gap: .25rem; align-items: center; white-space: nowrap; }
.ghost.tiny {
  padding: .25rem .55rem; font-size: .78rem; border-radius: 999px;
  color: var(--green); border-color: var(--green-dim);
}
.proposal-actions { display: flex; gap: .75rem; align-items: center; margin-top: .25rem; flex-wrap: wrap; }
.proposal-actions .primary { margin-top: 0; }
.proposal-kicker {
  grid-column: 1 / -1;
  margin: .15rem 0 0;
  color: var(--green);
  font-size: .78rem;
  font-weight: 700;
}
.proposal-hint {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.4;
}
.proposal-hint[hidden] { display: none !important; }
.quote-valid-presets { margin-top: .35rem; }
.quote-valid-field {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.quote-valid-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
  margin: 0;
}
.quote-valid-banner[hidden] { display: none !important; }
.quote-valid-banner-copy {
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.4;
}
.quote-valid-chip {
  display: inline-flex;
  align-items: center;
  margin-inline-start: .35rem;
  min-height: 1.6rem;
  padding: .1rem .55rem;
  font-size: .72rem;
  font-weight: 700;
  border-radius: 999px;
  vertical-align: middle;
  border: 1px solid transparent;
}
.quote-valid-chip[data-quote-kind="expired"] {
  background: #5a2a2a;
  color: #ffb4b4;
}
.quote-valid-chip[data-quote-kind="soon"] {
  background: var(--row);
  color: var(--muted);
  border-color: var(--border);
}
.quote-valid-chip[data-quote-kind="ok"] {
  background: var(--elevated);
  color: var(--green);
  border-color: var(--green-dim);
}
.quote-valid-chip[data-quote-kind="none"] {
  background: var(--row);
  color: var(--muted);
  border-color: var(--border);
}
.quote-valid-chip:empty {
  display: none;
}
.follow-card-meta .quote-valid-chip { margin-inline-start: .45rem; }
.pay-tracker {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.pay-tracker .chip { min-height: 2.75rem; }
.change-orders {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.change-orders-empty { margin: 0; }
.change-order-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
  padding: .85rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--rail);
}
@media (min-width: 701px) {
  .change-order-card {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
.change-order-card label {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  color: var(--muted);
  font-size: .9rem;
}
.change-order-card .full {
  grid-column: 1 / -1;
}
.change-order-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .4rem;
}

#panel-proposal .change-order-actions [data-co-copy-wa],
#panel-proposal .change-order-actions [data-co-copy-email] {
  min-height: 44px;
  min-width: 44px;
  padding: .4rem .7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: var(--muted);
}
.change-order-add-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}

.proposal-addons-head {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-top: 1rem;
}
.add-on-presets-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin-top: .2rem;
}
.add-on-preset-chip {
  min-height: 44px;
  min-width: 44px;
  padding: .35rem .75rem;
  font-size: .85rem;
  border-radius: var(--radius);
  border: 1px dashed var(--green-dim);
  background: rgba(32, 224, 112, 0.04);
  color: var(--text);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .15s ease;
}
.add-on-preset-chip:hover {
  border-color: var(--green);
  background: rgba(32, 224, 112, 0.08);
}
.add-ons-matrix {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: .5rem;
}
.add-ons-empty { margin: 0; }
.add-on-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .65rem;
  padding: .75rem .85rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--rail);
  transition: border-color .15s ease;
  min-width: 0;
}
@media (min-width: 701px) {
  .add-on-card {
    grid-template-columns: auto minmax(180px, 1fr) minmax(110px, 160px) auto;
    align-items: center;
  }
}
.add-on-card.is-selected {
  border-color: var(--green-dim);
  box-shadow: inset 3px 0 0 var(--green);
}
html[dir="rtl"] .add-on-card.is-selected {
  box-shadow: inset -3px 0 0 var(--green);
}
.add-on-toggle-label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  cursor: pointer;
  min-height: 44px;
  padding: 0 .25rem;
  font-size: .88rem;
  font-weight: 500;
  color: var(--text);
  box-sizing: border-box;
}
.add-on-toggle-label input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--green);
  cursor: pointer;
}
.add-on-title-col,
.add-on-fee-col {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  color: var(--muted);
  font-size: .85rem;
}
.add-on-title-col input,
.add-on-fee-col input {
  min-height: 44px;
  box-sizing: border-box;
}
.add-on-actions-col {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.add-on-actions-col [data-addon-del] {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.add-on-add-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-top: .4rem;
  margin-bottom: .85rem;
}
#btn-add-add-on {
  min-height: 44px;
  padding: .4rem .9rem;
  box-sizing: border-box;
}


.quick-rails-tray {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: .35rem 0 .5rem;
  padding: .65rem .75rem;
  border-radius: var(--radius);
  background: rgba(32, 224, 112, 0.03);
  border: 1px solid var(--border);
}
.quick-rails-kicker {
  font-size: .8rem;
  color: var(--muted);
  margin-bottom: .15rem;
}
.quick-rails-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.quick-pay-pill {
  min-height: 44px;
  padding: .35rem .75rem;
  font-size: .82rem;
  border-radius: 999px;
  border: 1px solid var(--green-dim);
  background: var(--panel);
  color: var(--text);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .15s ease;
}
.quick-pay-pill:hover {
  border-color: var(--green);
  background: var(--elevated);
}
.proposal-money,
.proposal-send {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: 1.05rem 1.15rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .proposal-money,
html[dir="rtl"] .proposal-send {
  box-shadow: inset -4px 0 0 var(--green);
}


.proposal-discovery {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: .85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--elevated);
}
.proposal-discovery.is-complete {
  padding: .55rem .85rem;
  background: transparent;
  border-style: dashed;
}
.proposal-discovery-done {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}
.proposal-discovery-list {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.proposal-discovery-item {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 44px;
  margin: 0;
  padding: .35rem .5rem;
  border-radius: calc(var(--radius) - 2px);
  cursor: pointer;
  font: inherit;
  color: var(--text);
}
.proposal-discovery-item:hover {
  background: rgba(255,255,255,.03);
}
.proposal-discovery-item input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  accent-color: var(--green);
  flex-shrink: 0;
}
.proposal-discovery-note textarea {
  min-height: 2.75rem;
  resize: vertical;
}
.proposal-discovery-warn {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem .85rem;
  align-items: center;
  padding: .7rem .85rem;
  border: 1px solid color-mix(in srgb, #c9a227 55%, var(--border));
  border-radius: var(--radius);
  background: #16140a;
  box-shadow: inset 3px 0 0 #c9a227;
}
html[dir="rtl"] .proposal-discovery-warn {
  box-shadow: inset -3px 0 0 #c9a227;
}
.proposal-discovery-warn[hidden] { display: none !important; }
.proposal-discovery-warn-copy {
  margin: 0;
  flex: 1 1 14rem;
  color: #e8d9a0;
  font-size: .92rem;
  line-height: 1.4;
}
.proposal-discovery-warn .ghost {
  min-height: 44px;
  flex: 0 0 auto;
}


.proposal-revision-warn {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem .85rem;
  align-items: center;
  padding: .7rem .85rem;
  border: 1px solid color-mix(in srgb, #c9a227 55%, var(--border));
  border-radius: var(--radius);
  background: #16140a;
  box-shadow: inset 3px 0 0 #c9a227;
}
html[dir="rtl"] .proposal-revision-warn {
  box-shadow: inset -3px 0 0 #c9a227;
}
.proposal-revision-warn[hidden] { display: none !important; }
.proposal-revision-warn-copy {
  margin: 0;
  flex: 1 1 14rem;
  color: #e8d9a0;
  font-size: .92rem;
  line-height: 1.4;
}
.proposal-revision-warn .ghost,
#panel-proposal .proposal-revision-warn .ghost,
#btn-revision-co-nudge {
  min-height: 44px;
  flex: 0 0 auto;
}



.proposal-next-phase-park {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: .65rem .75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--elevated);
}
.proposal-next-phase-park[hidden] { display: none !important; }
.proposal-next-phase-hint {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.4;
}
.proposal-next-phase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .65rem;
  align-items: center;
}
#panel-proposal .proposal-next-phase-actions .ghost,
#btn-next-phase-copy,
#btn-next-phase-focus {
  min-height: 44px;
  min-width: 44px;
  padding: .4rem .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#btn-next-phase-copy {
  color: var(--muted);
}
.proposal-next-phase-chip {
  margin: .35rem 0 0;
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: .15rem .65rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--green) 35%, var(--border));
  background: color-mix(in srgb, var(--green) 10%, transparent);
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.3;
}
.proposal-next-phase-chip[hidden] { display: none !important; }
html[dir="rtl"] .proposal-next-phase-park {
  text-align: right;
}


.proposal-templates {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: .85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--row);
}
.proposal-templates-save,
.proposal-templates-apply {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem .85rem;
  align-items: flex-end;
}
.proposal-templates-save label,
.proposal-templates-apply label {
  flex: 1 1 14rem;
  margin: 0;
}
.proposal-templates input[type="text"],
.proposal-templates select {
  width: 100%;
  min-height: 44px;
}
.proposal-templates-save .ghost,
.proposal-templates-apply .ghost,
.proposal-templates-save .action-main,
.proposal-templates-apply .action-secondary {
  min-height: 44px;
  flex: 0 0 auto;
}
html[dir="rtl"] .proposal-templates {
  box-shadow: inset -3px 0 0 color-mix(in srgb, var(--green) 45%, transparent);
}
html[dir="ltr"] .proposal-templates {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--green) 45%, transparent);
}


.proposal-money.is-blocked {
  background: var(--danger-surface);
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
}
html[dir="rtl"] .proposal-money.is-blocked {
  box-shadow: inset -4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
}

html[data-theme="light"] .proposal-money.is-blocked {
  background: #f8eaea;
}
html[data-theme="light"] .work-gate-hero[data-kind="blocked"],
html[data-theme="light"] .work-gate-strip[data-kind="blocked"] {
  background: #f3e0e0;
  border-color: #e2b4b4;
}
html[data-theme="light"] .work-gate-chip[data-kind="blocked"] {
  background: #f0d4d4;
  color: #a82828;
  border-color: #e2b4b4;
}
.proposal-money.is-settled {
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .proposal-money.is-settled {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.proposal-money.just-gate {
  box-shadow: inset 4px 0 0 var(--green), 0 0 0 1px color-mix(in srgb, var(--green) 32%, transparent);
}
html[dir="rtl"] .proposal-money.just-gate {
  box-shadow: inset -4px 0 0 var(--green), 0 0 0 1px color-mix(in srgb, var(--green) 32%, transparent);
}
.proposal-money.is-blocked.just-gate {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted)), 0 0 0 1px color-mix(in srgb, var(--danger) 28%, transparent);
}
html[dir="rtl"] .proposal-money.is-blocked.just-gate {
  box-shadow: inset -4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted)), 0 0 0 1px color-mix(in srgb, var(--danger) 28%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .proposal-money.just-gate { box-shadow: inset 4px 0 0 var(--green); }
  html[dir="rtl"] .proposal-money.just-gate { box-shadow: inset -4px 0 0 var(--green); }
  .proposal-money.is-blocked.just-gate {
    box-shadow: inset 4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
  }
  html[dir="rtl"] .proposal-money.is-blocked.just-gate {
    box-shadow: inset -4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
  }
}
.proposal-money-top {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  align-items: flex-end;
  justify-content: space-between;
}
.proposal-money-caption {
  margin: .25rem 0 0;
  max-width: 36rem;
  font-size: .85rem;
  line-height: 1.45;
}
#proposal-accepted-fees {
  margin: .35rem 0 0;
  max-width: 40rem;
}
.proposal-money-tools {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: flex-end;
}
.proposal-money-tools label {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  color: var(--muted);
  font-size: .9rem;
  min-width: 8rem;
  max-width: 12rem;
}
.quote-fx-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .75rem;
  max-width: 100%;
}
.quote-fx-line[hidden] { display: none !important; }
.quote-fx-rate {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
}
.quote-fx-label { color: var(--muted); }
.quote-fx-drift {
  flex-basis: 100%;
  margin: 0;
}
#btn-refresh-quote-fx {
  min-height: 44px;
  padding: .4rem .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.quote-fx-line [hidden] { display: none !important; }
.work-gate-hero {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--row);
  box-sizing: border-box;
}
.work-gate-hero[data-kind="blocked"] {
  background: var(--danger-surface-strong);
  border-color: var(--danger-border);
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
}
html[dir="rtl"] .work-gate-hero[data-kind="blocked"] {
  box-shadow: inset -4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
}
.work-gate-hero[data-kind="unlocked"] {
  background: var(--elevated);
  border-color: var(--green-dim);
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .work-gate-hero[data-kind="unlocked"] {
  box-shadow: inset -4px 0 0 var(--green);
}
.work-gate-hero[data-kind="settled"] {
  background: var(--elevated);
  border-color: var(--green-dim);
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .work-gate-hero[data-kind="settled"] {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.work-gate-hero-copy {
  flex: 1 1 14rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.work-gate-chip {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 1.7rem;
  padding: .15rem .6rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .02em;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--row);
  color: var(--muted);
}
.work-gate-chip[data-kind="blocked"] {
  background: var(--danger-chip-bg);
  color: var(--danger-chip-fg);
  border-color: var(--danger-border);
}
.work-gate-chip[data-kind="unlocked"] {
  background: var(--elevated);
  color: var(--green);
  border-color: var(--green-dim);
}
.work-gate-chip[data-kind="settled"] {
  background: var(--elevated);
  color: var(--green);
  border-color: var(--green-dim);
}
.work-gate-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text);
}
.work-gate-body,
.work-gate-due,
.work-gate-strip-copy {
  margin: 0;
  font-size: .85rem;
  line-height: 1.45;
  color: var(--muted);
}
.work-gate-due {
  color: var(--text);
  font-weight: 600;
}
.work-gate-due[hidden] { display: none !important; }
.work-gate-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
  flex: 0 1 auto;
}
.work-gate-hero-actions .ghost,
.work-gate-hero-actions .primary {
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: 0;
}
.work-gate-hero-actions .ghost[hidden],
.work-gate-hero-actions [hidden] {
  display: none !important;
}
.work-gate-status-track {
  opacity: .92;
}
.work-gate-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  align-items: center;
  padding: .7rem .8rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--row);
  box-sizing: border-box;
}
.work-gate-strip[data-kind="blocked"] {
  background: var(--danger-surface-strong);
  border-color: var(--danger-border);
}
.work-gate-strip[data-kind="unlocked"] {
  background: var(--elevated);
  border-color: var(--green-dim);
}
.work-gate-strip[data-kind="settled"] {
  background: var(--elevated);
  border-color: var(--green-dim);
}
.work-gate-strip-copy {
  flex: 1 1 10rem;
  min-width: 0;
}
.work-gate-strip .ghost {
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: 0;
}
.follow-card-chips .work-gate-chip { margin-inline-start: 0; }
.proposal-window,
.proposal-scope {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--rail);
}
.proposal-window.is-expired {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
}
html[dir="rtl"] .proposal-window.is-expired {
  box-shadow: inset -4px 0 0 color-mix(in srgb, var(--danger) 72%, var(--muted));
}
.proposal-window.is-ok {
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .proposal-window.is-ok {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.proposal-window-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: .75rem 1rem;
}
.proposal-window-fields label {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  color: var(--muted);
  font-size: .9rem;
}
.proposal-scope {
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .proposal-scope {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.proposal-scope-cols,
.proposal-scope-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: .75rem 1rem;
}
.proposal-scope-cols label,
.proposal-scope-meta label,
.proposal-scope > label,
.proposal-narrative-field {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  color: var(--muted);
  font-size: .9rem;
}
.proposal-scope-cols textarea { min-height: 6.5rem; }
.proposal-scope-chips .pricing-protect-chip.is-missing {
  color: color-mix(in srgb, var(--danger) 72%, var(--muted));
  border-color: #3a2222;
}
.proposal-co-head { display: flex; flex-direction: column; gap: .25rem; }
.change-order-card[data-kind="accepted"] {
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .change-order-card[data-kind="accepted"] {
  box-shadow: inset -4px 0 0 var(--green);
}
.change-order-card[data-kind="declined"] {
  box-shadow: inset 4px 0 0 #3a2222;
  opacity: .88;
}
html[dir="rtl"] .change-order-card[data-kind="declined"] {
  box-shadow: inset -4px 0 0 #3a2222;
}
.proposal-window-fields,
.proposal-scope-cols,
.proposal-scope-meta {
  min-width: 0;
}
.proposal-window-fields label,
.proposal-scope-cols label,
.proposal-scope-meta label,
.proposal-money-stat,
.change-order-card {
  min-width: 0;
}
.proposal-invoice-from,
.proposal-pay-defaults,
.proposal-bill-to {
  margin: .85rem 0 0;
  min-width: 0;
}
.proposal-invoice-from .studio-label,
.proposal-pay-defaults .studio-label,
.proposal-bill-to .studio-label { margin-bottom: .25rem; }
.proposal-invoice-from-fields input[type="text"],
.proposal-invoice-from-fields textarea,
.proposal-pay-defaults-fields input[type="text"],
.proposal-pay-defaults-fields textarea,
.proposal-bill-to-fields input[type="text"],
.proposal-bill-to-fields textarea {
  min-height: 44px;
  box-sizing: border-box;
}
.proposal-fill-rails-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin: .15rem 0 .35rem;
}
.proposal-fill-rails-row #btn-fill-rails-defaults {
  min-height: 44px;
  padding: .4rem .85rem;
  box-sizing: border-box;
}
.proposal-identity,
.proposal-pay-rails {
  margin: 0;
  min-width: 0;
}
.proposal-send .proposal-hint { max-width: 40rem; }
.proposal-actions .ghost.action-secondary { color: var(--muted); }
#panel-proposal .proposal-actions .ghost,
#panel-proposal .proposal-actions .primary,
#panel-proposal .change-order-add-row .ghost {
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

#panel-proposal .proposal-actions #btn-copy-proposal-email,
#panel-proposal .proposal-actions #btn-copy-invoice-email {
  min-height: 44px;
}
#panel-proposal .proposal-actions #btn-copy-invoice-email:disabled {
  opacity: .45;
  cursor: not-allowed;
}
#panel-crm select[data-k="payStatus"] {
  margin-top: .35rem;
}
.toast {
  position: fixed; bottom: 1.25rem; left: 50%; transform: translateX(-50%);
  background: #146b3a; color: #f5f8f6;
  padding-block: .55rem; padding-inline: 1.1rem .65rem; border-radius: 999px;
  border: 1px solid var(--green); box-shadow: 0 8px 24px rgba(0,0,0,.35);
  z-index: 50; font-size: .9rem; font-weight: 600;
  display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; max-width: min(92vw, 28rem);
}

.toast[hidden] {
  display: none !important;
}

.toast.toast-banner {
  top: 4.75rem;
  bottom: auto;
}
@media (max-width: 520px) {
  .toast.toast-banner {
    top: .55rem;
    inset-inline: .65rem;
    transform: none;
    width: auto;
    max-width: none;
  }
}
.toast-action {
  flex: 0 0 auto;
  background: #f5f8f6; color: #146b3a; border: 0;
  border-radius: 999px; padding: .35rem .75rem;
  font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer;
}
.toast-action:hover { filter: brightness(1.05); }
.toast-action:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }

tr.today td { box-shadow: inset 3px 0 0 var(--green); background: var(--elevated); }
.today-pill {
  display: inline-block; margin-inline-start: .35rem; padding: .05rem .4rem;
  border-radius: 999px; background: var(--green-dim); color: var(--green);
  font-size: .72rem; font-weight: 700; vertical-align: middle;
}
.proposal-actions .ghost { margin-top: 0; }

.date-hint { font-size: .75rem; color: var(--muted); margin-top: .2rem; }
.date-hint.late { color: #ff8a8a; }

.crm-filters {
  display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .85rem;
}
.crm-view {
  display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .65rem;
}
.crm-view .chip.active {
  color: var(--bg); background: var(--green); border-color: var(--green); font-weight: 600;
}
.follow-queue {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 0 1rem;
}
.follow-bucket-title {
  margin: 0 0 .55rem;
  font-size: 1rem;
  color: var(--text);
}
.follow-bucket-empty {
  margin: 0;
  padding: .65rem .85rem;
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  background: var(--card);
}
.follow-card-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.follow-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.05rem 1.15rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.follow-card.overdue,
.follow-card.is-overdue {
  background: var(--danger-surface);
  box-shadow: inset 4px 0 0 var(--danger);
}
html[dir="rtl"] .follow-card.overdue,
html[dir="rtl"] .follow-card.is-overdue {
  box-shadow: inset -4px 0 0 var(--danger);
}
.follow-card.due-today,
.follow-card.is-soon {
  background: var(--elevated);
  box-shadow: inset 4px 0 0 var(--green);
}
html[dir="rtl"] .follow-card.due-today,
html[dir="rtl"] .follow-card.is-soon {
  box-shadow: inset -4px 0 0 var(--green);
}
.follow-card.is-ok {
  box-shadow: inset 4px 0 0 var(--green-dim);
}
html[dir="rtl"] .follow-card.is-ok {
  box-shadow: inset -4px 0 0 var(--green-dim);
}
.follow-card.is-done {
  background: var(--row);
  opacity: .92;
}
.follow-card-hero {
  display: flex;
  flex-direction: column;
  gap: .7rem;
}
.follow-card-kicker { margin: 0; }
.follow-card-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
.follow-card-top > div:first-child {
  flex: 1 1 14rem;
  min-width: 0;
}
.follow-card-name {
  display: block;
  margin-top: .2rem;
  font-size: 1.08rem;
}
.follow-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  margin-top: .4rem;
}
.follow-card-chips .quote-valid-chip { margin-inline-start: 0; }
.follow-urgency-chip { letter-spacing: .02em; }
.chase-chip[data-chase="d3"] {
  background: var(--row);
  color: var(--muted);
  border-color: var(--border);
}
.chase-chip[data-chase="d7"] {
  background: var(--elevated);
  color: var(--muted);
  border-color: var(--border);
}
.chase-chip[data-chase="d14"] {
  background: #5a2a2a;
  color: #ffb4b4;
  border-color: #5a2a2a;
}
.follow-card.is-chase-d7 {
  background: var(--row);
  box-shadow: inset 4px 0 0 #8a8470;
}
html[dir="rtl"] .follow-card.is-chase-d7 {
  box-shadow: inset -4px 0 0 #8a8470;
}
tr.chase-d7 td { box-shadow: inset 3px 0 0 #8a8470; }
html[dir="rtl"] tr.chase-d7 td { box-shadow: inset -3px 0 0 #8a8470; }
.follow-card-meta { margin-top: .35rem; font-size: .85rem; }
.follow-card-when {
  flex: 0 1 13rem;
  min-width: min(100%, 11rem);
  max-width: 16rem;
}
.follow-card-when input[type="date"] {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
.follow-card-when.late .date-hint { color: #ff8a8a; }
.follow-next-action {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  font-size: .85rem;
  color: var(--muted);
}
.follow-next-action textarea {
  min-height: 4.5rem;
  width: 100%;
  color: var(--text);
  box-sizing: border-box;
}
.follow-card-send,
.follow-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.follow-card-send .ghost,
.follow-card-send .primary {
  min-height: 44px;
  padding: .4rem .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: 0;
}
.follow-card-more {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
  padding-top: .55rem;
  border-top: 1px dashed var(--border);
}
.follow-card-more .tiny,
.follow-card-more select {
  min-height: 44px;
  box-sizing: border-box;
}
.follow-card-more .tiny {
  min-width: 44px;
  padding: .4rem .65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.follow-card-more select,
.follow-card-actions select {
  width: auto;
  min-width: 8rem;
  min-height: 44px;
}
.primary.tiny {
  margin-top: 0;
  padding: .4rem .85rem;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.chip {
  background: transparent; color: var(--muted); border: 1px solid var(--border);
  padding: .35rem .75rem; border-radius: 999px; font: inherit; font-size: .85rem;
}
.chip.active {
  color: var(--bg); background: var(--green); border-color: var(--green); font-weight: 600;
}
.chip.chip-late.active {
  color: #1a0606; background: #ff8a8a; border-color: #ff8a8a;
}
.chip.chip-today.active {
  color: #04110a; background: #7dffb0; border-color: #7dffb0;
}
.chip.chip-none.active {
  border-color: #c9a227;
  background: #f7f0d8;
  color: #6b5510;
}
.crm-pipeline {
  margin-top: .45rem;
  font-size: .88rem;
  font-variant-numeric: tabular-nums;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  padding: .45rem .75rem;
  background: color-mix(in srgb, var(--elevated) 75%, transparent);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.pipeline-jump {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .2rem .55rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--text);
  background: color-mix(in srgb, var(--card) 90%, transparent);
  border: 1px solid color-mix(in srgb, var(--green) 28%, var(--border));
  border-radius: 999px;
  cursor: pointer;
  transition: all .15s ease;
}
.pipeline-jump:hover {
  background: color-mix(in srgb, var(--green) 16%, transparent);
  border-color: var(--green);
  color: var(--green);
}
.chip:not(.active):hover { border-color: var(--green-dim); color: var(--text); }
.chip-count {
  display: inline-block;
  min-width: 1.1em;
  margin-inline-start: .15rem;
  padding: 0 .35rem;
  border-radius: 999px;
  font-size: .72em;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
  background: rgba(255,255,255,.1);
  color: inherit;
  opacity: .92;
}
.chip.active .chip-count {
  background: rgba(0,0,0,.18);
}
.empty-hint {
  color: var(--muted); text-align: center; padding: 1rem .9rem;
  border: 1px dashed var(--border); border-radius: var(--radius); margin: 0 0 .75rem;
  background: var(--card);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
.empty-activate,
.crm-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
}
.empty-activate-copy,
.crm-empty-copy {
  margin: 0;
  max-width: 28rem;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
.empty-activate[hidden],
.crm-empty[hidden] { display: none !important; }
#panel-pricing .pricing-board-wrap[hidden] { display: none !important; }
#pricing-packages-label[hidden] { display: none !important; }
#crm-demo-note { margin: 0 0 .85rem; }

.crm-search { display: block; margin: 0 0 .85rem; }
.crm-search-wrap { position: relative; display: block; }
.crm-search input {
  width: 100%;
  background: var(--input);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding-block: .55rem;
  padding-inline: 1rem 2.4rem;
  font: inherit;
}
.crm-search input::placeholder { color: var(--muted); }
.crm-search-clear {
  position: absolute;
  inset-inline-end: .35rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.7rem; height: 1.7rem;
  border: 0; border-radius: 999px;
  background: transparent; color: var(--muted);
  font: inherit; font-size: .85rem; line-height: 1;
  cursor: pointer; padding: 0;
}
.crm-search-clear:hover { color: var(--text); background: rgba(255,255,255,.06); }
.crm-search-clear:focus-visible { outline: 2px solid var(--accent, #6ee7a8); outline-offset: 1px; }
#crm-overdue-badge { cursor: pointer; }
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}


#pricing-tfoot td { background: var(--elevated); font-weight: 600; }
#pricing-tfoot .calc { color: var(--green); }
#pricing-tfoot strong { color: var(--text); }
@media (max-width: 700px) {
  #panel-pricing tfoot {
    display: block;
    margin-top: .35rem;
  }
  #panel-pricing tfoot tr.pricing-totals-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem .65rem;
    padding: .85rem;
    background: var(--elevated);
    border: 1px solid var(--green-dim);
    border-radius: var(--radius);
  }
  #panel-pricing tfoot td {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 0;
    border: none;
    background: transparent;
  }
  #panel-pricing tfoot td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .72rem;
    font-weight: 600;
  }
  #panel-pricing tfoot td:first-child {
    grid-column: 1 / -1;
  }
  #panel-pricing tfoot td:last-child {
    display: none;
  }
}


#crm-tfoot td { background: var(--elevated); font-weight: 600; }
#crm-tfoot .calc { color: var(--green); }
#crm-tfoot strong { color: var(--text); }
@media (max-width: 700px) {
  #panel-crm tfoot {
    display: block;
    margin-top: .35rem;
  }
  #panel-crm tfoot tr.crm-totals-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem .65rem;
    padding: .85rem;
    background: var(--elevated);
    border: 1px solid var(--green-dim);
    border-radius: var(--radius);
  }
  #panel-crm tfoot td {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 0;
    border: none;
    background: transparent;
  }
  #panel-crm tfoot td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .72rem;
    font-weight: 600;
  }
  #panel-crm tfoot td:first-child {
    grid-column: 1 / -1;
  }
  #panel-crm tfoot td[data-label=""] {
    display: none;
  }
}

.snooze-row {
  display: flex;
  gap: .28rem;
  margin-top: .28rem;
  flex-wrap: wrap;
}
.snooze-row .tiny {
  padding: .25rem .55rem;
  font-size: .72rem;
  line-height: 1.2;
  min-height: 2rem; /* mirror .week-row-actions .tiny */
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


.week-row-actions .tiny {
  min-height: 2rem;
}


.pipeline-jump {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  color: var(--accent, #6ee7a8);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pipeline-jump:hover { filter: brightness(1.08); }
.pipeline-jump:focus-visible {
  outline: 2px solid var(--accent, #6ee7a8);
  outline-offset: 2px;
  border-radius: 2px;
}

@media (max-width: 700px) {
  /**/
  .snooze-row .tiny,
  #panel-crm .row-actions .tiny,
  #panel-pricing .row-actions .tiny,
  #panel-week .week-row-actions .tiny {
    min-height: 44px;
    min-width: 44px; /* Testi #122 FAIL: +3/+7 / كرّر were ~34–37px wide */
    padding: .4rem .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  #panel-pricing .row-actions .icon-btn,
  #panel-crm .row-actions .icon-btn {
    min-height: 44px;
    min-width: 44px;
    padding: .4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  .crm-filters .chip,
  .crm-view .chip {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .follow-card-actions .tiny,
  .follow-card-actions .primary.tiny,
  .follow-card-send .ghost,
  .follow-card-more .tiny {
    min-height: 44px;
    min-width: 44px;
    padding: .4rem .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .follow-card-when {
    flex: 1 1 100%;
    max-width: none;
  }
  .follow-card-actions select {
    min-height: 44px;
  }
  /**/
  #panel-crm .panel-actions .ghost,
  #panel-week .panel-actions .ghost {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  #panel-crm .panel-actions .primary {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  #panel-pricing .pricing-studio-actions .ghost,
  #panel-proposal .proposal-actions .ghost,
  #panel-proposal .proposal-actions .primary {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  #panel-pricing .pricing-studio-actions .ghost[hidden] {
    display: none !important;
  }
  /**/
  .top .actions .ghost {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  .tabs .tab {
    min-height: 44px;
    width: 100%;
    padding: .4rem .55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /* Per-card quick follow (اليوم / +3 / +7 / بدون موعد): 44px tall, ≥8px apart.
     Desktop .snooze-row .tiny stays min-height: 2rem — this block must stay after it. */
  .snooze-row {
    gap: .5rem;
  }
  /**/
  .toast-action {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  .backup-nudge .primary,
  .backup-nudge .ghost,
  .import-preview .primary,
  .import-preview .ghost {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  .brand-access,
  .brand-tut,
  .account-sync-chip,
  .account-session-actions .primary,
  .account-session-actions .ghost,
  .day1-step .ghost,
  .day1-actions .ghost,
  #pricing-empty-add {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  .crm-search-clear {
    min-height: 44px;
    min-width: 44px;
    padding: .4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /* CRM search input (#crm-search) — same 44px; was padding-block .55rem (~37px) outside this query.
     Clear ✕ already 44px; match field height. min-height + box-sizing; keep pill padding-inline for ✕. */
  .crm-search input,
  #crm-search {
    min-height: 44px;
    box-sizing: border-box;
  }
  /**/
  .pipeline-jump {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  /**/
  #crm-overdue-badge {
    min-height: 44px;
    min-width: 44px;
    padding: .35rem .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    vertical-align: middle;
  }
  #crm-overdue-badge[hidden] {
    display: none !important;
    min-width: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
  }
  /* Pricing / CRM / week table inputs & selects — same 44px; was padding .4rem .5rem (~32–36px) outside this query.
     Priority: CRM select[data-k=status] + input[data-k=next]. Scoped to tables so .crm-search keeps its clear-✕ padding.
     min-height + box-sizing only (no flex) so type=date native chrome stays usable. */
  #panel-pricing table input,
  #panel-pricing table select,
  #panel-crm table input,
  #panel-crm table select,
  #panel-week table input,
  #panel-week table select {
    min-height: 44px;
    padding: .55rem .65rem;
    box-sizing: border-box;
  }
  /* Pricing FX (#fx-rate) + buffers + budget + proposal form — same 44px; left out of table-scoped #106.
     FX / buffers / budget live in .pricing-studio-tools; proposal uses #proposal-form.
     min-height + box-sizing only (no flex) so type=date native chrome stays usable. */
  #panel-pricing #fx-rate,
  #panel-pricing #home-currency,
  #panel-pricing #buf-fee,
  #panel-pricing #buf-fx,
  #panel-pricing #buf-admin,
  #panel-pricing #client-budget,
  #panel-proposal #proposal-form input,
  #panel-proposal #proposal-form select,
  #panel-proposal #proposal-form textarea {
    min-height: 44px;
    padding: .55rem .65rem;
    box-sizing: border-box;
  }
  #panel-week #week-focus-tasks,
  #panel-week #week-focus-hours,
  #panel-week #btn-week-carry,
  #panel-week #btn-week-focus-done {
    min-height: 44px;
    min-height: 2.75rem;
    box-sizing: border-box;
  }
  #panel-week #week-focus-tasks {
    padding: .55rem .65rem;
  }
  #panel-week #btn-week-carry {
    display: inline-flex;
    align-items: center;
    padding: .4rem .85rem;
  }
  #panel-week .week-money-action {
    width: 100%;
    min-height: 44px;
  }
  #panel-week .week-money-row {
    align-items: stretch;
  }
  #panel-proposal .pay-tracker .chip,
  #panel-proposal .quote-valid-presets .chip {
    min-height: 44px;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  #panel-proposal .change-order-add-row .ghost,
  #panel-proposal .change-order-actions .tiny,
  #panel-proposal .co-status-tracker .chip {
    min-height: 44px;
  }
  #panel-proposal .change-order-actions .tiny,
  #panel-proposal .co-status-tracker .chip {
    min-width: 44px;
    box-sizing: border-box;
  }
}

.week-done-cell {
  vertical-align: middle;
  white-space: nowrap;
  width: 1%;
  min-width: 7.5rem;
}
#week-table th:nth-last-child(2),
#week-table td.week-done-cell {
  min-width: 7.5rem;
  white-space: nowrap;
}
.week-row-actions {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
  /* Keep table-cell display so Actions header aligns over Copy/Clear.
     (.row-actions { display:flex } would otherwise break the column.) */
}
.week-row-clear {
  color: var(--muted);
  border-color: var(--border);
}
.ghost.tiny.week-row-clear {
  color: var(--muted);
  border-color: var(--border);
}
.ghost.tiny.week-row-clear:hover,
.week-row-clear:hover {
  color: var(--danger);
  border-color: #5a2a2a;
}
.week-day-cell {
  font-weight: 600;
  white-space: nowrap;
}
.week-day-name { vertical-align: middle; }
.done-toggle {
  display: inline-flex; align-items: center; gap: .35rem;
  background: transparent; border: 1px solid var(--border); color: var(--muted);
  padding: .4rem .75rem; border-radius: 999px; cursor: pointer; font: inherit;
  white-space: nowrap;
  min-width: 6.75rem;
  min-height: 44px;
  justify-content: center;
  box-sizing: border-box;
}
.done-toggle:hover { border-color: var(--accent, #6ee7a8); color: var(--text, #e8f5ee); }
.done-toggle.on {
  background: color-mix(in srgb, var(--green) 18%, transparent);
  border-color: var(--green); color: var(--green);
}
.done-toggle:focus-visible { outline: 2px solid var(--accent, #6ee7a8); outline-offset: 2px; }
.done-toggle-label { font-size: .88rem; white-space: nowrap; }
@keyframes week-done-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.05); }
  100% { transform: scale(1); }
}
.done-toggle.just-done {
  animation: week-done-pop .38s ease;
}
@media (prefers-reduced-motion: reduce) {
  .done-toggle.just-done { animation: none; }
  .week-focus.just-done { box-shadow: inset 4px 0 0 var(--green); }
  html[dir="rtl"] .week-focus.just-done { box-shadow: inset -4px 0 0 var(--green); }
}
#week-table tr.week-done input[data-k="tasks"],
#week-table tr.week-done input[data-k="deliverables"] {
  text-decoration: line-through; opacity: .78;
}

@media (min-width: 701px) {
  #panel-week .week-board-wrap {
    overflow-x: auto;
    border: none;
    background: transparent;
    border-radius: 0;
  }
  #panel-week #week-table {
    min-width: 0;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 .42rem;
  }
  #panel-week #week-table thead th {
    background: transparent;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 600;
    border: none;
    padding: .15rem .55rem .35rem;
    position: static;
  }
  #panel-week #week-table tbody tr td {
    background: var(--card);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: .55rem .5rem;
  }
  #panel-week #week-table tbody tr td:first-child {
    border-inline-start: 1px solid var(--border);
    border-start-start-radius: var(--radius);
    border-end-start-radius: var(--radius);
  }
  #panel-week #week-table tbody tr td:last-child {
    border-inline-end: 1px solid var(--border);
    border-start-end-radius: var(--radius);
    border-end-end-radius: var(--radius);
  }
  #panel-week #week-table tbody tr:nth-child(even) td { background: var(--card); }
  #panel-week #week-table tbody tr.today td {
    background: var(--elevated);
    box-shadow: none;
  }
  #panel-week #week-table tbody tr.today td:first-child {
    box-shadow: inset 4px 0 0 var(--green);
  }
  html[dir="rtl"] #panel-week #week-table tbody tr.today td:first-child {
    box-shadow: inset -4px 0 0 var(--green);
  }
  #panel-week #week-table tbody tr.week-done td {
    background: var(--row);
  }
  #panel-week #week-table tbody tr[data-kind="planned"] td:first-child {
    box-shadow: inset 3px 0 0 var(--green-dim);
  }
  html[dir="rtl"] #panel-week #week-table tbody tr[data-kind="planned"] td:first-child {
    box-shadow: inset -3px 0 0 var(--green-dim);
  }
  #panel-week #week-table th:nth-child(3),
  #panel-week #week-table td.num {
    width: 6.5rem;
  }
  /**/
  #panel-week #week-table td.week-row-actions {
    display: table-cell;
  }
  #panel-week #week-table th:last-child,
  #panel-week #week-table td.week-row-actions {
    text-align: start;
  }
  #panel-week #week-table td.week-row-actions .ghost.tiny + .ghost.tiny {
    margin-inline-start: .35rem;
  }
}

@media (max-width: 700px) {
  .week-done-cell, #week-table th:nth-last-child(2) { min-width: 0; width: auto; }
  .week-progress { max-width: none; }
  .week-board-actions { max-width: none; justify-content: flex-start; }
  .done-toggle {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: .55rem .75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  #panel-week .week-row-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: .35rem;
  }
  #panel-week .week-row-actions .tiny {
    width: 100%;
    min-height: 44px;
    min-width: 44px;
    padding: .4rem .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  #panel-week tr[data-kind="planned"] {
    box-shadow: inset 3px 0 0 var(--green-dim);
  }
  html[dir="rtl"] #panel-week tr[data-kind="planned"] {
    box-shadow: inset -3px 0 0 var(--green-dim);
  }
}

.pricing-actions { margin-top: .75rem; }

@media (min-width: 701px) {
  #panel-pricing .pricing-board-wrap {
    overflow-x: auto;
    border: none;
    background: transparent;
    border-radius: 0;
  }
  #panel-pricing #pricing-table {
    min-width: 0;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 .42rem;
  }
  #panel-pricing #pricing-table thead th {
    background: transparent;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 600;
    border: none;
    padding: .15rem .55rem .35rem;
    position: static;
  }
  #panel-pricing #pricing-table tbody tr td {
    background: var(--card);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: .55rem .5rem;
    vertical-align: top;
  }
  #panel-pricing #pricing-table tbody tr td:first-child {
    border-inline-start: 1px solid var(--border);
    border-start-start-radius: var(--radius);
    border-end-start-radius: var(--radius);
  }
  #panel-pricing #pricing-table tbody tr td:last-child {
    border-inline-end: 1px solid var(--border);
    border-start-end-radius: var(--radius);
    border-end-end-radius: var(--radius);
  }
  #panel-pricing #pricing-table tbody tr:nth-child(even) td { background: var(--card); }
  #panel-pricing #pricing-table tbody tr[data-kind="quoted"] td:first-child {
    box-shadow: inset 4px 0 0 var(--green-dim);
  }
  html[dir="rtl"] #panel-pricing #pricing-table tbody tr[data-kind="quoted"] td:first-child {
    box-shadow: inset -4px 0 0 var(--green-dim);
  }
  #panel-pricing #pricing-table tbody tr[data-kind="below"] td {
    background: #140c0c;
  }
  #panel-pricing #pricing-table tbody tr[data-kind="below"] td:first-child {
    box-shadow: inset 4px 0 0 var(--danger);
  }
  html[dir="rtl"] #panel-pricing #pricing-table tbody tr[data-kind="below"] td:first-child {
    box-shadow: inset -4px 0 0 var(--danger);
  }
  #panel-pricing #pricing-table tfoot td {
    background: var(--elevated);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  #panel-pricing #pricing-table tfoot td:first-child {
    border-inline-start: 1px solid var(--border);
    border-start-start-radius: var(--radius);
    border-end-start-radius: var(--radius);
  }
  #panel-pricing #pricing-table tfoot td:last-child {
    border-inline-end: 1px solid var(--border);
    border-start-end-radius: var(--radius);
    border-end-end-radius: var(--radius);
  }
  #panel-pricing #pricing-table th:nth-child(6),
  #panel-pricing #pricing-table td.calc-price {
    min-width: 8.25rem;
  }
}

@media (max-width: 700px) {
  .pricing-studio-actions,
  .proposal-studio-actions,
  .crm-board-actions { max-width: none; justify-content: flex-start; }
  .pricing-floor-stat,
  .proposal-money-stat { min-width: 0; flex: 1 1 8rem; }
  .proposal-money-tools label { max-width: 100%; flex: 1 1 10rem; }
  .work-gate-hero { flex-direction: column; }
  .work-gate-hero-actions,
  .work-gate-strip { width: 100%; }
  .work-gate-hero-actions .ghost,
  .work-gate-strip .ghost { flex: 1 1 auto; }
  .proposal-actions { gap: .5rem; }
  #panel-proposal .proposal-actions .ghost,
  #panel-proposal .proposal-actions .primary {
    flex: 1 1 auto;
  }
  #panel-pricing tr[data-kind="quoted"] {
    box-shadow: inset 3px 0 0 var(--green-dim);
  }
  html[dir="rtl"] #panel-pricing tr[data-kind="quoted"] {
    box-shadow: inset -3px 0 0 var(--green-dim);
  }
  #panel-pricing tr[data-kind="below"] {
    box-shadow: inset 3px 0 0 var(--danger);
  }
  html[dir="rtl"] #panel-pricing tr[data-kind="below"] {
    box-shadow: inset -3px 0 0 var(--danger);
  }
}


@media (min-width: 701px) {
  #crm-table th:nth-child(4),
  #crm-table td:nth-child(4) {
    min-width: 10rem;
    width: 10rem;
  }
  #crm-table select[data-k="status"] {
    min-width: 8.5rem;
    width: 100%;
  }
}


tr.due-today td { box-shadow: inset 3px 0 0 var(--green); background: var(--elevated); }
tr.due-today input[data-k="next"], tr.due-today select[data-k="status"] {
  border-color: rgba(110, 231, 168, .45);
}
@media (max-width: 700px) {
  #panel-crm tr.due-today {
    box-shadow: inset 3px 0 0 var(--green);
    background: var(--elevated);
  }
  #panel-crm tr.due-today td {
    box-shadow: none;
    background: transparent;
  }
}

.next-na { display: inline-block; padding: .35rem 0; color: var(--muted); }
td.next-closed { opacity: .85; }


html[dir="ltr"] td.num input,
html[dir="ltr"] .calc {
  text-align: left;
}


.crm-sheet {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: .75rem;
  box-sizing: border-box;
}
.crm-sheet[hidden] { display: none !important; }
.crm-sheet-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, .55);
  cursor: pointer;
}
.crm-sheet-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 28rem);
  max-height: min(92vh, 36rem);
  overflow: auto;
  background: var(--panel, #0f1712);
  color: var(--text);
  border: 1px solid color-mix(in srgb, var(--green) 35%, transparent);
  border-radius: 1rem 1rem .75rem .75rem;
  box-shadow: 0 -8px 32px rgba(0,0,0,.4);
  padding: 1rem 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.crm-sheet-panel h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}
.crm-sheet-hint,
.crm-sheet-client {
  margin: 0;
  font-size: .85rem;
  line-height: 1.45;
}
.crm-sheet-field {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  font-size: .85rem;
  font-weight: 600;
}
.crm-sheet-field textarea,
.crm-sheet-field input {
  font: inherit;
  font-weight: 400;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: .55rem .7rem;
  border-radius: .65rem;
  border: 1px solid color-mix(in srgb, var(--muted) 45%, transparent);
  background: color-mix(in srgb, var(--bg, #0a100c) 80%, transparent);
  color: var(--text);
  resize: vertical;
}
.crm-sheet-field textarea { min-height: 7.5rem; }
.crm-sheet-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
  margin-top: .25rem;
}
.crm-sheet-actions .ghost,
.crm-sheet-actions .action-main,
.crm-sheet-actions .action-secondary {
  min-height: 44px;
  min-width: 44px;
  padding-inline: 1rem;
}
.crm-sheet-actions .action-main:disabled,
#crm-chat-log-save:disabled {
  opacity: .45;
  cursor: not-allowed;
}
@media (min-width: 701px) {
  .crm-sheet { align-items: center; }
  .crm-sheet-panel {
    border-radius: 1rem;
  }
}



.crm-tag-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .5rem;
  margin: .35rem 0 .65rem;
}
.crm-tag-filters[hidden] { display: none !important; }
.crm-tags-edit {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin-top: .4rem;
  min-width: 0;
}
.crm-tag-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
}
.crm-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  max-width: 100%;
  padding: .2rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--green-dim, #2a5a45);
  background: color-mix(in srgb, var(--green-dim, #2a5a45) 18%, transparent);
  color: var(--text, #e8f2ec);
  font-size: .78rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
button.crm-tag-chip {
  font: inherit;
  cursor: pointer;
  min-height: 44px;
  min-width: 44px;
  padding-inline: .65rem;
  justify-content: center;
  background: color-mix(in srgb, var(--green-dim, #2a5a45) 22%, transparent);
}
button.crm-tag-chip:hover,
button.crm-tag-chip:focus-visible {
  border-color: var(--green, #3d8f6a);
}
button.crm-tag-chip:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}
@media (forced-colors: active) {
  button.crm-tag-chip:focus-visible { outline-color: Highlight; }
}
.crm-tag-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 9rem;
}
.crm-tag-chip-x {
  font-size: 1rem;
  line-height: 1;
  opacity: .85;
  margin-inline-start: .1rem;
}
.crm-tag-more {
  font-size: .75rem;
}
.crm-tags-field {
  display: block;
  min-width: 0;
}
.crm-tags-field input {
  width: 100%;
  min-height: 2.5rem;
  font: inherit;
}
.follow-card .crm-tags-edit {
  margin-top: .5rem;
}
@media (max-width: 700px) {
  .crm-tag-filters .chip {
    min-height: 44px;
  }
  button.crm-tag-chip {
    min-height: 44px;
    min-width: 44px;
  }
}


.proposal-invoice-items {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: .85rem;
}
.proposal-invoice-items .invoice-item-card {
  grid-template-columns: minmax(0, 1fr) minmax(7rem, 9rem) auto;
}
.proposal-invoice-items .invoice-item-card .full {
  grid-column: 1 / -1;
}
@media (max-width: 700px) {
  .proposal-invoice-items .invoice-item-card {
    grid-template-columns: minmax(0, 1fr);
  }
}
.proposal-invoice-items input[type="text"],
.proposal-invoice-items input[type="number"] {
  min-height: 44px;
}
#btn-add-invoice-item {
  min-height: 44px;
}


.proposal-invoice-tax {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-top: .85rem;
}
.proposal-invoice-tax-fields {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr);
  gap: .65rem .85rem;
  align-items: end;
}
@media (max-width: 700px) {
  .proposal-invoice-tax-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}
.proposal-invoice-tax input[type="text"],
.proposal-invoice-tax input[type="number"] {
  min-height: 44px;
}


#btn-print-sheet {
  min-height: 44px;
}


#btn-copy-client-link {
  min-height: 44px;
}
.proposal-share-hint {
  margin: .35rem 0 0;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.4;
}

.print-root[hidden] {
  display: none !important;
}
.print-root {
  display: none;
}



html[lang="ar"] .tab,
html[dir="rtl"] .tab {
  line-height: var(--lh-ar);
}
html[lang="ar"] .tab > [data-i18n],
html[dir="rtl"] .tab > [data-i18n] {
  line-height: var(--lh-ar);
}
html[lang="ar"] .week-glance-title,
html[lang="ar"] .week-glance-stat,
html[lang="ar"] .week-glance-kicker,
html[dir="rtl"] .week-glance-title,
html[dir="rtl"] .week-glance-stat,
html[dir="rtl"] .week-glance-kicker {
  line-height: var(--lh-ar);
}
html[lang="ar"] .day1-lead,
html[lang="ar"] .day1-step-label,
html[lang="ar"] .day1-need,
html[dir="rtl"] .day1-lead,
html[dir="rtl"] .day1-step-label,
html[dir="rtl"] .day1-need {
  line-height: var(--lh-ar);
}
html[lang="ar"] .empty-workspace-title,
html[lang="ar"] .empty-workspace-copy,
html[lang="ar"] .empty-activate-copy,
html[lang="ar"] .crm-empty-copy,
html[lang="ar"] .empty-hint,
html[dir="rtl"] .empty-workspace-title,
html[dir="rtl"] .empty-workspace-copy,
html[dir="rtl"] .empty-activate-copy,
html[dir="rtl"] .crm-empty-copy,
html[dir="rtl"] .empty-hint {
  line-height: var(--lh-ar);
}

html[lang="en"] .tab,
html[lang="en"] .week-glance-stat,
html[lang="en"] .day1-lead,
html[lang="en"] .empty-workspace-copy {
  line-height: var(--lh-body);
}


@media print {
  /**/
  body.printing > *:not(#print-root) {
    display: none !important;
  }
  body.printing #print-root,
  body.printing .print-root {
    display: block !important;
    position: static !important;
    background: #fff !important;
    color: #111 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }
  body.printing .print-root .print-fx,
  body.printing .print-root .print-effective,
  body.printing .print-root .print-body,
  body.printing .print-root h1,
  body.printing .print-root h2 {
    color: #111 !important;
  }
  a { color: inherit !important; text-decoration: none !important; }
  .primary, .ghost, button {
    /**/
    background: transparent !important;
    color: #111 !important;
    border-color: #999 !important;
    box-shadow: none !important;
  }
}


.panel > .panel-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px 24px; margin-block-end:18px; }
.panel > .panel-head > :first-child { min-width:0; }
.panel > .panel-head p { max-width:48rem; margin-block:6px 0; line-height:1.55; }
.panel-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.panel-actions > * { margin:0; min-height:44px; }

#panel-pricing .pricing-floor { margin-block:0 18px; padding:18px; border:1px solid var(--border); border-radius:12px; background:var(--elevated); box-shadow:none; }
#panel-pricing .pricing-floor-figures { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:10px; }
#panel-pricing .pricing-floor-stat { min-width:0; padding:13px; border:1px solid var(--border); border-radius:9px; background:var(--card); }
#panel-pricing .pricing-studio-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block-end:18px; }
#panel-pricing .pricing-studio-tools > * { min-width:0; margin:0; padding:16px; border:1px solid var(--border); border-radius:11px; background:var(--card); }
#panel-pricing .table-wrap { border:1px solid var(--border); border-radius:11px; overflow:auto; }

#panel-proposal .proposal-studio { max-width:66rem; margin-inline:auto; padding:clamp(16px,3vw,30px); border:1px solid var(--border); border-radius:12px; background:var(--card); box-shadow:0 12px 30px rgb(45 54 44 / 5%); }
#panel-proposal .proposal-studio :is(fieldset,.card,.section) { border-color:var(--border); background:var(--row); }

#panel-crm .crm-view, #panel-crm .crm-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px; border:1px solid var(--border); background:var(--row); }
#panel-crm .crm-view { border-radius:10px 10px 0 0; border-block-end:0; }
#panel-crm .crm-filters { border-radius:0 0 10px 10px; margin-block-end:14px; }
#panel-crm .crm-pipeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:10px; margin-block:14px; }
#panel-crm :is(.crm-empty,.crm-queue-empty) { padding:18px; border:1px dashed var(--border); border-radius:10px; background:var(--row); }

#panel-week .week-glance { margin:0 0 18px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--row); }
#panel-week .week-glance-cards { gap:10px; }
#panel-week .week-glance-card { min-width:0; border:1px solid var(--border); border-radius:10px; background:var(--card); box-shadow:none; }
#panel-week .week-board-wrap { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--card); }

@media (max-width:800px) {
  .panel > .panel-head { grid-template-columns:minmax(0,1fr); align-items:start; }
  .panel-actions { justify-content:flex-start; }
  #panel-pricing .pricing-studio-tools { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:500px) {
  .panel > .panel-head, .panel > .panel-head > *, .panel-actions { min-width:0; max-width:100%; }
  .panel-actions > * { flex:1 1 9rem; white-space:normal; }
  #panel-pricing .pricing-floor, #panel-proposal .proposal-studio { padding:14px; }
}


@media (min-width: 801px) {
  #panel-crm > .crm-board-head { display: flex; }
}


.workspace #panel-crm #crm-table.crm-compact-table :is(th, td)[hidden] { display: none !important; }
.workspace #panel-crm #crm-table.crm-compact-table td { vertical-align: top; }
.workspace #panel-crm #crm-table.crm-compact-table .crm-value-currency { display: block; margin-block-start: .35rem; color: var(--muted); font-size: .8rem; }
.workspace #panel-crm .crm-row-detail-field { flex: 1 1 12rem; min-inline-size: 0; max-inline-size: 100%; }
.workspace #panel-crm .crm-row-detail-field :is(input, select, textarea) { inline-size: 100%; min-inline-size: 0; }
.workspace #panel-crm #crm-table.crm-compact-table .work-gate-strip { padding: .35rem 0; margin-block: .35rem; border: 0; background: transparent; }
@media (min-width: 701px) {
  .workspace #panel-crm #crm-table.crm-compact-table { min-inline-size: 48rem; }
  .workspace #panel-crm #crm-table.crm-compact-table :is(th, td):nth-child(8) { inline-size: 23%; min-inline-size: 10rem; }
  .workspace #panel-crm #crm-table.crm-compact-table textarea[data-k="nextAction"] { min-inline-size: 0; inline-size: 100%; min-block-size: 5rem; }
  .workspace #panel-crm #crm-table.crm-compact-table td.row-actions { display: table-cell; }
  .workspace #panel-crm #crm-table.crm-compact-table .crm-primary-actions { flex-direction: column; align-items: stretch; }
}

#panel-pricing #pricing-beginner-guide {
  min-inline-size: 0; margin-block: 0 18px; padding: 16px 20px;
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--card);
}
#panel-pricing #pricing-beginner-guide h2 { margin: 0 0 8px; font: 600 18px/1.5 var(--font); }
#panel-pricing #pricing-beginner-guide p { margin-block: 8px; line-height: 1.65; overflow-wrap: anywhere; }
#panel-pricing #pricing-beginner-guide summary,
.currency-picker .currency-search > summary { min-block-size: 44px; padding-block: 12px; cursor: pointer; box-sizing: border-box; }
#panel-pricing #pricing-beginner-guide dl { display: grid; grid-template-columns: minmax(100px, .35fr) minmax(0, 1fr); gap: 10px 16px; }
#panel-pricing #pricing-beginner-guide dt { font-weight: 600; }
#panel-pricing #pricing-beginner-guide dd { margin: 0; line-height: 1.65; }
#panel-pricing .pricing-beginner-example { padding: 12px; border-radius: 8px; background: var(--row); }
#panel-pricing #pricing-table .pricing-calculation { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
#create-draft-dialog .pricing-field-help { color: var(--muted); font-size: 12px; line-height: 1.55; font-weight: 400; }
.currency-picker { min-inline-size: 0; max-inline-size: 100%; }
.currency-picker .currency-choice { display: grid; gap: 6px; }
.currency-picker .currency-search-body { display: grid; gap: 10px; padding-block: 4px 12px; }
.currency-picker .currency-search-body label { display: grid; gap: 6px; min-inline-size: 0; }
.currency-picker .currency-search-body :is(input,select,button) { inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; min-block-size: 44px; box-sizing: border-box; }
.currency-picker .currency-search-body select[size] { block-size: auto; min-block-size: 9rem; background-image: none; padding: 6px; }
.currency-picker .currency-search-body select[size] option { padding: 6px; }
.currency-picker .currency-search-body p { margin: 0; }
#panel-pricing .pricing-currency-strip > .currency-picker { flex: 1 1 310px; }
@media (max-width: 768px) {
  #panel-pricing .pricing-studio-head .pricing-studio-title { flex: 0 1 auto; }
  #panel-pricing #pricing-beginner-guide { padding: 14px; }
  #panel-pricing #pricing-beginner-guide dl { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  #panel-pricing #pricing-beginner-guide dd { margin-block-end: 10px; }
}
@media (min-width: 1400px) {
  html[data-rattib-material="glass"] .workspace-framed #panel-pricing.active > #pricing-beginner-guide { grid-column: 1 / -1; }
  html[data-rattib-material="glass"] .workspace-framed #panel-pricing.active > #pricing-studio-tools { grid-row: 4 / 9; }
}
#panel-pricing .quote-floor-chip { max-inline-size: 100%; inline-size: auto; white-space: normal; overflow-wrap: anywhere; box-sizing: border-box; }

.proposal-sample-review { grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere; padding: 1rem; }
.proposal-sample-review h2 { font-size: 1.1rem; margin-block: 0 .65rem; }
.proposal-sample-review p { margin-block: .65rem; }
.proposal-sample-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; }
.proposal-sample-fields dt { font-weight: 700; margin-block-start: .5rem; }
.proposal-sample-fields dd { margin: 0; white-space: pre-wrap; }
.proposal-sample-narrative { white-space: pre-wrap; }
.proposal-sample-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-start: 1rem; }
.proposal-sample-actions button { min-height: 44px; white-space: normal; }

#toast { z-index: 10000; max-inline-size: calc(100vw - 24px); pointer-events: auto; }
#toast .toast-action { min-block-size: 44px; }
.invoice-output, .invoice-preview, .invoice-paper, #invoice-preview { min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; }
#invoices-root #invoice-preview table { min-inline-size: 0; inline-size: 100%; table-layout: fixed; }
.invoice-preview :is(th,td), #invoice-preview :is(th,td) { overflow-wrap: anywhere; white-space: normal; }
.forms-builder, .forms-layout, .forms-library, .forms-editor, .forms-card { min-inline-size: 0; max-inline-size: 100%; }
.forms-builder :is(input,select,textarea) { min-inline-size: 0; max-inline-size: 100%; }
.calendar-filter-disclosure { margin-block: 12px; }
.calendar-filter-disclosure > summary { cursor: pointer; min-block-size: 44px; display: flex; align-items: center; }
@media (min-width: 701px) { .calendar-filter-disclosure > summary { display: none; } .calendar-filter-disclosure > .calendar-filters { display: flex; } }
@media (max-width: 700px) { .calendar-filter-disclosure:not([open]) > .calendar-filters { display: none; } .calendar-filter-disclosure[open] > .calendar-filters { display: grid; grid-template-columns: minmax(0,1fr); } }
@media (max-width: 430px) { #panel-focus :is(.focus-heading,.focus-scenic-header,.focus-stage-top,.focus-timer-row,.focus-queue-row) { flex-wrap: wrap; } #panel-focus :is(.focus-field,.focus-intention,.focus-timer-controls,.focus-settings-grid) { min-inline-size: 0; max-inline-size: 100%; } #panel-focus :is(input,select) { min-inline-size: 0; max-inline-size: 100%; } }

#panel-crm .table-wrap, #panel-finance .finance-table-wrap,
#panel-monthly-report .monthly-table-wrap { max-inline-size:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.invoice-paper-money, .invoice-line-rate, .invoice-line-amount,
.monthly-money, .finance-money, [data-money], .money-value { white-space:nowrap; font-variant-numeric:tabular-nums; }
#panel-focus, #panel-focus .focus-workspace, #panel-focus .focus-stage-slot { min-inline-size:0; max-inline-size:100%; }
#panel-focus { overflow-x:clip; }
@media(max-width:600px) {
  #panel-finance .finance-table, #panel-monthly-report table { min-inline-size:700px; table-layout:auto; }
  #panel-finance th, #panel-monthly-report th { overflow-wrap:normal; word-break:normal; white-space:nowrap; }
  #panel-monthly-report td, #panel-finance td[data-money] { white-space:nowrap; font-variant-numeric:tabular-nums; }
  #panel-proposal .proposal-editor, #panel-proposal .proposal-identity { min-inline-size:0; max-inline-size:100%; }
}
@media(max-width:430px) {
  .workspace-chrome-primary { max-inline-size:9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}

#panel-finance .finance-table-scroll { max-inline-size:100%; overflow:auto; }
#panel-monthly-report .mr-table { display:block; max-inline-size:100%; overflow-x:auto; }
#panel-finance .finance-cash-table { min-inline-size:750px; }
#panel-monthly-report .mr-table th,#panel-monthly-report .mr-table td { white-space:nowrap; font-variant-numeric:tabular-nums; }
#invoices-root #invoice-preview table th:last-child,#invoices-root #invoice-preview table td:last-child { width:40%; }
#invoices-root #invoice-preview .money { white-space:nowrap; font-variant-numeric:tabular-nums; font-size:clamp(.68rem,2.3vw,.95rem); }
.workspace-business-profile { display:grid; gap:.75rem; margin-block:1rem; }
.workspace-business-profile label { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.35rem .5rem; }
.workspace-business-profile label > :is(input,.rt-field-error) { grid-column:1 / -1; }
.workspace-business-profile .rt-field-requirement { margin:0; }
.cloud-account-field-error { color:var(--danger,#ffb4ad); font-size:.85rem; }
.week-activity-days { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr)); gap:1rem; padding:0; list-style:none; }
.week-activity-days li { min-inline-size:0; }
.week-activity-days button { max-inline-size:100%; white-space:normal; }
.week-activity-days p { color:var(--muted); }
.calendar-month-agenda { margin-block-start:1.5rem; }
.calendar-month-agenda h2 { font-size:1.2rem; }
.knowledge-task-links > summary { cursor:pointer; min-block-size:44px; display:flex; align-items:center; }
@media(min-width:701px){.calendar-month-agenda{display:none}}
body .foot { position:static; padding-block:1rem max(1rem,env(safe-area-inset-bottom)); }
@media(max-width:1000px) { body .foot { padding-block-end:calc(5rem + env(safe-area-inset-bottom)); } }


.focus-session-choices{display:flex;flex-wrap:wrap;gap:.5rem;max-block-size:12rem;overflow:auto;min-inline-size:0}
.focus-session-choices button{max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
.focus-session-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.75rem}
html .workspace-framed #panel-calendar .calendar-date.is-weekend .calendar-date-number{color:var(--muted)}
@media(max-width:430px){html[data-theme][data-rattib-material] .workspace-framed #panel-calendar .calendar-cell-previews{display:grid;min-inline-size:0;max-inline-size:100%;font-size:.62rem}html[data-theme][data-rattib-material] .workspace-framed #panel-calendar .calendar-cell-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-inline-size:100%}html[data-theme][data-rattib-material] .workspace-framed #panel-calendar .calendar-date{min-block-size:76px}}

html[data-rattib-material="glass"][lang="en"] body.workspace-framed :is(
  #panel-files > h1,
  #panel-scheduling > h1,
  #panel-collaboration > h1,
  #client-portal-host > h1,
  #automations-reminders-host > h1,
  .forms-builder > h1
) {
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1.05;
  letter-spacing: -.03em;
}
html[data-rattib-material="glass"][lang="ar"] body.workspace-framed :is(
  #panel-files > h1,
  #panel-scheduling > h1,
  #panel-collaboration > h1,
  #client-portal-host > h1,
  #automations-reminders-host > h1,
  .forms-builder > h1
) {
  font-family: "IBM Plex Sans Arabic", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
}
@media (max-width: 720px) {
  html[data-rattib-material="glass"][lang="en"] body.workspace-framed #panel-files > h1 {
    font-size: 32px;
  }
}

/* Missed screens. The glass primary rule uses :is(#id) so its specificity
   beats a lone .rt-btn. These selectors sit above that rule and paint the
   shared oasis / ghost / field metrics on the screens Release 4 left behind. */
html[data-rattib-material="glass"] .panel.rt-page:not(.active) {
  display: none;
}
html[data-rattib-material="glass"] body.workspace-framed :is(
  .knowledge-header,
  .time-head
)::after {
  content: none;
}
html[data-rattib-material="glass"] body.workspace-framed :is(
  #panel-files > h1,
  #panel-scheduling > h1,
  .forms-builder > h1,
  #client-portal-host > h1,
  #portal-approvals-host > h2,
  #panel-collaboration > h1,
  #automations-reminders-host > h1,
  #operations-studio-host > h2
) {
  border-inline-start: 0;
  padding-inline-start: 0;
}
html[data-rattib-material="glass"] body.workspace-framed :is(
  #panel-files,
  #panel-scheduling,
  #panel-knowledge,
  #panel-timesheet,
  #panel-collaboration,
  #panel-portal,
  #panel-automations,
  #panel-week,
  #panel-forms
) :is(button, summary):not([class*="primary"]):not(.knowledge-page-row):not(.rt-btn-primary):not([aria-pressed="true"]) {
  border-radius: 999px;
  min-block-size: 44px;
  background-color: transparent;
  background-image: none;
  border-color: var(--border);
  color: var(--text);
  font-weight: 600;
}
html[data-rattib-material="glass"] body.workspace-framed :is(
  #panel-knowledge button.knowledge-primary,
  #panel-timesheet button.time-primary,
  #panel-scheduling :is(#scheduling-save, #scheduling-book, button.rt-btn-primary),
  #panel-scheduling .scheduling-slots button[aria-pressed="true"],
  #panel-files :is(.files-toolbar, .files-editor) button[type="submit"],
  #panel-collaboration :is(.collaboration-create, .collaboration-compose, form) button[type="submit"],
  #panel-portal :is(.portal-primary, button.rt-btn-primary),
  #panel-automations :is(form button[type="submit"], button.primary, button.rt-btn-primary),
  #panel-forms :is(.forms-primary, button.rt-btn-primary),
  #panel-week :is(button.primary, button.rt-btn-primary),
  #account-sign-in,
  .cloud-account-panel button.primary,
  .first-run-guide .first-run-primary
):not(:disabled) {
  background: #00d492;
  background-color: #00d492;
  color: #0c0a07;
  border-color: #00d492;
  border-radius: 999px;
  min-block-size: 44px;
  font-weight: 600;
}
html[data-rattib-material="glass"] body.workspace-framed :is(
  #panel-files,
  #panel-scheduling,
  #panel-knowledge,
  #panel-timesheet,
  #panel-collaboration,
  #panel-portal,
  #panel-automations,
  #panel-week,
  #panel-forms,
  .cloud-account-panel
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  box-sizing: border-box;
  max-inline-size: 100%;
  min-block-size: 44px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background-color: var(--input);
  color: var(--text);
}
html[data-rattib-material="glass"][data-theme="dark"] body.workspace-framed :is(
  #panel-files,
  #panel-scheduling,
  #panel-knowledge,
  #panel-timesheet,
  #panel-collaboration,
  #panel-portal,
  #panel-automations,
  #panel-week,
  #panel-forms,
  .cloud-account-panel
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  background-color: #1c1914;
  color: #f3f0e9;
  border-color: rgb(243 240 233 / 16%);
}
html[data-rattib-material="glass"] body.workspace-framed #panel-portal button.rt-btn-primary:disabled {
  border-radius: 999px;
}
html[data-rattib-material="glass"] body.workspace-framed #panel-files input[type="file"]::file-selector-button {
  border-radius: 999px;
  min-block-size: 44px;
  margin-inline-end: 12px;
  padding: 8px 16px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
html[data-rattib-material="glass"] body.workspace-framed :is(
  .files-empty,
  .files-upload,
  .knowledge-empty,
  .time-empty,
  .forms-editor > p:only-child,
  #panel-collaboration .collaboration-library > p,
  #panel-collaboration .collaboration-thread > p,
  #panel-collaboration .collaboration-inbox > p,
  .portal-delivery-empty,
  .portal-proposal-source
) {
  border-radius: 24px;
  border: 1px dashed var(--border);
  background: var(--card);
  background-image: none;
  padding: 28px;
  box-shadow: none;
  color: var(--muted);
}
html[data-rattib-material="glass"][data-theme="dark"] body.workspace-framed :is(
  .files-empty,
  .files-upload,
  .knowledge-empty,
  .time-empty,
  #panel-collaboration .collaboration-library > p,
  #panel-collaboration .collaboration-inbox > p
) {
  background: #15120d;
  color: #b8afa0;
  border-color: rgb(243 240 233 / 16%);
}
html[data-rattib-material="glass"] body.workspace-framed .workspace-tools .brand-meta {
  display: grid;
  align-self: start;
  align-content: start;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: #1c1914;
  color: #f3f0e9;
}
html[data-rattib-material="glass"][data-theme="light"] body.workspace-framed .workspace-tools .brand-meta {
  background: #fffcf7;
  color: #0c0a07;
}
html[data-rattib-material="glass"] body.workspace-framed #btn-reset {
  border-radius: 999px;
  min-block-size: 44px;
  background: transparent;
  color: #ff8d86;
  border-color: #ff8d86;
}
html[data-rattib-material="glass"][data-theme="light"] body.workspace-framed #btn-reset {
  color: #a42f2f;
  border-color: #a42f2f;
}
html[data-rattib-material="glass"] body.workspace-framed .cloud-account-panel :is(button, .cloud-account-close) {
  border-radius: 999px;
  min-block-size: 44px;
}
html #rattib-reminders-dialog .rattib-reminders__switch input {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  flex: 0 0 22px;
  margin: 0;
}
@media (forced-colors: active) {
  html[data-rattib-material="glass"] body.workspace-framed :is(
    #panel-knowledge button.knowledge-primary,
    #panel-timesheet button.time-primary,
    #panel-scheduling :is(#scheduling-save, #scheduling-book),
    #panel-files :is(.files-toolbar, .files-editor) button[type="submit"],
    #panel-collaboration form button[type="submit"],
    #panel-portal .portal-primary,
    #panel-automations form button[type="submit"],
    #panel-forms .forms-primary,
    #account-sign-in,
    .cloud-account-panel button.primary,
    .first-run-guide .first-run-primary
  ):not(:disabled) {
    background: ButtonFace;
    color: ButtonText;
    border-color: ButtonText;
  }
}


#student-estimate { margin-block-start: 12px; min-block-size: 44px; white-space: normal; }
#student-estimate[hidden] { display: none; }

[data-localized-original] { display:none!important; }
.localized-control { display:block; min-inline-size:0; max-inline-size:100%; }
.localized-control[hidden], .localized-control-error[hidden] { display:none; }
.localized-control-input { box-sizing:border-box; inline-size:100%; max-inline-size:100%; min-inline-size:0; min-block-size:44px; padding:.65rem .8rem; border:1px solid var(--border,#40392e); border-radius:var(--rt-radius-field,12px); background:var(--input,#29241b); color:var(--text,#f6f0e5); font:inherit; text-align:start; }
.localized-control-input::placeholder { opacity:1; color:var(--muted,#bcb5a8); }
.localized-control-input:focus-visible { outline:3px solid var(--green,#00d492); outline-offset:2px; }
.localized-control-input:disabled, .localized-picker button:disabled { cursor:not-allowed; opacity:.6; }
.localized-control-input[aria-invalid=true] { border-color:var(--danger,#ff8d86); }
.localized-control-error { display:block; margin-block-start:.35rem; color:var(--danger,#ff8d86); font-size:.875em; }
.localized-picker { box-sizing:border-box; width:min(32rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); margin:auto; padding:1.2rem; border:1px solid var(--border,#40392e); border-radius:24px; background:var(--card,#1b1812); color:var(--text,#f6f0e5); }
.localized-picker::backdrop { background:#0c0a0799; }
.localized-picker h2 { font-size:1.2rem; margin:0 0 1rem; }
.localized-picker input { box-sizing:border-box; inline-size:100%; min-block-size:44px; padding:.6rem .8rem; margin-block-end:.7rem; border:1px solid var(--border,#40392e); border-radius:12px; background:var(--input,#29241b); color:inherit; font:inherit; }
.localized-picker-options { display:grid; gap:.4rem; max-block-size:55dvh; overflow:auto; margin-block-end:.7rem; }
.localized-picker button { min-block-size:44px; padding:.6rem .8rem; text-align:start; font:inherit; color:inherit; background:var(--rail,#17140f); border:1px solid var(--border,#40392e); border-radius:12px; }
.localized-picker button[aria-pressed=true] { border-color:var(--green,#00d492); }
.localized-picker :is(button,input):focus-visible { outline:3px solid var(--green,#00d492); outline-offset:2px; }

.project-suite { --suite-bg: var(--card); --suite-soft: var(--row); --suite-line: var(--border); --suite-text: var(--text); --suite-muted: var(--muted); --suite-action: var(--green); color: var(--suite-text); font-family: var(--font); }
html[data-theme="light"] .project-suite { --suite-bg: var(--card); --suite-soft: var(--row); --suite-line: var(--border); --suite-text: var(--text); --suite-muted: var(--muted); --suite-action: #007348; }
.project-suite button, .project-suite input, .project-suite select, .project-suite textarea { font: inherit; }
.project-suite button, .project-suite input, .project-suite select { min-height: 44px; }
.project-suite button { cursor: pointer; border: 1px solid var(--suite-line); border-radius: 8px; padding: 8px 14px; background: var(--suite-bg); color: var(--suite-text); transition: background 150ms ease, border-color 150ms ease; }
.project-suite button:hover { background: var(--suite-soft); border-color: var(--suite-muted); }
.project-suite button:focus-visible, .project-suite input:focus-visible, .project-suite select:focus-visible, .project-suite textarea:focus-visible { outline: 2px solid var(--suite-action); outline-offset: 3px; }
.project-suite .suite-primary { background: var(--suite-action); border-color: var(--suite-action); color: #07150c; font-weight: 600; }
html[data-theme="light"] .project-suite .suite-primary { background: #14281d; border-color: #14281d; color: #fff; }
.suite-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 6px 0 20px; border-block-end:1px solid var(--suite-line); }
.suite-header > div:first-child { min-width:0; flex:1 1 22rem; }
.suite-header h1 { font-size: 26px; letter-spacing: -.025em; margin: 4px 0 6px; font-weight: 600; }
.suite-kicker { margin: 0; color: var(--suite-muted); font-size: 11px; }
.suite-lead { max-width:46rem; font-size: 13px; line-height:1.6; color: var(--suite-muted); margin: 0; }
.suite-save-status { color: var(--suite-muted); font-size: 12px; margin: 0 0 16px; min-height: 18px; }
.suite-toolbar { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; padding: 14px; border: 1px solid var(--suite-line); border-radius:10px; background:var(--suite-soft); margin:16px 0 20px; }
.suite-field { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 500; color: var(--suite-muted); min-width: 0; }
.suite-field input, .suite-field select, .suite-field textarea { margin: 0; border: 1px solid var(--suite-line); border-radius: 8px; background: var(--suite-bg); color: var(--suite-text); padding: 10px 12px; width: 100%; min-width: 0; }
.suite-toolbar .suite-field:first-child { flex: 1 1 210px; }
.suite-toolbar .suite-field:not(:first-child) { flex: 0 1 170px; }
.suite-views { display: flex; gap: 2px; padding: 3px; border: 1px solid var(--suite-line); border-radius: 10px; }
.suite-views button { border: 0; font-size: 12px; }
.suite-views button[aria-pressed="true"] { background: var(--suite-soft); color: var(--suite-action); }
.suite-project-layout { display: grid; grid-template-columns: minmax(190px, 280px) minmax(0,1fr); gap: 24px; }
.suite-project-list { display: flex; flex-direction: column; gap: 8px; align-self: start; min-width: 0; }
.project-suite .suite-project-item { text-align: start; padding: 16px; }
.suite-project-item strong { display: block; font-size: 14px; overflow-wrap: anywhere; font-weight: 600; margin-bottom: 10px; }
.suite-project-item span, .suite-project-item small { display: block; color: var(--suite-muted); font-size: 11px; line-height: 1.6; }
.suite-project-item[aria-pressed="true"] { border-color: var(--suite-action); background: var(--suite-soft); }
.suite-project-detail { padding: 24px; border: 1px solid var(--suite-line); border-radius: 12px; background: var(--suite-bg); min-width: 0; }
.suite-detail-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.suite-detail-head h2 { font-size: 20px; line-height: 1.4; margin: 0 0 6px; overflow-wrap: anywhere; font-weight: 600; }
.suite-description { color: var(--suite-muted); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.7; margin: 20px 0; }
.suite-progress { display: flex; align-items: center; gap: 18px; margin: 24px 0; font-size: 12px; color: var(--suite-muted); }
.suite-progress progress { width: 130px; max-width: 50%; height: 6px; accent-color: var(--suite-action); }
.suite-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.suite-detail-actions button { font-size: 12px; }
.suite-task-row { display: flex; gap: 12px; align-items: start; background: var(--suite-bg); border: 1px solid var(--suite-line); border-radius: 10px; padding: 14px; margin-bottom: 10px; min-width: 0; }
.project-suite .suite-done { flex: 0 0 44px; width: 44px; padding: 0; border-radius: 50%; font-size: 18px; }
.suite-done[aria-pressed="true"] { color: var(--suite-action); }
.suite-task-body { min-width: 0; flex: 1; }
.suite-task-time { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: 10px; min-inline-size: 0; }
.project-suite .suite-task-time button { font-size: 11px; padding: 8px 10px; max-inline-size: 100%; overflow-wrap: anywhere; }
.project-suite .suite-task-time button:disabled { cursor: not-allowed; opacity: .55; }
.project-suite .suite-task-name { display: block; border: 0; padding: 0; background: transparent; font-size: 13px; font-weight: 600; text-align: start; overflow-wrap: anywhere; }
.suite-task-meta { font-size: 11px; color: var(--suite-muted); margin: 3px 0 0; line-height: 1.7; overflow-wrap: anywhere; }
.suite-task-meta.is-overdue { color: var(--danger); }
.suite-task-status { font-size: 11px !important; background: var(--suite-soft); color: var(--suite-text); border-color: var(--suite-line); width: 114px; max-width: 100%; margin: 0; }
#tasks-results[data-view="board"] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.suite-board-column { background: var(--suite-soft); border: 1px solid var(--suite-line); border-radius: 12px; padding: 14px; min-width: 0; }
.suite-board-column h2 { font-size: 12px; font-weight: 600; margin: 0 0 18px; }
.suite-board-column .suite-task-row { flex-wrap: wrap; }
.suite-board-column .suite-task-status { margin-inline-start: 56px; width: calc(100% - 56px); }
.suite-empty { padding: 32px 12px; }
.suite-empty h2 { font-size: 16px; margin: 0 0 10px; font-weight: 600; }
.suite-empty p { color: var(--suite-muted); font-size: 13px; line-height: 1.7; margin: 0; }
.suite-active-filters { inline-size: min(100%, 32rem); min-inline-size: 0; text-align: start; }
.suite-active-filters h3 { margin: 0; font-size: 14px; }
.suite-active-filters dl { margin-block: 12px; }
.suite-active-filters dl > div { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-block: 8px; }
.suite-active-filters dt { flex: 0 1 8rem; font-weight: 600; }
.suite-active-filters dd { flex: 1 1 12rem; min-inline-size: 0; max-inline-size: 100%; margin: 0; overflow-wrap: anywhere; }
.suite-active-filters button { max-inline-size: 100%; }
.suite-editor { background: var(--suite-bg); width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 28px; border: 1px solid var(--suite-line); border-radius: 16px; box-shadow: 0 20px 80px rgb(0 0 0 / 25%); }
.suite-editor::backdrop { background: rgb(5 15 10 / 60%); }
.suite-editor h2 { font-size: 22px; margin: 0 0 24px; }
.suite-editor .suite-field { margin: 16px 0; }
.suite-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
.suite-editor-details { margin-block: 20px; padding-block: 8px; border-block: 1px solid var(--suite-line); }
.suite-editor-details > summary { min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; cursor: pointer; color: var(--suite-text); font-size: 13px; font-weight: 600; }
.suite-editor-details > summary small { font-size: 11px; font-weight: 400; color: var(--suite-muted); }
.suite-editor-details > summary::after { content: '+'; margin-inline-start: auto; color: var(--suite-action); }
.suite-editor-details[open] > summary::after { content: '−'; }
.suite-editor-details > summary:focus-visible { outline: 2px solid var(--suite-action); outline-offset: 3px; border-radius: 4px; }
.suite-editor select[multiple] { min-height: 96px; }
.suite-editor-actions { display: flex; justify-content: end; gap: 8px; margin-top: 24px; }
.suite-editor-actions[hidden] { display: none; }
#project-work-dialog [data-editor-actions] { position: sticky; inset-block-end: -28px; z-index: 1; margin-block-end: -28px; padding-block: 14px 28px; background: var(--suite-bg); border-block-start: 1px solid var(--suite-line); }
.suite-saved-next { margin-block: 14px 20px; padding: 16px; border: 1px solid var(--suite-line); border-radius: 14px; background: var(--suite-bg); }
.suite-saved-next h2 { margin: 0; font-size: 17px; }
.suite-saved-next p { overflow-wrap: anywhere; }
.suite-saved-next button { min-block-size: 44px; margin-inline-end: 8px; margin-block: 4px; }
.home-more-views { grid-column: 1 / -1; min-inline-size: 0; }
.home-more-views > .home-widgets { margin-block-start: 14px; }
@media (max-width: 700px) { #project-work-dialog [data-editor-actions] { inset-block-end: -20px; margin-block-end: -20px; padding-block-end: 20px; } }
.suite-error { font-size: 12px; color: var(--danger); line-height: 1.6; }
.suite-error[hidden] { display: none; }
@media (max-width: 1000px) { .suite-project-layout { grid-template-columns: minmax(160px,220px) minmax(0,1fr); gap: 16px; } .suite-project-detail { padding: 16px; } #tasks-results[data-view="board"] { grid-template-columns: minmax(0,1fr); } .suite-board-column .suite-task-status { width: 114px; margin-inline-start: 0; } }
@media (max-width: 700px) { .suite-header { align-items: start; gap: 12px; } .suite-header h1 { font-size: 24px; } .suite-header > button { flex-shrink: 0; font-size: 12px; padding: 8px 12px; } .suite-project-layout { grid-template-columns: minmax(0,1fr); } .suite-project-list { max-height: 280px; overflow-y: auto; } .suite-toolbar .suite-field:not(:first-child) { flex: 1 1 130px; } .suite-task-row { flex-wrap: wrap; } .suite-task-status { margin-inline-start: 56px !important; width: calc(100% - 56px) !important; } .suite-editor { padding: 20px; } .suite-editor-grid { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .project-suite button { transition: none; } }


#panel-tasks .suite-board-hint { color: var(--suite-muted); font-size: 12px; line-height: 1.6; margin-block: -6px 16px; }
#panel-tasks .suite-board-hint[hidden] { display: none; }
#panel-tasks .suite-board-notice { color: var(--suite-muted); font-size: 12px; line-height: 1.6; }
#panel-tasks .suite-board-notice:empty { display: none; }
#panel-tasks .suite-board-column { min-block-size: 160px; transition: border-color 140ms ease, box-shadow 140ms ease; }
#panel-tasks .suite-board-column .suite-task-row { position: relative; }
#panel-tasks .suite-board-column .suite-task-body { padding-inline-end: 40px; }
#panel-tasks .suite-task-drag { position: absolute; inset-block-start: 12px; inset-inline-end: 8px; inline-size: 44px; min-block-size: 44px; padding: 0; border-color: transparent; background: transparent; color: var(--suite-muted); font-size: 24px; cursor: grab; }
#panel-tasks .suite-task-drag:active { cursor: grabbing; }
#panel-tasks .suite-task-drag:disabled { cursor: not-allowed; opacity: .4; }
#panel-tasks .suite-task-row.is-dragging { opacity: .6; border-color: var(--suite-action); }
#panel-tasks .suite-board-column.is-drop-target { border-color: var(--suite-action); box-shadow: inset 0 0 0 1px var(--suite-action); }
#panel-tasks .suite-board-drop-hint { visibility: hidden; margin-block: 14px 0; padding: 14px 8px; border: 1px dashed var(--suite-line); border-radius: 8px; color: var(--suite-action); font-size: 12px; text-align: center; }
#panel-tasks .is-drop-target .suite-board-drop-hint { visibility: visible; border-color: var(--suite-action); }
@media (prefers-reduced-motion: reduce) { #panel-tasks .suite-board-column { transition: none; } }


#panel-projects .suite-header:has(#projects-templates) { flex-wrap: wrap; gap: 12px; }
#panel-projects .suite-header:has(#projects-templates) > div { flex: 1 1 240px; }
.template-editor:has(#project-template-results) { width: min(920px, calc(100vw - 32px)); }
.template-editor:has(.template-task-editors) { width: min(760px, calc(100vw - 32px)); }
.template-library-layout { display: grid; grid-template-columns: minmax(160px, 230px) minmax(0, 1fr); gap: 20px; }
.template-library-layout > * { min-width: 0; }
.template-library-layout h3 { font-size: 18px; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.template-preview-tasks { padding-inline-start: 24px; margin-block: 20px; }
.template-preview-tasks li { padding-block: 12px; border-bottom: 1px solid var(--suite-line); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.template-preview-tasks p { margin: 6px 0 0; white-space: pre-wrap; }
.template-library-layout .suite-detail-actions { margin: 20px 0 0; }
.template-task-editor { min-inline-size: 0; margin: 20px 0; padding: 16px; border: 1px solid var(--suite-line); border-radius: 12px; }
.template-task-editor legend { font-size: 12px; padding-inline: 8px; color: var(--suite-muted); }
.template-task-editor .suite-field { margin: 10px 0; }
@media (max-width: 700px) { .template-library-layout { grid-template-columns: minmax(0, 1fr); } .template-library-layout .suite-project-list { max-height: 180px; } .template-task-editor { padding: 12px; } }


.suite-subtask-group { margin-inline-start: 24px; border-inline-start: 2px solid var(--suite-line); padding-inline-start: 12px; min-inline-size: 0; }
.suite-task-parent { color: var(--suite-muted); font-size: 11px; overflow-wrap: anywhere; }
.suite-subtask-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block: 8px; font-size: 12px; color: var(--suite-muted); }
.suite-subtask-progress progress { inline-size: 100px; max-inline-size: 100%; block-size: 6px; accent-color: var(--suite-action); }
.suite-editor-subtasks { min-inline-size: 0; margin-block: 20px; border-block-start: 1px solid var(--suite-line); padding-block-start: 16px; }
.suite-task-blockers { min-inline-size: 0; border: 1px solid var(--suite-line); background: var(--suite-soft); border-radius: 12px; padding: 16px; margin-block: 16px; overflow-wrap: anywhere; }
.suite-task-blockers ul { padding-inline-start: 20px; line-height: 1.8; }
.suite-task-blockers button { max-inline-size: 100%; white-space: normal; }
.suite-task-blockers .suite-editor-actions { flex-wrap: wrap; }
.suite-task-blockers [data-cancel-completion] { flex-shrink: 0; white-space: nowrap; }
.template-preview-child { border-inline-start: 2px solid var(--suite-line); margin-inline-start: 12px; padding-inline-start: 12px; }
.suite-field:has(input[type="checkbox"]) { flex-direction: row; align-items: center; min-block-size: 44px; }
.suite-field input[type="checkbox"] { inline-size: 20px; min-inline-size: 20px; block-size: 20px; min-block-size: 20px; accent-color: var(--suite-action); }
@media (max-width: 700px) { .suite-subtask-group { margin-inline-start: 12px; padding-inline-start: 8px; } .suite-task-blockers { padding: 12px; } }


.suite-recurrence-editor { margin-block: 20px; padding: 12px 16px; min-inline-size: 0; border: 1px solid var(--suite-line); border-radius: 12px; background: var(--suite-soft); }
.suite-recurrence-editor summary { min-block-size: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 13px; font-weight: 600; }
.suite-recurrence-editor summary::before { content: '+'; color: var(--suite-action); font-size: 18px; }
.suite-recurrence-editor[open] summary::before { content: '−'; }
.suite-recurrence-editor summary:focus-visible { outline: 2px solid var(--suite-action); outline-offset: 3px; border-radius: 4px; }
.suite-recurrence-weekdays { display: flex; flex-wrap: wrap; gap: 8px 16px; min-inline-size: 0; margin-block: 16px; padding: 8px 12px; border: 1px solid var(--suite-line); border-radius: 8px; }
.suite-recurrence-weekdays[hidden] { display: none; }
.suite-recurrence-editor [hidden] { display: none; }
.suite-recurrence-weekdays legend { font-size: 12px; color: var(--suite-muted); padding-inline: 6px; }
.suite-recurrence-weekdays .suite-field { margin: 0; }
.suite-task-recurrence { font-size: 11px; line-height: 1.7; color: var(--suite-action); overflow-wrap: anywhere; margin-block: 6px 0; }
@media (max-width: 700px) { .suite-recurrence-editor { padding: 8px 12px; } }


#panel-home.dashboard-suite .suite-header { gap: 8px 16px; padding-block: 0 12px; }
#panel-home.dashboard-suite .suite-header > .suite-header-copy { flex: 1 1 10rem; }
#panel-home.dashboard-suite .suite-header h1 { margin-block: 0; }
#panel-home.dashboard-suite .suite-lead { margin-block: 4px 0; }
#panel-home.dashboard-suite .home-next-step { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; margin-block: 16px; border: 1px solid var(--suite-line); border-radius: 12px; background: var(--suite-bg); }
#panel-home.dashboard-suite .home-next-copy { min-inline-size: 0; }
#panel-home.dashboard-suite .home-next-label { margin: 0 0 5px; color: var(--suite-muted); font-size: 12px; }
#panel-home.dashboard-suite #home-next-title { margin: 0; font-size: 21px; line-height: 1.5; font-weight: 600; }
#panel-home.dashboard-suite #home-next-detail { margin: 6px 0 0; color: var(--suite-muted); font-size: 13px; line-height: 1.6; }
#panel-home.dashboard-suite :is(#home-next-title,#home-next-detail) { overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
#panel-home.dashboard-suite #home-next-action { flex-shrink: 0; max-inline-size: 100%; min-block-size: 44px; overflow-wrap: anywhere; }
#panel-home.dashboard-suite .home-overview { margin-block: 0 16px; border-block: 1px solid var(--suite-line); }
#panel-home.dashboard-suite :is(.home-overview,.home-customization) > summary { min-block-size: 44px; padding-block: 10px; cursor: pointer; font-size: 13px; color: var(--suite-muted); overflow-wrap: anywhere; }
#panel-home.dashboard-suite :is(.home-overview,.home-customization) > summary:focus-visible { outline: 2px solid var(--suite-action); outline-offset: 3px; }
#panel-home.dashboard-suite .home-customization-tools { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 6px; }
#panel-home.dashboard-suite .home-customization-tools > button { max-inline-size: 100%; overflow-wrap: anywhere; }
#panel-home.dashboard-suite .home-metrics { padding-block: 8px; }
#panel-home.dashboard-suite .home-metric { min-height: 70px; padding: 10px 12px; }
#panel-home.dashboard-suite .home-metric strong { font-size: 22px; }
#panel-home.dashboard-suite .home-overview .suite-toolbar { margin-block: 8px 14px; }
#panel-home.dashboard-suite .suite-save-status:empty { display: none; }
@media (max-width: 600px) {
  #panel-home.dashboard-suite .home-next-step { flex-direction: column; align-items: stretch; padding: 14px; gap: 12px; }
  #panel-home.dashboard-suite #home-next-title { font-size: 19px; }
  #panel-home.dashboard-suite .suite-header-actions { min-inline-size: 0; max-inline-size: 100%; }
}


#panel-projects .suite-project-layout { gap: var(--tool-gap, 18px); align-items: start; }
#panel-projects .suite-project-list { gap: 12px; }
#panel-projects .suite-project-item { padding: 18px; border-radius: var(--tool-card-radius, 18px); background: var(--suite-bg); }
#panel-projects .suite-project-item strong { font-size: 15px; line-height: 1.6; margin-block-end: 12px; }
#panel-projects .suite-project-item[aria-pressed="true"] { border-color: var(--suite-action); background: var(--suite-soft); box-shadow: inset 3px 0 0 var(--suite-action); }
html[dir="rtl"] #panel-projects .suite-project-item[aria-pressed="true"] { box-shadow: inset -3px 0 0 var(--suite-action); }
#panel-projects .suite-project-detail { padding: var(--tool-card-pad, 20px); border-radius: var(--tool-card-radius, 18px); }
#panel-projects .suite-detail-head > div { min-inline-size: 0; }
#panel-projects .suite-detail-head > button { flex-shrink: 0; }
#panel-projects .suite-detail-kicker { margin: 0 0 5px; font-size: 12px; color: var(--suite-muted); }
#panel-projects .suite-detail-head h2 { font-size: 22px; line-height: 1.5; }
#panel-projects .suite-detail-head .suite-task-meta { font-size: 13px; }
#panel-projects .suite-detail-facts { margin-block: 16px; }
#panel-projects .suite-project-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#panel-projects .suite-project-count { margin-block-start: 14px; padding-block-start: 12px; border-block-start: 1px solid var(--suite-line); font-size: 12px; font-variant-numeric: tabular-nums; }
#panel-projects .suite-progress { flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 16px; margin-block: 18px; border: 1px solid var(--suite-line); border-radius: var(--tool-row-radius, 10px); background: var(--suite-soft); color: var(--suite-text); font-size: 13px; font-variant-numeric: tabular-nums; }
#panel-projects .suite-progress progress { flex: 1 1 120px; inline-size: auto; max-inline-size: 220px; block-size: 8px; }
#panel-projects .suite-detail-actions { gap: 8px; margin-block-end: 24px; }
#panel-projects .suite-detail-actions button { max-inline-size: 100%; overflow-wrap: anywhere; }
#panel-projects .suite-section-title { margin: 0 0 14px; padding-block-start: 20px; border-block-start: 1px solid var(--suite-line); font-size: 16px; font-weight: 600; line-height: 1.6; }
:is(#panel-projects, #panel-tasks) .suite-task-row { border-radius: var(--tool-row-radius, 10px); padding: 16px; margin-block-end: 12px; }
:is(#panel-projects, #panel-tasks) .suite-task-name { font-size: 14px; line-height: 1.6; }
:is(#panel-projects, #panel-tasks) .suite-task-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block-start: 8px; font-size: 12px; line-height: 1.6; }
:is(#panel-projects, #panel-tasks) .suite-meta-item { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 3px; min-inline-size: 0; max-inline-size: 100%; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
:is(#panel-projects, #panel-tasks) .suite-meta-label { display: inline; color: var(--suite-muted); font-size: inherit; }
:is(#panel-projects, #panel-tasks) .suite-meta-item bdi { min-inline-size: 0; overflow-wrap: anywhere; }
:is(#panel-projects, #panel-tasks) .suite-status-chip,
:is(#panel-projects, #panel-tasks) .suite-deadline,
:is(#panel-projects, #panel-tasks) .suite-priority { padding: 4px 8px; border: 1px solid var(--suite-line); border-radius: 7px; background: var(--suite-soft); color: var(--suite-text); font-size: 12px; line-height: 1.6; }
#panel-projects .suite-status-chip { display: inline-flex; }
#panel-projects .suite-status-chip[data-status="complete"] { color: var(--suite-action); }
:is(#panel-projects, #panel-tasks) .suite-deadline.is-overdue { border-color: var(--danger-border); background: var(--danger-surface); color: var(--danger); }
:is(#panel-projects, #panel-tasks) .suite-due-state { color: inherit; font-size: inherit; font-weight: 600; }
:is(#panel-projects, #panel-tasks) .suite-priority[data-priority="urgent"] { color: var(--danger); }
:is(#panel-projects, #panel-tasks) .suite-task-project { flex-basis: 100%; }
:is(#panel-projects, #panel-tasks) .suite-task-status { min-block-size: 44px; border-radius: 8px; font-size: 12px !important; }
#panel-tasks .suite-board-column { padding: 16px; border-radius: var(--tool-card-radius, 18px); }
#panel-tasks .suite-board-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 16px; font-size: 16px; line-height: 1.6; }
#panel-tasks .suite-board-count { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-inline-size: 28px; min-block-size: 28px; padding-inline: 6px; border: 1px solid var(--suite-line); border-radius: 8px; background: var(--suite-bg); color: var(--suite-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
#panel-tasks .suite-board-column .suite-task-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 12px; }
#panel-tasks .suite-board-column .suite-task-body { grid-column: 2 / -1; grid-row: 1; padding-inline-end: 0; }
#panel-tasks .suite-board-column .suite-task-name { padding-inline-end: 0; }
#panel-tasks .suite-board-column .suite-done { grid-column: 1; grid-row: 1; align-self: start; }
#panel-tasks .suite-board-column .suite-task-status { grid-column: 1 / 3; grid-row: 2; inline-size: 100% !important; width: 100% !important; margin-inline-start: 0 !important; align-self: center; }
#panel-tasks .suite-board-column .suite-task-drag { position: static; grid-column: 3; grid-row: 2; align-self: center; }
#panel-tasks .suite-column-empty { padding: 20px 12px; margin: 0; border: 1px dashed var(--suite-line); border-radius: var(--tool-row-radius, 10px); color: var(--suite-muted); font-size: 13px; line-height: 1.6; }
#panel-tasks .suite-board-drop-hint { margin-block-start: 12px; padding: 10px 8px; }
:is(#panel-projects, #panel-tasks) .suite-collection-status { color: var(--suite-muted); font-size: 13px; line-height: 1.6; padding-block: 12px; margin: 0; }
:is(#panel-projects, #panel-tasks) .suite-collection-status.is-error { color: var(--danger); }
#tasks-results > :is(.suite-empty, .suite-collection-status, [data-load-more]) { grid-column: 1 / -1; }
#tasks-results > [data-load-more] { justify-self: start; }
@media (max-width: 700px) {
  #panel-projects .suite-project-detail { padding: var(--tool-card-pad, 16px); }
  #panel-projects .suite-project-item { padding: 16px; }
  #panel-projects .suite-detail-head h2 { font-size: 20px; }
  :is(#panel-projects, #panel-tasks) .suite-task-row { padding: 14px; }
}
@media (forced-colors: active) {
  #panel-projects .suite-project-item[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -2px; }
  :is(#panel-projects, #panel-tasks) .suite-deadline.is-overdue { border-color: CanvasText; }
}


html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-header { padding: 0 0 20px; gap: 16px; border: 0; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-header h1 { margin-block: 0 6px; font-family: var(--font); font-size: 28px; line-height: 1.2; letter-spacing: -.02em; }
html[data-theme="light"][dir="rtl"] :is(#panel-tasks,#panel-projects) .suite-header h1 { letter-spacing: 0; line-height: 1.5; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-lead { font-size: 14px; line-height: 1.6; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-header > .suite-primary { min-block-size: 48px; padding-inline: 22px; border-radius: 999px; font-size: 14px; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-toolbar { margin-block: 0 20px; padding: 16px; gap: 12px; border-radius: 16px; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-toolbar :is(input,select) { min-block-size: 44px; border-radius: 999px; padding-inline: 14px; }
html[data-theme="light"] #panel-tasks .suite-views { gap: 4px; padding: 4px; border: 1px solid var(--suite-line); border-radius: 999px; }
html[data-theme="light"] #panel-tasks .suite-views button { min-block-size: 44px; border-radius: 999px; padding-inline: 16px; }
html[data-theme="light"] #panel-tasks #tasks-results[data-view="board"] { gap: 16px; }
html[data-theme="light"] #panel-tasks .suite-board-column { padding: 12px; border-radius: 20px; }
html[data-theme="light"] #panel-tasks .suite-board-heading { padding: 4px 4px 12px; margin-block-end: 12px; border-block-end: 1px solid var(--suite-line); font-size: 14px; }
html[data-theme="light"] #panel-tasks .suite-board-count { border-radius: 999px; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-task-row { padding: 16px; margin-block-end: 12px; border-radius: 16px; gap: 12px; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-task-name { font-size: 14px; font-weight: 600; line-height: 1.5; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) :is(.suite-task-meta,.suite-meta-item) { font-size: 12px; line-height: 1.6; }
html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-task-status { min-block-size: 44px; border-radius: 999px; }
html[data-theme="light"] #panel-projects .suite-project-layout { gap: 16px; }
html[data-theme="light"] #panel-projects .suite-project-item { padding: 16px; border-radius: 16px; }
html[data-theme="light"] #panel-projects .suite-project-detail { padding: 24px; border-radius: 20px; }
html[data-theme="light"] #panel-projects .suite-detail-head h2 { font-family: var(--font); font-size: 24px; line-height: 1.4; }
html[data-theme="light"] #project-work-dialog { padding: 24px; border-radius: 20px; }
html[data-theme="light"] #project-work-dialog .suite-editor-actions > .suite-primary { min-block-size: 48px; border-radius: 999px; padding-inline: 22px; }
@media (max-width: 700px) {
  html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-header h1 { font-size: 24px; }
  html[data-theme="light"] :is(#panel-tasks,#panel-projects) .suite-task-row { padding: 14px; }
  html[data-theme="light"] #panel-projects .suite-project-detail { padding: 16px; border-radius: 16px; }
  html[data-theme="light"] #project-work-dialog { padding: 20px; border-radius: 16px; }
}
.client-profile-dialog {
  box-sizing: border-box; width: min(760px, calc(100% - 24px)); max-width: calc(100% - 24px);
  max-height: calc(100dvh - 24px); margin: auto; padding: 20px; overflow-y: auto;
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--card);
  color: var(--text); font-family: var(--font); line-height: 1.5;
}
.client-profile-dialog::backdrop { background: rgba(0, 0, 0, .72); }
.client-profile-dialog form { min-width: 0; }
.client-profile-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.client-profile-header h2 { margin: 0; font-size: 1.3rem; }
.client-profile-dialog button { min-height: 44px; padding: 9px 13px; border: 1px solid var(--border); border-radius: 8px; background: var(--input); color: var(--text); font: inherit; cursor: pointer; overflow-wrap: anywhere; }
.client-profile-dialog button:disabled { cursor: wait; opacity: .65; }
.client-profile-dialog :is(button, input, textarea, summary):focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.client-profile-dialog .client-profile-primary { background: var(--green); color: #06140b; font-weight: 700; }
html[data-theme="light"] .client-profile-dialog .client-profile-primary { background: #14281d; color: #fff; }
#client-profile-scope { color: var(--text); font-size: .95rem; }
.client-profile-note { color: var(--muted); font-size: .9rem; overflow-wrap: anywhere; }
.client-profile-details { min-width: 0; margin: 20px 0; padding: 0; border: 0; }
.client-profile-details legend { margin-bottom: 12px; padding: 0; font-weight: 700; }
.client-profile-more { min-width: 0; margin: 20px 0; border: 1px solid var(--border); border-radius: 8px; }
.client-profile-more summary { box-sizing: border-box; min-height: 44px; padding: 12px; color: var(--text); font-weight: 700; cursor: pointer; overflow-wrap: anywhere; }
.client-profile-detail-count { display: block; margin-inline-start: 1.2em; color: var(--muted); font-size: .9rem; font-weight: 400; }
.client-profile-more > .client-profile-fields { border-top: 1px solid var(--border); padding: 14px 12px; }
.client-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.client-profile-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: .95rem; }
.client-profile-wide { grid-column: 1 / -1; }
.client-profile-field :is(input, textarea) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--border); border-radius: 8px; padding: 10px; background: var(--input); color: var(--text); font: inherit; }
.client-profile-field textarea { resize: vertical; }
.client-profile-work { border-top: 1px solid var(--border); padding-top: 12px; }
.client-profile-work h3 { margin: 0 0 12px; font-size: 1.1rem; }
.client-profile-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.client-profile-work-section { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--row); }
.client-profile-work-section h4 { margin: 0 0 8px; }
.client-profile-work-section ul { padding: 0; margin: 0; list-style: none; }
.client-profile-work-section li { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 9px 0; min-width: 0; overflow-wrap: anywhere; }
.client-profile-work-section li + li { border-top: 1px solid var(--border); }
.client-profile-work-section button { max-width: 100%; text-align: start; }
.client-profile-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.client-profile-feedback:not(:empty) { padding: 12px; background: var(--danger-surface); color: var(--text); border-inline-start: 3px solid var(--danger); }
.client-profile-confirm { padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--elevated); }
.client-profile-confirm h3 { margin-top: 0; }
.client-profile-confirm[hidden] { display: none; }
@media (max-width: 600px) {
  .client-profile-dialog { padding: 14px; }
  .client-profile-fields, .client-profile-work-grid { grid-template-columns: 1fr; }
  .client-profile-header { align-items: flex-start; }
  .client-profile-actions button { flex: 1; }
}


@media screen {
  html[data-theme="light"] #client-profile-dialog { padding: var(--tool-card-pad,20px); border-radius: var(--tool-card-radius,18px); background-image: none; box-shadow: 0 12px 30px rgb(28 62 44 / 12%); }
  html[data-theme="light"] #client-profile-dialog .client-profile-header { align-items: flex-start; gap: 12px; padding-block-end: 16px; border-block-end: 1px solid var(--border); }
  html[data-theme="light"] #client-profile-dialog .client-profile-header h2 { flex: 1; min-inline-size: 0; font-size: clamp(1.25rem,2.2vw,1.6rem); line-height: 1.4; overflow-wrap: anywhere; }
  html[data-theme="light"] #client-profile-dialog :is(button,input,textarea) { min-inline-size: 0; min-block-size: 44px; border-radius: var(--tool-row-radius,10px); }
  html[data-theme="light"] #client-profile-dialog button { min-inline-size: 44px; max-inline-size: 100%; white-space: normal; }
  html[data-theme="light"] #client-profile-dialog :is(.client-profile-fields,.client-profile-work-grid) { gap: 16px; }
  html[data-theme="light"] #client-profile-dialog .client-profile-more { border-radius: var(--tool-row-radius,10px); background: var(--card); }
  html[data-theme="light"] #client-profile-dialog .client-profile-more summary { padding: 14px 16px; min-block-size: 44px; }
  html[data-theme="light"] #client-profile-dialog .client-profile-more > .client-profile-fields { padding: 16px; }
  html[data-theme="light"] #client-profile-dialog .client-profile-work { padding-block-start: var(--tool-gap,18px); }
  html[data-theme="light"] #client-profile-dialog .client-profile-work-section { padding: 16px; border-radius: var(--tool-card-radius,18px); background: var(--card); }
  html[data-theme="light"] #client-profile-dialog .client-profile-work-section button { min-block-size: 44px; }
  html[data-theme="light"] #client-profile-dialog .client-profile-actions { gap: 12px; margin-block-start: var(--tool-gap,18px); }
  html[data-theme="light"] #client-profile-dialog .client-profile-primary { background: var(--green); border-color: var(--green); color: #fffdf7; }
  html[data-theme="light"] #client-profile-dialog button:disabled { opacity: 1; background: var(--row); color: var(--text); border-color: var(--border); border-style: dashed; cursor: not-allowed; }
  html[data-theme="light"] #client-profile-form[aria-busy="true"] button:disabled { cursor: progress; }
  html[data-theme="light"] #client-profile-dialog :is(input,textarea):disabled { opacity: 1; background: var(--row); color: var(--text); }
  html[data-theme="light"] #client-profile-dialog :is(input,textarea)[aria-invalid="true"] { border-color: var(--danger); }
  html[data-theme="light"] #client-profile-dialog .client-profile-feedback:not(:empty) { border-radius: var(--tool-row-radius,10px); color: var(--danger); line-height: 1.7; }
  html[data-theme="light"] #client-profile-dialog .client-profile-confirm { padding: 16px; border-radius: var(--tool-card-radius,18px); color: var(--text); }
  html[data-theme="light"] #client-profile-dialog :is(button,input,textarea,summary):focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
}
@media screen and (max-width:600px) {
  html[data-theme="light"] #client-profile-dialog { padding: 16px; }
  html[data-theme="light"] #client-profile-dialog :is(.client-profile-work-section,.client-profile-more > .client-profile-fields) { padding: 12px; }
}
@media screen and (prefers-reduced-motion:reduce) {
  html[data-theme="light"] #client-profile-dialog :is(button,input,textarea,summary) { transition: none; }
}
@media screen and (prefers-contrast:more), screen and (prefers-reduced-transparency:reduce) {
  html[data-theme="light"] #client-profile-dialog { box-shadow: none; }
}
@media screen and (forced-colors:active) {
  html[data-theme="light"] #client-profile-dialog,
  html[data-theme="light"] #client-profile-dialog :is(.client-profile-more,.client-profile-work-section,.client-profile-confirm,.client-profile-feedback:not(:empty)) { color: CanvasText; background: Canvas; border-color: CanvasText; box-shadow: none; }
  html[data-theme="light"] #client-profile-dialog :is(button,.client-profile-primary) { color: ButtonText; background: ButtonFace; border-color: ButtonText; }
  html[data-theme="light"] #client-profile-dialog :is(input,textarea) { color: CanvasText; background: Canvas; border-color: ButtonText; }
  html[data-theme="light"] #client-profile-dialog button:disabled { background: ButtonFace; color: GrayText; border-color: GrayText; }
  html[data-theme="light"] #client-profile-dialog :is(input,textarea):disabled { background: Canvas; color: GrayText; border-color: GrayText; }
  html[data-theme="light"] #client-profile-dialog :is(input,textarea)[aria-invalid="true"],
  html[data-theme="light"] #client-profile-dialog .client-profile-feedback:not(:empty) { border-color: Mark; }
  html[data-theme="light"] #client-profile-dialog :is(button,input,textarea,summary):focus-visible { outline: 3px solid Highlight; outline-offset: 3px; }
}

.workspace-coordination { margin: 16px 22px; padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); color: var(--text); }
.workspace-coordination h2 { margin: 0 0 8px; font-size: 18px; }
.workspace-coordination p { margin: 0; color: var(--muted); line-height: 1.7; }
.coordination-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.coordination-actions button { min-height: 44px; }

html[data-theme="light"] {
  --bg: #f3f0e8;
  --card: #fffdf7;
  --border: #d9d8cd;
  --text: #25392f;
  --muted: #657066;
  --green: #315c43;
  --green-dim: #294e39;
  --danger: #b73535;
  --row: #f0eee6;
  --rail: #ecece3;
  --elevated: #dce9da;
  --input: #fffefa;
}
.top { align-items: center; flex-wrap: nowrap; padding: 14px 22px; min-height: 76px; background: var(--card); }
.brand { align-items: center; flex: 1; gap: 10px; }
.brand .mark { width: 34px; height: 34px; margin: 0; border-radius: 8px; border-color: var(--border); }
.brand-copy { flex: 1; }
.brand strong { font-size: 16px; font-weight: 600; line-height: 1.4; }
.brand small { font-size: 12px; }
.demo-seed-chip { margin-inline-start: 8px; min-height: 22px; padding: 1px 7px; border-radius: 5px; font-size: 10px; }
html[data-theme="light"] .demo-seed-chip { color: #735709; }
.workspace-tools { position: relative; flex-shrink: 0; }
.workspace-tools summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 12px; cursor: pointer; list-style: none; }
.workspace-tools summary::-webkit-details-marker { display: none; }
.workspace-tools summary svg { width: 16px; height: 16px; transition: transform 150ms ease; }
.workspace-tools[open] summary svg { transform: rotate(180deg); }
.workspace-tools summary:hover { background: var(--row); }
.workspace-tools summary:focus-visible, .workspace-tools button:focus-visible,
.workspace-tools a:focus-visible, .workspace-tools input:focus-visible, .tabs .tab:focus-visible {
  outline: 2px solid var(--green); outline-offset: 3px;
}
.workspace-tools-body { position: absolute; inset-inline-end: 0; top: calc(100% + 12px); z-index: 100; width: min(420px, calc(100vw - 28px)); max-height: calc(100dvh - 100px); overflow: auto; padding: 18px; background: var(--card); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 12px 40px rgb(0 0 0 / 16%); }
.workspace-tools .brand-meta { margin: 0 0 16px; gap: 8px; }
.workspace-tools .brand-access, .workspace-tools .brand-tut, .workspace-tools .account-sync-chip { min-height: 44px; font-size: 12px; border-radius: 8px; }
.workspace-tools .account-session { width: 100%; max-width: none; }
.workspace-tools .account-session-panel { width: 100%; }
.workspace-tools #workspace-backup-note { margin: 12px 0 0; }
.workspace-tools .shell-utils { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--border); }
.workspace-tools .shell-utils > button { min-height: 44px; margin: 0; font-size: 12px; border-radius: 8px; }
.workspace-tools .lang-btn, .workspace-tools .theme-btn { min-height: 44px; min-width: 44px; }
.workspace-tools .lang-btn.active, .workspace-tools .theme-btn.active { color: var(--text); }
.app-shell { background: var(--bg); }
.tabs { width: 13rem; flex-basis: 13rem; padding: 18px 12px; }
.rail-sep { border-top: 1px solid var(--border); margin: 14px 10px; opacity: 1; }
.tabs .tab { border-radius: 8px; font-weight: 500; gap: 10px; font-size: 13px; }
.tabs .tab.active, .tabs .tab.active:hover { background: var(--elevated); border-color: transparent; box-shadow: none; font-weight: 600; }
.tabs .tab:hover { border-color: transparent; background: var(--row); }
.tabs .tab.active .tab-icon { filter: none; }
.tabs .badge { display: inline-block; min-height: 0; height: auto; padding: 2px 6px; font-size: 10px; line-height: 1.4; }
.workspace { padding: 20px; }
.workspace > main { padding: clamp(20px, 2.4vw, 34px); border: 1px solid var(--border); border-radius: 16px; background: var(--card); box-shadow: 0 14px 38px rgb(45 54 44 / 6%); }
.workspace > main[hidden] { display: none; }
.workspace-recovery { margin: 20px; padding: 24px; border: 1px solid var(--danger-border); border-radius: 10px; background: var(--card); }
.workspace-recovery[hidden] { display: none; }
.panel.view-unavailable > :not(.view-load-error) { display: none !important; }
.view-load-error { max-width: 48rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); }
.view-load-error p { color: var(--muted); line-height: var(--lh-body); }
.view-load-error button { min-height: 44px; min-width: 44px; }
.workspace-recovery h2 { margin: 0 0 12px; font-size: 18px; }
.workspace-recovery p { max-width: 720px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.recovery-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.recovery-actions button { min-height: 44px; margin: 0; border-radius: 8px; }
.project-suite { --suite-bg: var(--card); --suite-soft: var(--row); --suite-line: var(--border); --suite-text: var(--text); --suite-muted: var(--muted); }
html[data-theme="light"] .project-suite { --suite-bg: var(--card); --suite-soft: var(--row); --suite-line: var(--border); --suite-text: var(--text); --suite-muted: var(--muted); --suite-action: #007348; }
.dashboard-suite .suite-header { display: flex; flex-wrap: wrap; align-items: flex-start; padding: 0 0 18px; border-bottom: 1px solid var(--suite-line); }
.dashboard-suite .suite-header > div { flex: 1 1 20rem; min-width: 0; }
.dashboard-suite .suite-header > button { flex: 0 1 auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.dashboard-suite .suite-header-actions { display: flex; flex: 0 1 auto; gap: 8px; align-items: center; max-width: 100%; }
.dashboard-suite .suite-header-actions button { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
.dashboard-suite .suite-header h1 { margin-top: 0; }
.dashboard-suite .suite-save-status { margin-bottom: 24px; font-size: 12px; }
.home-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: 24px; gap: 16px; }
.project-suite .home-metric { display: flex; flex-direction: column; gap: 7px; text-align: start; min-height: 116px; padding: 17px; background: var(--suite-bg); border: 1px solid var(--suite-line); }
.home-metric span { color: var(--suite-muted); font-size: 12px; }
.home-metric strong { font-size: 28px; line-height: 1.2; font-weight: 500; font-variant-numeric: tabular-nums; }
.dashboard-suite .suite-toolbar { margin-bottom: 24px; padding: 16px 0; }
.dashboard-suite .suite-toolbar .suite-field:first-child { flex: 0 1 280px; }
.dashboard-suite .suite-toolbar .suite-field:last-child { flex: 0 1 200px; }
.home-widgets { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; align-items: start; }
.home-widget { min-width: 0; border: 1px solid var(--suite-line); border-radius: 12px; padding: 20px; background: var(--suite-bg); box-shadow: 0 8px 24px rgb(45 54 44 / 4%); }


.dashboard-suite .suite-lead { max-width: 46rem; margin-block: 6px 0; color: var(--suite-muted); }
.dashboard-suite .suite-save-status:empty { display: none; }
.dashboard-suite .suite-save-status:not(:empty) { padding: 9px 12px; border-inline-start: 3px solid var(--suite-action); background: var(--suite-soft); }
.dashboard-suite .home-metrics { gap: 10px; padding-block: 18px; }
.dashboard-suite .home-metric { position: relative; overflow: hidden; border-radius: 10px; box-shadow: none; }
.dashboard-suite .suite-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 18px; padding:14px; border:1px solid var(--suite-line); border-radius:10px; background:var(--suite-soft); }
.dashboard-suite .suite-toolbar .suite-field { min-width:0; }
.dashboard-suite .suite-toolbar select { width:100%; }
.home-widget-head { padding-block-end:12px; border-block-end:1px solid var(--suite-line); }
.home-empty { border:1px dashed var(--suite-line); border-radius:9px; padding:14px; background:var(--suite-soft); }


html[lang="en"] :is(.dashboard-suite .suite-header h1,.panel-head h1,.panel-head h2) { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
html[lang="en"] :is(.documents-head h1,.finance-header h1,.contracts-header h1,.calendar-head h1,.time-head h1,.knowledge-header h1,.invoice-toolbar h2) { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
:is(.dashboard-suite .suite-header h1,.panel-head h1) { font-size: clamp(1.85rem, 3vw, 2.45rem); line-height: 1.12; }
.panel-head { padding-block-end: 16px; border-block-end: 1px solid var(--border); }
.panel-head + :is(.table-wrap,.week-board-wrap,.project-suite,.document-library,.finance-shell) { margin-block-start: 18px; }
.day1-tutorial,.empty-workspace,.backup-nudge { margin: 5px 12px; padding: 5px 10px; gap: 6px 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.day1-copy > summary { min-height: 44px; display: flex; gap: 10px; }
.day1-copy:not([open]) ~ * { align-self: center; }
#timer-root:empty { display: none; }
#timer-root:not(:empty) { margin: 5px 12px; }
#timer-root .time-global { min-height: 52px; padding: 4px 10px; border: 1px solid var(--border); border-radius: 10px; }
.empty-workspace-mark { width: 2rem; height: 2rem; }
.empty-workspace-title { margin-block-end: 0; font-size: .92rem; }
.empty-workspace-copy,.day1-lead { font-size: .78rem; line-height: 1.35; }
table { background: var(--card); }
th { background: var(--rail); }
tr:nth-child(even) td { background: color-mix(in srgb, var(--row) 70%, var(--card)); }
input,select,textarea { background: var(--input); }
.primary,.workspace-create { color: #fffdf7; }
html[data-theme="dark"] :is(.primary,.workspace-create) { color: #10150f; }
@media (max-width:700px) {
  .day1-tutorial,.empty-workspace,.backup-nudge,#timer-root:not(:empty) { margin-inline: 8px; }
  .workspace > main { border-radius: 12px; padding: 18px 14px; }
  .project-suite .home-metric { min-height: 100px; padding: 14px; }
  .dashboard-suite .suite-header { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; }
  .dashboard-suite .suite-header > * { min-width: 0; max-width: 100%; }
  .dashboard-suite .suite-header > button { width: auto; justify-self: start; }
  .dashboard-suite .suite-header-actions { width:100%; justify-content:flex-start; }
  .dashboard-suite .suite-header h1,.dashboard-suite .suite-lead { max-width: 100%; overflow-wrap: anywhere; }
}
.home-widget.is-wide { grid-column: span 2; }
.home-widget-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.home-widget-head h2 { margin: 0; font-size: 15px; font-weight: 600; }
.project-suite .home-widget-head button { border: 0; background: transparent; color: var(--suite-muted); padding: 8px; font-size: 12px; }
.home-widget-head button:hover { color: var(--suite-text); }
.project-suite .home-work-row { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 20px; min-height: 72px; text-align: start; border: 0; border-bottom: 1px solid var(--suite-line); border-radius: 0; padding: 14px 6px; background: transparent; }
.home-work-row:last-child { border-bottom: 0; }
.home-row-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.home-row-copy strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.home-row-copy small, .home-row-end small { color: var(--suite-muted); font-size: 12px; }
.home-row-end { display: flex; flex-direction: column; gap: 6px; align-items: end; flex-shrink: 0; font-size: 12px; }
.home-row-end > span { font-variant-numeric: tabular-nums; }
.home-row-end time { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.home-study-plan { margin-block: 16px; }
.home-study-plan h2 { margin: 0; }
.is-overdue { color: var(--danger); }
.project-suite .home-project-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 14px; width: 100%; text-align: start; padding: 14px 6px; border: 0; border-bottom: 1px solid var(--suite-line); border-radius: 0; }
.home-project-row:last-child { border-bottom: 0; }
.home-project-row strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.home-project-row small { font-size: 12px; color: var(--suite-muted); }
.home-project-row progress { grid-column: span 2; width: 100%; height: 5px; accent-color: var(--suite-action); }
.home-caption { font-size: 12px; color: var(--suite-muted); line-height: 1.7; margin: 6px 0 12px; overflow-wrap: anywhere; }
.home-contact-row { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 14px 0; border-top: 1px solid var(--suite-line); }
.home-contact-row strong { min-width: 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 500; }
.home-contact-row small { color: var(--suite-muted); font-size: 12px; overflow-wrap: anywhere; }
.home-contact-row small.is-overdue { color: var(--danger); }
.home-status-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; font-size: 12px; padding: 12px 0; }
.home-status-row strong { font-weight: 500; }
.home-status-row progress { grid-column: span 2; width: 100%; height: 5px; accent-color: var(--suite-action); }
.home-planned { display: flex; align-items: baseline; gap: 10px; margin-top: 16px; }
.home-planned strong { font-size: 24px; font-weight: 500; }
.home-planned span { font-size: 12px; color: var(--suite-muted); }
.home-cash-currencies { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 24px; }
.home-cash-currencies > section { min-width: 0; }
.home-cash-currencies h3 { margin: 0 0 12px; font-size: 14px; font-weight: 600; }
.home-cash-metrics { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 16px; margin: 0; font-size: 13px; }
.home-cash-metrics dt { min-width: 0; color: var(--suite-muted); overflow-wrap: anywhere; }
.home-cash-metrics dd { min-width: 0; margin: 0; text-align: end; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.home-cash-metrics .home-cash-net { font-weight: 600; color: var(--suite-text); }
.home-empty { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 4px; min-height: 68px; }
.home-empty p { font-size: 13px; color: var(--suite-muted); margin: 0; }
.home-empty button { font-size: 12px; }
.home-layout-editor { width: min(660px, calc(100vw - 32px)); }
.home-layout-row { display: grid; grid-template-columns: minmax(0,1fr) 116px auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--suite-line); }
.home-widget-choice { display: flex; align-items: center; gap: 10px; font-size: 13px; min-height: 44px; cursor: pointer; }
.home-widget-choice input { width: 18px; min-height: 18px; height: 18px; margin: 0; accent-color: var(--suite-action); }
.home-layout-row select { width: 100%; margin: 0; padding: 8px; border: 1px solid var(--suite-line); border-radius: 8px; background: var(--suite-bg); color: var(--suite-text); font-size: 12px; }
.home-layout-moves { display: flex; gap: 4px; }
.home-layout-moves button { padding: 8px; min-width: 44px; font-size: 11px; }
.home-layout-moves button:disabled { opacity: .4; cursor: default; }
@media (max-width: 1000px) {
  .workspace { padding: 14px; }
  .workspace > main { padding: 22px; }
  .home-widget { padding: 14px; }
  .home-widgets { gap: 16px; }
}
@media (max-width: 700px) {
  .top { min-height: 70px; padding: 12px 14px; gap: 10px; }
  .brand small { display: none; }
  .brand .mark { width: 30px; height: 30px; }
  .brand-copy { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; }
  .demo-seed-chip { margin-inline-start: 0; }
  .workspace-tools summary { padding: 8px 10px; font-size: 11px; gap: 6px; }
  .tabs { display: flex; flex-direction: row; flex-wrap: nowrap; width: 100%; flex: 0 0 auto; padding: 8px 12px; overflow-x: auto; overflow-y: hidden; gap: 6px; }
  .tabs .rail-group { display: contents; }
  .tabs .rail-sep { display: none; }
  .tabs .tab { flex: 0 0 auto; width: auto; white-space: nowrap; padding: 0 12px; height: 44px; border: 0; font-size: 12px; }
  .tabs #crm-overdue-badge { min-height: 44px; padding: 0 6px; background: transparent; color: var(--danger); }
  .workspace { padding: 12px; }
  .workspace > main { padding: 18px 14px; border-radius: 10px; }
  .dashboard-suite .suite-header h1 { font-size: 24px; }
  .dashboard-suite .suite-lead { font-size: 12px; }
  .home-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding-bottom: 18px; }
  .dashboard-suite .suite-toolbar { grid-template-columns:minmax(0,1fr); }
  .home-metric strong { font-size: 26px; }
  .dashboard-suite .suite-toolbar .suite-field:first-child, .dashboard-suite .suite-toolbar .suite-field:last-child { flex: 1 1 130px; }
  .home-widgets { grid-template-columns: minmax(0,1fr); }
  .home-widget.is-wide { grid-column: auto; }
  .home-widget-head { gap: 8px; }
  .home-widget-head h2 { font-size: 14px; }
  .project-suite .home-work-row { gap: 12px; }
  .home-row-end { max-width: 110px; text-align: end; }
  .home-layout-row { grid-template-columns: minmax(0,1fr) 100px; gap: 4px 12px; }
  .home-layout-moves { grid-column: span 2; justify-content: end; }
}
@media (prefers-reduced-motion: reduce) { .workspace-tools summary svg { transition: none; } }


#panel-home .home-widgets { grid-template-columns: minmax(0, 1fr); gap: 18px; }
#panel-home .home-widget { border-radius: 18px; padding: 20px; min-inline-size: 0; }
#panel-home .home-widget.is-wide { grid-column: auto; }
#panel-home .home-widget-head { align-items: flex-start; gap: 10px; margin-block-end: 16px; }
#panel-home .home-widget-head h2 { font-size: 16px; line-height: 1.5; padding-block: 8px; }
#panel-home .home-widget-head button { flex-shrink: 0; max-inline-size: 50%; min-block-size: 44px; overflow-wrap: anywhere; }
#panel-home.dashboard-suite .home-next-step { border-radius: 18px; padding: clamp(18px, 2.2vw, 28px); border-inline-start: 3px solid var(--suite-action); background: var(--suite-bg); }
#panel-home.dashboard-suite #home-next-title { font-size: clamp(21px, 2.4vw, 28px); }
#panel-home .home-next-label { letter-spacing: .01em; }
#panel-home .home-work-row { min-block-size: 64px; padding: 12px; margin-block: 8px; border: 0; border-radius: 10px; background: var(--suite-soft); gap: 12px; }
#panel-home .home-work-row:hover { background: var(--elevated); }
#panel-home .home-row-end { max-inline-size: 42%; overflow-wrap: anywhere; }
#panel-home .home-project-row { padding-block: 16px; }
#panel-home .home-project-row progress,
#panel-home .home-status-row progress { block-size: 7px; }
#panel-home .home-task-completion { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-block: 6px 18px; }
#panel-home .home-task-completion > p { margin: 0; font-size: 14px; color: var(--suite-muted); }
#panel-home .home-task-ring { position: relative; isolation: isolate; display: grid; place-items: center; inline-size: 104px; aspect-ratio: 1; flex: 0 0 auto; border-radius: 50%; }
#panel-home .home-task-ring svg { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; pointer-events: none; z-index: 0; }
#panel-home .home-task-ring circle { fill: none; stroke-width: 7; }
#panel-home .home-task-ring-track { stroke: var(--suite-line); }
#panel-home .home-task-ring-arc { stroke: var(--polish-tone, var(--suite-action)); }
#panel-home .home-task-ring bdi { position: relative; z-index: 1; max-inline-size: 80%; font-size: 22px; line-height: 1.25; font-weight: 600; font-variant-numeric: tabular-nums; text-align: center; overflow-wrap: anywhere; }
#panel-home .home-status-row { padding-block: 10px; }
#panel-home .home-planned strong { font-size: 34px; line-height: 1.2; font-variant-numeric: tabular-nums; }
#panel-home .home-week-chart { list-style: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: start; gap: 6px; margin: 18px 0; padding: 0; }
#panel-home .home-week-chart li { min-inline-size: 0; display: flex; flex-direction: column; align-items: stretch; gap: 7px; text-align: center; }
#panel-home .home-week-value { font-size: 12px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#panel-home .home-week-track { display: flex; align-items: flex-end; block-size: 80px; border-radius: 6px; background: var(--suite-soft); overflow: hidden; }
#panel-home .home-week-fill { display: block; inline-size: 100%; block-size: var(--home-week-fill, 0%); border-radius: 6px; background: var(--polish-tone, var(--suite-action)); }
#panel-home .home-week-day { font-size: 11px; line-height: 1.5; color: var(--suite-muted); overflow-wrap: anywhere; }
#panel-home .home-week-day--short { white-space: nowrap; overflow-wrap: normal; }
@media (min-width: 1000px) {
  #panel-home .home-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #panel-home .home-widget.is-wide { grid-column: span 2; }
}
@media (min-width: 1500px) {
  #panel-home .home-widgets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  #panel-home .home-widget,
  #panel-home .home-next-step,
  #panel-home .home-week-fill { animation: none; transition: none; }
}
@media (forced-colors: active) {
  #panel-home .home-task-ring { background: Canvas; }
  #panel-home .home-task-ring-track { stroke: GrayText; }
  #panel-home .home-task-ring-arc { stroke: CanvasText; }
  #panel-home .home-week-track { background: Canvas; border: 1px solid CanvasText; }
  #panel-home .home-week-fill { background: CanvasText; }
}

/* Tool Bento: the Today rhythm, applied to the first three work surfaces.
   These aliases reuse the existing theme; Today and saved layouts stay untouched. */
.workspace {
  --tool-card-radius: 18px;
  --tool-row-radius: 10px;
  --tool-gap: 18px;
  --tool-card-pad: 20px;
  --tool-title-size: clamp(1.5rem, 2.6vw, 2rem);
  --tool-copy-size: var(--fs-body);
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) > :is(.suite-header, .panel-head) {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px var(--tool-gap);
  padding-block: 0 var(--tool-gap);
  margin-block: 0 var(--tool-gap);
  border-block-end: 1px solid var(--border);
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) > :is(.suite-header, .panel-head) > * {
  min-inline-size: 0;
  max-inline-size: 100%;
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) > :is(.suite-header, .panel-head) h1 {
  margin-block: 0 6px;
  font-size: var(--tool-title-size);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) > :is(.suite-header, .panel-head) :is(.suite-lead, .pricing-studio-lead, .proposal-studio-lead, .crm-studio-lead) {
  max-inline-size: 58ch;
  margin-block: 0;
  color: var(--muted);
  font-size: var(--tool-copy-size);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) > :is(.suite-header, .panel-head) button {
  min-block-size: 44px;
  max-inline-size: 100%;
  border-radius: var(--tool-row-radius);
  white-space: normal;
  overflow-wrap: anywhere;
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) :is(.suite-empty, .empty-activate) {
  padding: var(--tool-card-pad);
  border: 1px dashed var(--border);
  border-radius: var(--tool-card-radius);
  background: var(--row);
  text-align: start;
}
.workspace :is(#panel-projects, #panel-tasks, #panel-crm, #panel-pricing, #panel-proposal) :is(.suite-empty, .empty-activate) p {
  max-inline-size: 58ch;
  line-height: 1.6;
  overflow-wrap: anywhere;
}


.workspace #panel-crm .crm-follow-card {
  border-radius: var(--tool-card-radius);
  padding: var(--tool-card-pad);
  gap: 16px;
}
.workspace #panel-crm .crm-follow-card .follow-card-name {
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.workspace #panel-crm #crm-table td.row-actions {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  white-space: normal;
}
.workspace #panel-crm .crm-follow-label {
  display: block;
  margin-block-end: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}
.workspace #panel-crm .crm-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.workspace #panel-crm .crm-action-details {
  min-inline-size: 0;
  border-block-start: 1px solid var(--border);
}
.workspace #panel-crm .crm-action-details > summary {
  min-block-size: 44px;
  padding-block: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
}
.workspace #panel-crm .crm-action-details > summary:hover {
  color: var(--text);
}
.workspace #panel-crm .crm-action-details > summary:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  border-radius: var(--tool-row-radius);
}
.workspace #panel-crm .crm-action-details[open] > summary {
  color: var(--text);
}
.workspace #panel-crm .crm-action-details-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-block: 4px 12px;
  border-block-start: 0;
  white-space: normal;
}
.workspace #panel-crm .crm-action-details-body > :is(label, .snooze-row) {
  min-inline-size: 0;
  max-inline-size: 100%;
  flex: 1 1 12rem;
}
.workspace #panel-crm .crm-action-details-body input {
  min-block-size: 44px;
  max-inline-size: 100%;
}
.workspace #panel-crm :is(.crm-primary-actions, .crm-action-details-body) :is(button, select) {
  min-block-size: 44px;
  max-inline-size: 100%;
  margin-block: 0;
  border-radius: var(--tool-row-radius);
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 700px) {
  .workspace { --tool-card-pad: 16px; }
  .workspace #panel-crm .crm-primary-actions > button {
    flex: 1 1 12rem;
  }
}

/* Desktop pricing keeps the real comparison table. Narrow cards keep every field
   and the same source order, with associated labels rather than generated text. */
.workspace #panel-pricing .pricing-cell-label { display: none; }
.workspace #panel-pricing :is(.pricing-floor, .pricing-studio-tools > *) {
  border-radius: var(--tool-card-radius);
}
.workspace #panel-pricing .pricing-floor { padding: var(--tool-card-pad); }
.workspace #panel-pricing .pricing-studio-tools { gap: var(--tool-gap); }
.workspace #panel-pricing .pricing-studio-tools > * { padding: var(--tool-card-pad); }
.workspace #panel-pricing #pricing-table .pricing-package-card input {
  min-block-size: 44px;
  max-inline-size: 100%;
  border-radius: var(--tool-row-radius);
}

/* Identity and scope lead the document. Money and dates can share a wide row;
   optional sections keep their native disclosure and financial status treatment. */
.workspace #panel-proposal #proposal-form.proposal-bento:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: var(--tool-gap);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.workspace #panel-proposal #proposal-form.proposal-bento > * {
  grid-column: 1 / -1;
  min-inline-size: 0;
  max-inline-size: 100%;
  margin-block: 0;
}
.workspace #panel-proposal #proposal-form.proposal-bento > .proposal-bento-card {
  border-radius: var(--tool-card-radius);
  padding: var(--tool-card-pad);
}
.workspace #panel-proposal .proposal-bento-card .proposal-field {
  min-inline-size: 0;
  line-height: 1.6;
}
.workspace #panel-proposal .proposal-bento-card .proposal-field :is(input, textarea) {
  max-inline-size: 100%;
  border-radius: var(--tool-row-radius);
}
.workspace #panel-proposal #proposal-send .proposal-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin-block-start: 12px;
}
.workspace #panel-proposal .proposal-action-card {
  min-inline-size: 0;
  border: 1px solid var(--border);
  border-radius: var(--tool-row-radius);
  padding: 16px;
  background: var(--card);
}
.workspace #panel-proposal .proposal-action-card-head {
  margin-block: 0 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.workspace #panel-proposal .proposal-action-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.workspace #panel-proposal .proposal-action-card-actions > button {
  min-block-size: 44px;
  max-inline-size: 100%;
  margin-block: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.workspace #panel-proposal details.proposal-action-card { padding: 0; }
.workspace #panel-proposal details.proposal-action-card > summary {
  min-block-size: 44px;
  margin: 0;
  padding: 12px 16px;
}
.workspace #panel-proposal details.proposal-action-card > summary:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  border-radius: var(--tool-row-radius);
}
.workspace #panel-proposal details.proposal-action-card > .proposal-detail-body {
  padding: 16px;
}
@media (min-width: 1200px) {
  .workspace #panel-proposal #proposal-form.proposal-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .workspace #panel-proposal #proposal-form.proposal-bento > :is([data-proposal-card="money"], [data-proposal-card="dates"]) {
    grid-column: auto;
  }
}
@media (max-width: 700px) {
  .workspace #panel-pricing #pricing-table .pricing-package-card {
    gap: 12px;
    padding: var(--tool-card-pad);
    border-radius: var(--tool-card-radius);
  }
  .workspace #panel-pricing #pricing-table .pricing-package-card > :is([data-pricing-field], [data-pricing-output])::before {
    content: none;
  }
  .workspace #panel-pricing .pricing-cell-label {
    display: block;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }
  .workspace #panel-pricing #pricing-table .pricing-package-card > [data-pricing-output] {
    border-radius: var(--tool-row-radius);
    padding: 10px;
    font-variant-numeric: tabular-nums;
  }
  .workspace #panel-pricing #pricing-table .pricing-package-card > [data-pricing-actions] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    padding-block-start: 12px;
    border-block-start: 1px solid var(--border);
  }
  .workspace #panel-pricing [data-pricing-actions] > button {
    min-block-size: 44px;
    max-inline-size: 100%;
    flex: 1 1 7rem;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .workspace #panel-pricing [data-pricing-actions] > [data-use] { flex-basis: 100%; }
  .workspace #panel-pricing [data-pricing-actions] > [data-del] { flex: 0 0 44px; }
  .workspace #panel-proposal .proposal-action-card-actions > button { flex: 1 1 12rem; }
}


html[data-theme="light"] #panel-home .suite-header { padding: 0 0 20px; margin: 0; border: 0; border-radius: 0; background: transparent; gap: 16px; }
html[data-theme="light"] #panel-home .suite-header h1 { margin: 0; font-family: var(--font); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
html[data-theme="light"] #panel-home .suite-lead { margin-block: 8px 0; font-size: 14px; line-height: 1.6; }
html[data-theme="light"][dir="rtl"] #panel-home .suite-header h1 { letter-spacing: 0; line-height: 1.5; }
html[data-theme="light"] #panel-home.dashboard-suite .home-next-step { padding: 24px; margin-block: 0 20px; border: 1px solid var(--suite-line); border-radius: 20px; gap: 20px; }
html[data-theme="light"] #panel-home.dashboard-suite #home-next-title { font-family: var(--font); font-size: clamp(22px,2.1vw,28px); line-height: 1.35; letter-spacing: -.015em; }
html[data-theme="light"][dir="rtl"] #panel-home.dashboard-suite #home-next-title { letter-spacing: 0; line-height: 1.5; }
html[data-theme="light"] #panel-home .home-next-label { font-size: 12px; line-height: 1.5; }
html[data-theme="light"] #panel-home #home-next-detail { font-size: 14px; line-height: 1.6; }
html[data-theme="light"] #panel-home #home-next-action { min-block-size: 48px; padding: 10px 22px; border-radius: 999px; font-size: 14px; }
html[data-theme="light"] #panel-home .home-overview { margin-block: 0 20px; }
html[data-theme="light"] #panel-home .home-overview > summary { min-block-size: 44px; font-size: 13px; }
html[data-theme="light"] #panel-home .home-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding-block: 16px; }
html[data-theme="light"] #panel-home .home-metric { min-block-size: 108px; padding: 18px; border-radius: 16px; gap: 8px; text-align: start; }
html[data-theme="light"] #panel-home .home-metric strong { font-size: 32px; font-weight: 600; line-height: 1.15; font-variant-numeric: tabular-nums; }
html[data-theme="light"] #panel-home .home-metric span { font-size: 13px; line-height: 1.5; }
html[data-theme="light"] #panel-home .suite-toolbar { gap: 12px; padding: 16px; border-radius: 16px; }
html[data-theme="light"] #panel-home .home-widgets { grid-template-columns: minmax(0,1fr); gap: 16px; }
html[data-theme="light"] #panel-home .home-widget { padding: 20px; border-radius: 20px; }
html[data-theme="light"] #panel-home .home-widget.is-wide { grid-column: auto; }
html[data-theme="light"] #panel-home .home-widget-head { gap: 12px; padding-block-end: 12px; margin-block-end: 16px; }
html[data-theme="light"] #panel-home .home-widget-head h2 { padding-block: 4px; font-family: var(--font); font-size: 16px; line-height: 1.5; }
html[data-theme="light"] #panel-home .home-work-row { min-block-size: 64px; padding: 14px; border-radius: 12px; margin-block: 8px; }
html[data-theme="light"] #panel-home .home-row-copy strong { font-size: 14px; line-height: 1.5; }
html[data-theme="light"] #panel-home :is(.home-row-copy small,.home-row-end,.home-caption) { font-size: 12px; line-height: 1.6; }
html[data-theme="light"] #home-layout-dialog { padding: 24px; border-radius: 20px; }
@media (min-width: 1000px) {
  html[data-theme="light"] #panel-home .home-widgets { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-theme="light"] #panel-home .home-widget.is-wide { grid-column: span 2; }
}
@media (min-width: 1280px) {
  html[data-theme="light"] #panel-home .home-widgets { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1100px) {
  html[data-theme="light"] #panel-home .home-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  html[data-theme="light"] #panel-home .suite-header h1 { font-size: 24px; }
  html[data-theme="light"] #panel-home.dashboard-suite .home-next-step { padding: 20px; border-radius: 16px; }
  html[data-theme="light"] #panel-home .home-widget { padding: 16px; border-radius: 16px; }
}
@media (max-width: 420px) {
  html[data-theme="light"] #panel-home .home-metrics { grid-template-columns: minmax(0,1fr); }
  html[data-theme="light"] #panel-home .home-metric { min-block-size: 96px; }
}


:root, html[data-theme="dark"] {
  --chrome-glass: rgb(23 20 15 / .94);
  --chrome-glint: rgb(246 240 229 / .06);
  --chrome-muted: #b8afa0;
}
html[data-theme="light"] {
  --chrome-glass: rgb(236 236 227 / .94);
  --chrome-glint: rgb(255 253 247 / .48);
  --chrome-muted: #536057;
}

.workspace-framed :is(.workspace-navigation-sidebar, .workspace-utilities, .workspace-mobile-nav) {
  --muted: var(--chrome-muted);
}
@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .workspace-framed .workspace-navigation-sidebar, .workspace-framed .workspace-utilities, .workspace-framed .workspace-mobile-nav {
    background: linear-gradient(160deg, var(--chrome-glint), transparent 56%), var(--chrome-glass);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
}
.workspace-context { margin: 0; font-size: 14px; font-weight: 600; flex: 1; }
.workspace-switcher { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.workspace-switcher-label { color: var(--muted); font-size: 12px; font-weight: 600; }
.workspace-switcher-control { min-width: 0; min-height: 44px; max-width: min(320px, 48vw); padding: 8px 34px 8px 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: var(--card); font: inherit; font-weight: 600; }
.workspace-switcher-control:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.workspace-pin { min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: var(--card); font: inherit; font-size: 12px; cursor: pointer; }
.workspace-pin[aria-pressed="true"] { background: var(--elevated); }
.workspace-pin:hover { background: var(--row); }
.workspace-pin:focus-visible, .workspace-pinned-destination:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.workspace-pin:disabled, .workspace-pinned-destination:disabled { opacity: .45; cursor: not-allowed; }
.workspace-pins[hidden] { display: none; }
.workspace-pins { min-width: 0; padding-block-end: 12px; margin-block-end: 8px; border-block-end: 1px solid var(--border); }
.workspace-pins .workspace-group-label { display: block; margin: 8px 10px; font-size: 12px; letter-spacing: 0; text-transform: none; }
.workspace-pinned-destination { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; margin-block: 2px; border: 1px solid transparent; border-radius: 8px; color: var(--text); background: transparent; font: inherit; font-size: 12px; text-align: start; cursor: pointer; }
.workspace-pinned-destination > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.workspace-pinned-destination:hover, .workspace-pinned-destination.active { background: var(--elevated); }
.workspace-pinned-destination .tab-icon { color: var(--green); }
.workspace-drawer-pin { grid-column: 1 / -1; text-align: start; overflow-wrap: anywhere; }
.workspace-navigation-feedback { grid-column: 1 / -1; margin: 0; color: var(--danger); font-size: 12px; line-height: 1.6; }
.workspace-navigation-feedback[hidden] { display: none; }
.workspace-create { min-height: 44px; padding: 8px 18px; color: var(--card); background: var(--green); border: 0; border-radius: 9px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
html[data-theme="dark"] .workspace-create { color: #101713; }
.workspace-create:disabled, .workspace-utility:disabled { opacity: .45; cursor: not-allowed; }
.workspace-chrome-feedback { margin: 8px 22px; color: var(--danger); font-size: 13px; }
.workspace-utilities { display: none; }
.workspace-contextual-actions { display: grid; gap: 8px; padding-block: 4px; border-block: 1px solid var(--border); }
.workspace-contextual-actions[hidden] { display: none; }
.workspace-group-label { display: block; margin: 12px 12px 6px; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.workspace-framed .tabs .tab { min-height: 44px; margin-block: 1px; }
.workspace-framed .rail-sep { margin: 8px 12px; opacity: .6; }
.workspace-framed .workspace-nav-group { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.workspace-framed .workspace-nav-group + .workspace-nav-group { margin-block-start: 4px; padding-block-start: 4px; border-block-start: 1px solid color-mix(in srgb,var(--border) 72%,transparent); }
.workspace-framed .workspace-group-label { min-height: 44px; margin: 0; padding: 0 12px; display: flex; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: .035em; text-transform: none; color: var(--muted); cursor: pointer; border-radius: 8px; }
.workspace-framed details.workspace-nav-group > .workspace-group-label::after { content: '+'; margin-inline-start: auto; font-size: 16px; font-weight: 400; }
.workspace-framed details.workspace-nav-group[open] > .workspace-group-label::after { content: '−'; }
.workspace-framed details.workspace-nav-group > .workspace-group-label:hover { color: var(--text); background: var(--row); }
.workspace-framed details.workspace-nav-group > .workspace-group-label:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.workspace-framed .workspace-nav-group:is([data-workspace-group="work"], [data-workspace-group="sales"]) .tab { padding-inline-start: 20px; font-size: 12px; }
.workspace-mobile-nav { display: none; }
.workspace-mobile-nav[hidden], .workspace-navigation-group[hidden], .workspace-navigation-destination[hidden] { display: none; }
.workspace-mobile-item { min-height: 56px; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 9px; padding: 7px 4px; color: var(--muted); background: transparent; font: inherit; font-size: 12px; cursor: pointer; overflow-wrap: anywhere; touch-action: manipulation; }
.workspace-mobile-item .tab-icon { width: 20px; height: 20px; }
.workspace-mobile-item.active { background: var(--elevated); color: var(--text); font-weight: 600; }
.workspace-mobile-item.active .tab-icon { color: var(--green); }
.workspace-mobile-item:disabled, .workspace-navigation-destination:disabled { opacity: .45; cursor: not-allowed; }
.workspace-navigation-dialog { color: var(--text); background: var(--card); border: 1px solid var(--border); border-radius: 16px; }
.workspace-navigation-dialog,
.workspace-navigation-sidebar,
.workspace-utilities,
.workspace-mobile-nav { box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%), 0 12px 30px rgb(0 0 0 / 8%); }
html[data-theme="light"] :is(.workspace-navigation-dialog,.workspace-navigation-sidebar,.workspace-utilities,.workspace-mobile-nav) { box-shadow: inset 0 1px 0 rgb(255 255 255 / 88%), 0 12px 30px rgb(42 54 47 / 8%); }
.workspace-navigation-dialog[open] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 20px; overflow: auto; box-sizing: border-box; }
.workspace-navigation-dialog::backdrop { background: rgb(0 0 0 / 60%); }
.workspace-navigation-head { grid-column: 1 / -1; display: flex; gap: 12px; justify-content: space-between; align-items: center; border-block-end: 1px solid var(--border); padding-block-end: 12px; }
.workspace-navigation-head h2 { margin: 0; font-size: 20px; }
.workspace-navigation-close { min-width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: var(--row); font: inherit; font-size: 25px; cursor: pointer; }
.workspace-navigation-group { min-width: 0; }
.workspace-navigation-group h3 { margin: 0 10px 8px; color: var(--muted); font-size: 12px; font-weight: 600; }
.workspace-navigation-destination { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; min-height: 44px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 13px; text-align: start; padding: 10px; cursor: pointer; touch-action: manipulation; }
.workspace-navigation-destination > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.workspace-navigation-destination:hover, .workspace-navigation-destination.active { background: var(--elevated); }
.workspace-navigation-destination.active { border-color: var(--border); font-weight: 600; }
.workspace-navigation-destination .tab-icon { color: var(--polish-mint, var(--green)); }
.workspace-navigation-destination:is([data-workspace-destination="projects"], [data-workspace-destination="proposal"], [data-workspace-destination="contracts"], [data-workspace-destination="knowledge"]) .tab-icon { color: var(--polish-violet, var(--muted)); }
.workspace-navigation-destination:is([data-workspace-destination="week"], [data-workspace-destination="calendar"], [data-workspace-destination="timesheet"]) .tab-icon { color: var(--polish-amber, var(--muted)); }
.workspace-mobile-item:focus-visible, .workspace-navigation-destination:focus-visible, .workspace-navigation-close:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.workspace-composer[open] { display: grid; grid-template-columns: 174px minmax(0,1fr); gap: 24px; width: min(840px, calc(100vw - 32px)); padding: 24px; max-height: calc(100dvh - 32px); overflow: auto; background: var(--card); border: 1px solid var(--border); border-radius: 16px; color: var(--text); }
.workspace-composer > form { min-width: 0; margin: 0; }
.workspace-composer h2 { margin-top: 0; font-size: 20px; }
.workspace-composer::backdrop { background: rgb(0 0 0 / 60%); }
.workspace-create-nav { min-width: 0; padding-inline-end: 16px; border-inline-end: 1px solid var(--border); }
.workspace-create-nav h2 { margin: 0 0 22px; font-size: 18px; }
.workspace-create-nav button { display: block; width: 100%; text-align: start; min-height: 44px; padding: 10px 12px; margin: 4px 0; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.workspace-create-nav button:hover { background: var(--row); color: var(--text); }
.workspace-create-nav button[aria-pressed="true"] { color: var(--text); background: var(--elevated); border-color: var(--border); font-weight: 600; }
.workspace-create-feedback { font-size: 12px; line-height: 1.6; color: var(--danger); }
.workspace-create-details { margin: 18px 0; border-block: 1px solid var(--border); padding-block: 8px; }
.workspace-create-details > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--muted); }
.workspace-create-details > summary::after { content: '+'; margin-inline-start: auto; }
.workspace-create-details[open] > summary::after { content: '−'; }
.workspace-create-details[open] > summary { margin-bottom: 12px; }
.workspace-create:focus-visible,.workspace-utility:focus-visible,.workspace-create-nav button:focus-visible,.workspace-create-details > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
@media (min-width: 1001px) {
  .workspace-framed { background: var(--bg); }
  .workspace-framed .top { margin-inline: 220px 72px; min-height: 62px; background: transparent; border: 0; padding: 9px 10px; }
  .workspace-framed .brand { position: fixed; inset-inline-start: 22px; top: 19px; width: 174px; z-index: 20; }
  .workspace-framed .brand small { display: none; }
  .workspace-framed .brand-copy { flex: 1; }
  .workspace-framed .brand .demo-seed-chip { margin-inline: 0; }
  .workspace-framed .app-shell { margin-inline: 212px 64px; display: block; }
  .workspace-navigation-sidebar { position: fixed; inset-inline-start: 8px; inset-block: 8px; width: 196px; height: calc(100dvh - 16px); overflow: hidden; display:flex; flex-direction:column; padding: 66px 9px 14px; background: var(--rail); border: 1px solid var(--border); border-radius: 17px; box-sizing: border-box; }
  /**/
  .workspace-framed .workspace-navigation-sidebar > .workspace-pins { flex: 0 1 auto; min-height: 0; max-height: min(30dvh, 260px); overflow-x: hidden; overflow-y: auto; padding-inline: 4px; box-sizing: border-box; }
  .workspace-framed .workspace-navigation-sidebar .tabs { position: static; width: auto; height: auto; min-height:0; flex:1 1 auto; overflow-x:hidden; overflow-y:auto; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .workspace-framed .workspace { padding: 6px 8px 10px; min-width: 0; }
  .workspace-framed .workspace > main { min-height: calc(100dvh - 126px); border-radius: 16px; }
  .workspace-framed #import-preview,.workspace-framed #timer-root,.workspace-framed #day1-tutorial,.workspace-framed #empty-workspace,.workspace-framed #backup-nudge,.workspace-framed #workspace-coordination,.workspace-framed #workspace-recovery,.workspace-framed .workspace-chrome-feedback { margin-inline: 220px 72px; }
  .workspace-framed .foot { margin-inline: 220px 72px; font-size: 11px; }
  .workspace-utilities { position: fixed; inset-inline-end: 8px; inset-block: 8px; width: 48px; display: flex; flex-direction: column; align-items: center; padding: 7px 2px; gap: 5px; background: var(--rail); border: 1px solid var(--border); border-radius: 15px; z-index: 50; }
  .workspace-utility { position: relative; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--muted); border: 0; border-radius: 9px; background: transparent; cursor: pointer; font: inherit; }
  .workspace-utility:hover { color: var(--text); background: var(--row); }
  .workspace-utility[data-workspace-write] { color: var(--text); background: var(--elevated); font-size: 28px; }
  .workspace-utility-icon { display: flex; align-items: center; justify-content: center; }
  .workspace-utility-icon svg { width: 21px; height: 21px; }
  .workspace-utility-label { display: none; position: absolute; inset-inline-end: 54px; white-space: nowrap; padding: 8px 12px; background: var(--card); border: 1px solid var(--border); border-radius: 7px; font-size: 12px; color: var(--text); box-shadow: 0 4px 18px rgb(0 0 0 / 12%); }
  .workspace-utility:hover .workspace-utility-label,.workspace-utility:focus-visible .workspace-utility-label { display: block; }
  .workspace-utility-bottom { margin-top: auto; display: grid; gap: 8px; }
}
@media (max-width: 1000px) {
  .workspace-context { flex-basis: 100%; order: 4; color: var(--muted); font-size: 12px; font-weight: 400; }
  .workspace-group-label { display: none; }
  .workspace-framed .top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .workspace-framed .top > .brand { grid-column: 1; grid-row: 1; }
  .workspace-framed .top > .workspace-create { grid-column: 2; grid-row: 1; }
  .workspace-framed .top > .workspace-context { grid-column: 1; grid-row: 2; min-width: 0; overflow-wrap: anywhere; }
  .workspace-framed .top > .workspace-tools { grid-column: 2; grid-row: 2; justify-self: end; }
  .workspace-framed.workspace-mobile-ready { padding-block-end: calc(76px + env(safe-area-inset-bottom)); }
  .workspace-framed.workspace-mobile-ready .tabs { display: none; }
  .workspace-framed.workspace-mobile-ready .workspace-navigation-sidebar { display: none; }
  .workspace-framed.workspace-mobile-ready .app-shell { display: block; }
  .workspace-mobile-nav { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 80; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: var(--card); border-block-start: 1px solid var(--border); box-sizing: border-box; }
  .workspace-framed .brand { flex: 1; min-width: 0; }
  .workspace-framed .brand-copy { flex: 1; }
  .workspace-framed .brand small { display: none; }
  .workspace-create { padding-inline: 12px; font-size: 12px; }
  .workspace-framed .top > .workspace-pin { display: none; }
}
@media (max-width: 600px) {
  .workspace-framed .workspace-switcher-label { white-space: nowrap; }
  .workspace-framed .workspace-create { min-width: 76px; padding-inline: 12px; font-size: 12px; }
  .workspace-framed .workspace-switcher-control { flex: 1; width: 100%; max-width: none; }
  .workspace-framed .workspace-tools > summary { position: relative; width: 44px; min-height: 44px; padding-inline: 0; justify-content: center; }
  .workspace-framed .workspace-tools > summary > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .workspace-framed .workspace-tools > summary > svg { display: none; }
  .workspace-framed .workspace-tools > summary::before { content: "⋯"; font-size: 22px; }
  .workspace-framed .top { flex-wrap: wrap; }
  .workspace-framed .brand { flex-basis: calc(100% - 100px); }
  .workspace-framed .workspace-tools { margin-inline-start: auto; }
  .workspace-composer[open] { grid-template-columns: minmax(0,1fr); padding: 18px; gap: 16px; max-height: calc(100dvh - 16px); width: calc(100vw - 16px); }
  .workspace-create-nav { padding: 0 0 12px; border-inline-end: 0; border-bottom: 1px solid var(--border); display: flex; overflow-x: auto; gap: 4px; align-items: center; flex-wrap: wrap; }
  .workspace-create-nav h2 { flex-basis: 100%; margin: 0 0 8px; }
  .workspace-create-nav button { width: auto; margin: 0; flex: 0 0 auto; }
  .workspace-create-feedback { flex-basis: 100%; margin: 8px 0 0; }
  .workspace-navigation-dialog[open] { grid-template-columns: minmax(0, 1fr); width: calc(100vw - 20px); max-height: calc(100dvh - 20px); gap: 16px; padding: 16px; }
}

html[data-route-pending] body::after{content:"";position:fixed;z-index:2147483000;inset-block-start:env(safe-area-inset-top,0px);inset-inline:0;block-size:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:route-pending 1.1s linear infinite;pointer-events:none}
@keyframes route-pending{from{background-position:-40% 0}to{background-position:140% 0}}
@media (forced-colors: active) {
  .workspace-mobile-item.active, .workspace-navigation-destination.active { border: 1px solid Highlight; color: Highlight; }
  .workspace-mobile-item:focus-visible, .workspace-navigation-destination:focus-visible, .workspace-navigation-close:focus-visible { outline-color: Highlight; }
}
@media (prefers-reduced-motion: reduce) {
  .workspace-framed, .workspace-framed *, .workspace-navigation-dialog::backdrop { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html[data-route-pending] body::after { animation: none; background: var(--accent); opacity: .6; }
}

.workspace-all-tools { min-height: 44px; flex: 0 0 auto; margin-block-end: 8px; padding: 10px 12px; text-align: start; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: var(--card); font: inherit; font-size: 13px; cursor: pointer; }
.workspace-all-tools:focus-visible, .workspace-tool-search:focus-visible, .workspace-create-alternatives summary:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.workspace-health { grid-column: 1 / -1; border-block-start: 1px solid var(--border); padding-block-start: 12px; margin-block-start: 12px; color: var(--text); }
.workspace-health summary { min-height: 44px; padding-block: 10px; cursor: pointer; }
.workspace-health p { font-size: 13px; line-height: 1.7; }
.workspace-health-status { font-weight: 600; }
.workspace-health-list { list-style: none; padding: 0; max-height: 18rem; overflow: auto; }
.workspace-health-list li { padding-block: 10px; border-block-end: 1px solid var(--border); }
.workspace-health :is(code,pre) { font-size: 12px; overflow-wrap: anywhere; white-space: pre-wrap; }
.workspace-health pre { padding: 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--card); max-height: 18rem; overflow: auto; }
.workspace-health-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.workspace-health button { min-height: 44px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; font: inherit; color: var(--text); background: var(--card); cursor: pointer; }
.workspace-health :is(button,summary,pre):focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.workspace-tool-search-label { display: grid; gap: 6px; grid-column: 1 / -1; font-size: 13px; }
.workspace-tool-search { min-width: 0; width: 100%; min-height: 44px; box-sizing: border-box; border: 1px solid var(--border); border-radius: 9px; background: var(--bg); color: var(--text); padding: 10px 12px; font: inherit; }
.workspace-tool-empty { grid-column: 1 / -1; color: var(--muted); }
.workspace-tool-empty[hidden], .workspace-nav-group[hidden], .workspace-pinned-destination[hidden], .workspace-mobile-item[hidden] { display: none; }
.workspace-navigation-head { position: sticky; top: -20px; z-index: 2; background: var(--card); padding-block-start: 12px; }
.workspace-composer[open] { grid-template-columns: minmax(0, 1fr); width: min(640px, calc(100vw - 32px)); gap: 12px; }
.workspace-create-nav { padding: 0; border: 0; display: block; overflow: visible; }
.workspace-create-alternatives > summary, .workspace-more-create > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--muted); font-size: 13px; }
.workspace-create-alternatives > summary::after, .workspace-more-create > summary::after { content: '+'; margin-inline-start: auto; }
.workspace-create-alternatives[open] > summary::after, .workspace-more-create[open] > summary::after { content: '−'; }
.workspace-create-options { display: flex; flex-wrap: wrap; gap: 6px; }
.workspace-create-options button { flex: 1 1 120px; width: auto; }
.workspace-more-create[open] { border-block-start: 1px solid var(--border); }
.workspace-create-feedback { margin-block: 4px; }
@media (max-width: 1000px) { .workspace-mobile-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); } .workspace-mobile-item { font-size: 11px; } }
@media (max-width: 600px) { .workspace-navigation-head { top: -16px; } .workspace-composer[open] { width: calc(100vw - 16px); } }

.workspace-mobile-item > span:last-child { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


/* Reference light preview: unpublished presentation experiment; native QA pending.
   Existing navigation, routes, frame breakpoints and mobile clearance are owned by the host. */
html[data-theme="light"] .workspace-framed .workspace > main { padding: 24px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html[data-theme="light"] .workspace-framed .workspace-navigation-sidebar { border-radius: 20px; }
html[data-theme="light"] .workspace-framed .workspace-navigation-sidebar .tabs .tab { min-height: 44px; padding-block: 8px; border-radius: 12px; font-size: 13px; gap: 10px; }
html[data-theme="light"] .workspace-framed .workspace-group-label { min-height: 44px; padding-inline: 12px; font-size: 11px; letter-spacing: .025em; }
html[data-theme="light"][dir="rtl"] .workspace-framed .workspace-group-label { letter-spacing: 0; }
html[data-theme="light"] .workspace-framed :is(.workspace-all-tools,.workspace-pin,.workspace-switcher-control) { min-height: 44px; border-radius: 12px; }
html[data-theme="light"] .workspace-framed .workspace-create { min-height: 48px; border-radius: 999px; padding-inline: 20px; font-size: 13px; }
html[data-theme="light"] .workspace-navigation-dialog { border-radius: 20px; }


html #workspace-navigation-dialog[open] { display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;overflow:auto; }
#workspace-navigation-dialog .workspace-navigation-catalog { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0; }
#workspace-navigation-dialog .workspace-navigation-group { display:contents; }
#workspace-navigation-dialog .workspace-navigation-group[hidden] { display:none!important; }
#workspace-navigation-dialog .workspace-navigation-group-heading { position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
#workspace-navigation-dialog .workspace-navigation-destination { display:flex;align-items:center;justify-content:start;gap:12px;min-height:68px;padding:12px;text-align:start;border-radius:14px; }
#workspace-navigation-dialog .workspace-navigation-destination .tab-icon { flex:0 0 auto;inline-size:30px;block-size:30px; }
#workspace-navigation-dialog .workspace-tool-tile-copy { display:flex;flex-direction:column;gap:3px;min-inline-size:0; }
#workspace-navigation-dialog .workspace-tool-tile-copy>span { font-size:12px;line-height:1.45;overflow-wrap:anywhere; }
#workspace-navigation-dialog .workspace-tool-category { font-size:10px;font-weight:400;line-height:1.5;color:var(--muted); }
#workspace-navigation-dialog .workspace-tool-tile-copy>.workspace-tool-blurb { font-size:13px;font-weight:400;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
#workspace-navigation-dialog .workspace-tool-search-label { margin:0; }
#workspace-navigation-dialog .workspace-drawer-pin { justify-self:start;inline-size:auto;max-inline-size:100%;padding:8px 14px;min-height:44px; }
#workspace-navigation-dialog .workspace-navigation-head { margin:0;padding:0 0 12px; }
#workspace-navigation-dialog .workspace-navigation-head h2 { font-size:23px; }
@media(max-width:650px) { html #workspace-navigation-dialog[open] { width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px;gap:14px; } #workspace-navigation-dialog .workspace-navigation-catalog { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; } #workspace-navigation-dialog .workspace-navigation-destination { gap:9px;padding:10px;min-height:64px; } }
@media(max-width:380px) { #workspace-navigation-dialog .workspace-navigation-destination { gap:7px;padding:9px; } #workspace-navigation-dialog .workspace-navigation-destination .tab-icon { inline-size:24px;block-size:24px; } #workspace-navigation-dialog .workspace-tool-tile-copy>span { font-size:11px; } }
html[data-theme="light"] .workspace-navigation-destination { min-height: 44px; border-radius: 12px; }
@media (max-width: 1000px) {
  html[data-theme="light"] .workspace-framed .workspace > main { padding: 16px; }
  html[data-theme="light"] .workspace-framed .workspace-mobile-item { min-height: 56px; border-radius: 12px; }
}
@media (max-width: 600px) {
  html[data-theme="light"] .workspace-framed .workspace-create { min-height: 44px; padding-inline: 12px; }
}


.workspace-entry-options[hidden] { display: none !important; }
body.workspace-first-task .workspace-entry-options { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; }
body.workspace-first-task .workspace-entry-options .workspace-all-tools { margin: 0; white-space: nowrap; min-block-size: 44px; font-size: 12px; }
body.workspace-first-task .workspace-entry-options .workspace-utility-bottom { display: flex; gap: 4px; margin: 0; }
body.workspace-first-task .workspace-entry-options .workspace-utility { display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: var(--card); }
body.workspace-first-task :is(.workspace-navigation-sidebar,.workspace-utilities,.workspace-mobile-nav) { display: none !important; }
body.workspace-first-task .top > :not(.brand):not(.workspace-entry-options):not(.workspace-tools) { display: none !important; }
#panel-home.home-first-task > :not(#first-run-root) { display: none !important; }
#panel-home.home-first-task { display: block; min-block-size: 0; }
body.workspace-first-task #panel-home > #first-run-root { margin: 0; min-block-size: 0; }
body.workspace-first-task .workspace-entry-options .workspace-utility-label { display: none; }
@media (min-width: 1001px) {
  body.workspace-first-task.workspace-framed .top { justify-content: flex-end; }
  body.workspace-first-task.workspace-framed .workspace > main { padding-block-start: 24px; }
}
@media (max-width: 1000px) {
  body.workspace-first-task.workspace-framed.workspace-mobile-ready { padding-block-end: 0; }
  body.workspace-first-task.workspace-framed.workspace-fit .top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px; min-block-size: 0; }
  body.workspace-first-task.workspace-framed .top > .brand { flex: 1 1 auto; flex-basis: auto; }
  body.workspace-first-task .workspace-entry-options { order: 3; flex: 1 1 100%; margin: 0; justify-content: space-between; }
  body.workspace-first-task .top > .workspace-tools { margin: 0; }
  body.workspace-first-task.workspace-framed.workspace-fit .workspace { padding: 0; }
  body.workspace-first-task.workspace-framed.workspace-fit .workspace > main { padding: 8px 16px 24px; }
}


@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  html[data-theme] .workspace-framed :is(.workspace-navigation-sidebar, .workspace-utilities, .workspace-mobile-nav) {
    background: var(--rail);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
}
@media (forced-colors: active) {
  html[data-theme] .workspace-framed :is(.workspace-navigation-sidebar, .workspace-utilities, .workspace-mobile-nav) {
    --muted: CanvasText;
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
  /**/
  .workspace-command-option[aria-selected="true"] { outline-color: Highlight; border-color: Highlight; }
  html[data-route-pending] body::after { background: Highlight; }
}


.workspace-route-state{max-inline-size:48rem;margin:clamp(16px,4vw,48px) auto;padding:clamp(20px,4vw,40px);overflow-wrap:anywhere}
.workspace-route-state[hidden]{display:none!important}
.workspace-route-state h1{font-size:clamp(24px,3vw,36px);line-height:1.4;margin:0 0 16px}
.workspace-route-state p{font-size:16px;line-height:1.6}
.workspace-route-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:24px}
.workspace-route-actions :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;font:inherit;text-decoration:none;color:var(--text);background:var(--panel)}

.workspace-route-actions [data-route-recovery="home"]{background:var(--at-green);color:var(--at-green-ink);border-color:var(--at-green-edge)}
.workspace-route-actions :is(a,button):focus-visible{outline:3px solid var(--at-green-edge);outline-offset:3px}
.tabs a.tab,.workspace-utility,.workspace-navigation-destination,.workspace-pinned-destination,.workspace-mobile-nav a{text-decoration:none}


.rt-field-requirement{font-size:13px;line-height:1.6;font-weight:400;color:var(--muted);margin-inline-start:8px}
.rt-field-error{font-size:14px;line-height:1.6;color:var(--danger);margin:6px 0 0;overflow-wrap:anywhere}
.rt-field-error[hidden],.rt-error-summary[hidden]{display:none!important}
.rt-error-summary{border:1px solid var(--danger);border-radius:12px;padding:14px 18px;margin:12px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.rt-error-summary p{margin:0 0 8px;font:inherit;font-weight:600}
.rt-error-summary ul{margin:0;padding-inline-start:22px}
.rt-error-summary a{color:var(--text);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:6px}
.rt-save-reason{font-size:14px;line-height:1.6;margin:0 0 8px;flex-basis:100%;color:var(--muted);overflow-wrap:anywhere}
.rt-save-reason[hidden]{display:none!important}
.rt-error-summary:focus-visible,.rt-error-summary a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(forced-colors:active){.rt-error-summary{border-color:CanvasText}.rt-field-error,.rt-save-reason,.rt-field-requirement{color:CanvasText}.rt-error-summary a{color:LinkText}}
.workspace-data-backups{margin-block:18px;padding-block:14px;border-block-start:1px solid var(--border)}
.workspace-data-backups > summary{font-size:16px;line-height:1.6;font-weight:600;min-block-size:44px;padding-block:10px;cursor:pointer}
.workspace-data-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:12px}
.workspace-data-actions :is(p,input[type=file]){flex-basis:100%}
.workspace-data-actions :is(button,p),.workspace-danger-zone p{font-size:14px;line-height:1.6}
.workspace-danger-zone{border:1px solid var(--danger);border-radius:12px;padding:18px;margin-block-start:18px}
.workspace-danger-zone h3{font-size:16px;line-height:1.6;margin:0 0 8px}
#workspace-reset-dialog label{display:flex;flex-direction:column;gap:8px;margin-block:18px;font-size:14px;line-height:1.6}
#workspace-reset-dialog input{min-block-size:44px;font-size:16px;max-inline-size:100%}


.client-removal-dialog{max-inline-size:min(38rem,calc(100vw - 24px));max-block-size:calc(100dvh - 24px);overflow:auto;overflow-wrap:anywhere}
.client-removal-dialog p,.client-removal-dialog li{font-size:16px;line-height:1.6}
.client-removal-dialog .documents-actions{display:flex;flex-wrap:wrap;gap:12px}
.client-removal-dialog .documents-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding:10px 14px;font:inherit;font-size:14px;border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none}
.client-removal-dialog [role=status]{font-size:14px;line-height:1.6}
.client-removal-dialog .client-removal-name{font-weight:600}
.client-removal-dialog .client-removal-work{border:1px solid var(--danger);border-radius:12px;padding:14px 18px;margin-block:16px}
.client-removal-dialog .client-removal-work label{display:flex;align-items:center;gap:12px;min-block-size:44px;font-weight:600;cursor:pointer}
.client-removal-dialog .client-removal-work input{inline-size:20px;min-inline-size:20px;block-size:20px;min-block-size:20px;flex:none;accent-color:var(--danger)}
.client-removal-dialog .client-removal-work p{margin:6px 0 0;font-size:14px;color:var(--muted)}
.client-removal-dialog .documents-actions .client-removal-destructive{border-color:var(--danger);color:var(--danger);font-weight:600}

/* The search mark has no intrinsic size. Focus drops .rt-route, and the only
   18px rule lives under that class, so the icon otherwise paints at the SVG
   default (~150px). Keep it a mark on every route, including that one. */
#workspace-command { display: inline-flex; align-items: center; gap: 8px; max-inline-size: 100%; }
#workspace-command .workspace-command-icon,
#workspace-command svg { flex: none; width: 18px; height: 18px; inline-size: 18px; block-size: 18px; }

html body.workspace-framed:not(.rt-route) .top > p.workspace-context {
  display: inline-flex; align-items: center; box-sizing: border-box; min-height: 40px; margin: 0; padding: 0 14px;
  border: 1px solid var(--border); border-radius: 12px; background: var(--card);
  color: var(--text); opacity: 1; font-size: 13px; font-weight: 600; line-height: 1.4;
}

/* Search results (U2-02): Records, Pages and Create under the same field, in the same dialog. One column; the field keeps focus and the
   highlighted result is announced through aria-activedescendant, so the highlight carries the 3px ring a focused control would.
   Its system-colour rule sits in the chrome's one spaced forced-colors block above, which must stay the last of its kind. */
.workspace-command-results { grid-column: 1 / -1; display: grid; gap: 14px; min-inline-size: 0; }
.workspace-command-results[hidden] { display: none; }
.workspace-command-group { display: grid; gap: 4px; min-inline-size: 0; }
.workspace-command-group-heading { margin: 0 10px 2px; color: var(--muted); font-size: 12px; font-weight: 600; }
.workspace-command-option { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; min-block-size: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: 10px; color: var(--text); font-size: 14px; line-height: 1.4; text-align: start; cursor: pointer; }
.workspace-command-option:hover { background: var(--elevated); }
.workspace-command-option[aria-selected="true"] { background: var(--elevated); border-color: var(--border); outline: 3px solid var(--green); outline-offset: -3px; }
.workspace-command-option[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.workspace-command-option-title { min-inline-size: 0; overflow-wrap: anywhere; font-weight: 600; }
.workspace-command-option-kind { color: var(--muted); font-size: 12px; }
.workspace-command-option-sub { grid-column: 1 / -1; min-inline-size: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 13px; }
.ui-state {
  display: grid;
  justify-items: center;
  gap: .75rem;
  width: 100%;
  padding: clamp(1rem, 4vw, 2rem);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--text);
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
}

.ui-state__title,
.ui-state__message { margin: 0; max-width: 56ch; }
.ui-state__title { font-size: var(--fs-title); line-height: var(--lh-tight); }
.ui-state__message { color: var(--muted); line-height: var(--lh-body); }

.ui-state__spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 3px solid var(--border);
  border-block-start-color: var(--green);
  border-radius: 50%;
  animation: ui-state-spin .8s linear infinite;
}

.ui-state__action {
  min-width: 44px;
  min-height: 44px;
  padding: .65rem 1rem;
  border: 1px solid var(--green);
  border-radius: var(--radius);
  background: var(--green);
  color: #041108;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ui-state__action:focus-visible {
  outline: 3px solid var(--text);
  outline-offset: 3px;
}

@keyframes ui-state-spin { to { transform: rotate(1turn); } }

@media (prefers-reduced-motion: reduce) {
  .ui-state__spinner { animation: none; }
}

@media (forced-colors: active) {
  .ui-state { border-color: CanvasText; background: Canvas; color: CanvasText; }
  .ui-state__message { color: CanvasText; }
  .ui-state__spinner { border-color: GrayText; border-block-start-color: Highlight; }
  .ui-state__action { border-color: ButtonText; background: ButtonFace; color: ButtonText; forced-color-adjust: auto; }
}
.create-draft-dialog { box-sizing: border-box; width: min(680px,calc(100vw - 28px)); max-height: calc(100dvh - 28px); overflow: auto; padding: 28px; background: var(--card); color: var(--text); border: 1px solid var(--border); border-radius: 16px; overscroll-behavior: contain; }
.create-draft-dialog::backdrop { background: rgb(0 0 0 / 60%); }
.create-draft-dialog h2 { margin: 0 0 8px; overflow-wrap: anywhere; }
.create-draft-dialog form > p { color: var(--muted); font-size: 12px; margin-bottom: 20px; }
.create-draft-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.create-draft-field { display: grid; grid-template-columns: auto minmax(0,1fr); align-content: start; gap: 8px; min-width: 0; font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }

.create-draft-field > :is(input,textarea,select,small,.localized-control,.rt-field-error) { grid-column: 1 / -1; }
.create-draft-field > .rt-field-requirement { margin: 0; align-self: baseline; }
.create-draft-dialog .rt-error-summary { margin-block: 0 16px; }
.create-draft-field :is(input,textarea,select) { box-sizing: border-box; min-width: 0; width: 100%; min-height: 44px; padding: 12px; border: 1px solid var(--border); border-radius: 8px; font: inherit; background: var(--input); color: var(--text); scroll-margin-block: 24px 160px; }

html[data-theme="light"] .create-draft-dialog { --create-draft-input-border: #8b8373; }
html[data-theme="light"] .create-draft-dialog .create-draft-field :is(input,textarea,select):enabled { border-color: var(--create-draft-input-border); }
html[data-theme="light"] .create-draft-dialog .create-draft-field :is(input,textarea,select):enabled:focus { border-color: var(--green); }
.create-draft-field textarea { min-height: 96px; resize: vertical; }
.create-draft-wide { grid-column: 1 / -1; }
.create-draft-title { margin-block: 20px; }
.create-draft-title small { font-size: 12px; }
.create-draft-dialog .workspace-create-details { margin-block-start: 20px; }
.create-draft-dialog .workspace-create-details > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 12px; min-height: 44px; cursor: pointer; overflow-wrap: anywhere; }
.create-draft-dialog .workspace-create-details > summary::after { grid-column: 2; grid-row: 1; }
.create-draft-detail-date, .create-draft-detail-dirty { grid-column: 1 / -1; min-width: 0; display: block; margin-block-start: 4px; color: var(--muted); font-size: 12px; font-weight: 400; }
.create-draft-detail-dirty[hidden] { display: none; }
.create-draft-dialog .workspace-create-details[open] > .create-draft-grid { margin-block-start: 16px; }
.create-draft-actions { position: sticky; bottom: -28px; z-index: 1; display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; margin-top: 24px; padding-block: 14px 28px; background: var(--card); border-top: 1px solid var(--border); }
.create-draft-actions .create-draft-save-hint { flex-basis: 100%; margin: 0 0 4px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.create-draft-actions button { min-width: 0; min-height: 44px; padding: 10px 18px; border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--text); font: inherit; cursor: pointer; overflow-wrap: anywhere; }
.create-draft-actions .create-draft-save { background: var(--green); color: #101713; border-color: transparent; font-weight: 600; }
html[data-theme="light"] .create-draft-actions .create-draft-save { color: #fff; }
.create-draft-dialog .create-draft-error { color: var(--danger); overflow-wrap: anywhere; }
.create-draft-field > .create-draft-error { margin: 0; font-size: 12px; }
.create-draft-lock-chip, .create-draft-prefill-hint { grid-column: 1 / -1; min-height: 44px; display: inline-flex; align-items: center; }
.create-draft-dialog :is(button,input,textarea,select):disabled { cursor: default; opacity: .65; }
.create-draft-dialog :is(button,input,textarea,select,summary):focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
@media(max-width:600px){
  .create-draft-dialog { padding: 18px; }
  .create-draft-grid { grid-template-columns: minmax(0,1fr); }
  .create-draft-actions { bottom: -18px; padding-block-end: max(18px,env(safe-area-inset-bottom)); }
  .create-draft-actions button { flex: 1 1 auto; }
}

#documents-root { --document-border:var(--border); --document-muted:var(--muted); color:var(--text); }
#documents-root [hidden] { display:none!important; }
.documents-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:2px 20px; }
.documents-head h1 { font-size:26px; letter-spacing:-.035em; margin:0 0 6px; }
.documents-head p { margin:0; font-size:14px; max-width:62ch; line-height:1.7; }
.documents-head-actions { display:flex; gap:8px; flex-wrap:wrap; }
.documents-share-shortcut { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 16px; margin-block:8px 16px; border:1px solid var(--border); border-radius:16px; background:var(--card); }
.documents-share-shortcut p { margin:0; font-size:13px; line-height:1.6; }
#documents-root button,#documents-root input,#documents-root select { min-height:44px; border:1px solid var(--border); border-radius:7px; font:inherit; }
#documents-root button { color:var(--text); background:var(--card); padding:9px 14px; cursor:pointer; box-shadow:none; }
#documents-root button:hover { background:var(--surface-2,var(--bg)); border-color:var(--muted); }
#documents-root button:disabled { opacity:.55; cursor:not-allowed; }
#documents-root .documents-primary { color:#fff; background:var(--suite-action,#007348); border-color:var(--suite-action,#007348); font-weight:600; }
#documents-root .documents-primary:hover { background:var(--suite-action,#007348); filter:brightness(.9); }
#documents-root :is(button,input,select,summary):focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.documents-modes { display:flex; align-items:center; gap:6px; border-bottom:1px solid var(--border); padding-bottom:12px; }
#documents-root .documents-modes button { border-color:transparent; background:transparent; padding-inline:16px; }
#documents-root .documents-modes button[aria-pressed=true] { background:var(--card); border-color:var(--border); font-weight:600; }
.documents-context { margin-inline-start:auto; max-width:50%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; color:var(--muted); }
.documents-feedback { margin:10px 0; min-height:0; font-size:13px; }
.documents-feedback:empty { display:none; }
.documents-editor-bar { display:flex; gap:8px; padding-block:16px; }
.documents-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) 180px 150px; gap:12px; margin-top:20px; }
.documents-field { display:grid; gap:6px; min-width:0; font-size:13px; color:var(--muted); }
#documents-root input,#documents-root select { width:100%; background:var(--card); color:var(--text); padding:10px 12px; }
#documents-root textarea { width:100%; background:var(--card); color:var(--text); padding:10px 12px; border:1px solid var(--border); border-radius:7px; font:inherit; resize:vertical; min-height:110px; }
#proposal-delivery-dialog { width:min(740px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
#proposal-delivery-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
#proposal-delivery-form>:not(.documents-field),#proposal-delivery-form>.delivery-field-deliveryTemplate,#proposal-delivery-form>.delivery-field-deliveryTasks { grid-column:1/-1; }
#proposal-delivery-form>.documents-form-actions { position:sticky; bottom:-26px; background:var(--card); margin:0 -26px -26px; padding:16px 26px; border-top:1px solid var(--border); }
@media(max-width:600px){#proposal-delivery-form { grid-template-columns:1fr; }#proposal-delivery-form>.documents-form-actions { bottom:-22px; margin:0 -22px -22px; padding:16px 22px; flex-wrap:wrap; }}
#proposal-delivery-source { margin:0; font-size:17px; font-weight:600; overflow-wrap:anywhere; }
#proposal-delivery-preview { padding:16px; margin:0; background:var(--accent-wash,rgba(0,134,80,.09)); border:1px solid var(--border); border-radius:8px; }
#proposal-delivery-preview h3 { margin:0 0 12px; }
#proposal-delivery-preview button { margin-inline-end:8px; margin-block-end:8px; }
#proposal-delivery-dialog :is(input,select,textarea,button):focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.documents-results { font-size:13px; margin:14px 0 10px; }
.documents-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:20px; align-items:start; }
.documents-list { border:1px solid var(--border); border-radius:9px; background:var(--card); overflow:hidden; min-height:220px; }
#documents-root .documents-row { display:flex; width:100%; border:0; border-bottom:1px solid var(--border); border-radius:0; padding:17px 18px; gap:16px; text-align:start; align-items:center; background:var(--card); }
#documents-root .documents-row:last-child { border-bottom:0; }
#documents-root .documents-row[aria-pressed=true] { background:var(--accent-wash,rgba(0,134,80,.09)); }
.documents-row-main { display:grid; gap:5px; min-width:0; flex:1; }
.documents-row-main strong { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.documents-row-main .muted { font-size:13px; overflow-wrap:anywhere; }
.documents-row-meta { display:grid; gap:5px; text-align:end; font-variant-numeric:tabular-nums; flex-shrink:0; font-size:14px; }
.documents-row-meta .muted { font-size:12px; }
.documents-detail { background:var(--card); border:1px solid var(--border); border-radius:9px; padding:22px; min-height:220px; min-width:0; }
.documents-detail h2 { font-size:21px; margin:4px 0 20px; line-height:1.5; overflow-wrap:anywhere; }
.documents-eyebrow { margin:0 0 4px; color:var(--muted); font-size:12px; font-weight:500; }
.documents-facts { margin:0 0 20px; display:grid; gap:12px; }
.documents-fact { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; font-size:13px; }
.documents-fact dt { color:var(--muted); }.documents-fact dd { margin:0; overflow-wrap:anywhere; }
.documents-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }
.documents-versions { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.documents-versions h3 { font-size:15px; margin:0 0 12px; }
.documents-version-summary { margin-block:16px; font-size:13px; line-height:1.7; overflow-wrap:anywhere; white-space:pre-wrap; }
.documents-version-summary p { margin:8px 0; }
.documents-version-contents { margin-block:12px; font-size:13px; }
.documents-version-contents summary { min-height:44px; padding-block:10px; cursor:pointer; }
.documents-version-contents pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:300px; overflow:auto; font-size:12px; direction:ltr; text-align:left; }
.documents-versions>.muted { font-size:12px; line-height:1.7; }
.documents-placeholder { font-size:14px; line-height:1.8; }
.documents-empty-title { font-size:17px; margin:34px 24px 10px; }.documents-list>p { margin:0 24px 30px; font-size:14px; line-height:1.7; }
.documents-note { font-size:13px; line-height:1.7; margin-block:18px 4px; }.documents-limits { font-size:12px; margin:0 0 20px; }
.documents-dialog { padding:26px; width:min(520px,calc(100% - 32px)); border:1px solid var(--border); border-radius:12px; background:var(--card); color:var(--text); }
.documents-dialog::backdrop { background:rgba(0,0,0,.55); }.documents-dialog form { display:grid; gap:16px; }.documents-dialog h2 { font-size:21px; margin:0 0 4px; }
.documents-dialog .muted { font-size:13px; line-height:1.7; margin:0; }.documents-error { color:var(--danger); font-size:13px; line-height:1.7; }.documents-error:empty { display:none; }
.documents-form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:4px; }
#panel-proposal[data-document-view=library]>.proposal-studio-head,#panel-proposal[data-document-view=library]>#proposal-empty,#panel-proposal[data-document-view=library]>#proposal-form { display:none!important; }
#panel-proposal[data-document-view=editor] .proposal-studio-title { display:none; }
#panel-proposal[data-document-view=editor] .documents-note,#panel-proposal[data-document-view=editor] .documents-limits { display:none; }
@media(max-width:1050px){.documents-split { grid-template-columns: minmax(0,1fr) minmax(260px,320px); gap:14px; }.documents-row-meta .muted { display:none; }}
@media(max-width:760px){.documents-head { align-items:flex-start; flex-direction:column; gap:14px; }.documents-head h1 { font-size:23px; }.documents-toolbar { grid-template-columns:1fr 1fr; }.documents-toolbar>.documents-field:first-child { grid-column:1/-1; }.documents-split { grid-template-columns:1fr; }.documents-detail { padding:20px; }.documents-context { max-width:40%; }.documents-editor-bar { flex-wrap:wrap; }.documents-row { gap:10px; }.documents-dialog { padding:22px; max-height:calc(100dvh - 32px); overflow:auto; }}
@media(prefers-reduced-motion:reduce){#documents-root *,#documents-root *::before,#documents-root *::after { transition:none!important; animation:none!important; }}

#documents-root :is(.documents-list,.documents-detail,.documents-editor-bar) { min-width:0; border-color:var(--border); background:var(--card); }
#documents-root .documents-toolbar { padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--row); }
#documents-root :is(.documents-placeholder,.documents-empty-title) { padding:18px; border:1px dashed var(--border); border-radius:10px; background:var(--row); }
.documents-secondary { margin-block:0 14px; border:1px solid var(--border); border-radius:10px; background:var(--row); }
.documents-secondary > summary { display:flex; align-items:center; min-height:44px; padding:8px 12px; cursor:pointer; font-weight:600; }
.documents-secondary[open] > summary { border-block-end:1px solid var(--border); }
.documents-secondary :is(.documents-modes,.documents-editor-bar) { margin:0; padding:10px 12px; }
.documents-current { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin-block:0 10px; padding:8px 12px; border-inline-start:3px solid var(--green); background:var(--row); }
.documents-current .documents-context { min-width:0; font-weight:600; overflow-wrap:anywhere; }
.documents-current .documents-feedback { margin:0; }
.time-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.time-head h1 { margin:0 0 6px; font-size:26px; letter-spacing:-.02em; }
.time-head p { margin:0; max-width:48ch; }
.time-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.time-primary { background:var(--time-action-bg); color:var(--time-action-fg); border:1px solid var(--time-action-bg); border-radius:8px; padding:10px 16px; min-height:44px; font-weight:600; cursor:pointer; }
.time-primary:hover:not(:disabled) { filter:brightness(.92); }
.time-primary:disabled { opacity:.5; cursor:not-allowed; }
.time-global { display:flex; align-items:center; gap:12px; padding:8px 22px; background:var(--card); border-bottom:1px solid var(--border); min-width:0; }
.time-global[hidden] { display:none; }
.time-global-text { color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.time-global .time-primary { margin-inline-start:auto; padding:8px 12px; font-size:12px; flex-shrink:0; }
.time-global.is-running .time-global-text { color:var(--text); }
.time-global:not(.is-running) .time-primary { background:transparent; color:var(--text); border-color:var(--border); }
.time-clock { font-variant-numeric:tabular-nums; font-size:14px; white-space:nowrap; }
.time-global-feedback { font-size:12px; max-width:35ch; }
.time-feedback:empty,.time-global-feedback:empty { display:none; }
.time-feedback { font-size:14px; line-height:1.6; overflow-wrap:anywhere; color:var(--muted); }
.time-error { color:var(--danger); }
.time-filters { display:grid; grid-template-columns:2fr 1.5fr 1fr; gap:12px; margin:20px 0 8px; }
.time-advanced { margin:0 0 12px; }
.time-advanced summary { cursor:pointer; color:var(--muted); font-size:12px; min-height:44px; display:flex; align-items:center; gap:8px; }
.time-advanced summary::before { content:'+'; font-size:16px; }
.time-advanced[open] summary::before { content:'−'; }
.time-advanced-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding-bottom:12px; }
.time-field { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:14px; line-height:1.6; color:var(--text); overflow-wrap:anywhere; }
.time-field[hidden] { display:none; }
.time-field input,.time-field select { min-height:44px; width:100%; border:1px solid var(--border); background:var(--input); color:var(--text); border-radius:8px; padding:8px 10px; font:inherit; font-size:16px; line-height:1.5; box-sizing:border-box; min-width:0; }
.time-csv { width:100%; min-height:220px; padding:12px; border:1px solid var(--border); border-radius:8px; background:var(--input); color:var(--text); font:12px/1.6 Consolas,monospace; resize:vertical; box-sizing:border-box; }
.time-field input[type=checkbox] { width:24px; height:24px; min-height:24px; margin:10px 0; accent-color:var(--green); }
.time-field:has(input[type=checkbox]) { cursor:pointer; min-height:68px; }
.time-totals { font-size:13px; font-variant-numeric:tabular-nums; color:var(--muted); margin:20px 0 12px; }
.time-allocation { display:flex; align-items:center; justify-content:space-between; gap:12px; border-block:1px solid var(--border); padding:12px 0; }
.time-allocation span { font-size:14px; font-weight:600; }
.time-note { font-size:14px; line-height:1.7; color:var(--muted); margin:10px 0; }
.time-list { overflow:auto; border:1px solid var(--border); border-radius:10px; background:var(--card); margin:20px 0; }
.time-list table { width:100%; min-width:0; border-collapse:collapse; font-size:13px; }
.time-list th { font-size:11px; color:var(--muted); font-weight:500; background:var(--row); text-align:start; padding:12px; border-bottom:1px solid var(--border); white-space:nowrap; }
.time-list td { padding:12px; border-bottom:1px solid var(--border); vertical-align:middle; }
.time-list tr:last-child td { border-bottom:0; }
.time-list td strong { display:block; min-width:150px; font-weight:500; overflow-wrap:anywhere; }
.time-list small { display:block; margin-top:4px; }
.time-list input[type=checkbox] { width:20px; height:20px; accent-color:var(--green); cursor:pointer; }
.time-list td:first-child { min-width:44px; height:44px; cursor:pointer; }
.time-select-hit { display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; cursor:pointer; }
.time-row-actions { white-space:nowrap; }
.time-row-actions button { margin-inline-end:4px; }
.time-date,.time-value { white-space:nowrap; font-variant-numeric:tabular-nums; }
.time-head .ghost,.time-list .ghost,.time-dialog .ghost { min-height:44px; border-radius:8px; padding:8px 12px; }
.time-empty { padding:52px 24px; text-align:center; }
.time-empty h2 { font-size:18px; font-weight:500; }
.time-dialog { width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:28px; border:1px solid var(--border); border-radius:12px; background:var(--card); color:var(--text); overflow:auto; }
.time-dialog::backdrop { background:rgb(0 0 0 / 45%); }
.time-dialog h2 { margin:0 0 20px; font-size:22px; }
.time-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.time-form-fields .time-field:first-of-type { grid-column:1 / -1; }
.time-details { margin-top:18px; border-block-start:1px solid var(--border); padding-block-start:8px; }
.time-details summary { min-height:44px; box-sizing:border-box; padding:12px 8px; cursor:pointer; color:var(--text); background:var(--card); border-radius:8px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.time-details summary::marker { color:var(--muted); }
.time-detail-fields { padding:12px 0 4px; }
.time-detail-fields .time-field:first-of-type { grid-column:auto; }
.time-field input[aria-invalid="true"],.time-field select[aria-invalid="true"] { border-color:var(--danger); }
.time-context-billing { grid-column:1 / -1; }
.time-dialog .time-actions { margin-top:22px; justify-content:flex-end; }
.time-global :focus-visible,.time-head :focus-visible,.time-filters :focus-visible,.time-advanced :focus-visible,.time-list :focus-visible,.time-dialog :focus-visible,.time-allocation :focus-visible { outline:2px solid var(--green); outline-offset:3px; }
@media(max-width:1000px) { .time-head { flex-direction:column; } .time-advanced-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .time-global { padding:8px 14px; gap:8px; flex-wrap:wrap; } .time-global-text { flex:1; max-width:55%; } .time-global-feedback { width:100%; max-width:none; } .time-head h1 { font-size:23px; } .time-filters { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); } .time-filters .time-field:first-child { grid-column:1 / -1; } .time-dialog { padding:20px; } .time-form-fields { grid-template-columns:1fr; } .time-allocation { align-items:flex-start; flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .time-primary { transition:none; } }
@media(forced-colors:active) { .time-dialog :focus-visible { outline-color:Highlight; } .time-field input[aria-invalid="true"] { border:2px solid Mark; } .time-details summary { color:CanvasText; background:Canvas; } }
@media(max-width:700px) {
  .time-list table,.time-list tbody { display:block; }
  .time-list thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .time-list tr { display:grid; grid-template-columns:44px minmax(0,1fr); border-bottom:1px solid var(--border); padding:14px; }
  .time-list tr:last-child { border:0; }
  .time-list tr:nth-child(even) { background:var(--row); }
  .time-list tr td { padding:4px; border:0; min-width:0; background:transparent; }
  .time-list td:first-child { grid-column:1; grid-row:1 / 3; }
  .time-list td:nth-child(2) { grid-column:2; grid-row:1; font-size:11px; color:var(--muted); }
  .time-list td:nth-child(3) { grid-column:2; grid-row:2; }
  .time-list td:nth-child(4) { grid-column:2; grid-row:3; font-size:12px; color:var(--muted); }
  .time-list td:nth-child(5) { grid-column:2; grid-row:4; white-space:normal; font-weight:600; margin-top:6px; }
  .time-list td:nth-child(5)::before { content:attr(data-label) ' · '; font-weight:400; color:var(--muted); font-size:11px; }
  .time-list td:nth-child(6) { grid-column:2; grid-row:5; font-size:12px; }
  .time-list td:nth-child(7) { grid-column:2; grid-row:6; display:flex; gap:8px; margin-top:8px; }
  .time-list td strong { min-width:0; }
}
.time-global,#panel-timesheet,.time-dialog { --time-action-bg:var(--green); --time-action-fg:#07110b; }
html[data-theme="light"] .time-global,html[data-theme="light"] #panel-timesheet,html[data-theme="light"] .time-dialog { --time-action-bg:#007348; --time-action-fg:#fff; }

#panel-timesheet .time-filters { padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--row); }
#panel-timesheet :is(.time-list,.time-totals) { min-width:0; border-color:var(--border); background:var(--card); }
#panel-timesheet .time-empty { padding:18px; border:1px dashed var(--border); border-radius:10px; background:var(--row); }


@media screen {
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) { --time-action-bg: var(--green); --time-action-fg: #fffdf7; }
  html[data-theme="light"] #panel-timesheet .time-head { gap: 12px var(--tool-gap,18px); margin-block-end: var(--tool-gap,18px); padding-block-end: var(--tool-gap,18px); border-block-end: 1px solid var(--border); }
  html[data-theme="light"] #panel-timesheet .time-head > * { min-inline-size: 0; max-inline-size: 100%; }
  html[data-theme="light"] #panel-timesheet .time-head h1 { font-size: var(--tool-title-size,clamp(1.5rem,2.6vw,2rem)); line-height: 1.35; }
  html[data-theme="light"][dir="rtl"] #panel-timesheet .time-head h1 { letter-spacing: normal; }
  html[data-theme="light"] #panel-timesheet .time-head p { max-inline-size: 58ch; font-size: var(--fs-body,.92rem); line-height: 1.6; overflow-wrap: anywhere; }
  html[data-theme="light"] #panel-timesheet .time-filters { padding: 16px; margin-block: 0 12px; border-radius: var(--tool-card-radius,18px); }
  html[data-theme="light"] #panel-timesheet .time-filters .time-field { color: var(--text); }
  html[data-theme="light"] #panel-timesheet .time-totals { color: var(--text); font-size: var(--fs-body,.92rem); font-variant-numeric: tabular-nums; }
  html[data-theme="light"] #panel-timesheet .time-allocation { padding: 16px; border: 1px solid var(--border); border-radius: var(--tool-card-radius,18px); background: var(--card); }
  html[data-theme="light"] #panel-timesheet .time-allocation > span { min-inline-size: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
  html[data-theme="light"] #panel-timesheet .time-list { border-radius: var(--tool-card-radius,18px); box-shadow: 0 2px 8px rgb(28 62 44 / 5%); }
  html[data-theme="light"] #panel-timesheet .time-list th { font-size: var(--fs-muted,.86rem); color: var(--text); }
  html[data-theme="light"] #panel-timesheet .time-list td { font-size: var(--fs-body,.92rem); }
  html[data-theme="light"] #panel-timesheet .time-list small { color: var(--text); line-height: 1.6; }
  html[data-theme="light"] #panel-timesheet .time-value { font-weight: 600; font-variant-numeric: tabular-nums; }
  html[data-theme="light"] #panel-timesheet .time-row-actions { white-space: normal; }
  html[data-theme="light"] #panel-timesheet .time-empty { padding: var(--tool-card-pad,20px); border-radius: var(--tool-row-radius,10px); background: var(--card); }
  html[data-theme="light"] :is(#time-entry-dialog,#time-settings-dialog,#time-export-dialog) { padding: var(--tool-card-pad,20px); border-radius: var(--tool-card-radius,18px); background-image: none; box-shadow: 0 12px 30px rgb(28 62 44 / 12%); }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) button { min-inline-size: 44px; min-block-size: 44px; max-inline-size: 100%; border-radius: var(--tool-row-radius,10px); white-space: normal; overflow-wrap: anywhere; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) .time-field :is(input:not([type="checkbox"]),select) { min-inline-size: 0; min-block-size: 44px; border-radius: var(--tool-row-radius,10px); }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) .time-details summary { border-radius: var(--tool-row-radius,10px); }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) button:disabled { opacity: 1; background: var(--row); color: var(--text); border: 1px dashed var(--border); filter: none; cursor: not-allowed; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(input,select,textarea):disabled { opacity: 1; color: var(--text); background: var(--row); }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(input,select)[aria-invalid="true"] { border-color: var(--danger); }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) .time-feedback.time-error:not(:empty) { padding: 12px; color: var(--danger); background: var(--danger-surface); border-inline-start: 3px solid var(--danger); border-radius: var(--tool-row-radius,10px); line-height: 1.7; overflow-wrap: anywhere; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
}
@media screen and (max-width:700px) {
  html[data-theme="light"] :is(#time-entry-dialog,#time-settings-dialog,#time-export-dialog) { padding: 16px; }
  html[data-theme="light"] #panel-timesheet .time-list .time-row-actions { flex-wrap: wrap; }
}
@media screen and (prefers-reduced-motion:reduce) {
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(button,input,select,textarea,summary) { transition: none; }
}
@media screen and (prefers-contrast:more), screen and (prefers-reduced-transparency:reduce) {
  html[data-theme="light"] #panel-timesheet .time-list,
  html[data-theme="light"] :is(#time-entry-dialog,#time-settings-dialog,#time-export-dialog) { box-shadow: none; }
}
@media screen and (forced-colors:active) {
  html[data-theme="light"] #panel-timesheet :is(.time-filters,.time-allocation,.time-list,.time-empty),
  html[data-theme="light"] :is(#time-entry-dialog,#time-settings-dialog,#time-export-dialog) { color: CanvasText; background: Canvas; border-color: CanvasText; box-shadow: none; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) button { color: ButtonText; background: ButtonFace; border-color: ButtonText; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(input,select,textarea) { color: CanvasText; background: Canvas; border-color: ButtonText; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) button:disabled { background: ButtonFace; color: GrayText; border-color: GrayText; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(input,select,textarea):disabled { background: Canvas; color: GrayText; border-color: GrayText; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(input,select)[aria-invalid="true"],
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) .time-feedback.time-error:not(:empty) { border-color: Mark; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) .time-feedback.time-error:not(:empty) { color: CanvasText; background: Canvas; }
  html[data-theme="light"] :is(#panel-timesheet,#time-entry-dialog,#time-settings-dialog,#time-export-dialog) :is(button,input,select,textarea,summary):focus-visible { outline: 3px solid Highlight; outline-offset: 3px; }
}


.time-form-fields > .rt-error-summary { grid-column:1 / -1; min-width:0; }
.time-field .rt-field-requirement { margin-inline-start:0; }
