/* Traden's warm product theme. Layout and behaviour stay in the component
   stylesheets; these tokens and shared finishes keep every route consistent. */
html[data-theme='light'] {
  --ds-canvas: var(--traden-paper);
  --ds-base: #eeefe6;
  --ds-surface-1: var(--traden-surface);
  --ds-surface-2: #f4f5eb;
  --ds-surface-3: #ecefe2;
  --ds-surface-solid: var(--traden-surface);
  --ds-surface-solid-2: #f5f6ed;
  --ds-overlay: #fffef9f5;
  --ds-border: var(--traden-line);
  --ds-border-high: #bec6ac;
  --ds-border-strong: #bec6ac;
  --ds-highlight: #ffffff80;
  --ds-text: var(--traden-ink);
  --ds-text-soft: #4c5345;
  --ds-muted: var(--traden-muted);
  --ds-muted-2: #6c735f;
  /* Text and fill have separate tokens: lime is never small text on paper. */
  --ds-lime: var(--traden-olive);
  --ds-lime-ink: var(--traden-surface);
  --ds-lime-soft: var(--traden-olive-soft);
  --ds-lime-border: #c5cf9c;
  --ds-warning: #8b5b1e;
  --ds-warning-soft: #faf0db;
  --ds-danger: #a24535;
  --ds-danger-soft: #f8eae3;
  --ds-info: #406357;
  --ds-success: #3c6344;
  --ds-font: var(--traden-font);
  --ds-title: clamp(1.5rem, 2vw, 1.875rem);
  --ds-radius-sm: 7px;
  --ds-radius-md: 9px;
  --ds-radius-lg: 12px;
  --ds-radius-xl: 14px;
  --ds-shadow-sm: 0 2px 4px #26321d03;
  --ds-shadow-md: 0 14px 40px #26321d0c;
  --ds-shadow-lg: 0 24px 80px #26321d20;
  --ds-shadow-lime: 0 8px 25px #788e1614;
  --ds-sidebar-width: 236px;
  --app-page-max: 1120px;
  --app-page-x: clamp(1.2rem, 2.4vw, 2.25rem);
  --app-mobile-x: 1.1rem;
  --app-page-title-size: clamp(1.5rem, 2vw, 1.875rem);
  --app-page-title-size-mobile: 1.375rem;
  --app-title-size: .9375rem;
  --app-section-title-size: 1rem;
  --app-card-radius: 12px;
  --app-section-gap: 1rem;
  --app-control-height: 36px;
  --ds-control-height: 36px;
  --app-header-height: 72px;
  --app-icon-size: 38px;
  --app-card-min-h: 80px;
  --app-hero-height: 140px;
  --app-metric-height: 86px;
  --border: var(--traden-line);
  --border-lit: #bec6ac;
  --lime-glow: #d1e53222;
  --sans: var(--traden-font);
  --app-tone-bg: #edf1db;
  --app-tone-fg: #57682a;
  --app-tone-border: #ccd5b0;
}

.traden-app { font-family: var(--traden-font); background: var(--traden-paper); }
.traden-app :is(input, textarea, select, button) { font-family: inherit; }
.traden-app .workspace-shell { background: var(--traden-paper); }
.traden-app .ws-main { background: transparent; }
.traden-app .ws-content { padding-top: 18px; }
.traden-app .workspace-shell :is(h1, h2, h3, h4) { font-weight: 600; }
.traden-app .app-page__identity h1 { letter-spacing: -.055em; line-height: 1.12; }
.traden-app .app-page__identity p { margin-top: 5px; color: var(--ds-muted); font-weight: 400; }
.traden-app .app-page__header { position: relative; gap: 16px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--ds-border); }
.traden-app .app-page__header::after { content: ''; position: absolute; z-index: 0; pointer-events: none; inset: -22px 85px 0 auto; width: 235px; background: url('../img/traden-contours.svg') center 46% / 430px auto no-repeat; opacity: .15; mask-image: linear-gradient(90deg, transparent, #000); }
.traden-app .app-page__header > * { position: relative; z-index: 1; }
.traden-app .app-page__actions { gap: 10px; }
.traden-app .app-page__identity > .traden-logo-lockup { display: none; }
.traden-app :is(.app-icon-button, .ds-icon-button) { border-radius: 9px; box-shadow: none; background: var(--traden-surface); border-color: var(--traden-line); color: var(--traden-ink); }
.traden-app :is(.app-icon-button--accent, .btn--primary, .calendar-fab, .btn-card--primary) { background: var(--traden-lime); border-color: var(--traden-lime); color: var(--traden-ink); font-weight: 600; box-shadow: none; }
.traden-app :is(.btn--primary, .btn-card--primary):hover { background: var(--traden-lime-hover); border-color: var(--traden-lime-hover); box-shadow: 0 3px 0 #26321d0b; }
.traden-app .btn { border-radius: 8px; font-weight: 600; letter-spacing: -.01em; }
.traden-app :is(.btn--ghost, .btn--secondary) { background: transparent; border-color: #c7cdbb; color: #495339; }
.traden-app :is(.btn--danger, .danger-button) { color: #993d30; background: #faebe5; border-color: #e5c5bb; }
html[data-theme='light'] .traden-app :is(.btn-approve, .inbox-composer__send, .documents-new-button, .document-create-action-primary, .btn--primary) { background: var(--traden-lime); border-color: var(--traden-lime); color: var(--traden-ink); border-radius: 8px; font-weight: 600; box-shadow: none; }
html[data-theme='light'] .traden-app :is(.btn-approve, .inbox-composer__send, .documents-new-button, .document-create-action-primary, .btn--primary):hover { background: var(--traden-lime-hover); border-color: var(--traden-lime-hover); color: var(--traden-ink); box-shadow: none; }
html[data-theme='light'] .traden-app :is(.document-create-save, .document-preview-launch, .document-create-preview-action, .document-create-action-secondary, .quote-review-save, .btn-edit) { background: var(--traden-surface); color: #495339; border-color: #c8cfb9; box-shadow: none; }
.traden-app :where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--traden-olive); outline-offset: 3px; box-shadow: 0 0 0 5px #d1e53225; }
.traden-app :is(.auth-input, .crm-input, .form-input, .settings-input) { background: var(--traden-surface); border-color: #c8cfb9; color: var(--traden-ink); border-radius: 8px; font-weight: 400; }
.traden-app :is(.auth-input, .crm-input, .form-input, .settings-input):focus { border-color: var(--traden-olive); box-shadow: 0 0 0 3px #81931515; }
html[data-theme='light'] .traden-app :is(input.auth-input, select.auth-input, textarea.auth-input, .workspace-textarea, .inbox-composer__input) { color: var(--traden-ink); background: var(--traden-surface); border-color: #c8cfb9; }
html[data-theme='light'] .traden-app :is(.form-label, .auth-label, .document-field > span, .workspace-label) { color: #4c5345; }
.traden-app :is(input[type='checkbox'], input[type='radio']) { accent-color: var(--traden-olive); }
.traden-app ::selection { color: var(--traden-ink); background: var(--traden-lime); }

/* Navigation has a quiet surface; the active destination carries the accent. */
html[data-theme='light'] .traden-app .ws-sidebar { background: #eeefe5; border-right: 1px solid #d9ddcd; box-shadow: none; }
.traden-app .ws-sidebar__brand { margin-bottom: 24px; gap: 9px; color: var(--traden-ink); font-size: 29px; font-weight: 600; letter-spacing: -.07em; }
.traden-app .ws-brand-dot { color: var(--traden-olive); }
.traden-app .ws-command-trigger { color: var(--ds-muted); background: #f9f9f2; border: 1px solid #d9ddcd; border-radius: 9px; font-size: 11px; box-shadow: none; }
.traden-app .ws-command-trigger kbd { font-weight: 400; background: #eff0e7; color: #78806a; border-color: #d9ddcd; }
.traden-app .ws-nav { gap: 4px; }
.traden-app .ws-nav__section-label { color: #667050; font-size: 9px; font-weight: 500; letter-spacing: .15em; }
.traden-app .ws-nav__item { min-height: 40px; color: #626b53; border: 1px solid transparent; border-radius: 8px; font-size: 13px; font-weight: 500; }
.traden-app .ws-nav__item svg { width: 19px; height: 19px; stroke-width: 1.6; }
.traden-app .ws-nav__item:hover { color: #293321; background: #e4e9d3; }
.traden-app .ws-nav__item--active { background: var(--traden-lime); color: #273014; border-color: var(--traden-lime); font-weight: 600; box-shadow: none; }
.traden-app .ws-nav__item--active::before { display: none; }
.traden-app .ws-nav__badge { min-width: 21px; height: 21px; border: 0; background: var(--traden-ink); color: var(--traden-lime); font-size: 10px; }
.traden-app .ws-nav__badge--warn { background: var(--traden-orange); color: var(--traden-ink); }
.traden-app .ws-sidebar__account { border: 1px solid #d7dcc9; border-radius: 10px; background: #f9f9f1; }
.traden-app .ws-user-avatar { background: #e3e9c7; color: #60712f; font-weight: 500; }
.traden-app .ws-user-info strong { font-weight: 500; }
.traden-app .ws-sidebar__footer .ws-help-card { border: 0; background: transparent; box-shadow: none; }
.traden-app .ws-help-card > span { font-weight: 500; color: #606b4c; }

/* Common surfaces, lists and filters. */
.traden-app :is(.app-panel, .crm-panel, .ds-panel, .account-section, .app-row-card) { border-color: var(--traden-line); background: var(--traden-surface); box-shadow: var(--ds-shadow-sm); }
.traden-app .app-row-card__title { font-weight: 600; letter-spacing: -.025em; }
.traden-app .app-row-card__meta { color: #5c6352; }
.traden-app .app-row-card__detail { color: #717866; }
.traden-app .app-row-card__icon { border-radius: 9px; }
.traden-app .app-row-card__icon svg { stroke-width: 1.6; }
.traden-app .app-row-card__link:hover { background: #f6f8eb; }
.traden-app .app-section__header { padding: 12px 16px 8px; }
.traden-app .app-section__header h2 { color: #343d2c; font-weight: 600; letter-spacing: -.035em; text-transform: none; }
.traden-app .app-section__header :is(a, button) { color: var(--traden-olive); font-weight: 500; }
.traden-app .app-filter-tabs { gap: 5px; padding: 5px; border: 1px solid #dce1cc; border-radius: 11px; background: #ecefe2; }
.traden-app .app-filter-tabs :is(a, button) { border: 1px solid transparent; border-radius: 7px; box-shadow: none; background: transparent; color: #636c51; font-weight: 500; min-height: 36px; }
.traden-app .app-filter-tabs :is(a, button):is(.is-active, [aria-current='page'], [aria-selected='true']) { background: var(--traden-surface); color: #26321b; border-color: #d0d8b7; box-shadow: 0 1px 2px #26321d06; }
.traden-app .app-search { background: #fffef9; border-color: #c9d0b7; border-radius: 9px; box-shadow: none; }
.traden-app .app-search input { color: #27321e; }
.traden-app :is(.job-directory-empty, .ws-empty, .crm-empty) { background-color: #f9faf2; color: var(--ds-muted); border-radius: 12px; }
.traden-app :is(.job-directory-empty, .ws-empty, .crm-empty) strong { font-weight: 500; color: #4e5c38; }
.traden-app .app-status-pill { font-weight: 600; border-radius: 6px; border-color: var(--app-tone-border); }

/* Stages keep separate tones and their existing labels, icons and filters. */
.traden-app :is(.app-tone--reply, .app-tone--attention, .app-tone--awaiting, .app-tone--customer-reply) { --app-tone-bg: #faf0db; --app-tone-fg: #8b5b1e; --app-tone-border: #e5d1a8; }
.traden-app .app-tone--quote { --app-tone-bg: #f2f1cc; --app-tone-fg: #736419; --app-tone-border: #dcd59c; }
.traden-app .app-tone--booking { --app-tone-bg: #e9eedb; --app-tone-fg: #53682e; --app-tone-border: #c9d6b3; }
.traden-app :is(.app-tone--booked, .app-tone--customer-booked) { --app-tone-bg: #e5eee6; --app-tone-fg: #355d42; --app-tone-border: #bdd1c0; }
.traden-app :is(.app-tone--active, .app-tone--working, .app-tone--customer-active, .app-tone--external) { --app-tone-bg: #e7efea; --app-tone-fg: #42685a; --app-tone-border: #c4d8ce; }
.traden-app :is(.app-tone--payment, .app-tone--invoice, .app-tone--customer-payment) { --app-tone-bg: #f6e9db; --app-tone-fg: #8b5a36; --app-tone-border: #e3cbb3; }
.traden-app :is(.app-tone--completed, .app-tone--customer-completed) { --app-tone-bg: #dce6cf; --app-tone-fg: #344a28; --app-tone-border: #b8cba5; }
.traden-app :is(.app-tone--inactive, .app-tone--customer-idle) { --app-tone-bg: #eeeee7; --app-tone-fg: #6b7061; --app-tone-border: #d4d7cb; }
.traden-app .app-tone--lost { --app-tone-bg: #f4e9e3; --app-tone-fg: #97513c; --app-tone-border: #e1c5b9; }
.traden-app :is(.app-tone--ai, .app-tone--insight) { --app-tone-bg: #edf2cc; --app-tone-fg: #5f7025; --app-tone-border: #d4dfac; }
/* Match the legacy light-theme status specificity, including its !important rules. */
html[data-theme='light'] .traden-app .app-status-pill:is(.status-pill--attention, .status-pill--warn) { background: var(--traden-yellow) !important; color: var(--traden-ink) !important; border-color: var(--traden-yellow) !important; }
html[data-theme='light'] .traden-app .app-status-pill:is(.status-pill--success, .status-pill--lime) { background: var(--traden-green) !important; color: var(--traden-ink) !important; border-color: var(--traden-green) !important; }
html[data-theme='light'] .traden-app .app-status-pill:is(.status-pill--info, .status-pill--cyan) { background: var(--traden-mint) !important; color: var(--traden-ink) !important; border-color: var(--traden-mint) !important; }
html[data-theme='light'] .traden-app .app-status-pill.status-pill--danger { background: var(--traden-red) !important; color: var(--traden-ink) !important; border-color: var(--traden-red) !important; }
html[data-theme='light'] .traden-app .app-status-pill.status-pill--neutral { background: var(--traden-ink) !important; color: var(--traden-lime) !important; border-color: var(--traden-ink) !important; }

/* The welcome leaves room for the day's work while retaining the contour motif. */
.traden-app .workspace-shell .today-hero { position: relative; isolation: isolate; overflow: hidden; padding: 22px 24px; margin: 0 0 18px; min-height: var(--app-hero-height); align-items: center; border: 1px solid var(--traden-ink); border-radius: 14px; background: var(--traden-ink); color: var(--traden-lime); }
.traden-app .today-hero::after { content: ''; position: absolute; z-index: -1; inset: 0 0 0 28%; background: url('../img/traden-contours-lime.svg') right center / auto 360px no-repeat; opacity: .85; mask-image: linear-gradient(90deg, transparent, #000 40%); }
.traden-app .today-hero h2 { color: var(--traden-lime); font-size: clamp(2rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.05; letter-spacing: -.065em; margin: 7px 0 8px; }
.traden-app .today-hero > div > span { color: var(--traden-lime); font-weight: 500; font-size: 10px; letter-spacing: .14em; }
.traden-app .today-hero p { max-width: 420px; color: #e5e9dc; font-size: 13px; font-weight: 400; line-height: 1.7; }
.traden-app .today-date-pill { align-self: start; min-height: 38px; padding: 9px 13px; border: 1px solid var(--traden-lime); background: var(--traden-lime); color: var(--traden-ink); border-radius: 7px; font-size: 11px; font-weight: 500; }
.traden-app .today-date-pill svg { width: 16px; height: 16px; }
.traden-app .today-metrics { margin: 0 0 18px; background: var(--traden-surface); border-color: var(--traden-line); border-radius: 12px; box-shadow: none; }
.traden-app .today-metric { min-height: var(--app-metric-height); padding: 16px 18px; gap: 12px; }
.traden-app .today-metric__icon { border-radius: 10px; background: #faf0db; color: #98722a; }
.traden-app .today-metric--unread .today-metric__icon { background: #eaf0d7; color: #627936; }
.traden-app .today-metric--money .today-metric__icon { background: #e8ede4; color: #466044; }
.traden-app .today-metric strong { font-size: 24px; font-weight: 600; color: #344329; letter-spacing: -.05em; margin-top: 6px; }
.traden-app .today-metric small { font-weight: 400; color: #6b725e; }
.traden-app .today-panel { margin-top: 0; }
.traden-app .today-section-head h2 { font-size: 17px; letter-spacing: -.04em; text-transform: none; }
.traden-app .today-action-card__main { padding: 14px 16px; gap: 12px; min-height: 98px; }
.traden-app .today-action-card__cta { margin-right: 12px; color: #536c2e; font-weight: 500; }
.traden-app .today-action-card__body > strong { font-size: 15px; font-weight: 600; }
.traden-app .today-schedule-item__card { background: #f6f7ed; border-color: #d8dfc7; border-radius: 10px; }
.traden-app .today-schedule-item__card strong { font-weight: 600; }
.traden-app .today-schedule-item__card em { text-transform: none; font-weight: 500; border: 1px solid var(--app-tone-border); border-radius: 6px; }
.traden-app .today-action-card__cta { border-radius: 7px; }

/* Directory and conversation detail surfaces. */
.traden-app .job-directory-section > summary { padding: 13px 2px; color: #53603f; font-weight: 500; }
.traden-app .job-directory-section > summary b { display: inline-grid; min-width: 20px; min-height: 20px; padding: 2px 5px; place-items: center; border-radius: 999px; background: var(--traden-lime); color: var(--traden-ink); font-weight: 600; }
.traden-app .job-directory-card { box-shadow: none; border-color: #dde1d3; border-radius: 11px; }
.traden-app .job-directory-card__link { padding-block: 12px; }
.traden-app .job-directory-card__time { color: #717a60; font-weight: 500; font-variant-numeric: tabular-nums; }
.traden-app .job-directory-card__pill { background: var(--app-tone-bg); color: var(--app-tone-fg); border: 1px solid var(--app-tone-border); }
.traden-app .job-date-controls > button { font-weight: 500; color: #687254; }
.traden-app .job-date-controls > button.is-active { background: #edf1db; border-color: #c6d2a2; color: #526832; }
.traden-app .inbox-list { background: #fbfcf3; border-color: #dce0cf; }
.traden-app .inbox-list__head { background: #f5f6ec; border-color: #dce0cf; }
.traden-app .inbox-detail { background: #fdfdf7; border-color: #dce0cf; }
.traden-app .inbox-item { background: transparent; }
.traden-app .inbox-item--active { background: #edf1da; box-shadow: inset 3px 0 #91a344; }
.traden-app .inbox-item__name { font-weight: 600; }
.traden-app .inbox-item__avatar { background: #e7edce; color: #687a34; font-weight: 500; }
.traden-app .inbox-item__preview { font-weight: 400; }
.traden-app .msg--out .msg__bubble { background: #edf1d8; color: #34452a; border: 1px solid #d4ddba; box-shadow: none; }
.traden-app .msg--in .msg__bubble { background: #fffef9; color: #303a28; border-color: #e1e3d7; box-shadow: none; }
.traden-app .msg-date-separator span { background: #eff1e7; color: #697257; font-weight: 400; }
.traden-app .inbox-reply, .traden-app .inbox-detail__head { background: #f9faf2; border-color: #dce0cf; }
html[data-theme='light'] .traden-app :is(.ai-panel, .ai-analysis-panel) { background: #f0f2e8 !important; color: var(--traden-ink); }
html[data-theme='light'] .traden-app :is(.ai-analysis-block, .manual-action-panel) { background: var(--traden-surface); border-color: var(--traden-line); }
html[data-theme='light'] .traden-app :is(.ai-panel__label, .ai-section__label, .ai-analysis-block .ai-section__label) { color: #65704f; font-weight: 500; }
.traden-app .inbox-workspace .snapshot-card { --snapshot-text: #34432b; --snapshot-muted: #687355; --snapshot-icon: #61772f; --snapshot-icon-bg: #e1e9c6; background: #edf2dc; border-color: #d0daba; border-radius: 12px; }
.traden-app .inbox-workspace .snapshot-card--data { --snapshot-text: #364337; --snapshot-muted: #627161; --snapshot-icon: #4f6c48; --snapshot-icon-bg: #dce7d7; --snapshot-value-bg: #e4eadc; --snapshot-row-border: #d7e0cf; background: #f1f4e9; border-color: #d3ddc8; }
.traden-app .inbox-workspace .snapshot-action-pill { font-weight: 500; border-radius: 7px; }
.traden-app .inbox-workspace .msg--in .msg__bubble { background: var(--traden-surface); }
.traden-app .inbox-workspace .inbox-composer__input { min-width: 0; width: 100%; flex: 1 1 0; border-radius: 8px; }
.traden-app .inbox-workspace .inbox-composer__send { flex: 0 0 auto; }
.traden-app .job-ticket, .traden-app .job-ticket--scan { background: var(--traden-paper); }
.traden-app .job-ticket__scan-section { background: var(--traden-surface); border-color: #dce0cf; }
.traden-app .customer-section__header h2 { color: #53603f; letter-spacing: -.03em; }
.traden-app .customer-directory-card { box-shadow: none; }
.traden-app .customer-contact-card { background: #f5f7e9; border-color: #d6dec2; }
.traden-app .customer-contact-card__avatar { background: #e5ebc8; color: #53652b; }
.traden-app .customer-card__avatar--1 { background: var(--traden-lime); color: var(--traden-ink); }
.traden-app .customer-card__avatar--2 { background: var(--traden-green); color: var(--traden-ink); }
.traden-app .customer-card__avatar--3 { background: var(--traden-orange); color: var(--traden-ink); }
.traden-app .customer-card__avatar--4 { background: var(--traden-mint); color: var(--traden-ink); }
.traden-app .customer-section__header h2 span { background: var(--traden-lime); color: var(--traden-ink); font-weight: 600; }
.traden-app .customer-sections { grid-template-columns: minmax(0, 1fr); }
.traden-app .workspace-shell :is(.customer-record__hero, .job-record__hero) { position: relative; isolation: isolate; overflow: hidden; padding: 20px; margin-bottom: 18px; background: #edf0dc; border: 1px solid #d7dec0; border-radius: 13px; }
.traden-app :is(.customer-record__hero, .job-record__hero)::after { content: ''; position: absolute; z-index: -1; inset: 0 0 0 30%; background: url('../img/traden-contours.svg') right center / auto 280px no-repeat; opacity: .2; pointer-events: none; }
.traden-app .customer-record__avatar { width: 54px; height: 54px; background: #dde6bc; color: #586b2b; font-weight: 500; }
.traden-app .customer-record__hero h1 { font-weight: 600; letter-spacing: -.05em; overflow-wrap: anywhere; }
.traden-app .customer-contact-actions > :is(a, button, span) > span { color: #63782f; border-radius: 10px; }
.traden-app .customer-finances strong.is-due { color: #956237; }
.traden-app .customer-finances strong { font-weight: 500; }
.traden-app .job-record__hero h2 { letter-spacing: -.045em; }

/* Documents, calendar, business and settings inherit the same treatment. */
.traden-app :is(.documents-overview-card, .documents-quick-action, .integration-card, .service-card, .business-profile-surface, .settings-panel) { background: var(--traden-surface); border-color: #dce0cf; box-shadow: none; }
.traden-app :is(.documents-overview-card__icon, .documents-quick-action__icon, .settings-mobile-icon) { background: #edf1db; color: #647932; border-color: #d4ddbd; }
.traden-app .documents-security-strip { background: #ecefdc; border-color: #d1dbb5; color: #607336; }
.traden-app :is(.documents-overview-card h2, .documents-row__amount, .documents-quick-action strong, .settings-mobile-menu strong) { font-weight: 600; }
.traden-app .business-profile-ai-card { position: relative; overflow: hidden; background: #edf1db; border-color: #cad6ab; box-shadow: none; }
.traden-app .business-profile-ai-card::after { content: ''; position: absolute; pointer-events: none; inset: 0 0 0 45%; background: url('../img/traden-contours.svg') right center / auto 280px no-repeat; opacity: .18; }
.traden-app .business-profile-ai-card > * { position: relative; z-index: 1; }
html[data-theme='light'] .traden-app .business-profile-page .business-profile-page-panel { background: transparent; box-shadow: none; }
.traden-app .business-profile-intro { padding: 2px 0 14px; background: transparent; }
.traden-app .business-profile-intro h2 { font-size: clamp(20px, 1.8vw, 24px); letter-spacing: -.045em; }
.traden-app .business-service-card__icon { width: 46px; height: 46px; background: #eaf0d7; color: #627536; border-radius: 10px; }
.traden-app .business-service-card__icon svg { width: 25px; height: 25px; }
.traden-app .settings-day-slot.is-active { border-color: #c9d3b5; background: #fbfcf3; }
.traden-app .settings-day-slot__controls input { font-weight: 500; }
.traden-app .weekday-card.active, .traden-app .weekday-card:has(input:checked) { border-color: #c5d19f; background: #eaf0d6; }
.traden-app .weekday-card.active span, .traden-app .weekday-card:has(input:checked) span { background: #eaf0d6; color: #4e6428; font-weight: 600; }
.traden-app :is(.integration-logo-card, .integrations-logo-panel, .settings-mobile-hero, .settings-mobile-menu > a) { background: var(--traden-surface); border-color: #dce1cf; box-shadow: none; }
.traden-app .settings-mobile-menu > a:hover { background: #f2f5e6; }
.traden-app :is(.settings-card-heading h3, .settings-mobile-detail-head h2, .settings-mobile-hero__copy strong) { font-weight: 600; letter-spacing: -.035em; }
.traden-app :is(.calendar-period-nav, .calendar-month-shell, .calendar-week-grid) { border-color: #dce1cf; }
.traden-app :is(.calendar-period-nav h2, .calendar-period-nav__label, .calendar-month-title) { font-weight: 600; letter-spacing: -.04em; }
.traden-app .calendar-day.is-today { background: #eff3dc; }
.traden-app .calendar-day.is-selected { border-color: #9dae54; background: #e9efce; }
.traden-app :is(.setup-alert--info, .setup-alert--success) { background: #eff3e0; color: #536831; border-color: #cdd8b2; }
.traden-app .setup-alert--warn { background: #faf0db; color: #875c25; border-color: #e5d1a8; }
.traden-app .setup-alert--danger { background: #f8eae3; color: #993e30; border-color: #e5c5bb; }
.traden-app :is(.command-palette__panel, .crm-create-dialog__panel, .job-actions-sheet__panel, .modal-content) { background: var(--traden-surface); border-color: #d3dbc2; border-radius: 16px; box-shadow: var(--ds-shadow-lg); }
.traden-app :is(.command-palette__list a, .job-actions-sheet nav a, .job-actions-sheet nav button):hover { background: #edf2d7; }
.traden-app dialog::backdrop { background: #29321f70; backdrop-filter: blur(4px); }

@media (min-width: 1280px) {
  .traden-app .today-dashboard { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr); align-content: start; gap: 18px; }
  .traden-app .today-dashboard > :is(.app-page__header, .today-hero, .today-metrics, .today-onboarding) { grid-column: 1 / -1; margin-bottom: 0; }
  .traden-app .today-dashboard > .today-next { grid-column: 1; }
  .traden-app .today-dashboard > .today-schedule { grid-column: 2; }
  .traden-app .today-action-card { grid-template-columns: minmax(0, 1fr); }
  .traden-app .today-action-card__cta { justify-self: end; margin: 0 16px 12px; min-width: 0; }
  .traden-app .today-action-card__main { min-height: 96px; padding-bottom: 6px; }
}

@media (min-width: 900px) {
  .traden-app .business-service-card { grid-template-columns: 38px minmax(0, 1fr) auto 18px; grid-template-rows: auto; min-height: 88px; padding: 14px 16px; gap: 12px; }
  .traden-app .business-service-card__icon { grid-column: 1; grid-row: 1; }
  .traden-app .business-service-card__body { grid-column: 2; grid-row: 1; }
  .traden-app .business-service-card__state { grid-column: 3; grid-row: 1; }
  .traden-app .business-service-card__chevron { grid-column: 4; grid-row: 1; }
}

/* A stable mobile tray: every destination keeps its label in the same place. */
@media (max-width: 1100px) {
  html[data-theme='light'] { --ws-mobile-nav-base-height: 80px; --ws-mobile-nav-item-height: 72px; --ws-mobile-nav-motion-ms: 180; --app-control-height: 44px; --ds-control-height: 44px; }
  .traden-app .ws-bottom-nav { background: #f9faf2; border-top: 1px solid #d8dec8; box-shadow: 0 -4px 25px #3f50200b; }
  .traden-app .ws-bottom-nav__viewport::before { display: none; }
  .traden-app .ws-bottom-nav__item::before { display: none; }
  .traden-app .ws-bottom-nav__item::after { top: 7px; width: 48px; height: 34px; border-radius: 11px; background: var(--traden-lime); box-shadow: none; transform: translateX(-50%) scale(.96); }
  .traden-app .ws-bottom-nav__item:is(.is-active, .is-pending)::after { transform: translateX(-50%) scale(1); }
  .traden-app .ws-bottom-nav__item svg { top: 13px; width: 22px; height: 22px; stroke-width: 1.6; }
  .traden-app .ws-bottom-nav__item:is(.is-active, .is-pending) svg { color: #34451b; }
  .traden-app .ws-bottom-nav__item span { top: 46px; }
  .traden-app .ws-bottom-nav__item:is(.is-active, .is-pending) span { color: #4f6427; transform: none; font-weight: 600; }
  .traden-app .ws-bottom-nav__item b { background: var(--traden-orange); color: var(--traden-ink); border-color: #f9faf2; box-shadow: none; font-weight: 600; }
  .traden-app .ws-bottom-nav__item:is(.is-active, .is-pending) b { transform: none; }
}

@media (max-width: 900px) {
  .traden-app .today-metric { padding: 17px; gap: 12px; grid-template-columns: 37px minmax(0, 1fr); }
  .traden-app .today-metric > svg { display: none; }
  .traden-app .today-metric__icon { width: 37px; height: 37px; }
}

@media (max-width: 700px) {
  .traden-app .ws-content { padding-top: 12px; }
  .traden-app .app-page__header { min-height: 64px; margin-bottom: 16px; padding-bottom: 12px; gap: 12px; }
  .traden-app .app-page__header::after { inset: -15px 58px 0 auto; width: 105px; opacity: .1; }
  .traden-app .app-page__identity > .traden-logo-lockup { display: block; width: 27px; flex-shrink: 0; }
  .traden-app .app-page__identity { gap: 11px; }
  .traden-app .app-page__identity h1 { font-size: 22px; letter-spacing: -.045em; }
  .traden-app .app-page__identity p { margin-top: 4px; font-size: 11px; }
  .traden-app .ws-bottom-nav { background: #f9faf2; border-color: #d8dec8; box-shadow: 0 -4px 25px #3f50200b; }
  .traden-app .ws-bottom-nav__item { color: #667050; font-weight: 400; }
  .traden-app .ws-bottom-nav__item.is-active { color: #455a1e; }
  .traden-app .ws-bottom-nav__item.is-active::before { background: var(--traden-lime); box-shadow: 0 2px 9px #71851c20; }
  .traden-app .ws-bottom-nav__item.is-active svg { color: #354219; }
  .traden-app .ws-mobile-topbar { background: #f5f5eff5; border-color: #dce0cf; }
  .traden-app .workspace-shell .today-hero { padding: 18px; min-height: var(--app-hero-height); margin-bottom: 16px; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .traden-app .today-hero h2 { color: var(--traden-lime); font-size: 32px; margin-block: 7px; }
  .traden-app .today-hero p { max-width: 230px; font-size: 12px; }
  .traden-app .today-hero > div > span { font-size: 9px; }
  .traden-app .today-hero::after { inset: 0 -100px 0 30%; opacity: .85; background-size: auto 310px; }
  .traden-app .today-date-pill { min-height: 31px; width: max-content; padding: 6px 9px; font-size: 10px; background: var(--traden-lime); }
  .traden-app .today-date-pill svg { width: 14px; height: 14px; }
  .traden-app .today-metrics { margin-bottom: 16px; }
  .traden-app .today-metric { min-height: var(--app-metric-height); padding: 12px; gap: 8px; grid-template-columns: 25px minmax(0, 1fr); align-content: center; }
  .traden-app .today-metric__icon { width: 25px; height: 25px; border-radius: 7px; }
  .traden-app .today-metric__icon svg { width: 16px; height: 16px; }
  .traden-app .today-metric small { font-size: 10px; }
  .traden-app .today-metric strong { font-size: 21px; margin-top: 4px; }
  .traden-app .today-panel + .today-panel { margin-top: 16px; }
  .traden-app .app-section__header { padding: 10px 14px 6px; }
  .traden-app .today-section-head h2 { font-size: 16px; }
  .traden-app .today-action-card__main { padding: 13px 14px; gap: 10px; }
  .traden-app .today-action-card__cta { margin-right: 10px; }
  .traden-app .app-filter-tabs { padding: 4px; gap: 3px; }
  .traden-app .workspace-shell .app-filter-tabs :is(a, button) { font-size: 12px; min-height: 41px; }
  .traden-app .job-directory-card__link { padding-block: 12px; }
  .traden-app .workspace-shell .job-status-tabs button { flex-direction: row; gap: 5px; }
  .traden-app .job-status-tabs button span { font-size: 10px; }
  .traden-app :is(input[type='text'], input[type='email'], input[type='number'], input[type='tel'], input[type='password'], input[type='search'], textarea, select) { font-size: 16px; }
  .traden-app .inbox-list__head .app-page__header { margin-bottom: 12px; }
  .traden-app .workspace-shell :is(.customer-record__hero, .job-record__hero) { padding: 16px; gap: 12px; }
  .traden-app .customer-record__avatar { width: 48px; height: 48px; }
  .traden-app .workspace-shell .today-action-card__cta { max-width: 88px; }
}
@media (max-width: 380px) {
  .traden-app .workspace-shell .job-status-tabs button { flex-direction: row; gap: 3px; padding-inline: 2px; min-height: 44px; font-size: 11px; }
  .traden-app .business-profile-ai-card__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .traden-app .business-profile-ai-card__stats a:nth-child(2) { border-right: 0; }
  .traden-app .business-profile-ai-card__stats a:nth-child(n+3) { border-top: 1px solid var(--ds-lime-border); }
}

/* Motion enhances an already visible, usable page. No content waits for JS. */
@media (prefers-reduced-motion: no-preference) {
  .traden-app :is(.btn, .btn-card, .inbox-composer__send, .app-icon-button, .ws-nav__item, .documents-quick-action, .settings-mobile-menu > a, .integration-card__btn, .app-filter-tabs a, .app-filter-tabs button) { transition: background .2s, border-color .2s, box-shadow .2s, transform .2s var(--traden-ease); }
  .traden-app :is(.btn, .app-icon-button):not(:disabled):hover { transform: translateY(-1px); }
  .traden-app .ws-nav__item:hover { transform: translateX(2px); }
  .traden-app .brand-enter { animation: traden-page-in .18s var(--traden-ease); }
  .traden-app :is(.business-profile-page-panel, .settings-panel):not([hidden]) { animation: traden-page-in .16s var(--traden-ease); }
  .traden-app .brand-enter--1 { animation-delay: .02s; }
  .traden-app .brand-enter--2 { animation-delay: .04s; }
  .traden-app .brand-enter--3 { animation-delay: .06s; }
  .traden-app .brand-enter--4 { animation-delay: .08s; }
  .traden-app .today-hero::after { animation: traden-contour-drift 9s ease-in-out infinite alternate; }
  .traden-app dialog[open] { animation: traden-page-in .2s ease-out; }
  @keyframes traden-page-in { from { opacity: .85; } to { opacity: 1; } }
  @keyframes traden-contour-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-48px, 0, 0); } }
}
@media (prefers-reduced-motion: reduce) {
  .traden-app *, .traden-app *::before, .traden-app *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .traden-app .app-page__header::after, .traden-app .today-hero::after { display: none; }
  .traden-app { background: white; }
}

/* Compact working controls; touch targets retain their mobile size. */
.traden-app .workspace-shell :is(.btn, .btn-card, .integration-card__btn, .documents-new-button) { min-height: var(--app-control-height); padding: 8px 14px; font-size: 14px; line-height: 1.25; }
.traden-app .workspace-shell :is(.app-icon-button, .ds-icon-button) { width: var(--app-control-height); height: var(--app-control-height); min-height: var(--app-control-height); }
.traden-app .workspace-shell :is(.app-icon-button, .ds-icon-button) svg { width: 19px; height: 19px; }
.traden-app .workspace-shell .business-profile-ai-card__top { min-height: 136px; padding: 18px; align-items: center; }
.traden-app .business-profile-ai-card__top > div:first-child p { margin-top: 10px; font-weight: 500; }
.traden-app .workspace-shell .business-profile-ai-card__stats a { min-height: 58px; padding: 8px 6px; }
.traden-app .workspace-shell .business-profile-ai-card__stats span { font-size: 12px; line-height: 1.35; }
.traden-app .business-service-card__icon { width: 38px; height: 38px; }
.traden-app .business-service-card__icon svg { width: 22px; height: 22px; }
.traden-app .workspace-shell .documents-quick-action { min-height: 76px; padding: 10px 12px; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; justify-items: start; text-align: left; }
.traden-app .documents-quick-action > span { grid-row: 1 / 3; width: 32px; height: 32px; margin: 0; }
.traden-app .documents-quick-action svg { width: 23px; height: 23px; }
.traden-app .documents-quick-action small { grid-column: 2; }
.traden-app .workspace-shell .settings-mobile-menu > a { min-height: 68px; padding-block: 12px; grid-template-columns: 38px minmax(0, 1fr) 20px; gap: 12px; }
.traden-app .settings-mobile-menu .settings-mobile-icon { width: 38px; height: 38px; border-radius: 10px; }
.traden-app .settings-mobile-menu .settings-mobile-icon svg { width: 22px; height: 22px; }
.traden-app .settings-mobile-hub__head h2 { font-size: 20px; line-height: 1.2; }
.traden-app .settings-mobile-hub__head p { font-size: 13px; }
.traden-app .workspace-shell .service-editor__panel { padding: 14px 16px; }
.traden-app .workspace-shell .today-action-card { position: relative; grid-template-columns: minmax(0, 1fr) auto; gap: 0; }
.traden-app .workspace-shell .today-action-card__cta { margin: 20px 14px 0 0; padding: 8px; align-self: center; min-width: 0; max-width: none; min-height: var(--app-control-height); gap: 4px; font-size: 12px; }
.traden-app .workspace-shell .today-action-card__main { padding-block: 14px; grid-template-columns: 38px minmax(0, 1fr); }
.traden-app .workspace-shell .today-action-card__main time { position: absolute; top: 14px; right: 14px; font-size: 11px; font-weight: 400; }
.traden-app .documents-page { grid-template-columns: minmax(0, 1fr); }
.traden-app .workspace-shell .business-profile-ai-card__review { grid-template-columns: minmax(0, 1fr) auto; }
.traden-app .business-profile-ai-card__review > a { min-height: 44px; padding-inline: 10px; border-bottom: 0; font-size: 13px; }
.traden-app .business-profile-rebuild-form button { padding-inline: 10px; font-size: 12px; }
.traden-app .integrations-page.app-page { gap: 16px; }
.traden-app .integrations-summary { margin-top: 0; padding: 16px; }
.traden-app .integrations-grid { margin-top: 0; }
.traden-app .integration-card { padding: 16px; gap: 8px; }
.traden-app .integration-card__icon { width: 44px; height: 44px; }
.traden-app .integrations-summary__icon { width: 36px; height: 36px; }
.traden-app .calendar-route-map { min-height: 240px; }
.traden-app .calendar-route-map:not(:has([data-calendar-map-point])) { min-height: 120px; }
.traden-app .calendar-period-nav__button { width: var(--app-control-height); height: var(--app-control-height); min-height: var(--app-control-height); }
.traden-app .calendar-today-button { min-height: var(--app-control-height); padding: 8px 14px; box-shadow: none; }
.traden-app .weekday-card { min-height: 44px; }

/* Vivid shared accents keep stages recognisable across icons and pills. */
.traden-app :is(.app-tone--reply, .app-tone--attention, .app-tone--awaiting, .app-tone--customer-reply) { --app-tone-solid: var(--traden-yellow); --app-tone-on-solid: var(--traden-ink); }
.traden-app .app-tone--quote { --app-tone-solid: var(--traden-yellow); --app-tone-on-solid: var(--traden-ink); }
.traden-app .app-tone--booking { --app-tone-solid: var(--traden-lime); --app-tone-on-solid: var(--traden-ink); }
.traden-app :is(.app-tone--booked, .app-tone--customer-booked) { --app-tone-solid: var(--traden-green); --app-tone-on-solid: var(--traden-ink); }
.traden-app :is(.app-tone--active, .app-tone--working, .app-tone--customer-active, .app-tone--external) { --app-tone-solid: var(--traden-mint); --app-tone-on-solid: var(--traden-ink); }
.traden-app .app-tone--invoice { --app-tone-solid: var(--traden-orange); --app-tone-on-solid: var(--traden-ink); }
.traden-app :is(.app-tone--payment, .app-tone--customer-payment) { --app-tone-solid: var(--traden-orange); --app-tone-on-solid: var(--traden-ink); }
.traden-app :is(.app-tone--completed, .app-tone--customer-completed) { --app-tone-solid: var(--traden-ink); --app-tone-on-solid: var(--traden-lime); }
.traden-app :is(.app-tone--inactive, .app-tone--customer-idle) { --app-tone-solid: #e3e4da; --app-tone-on-solid: #53584a; }
.traden-app .app-tone--lost { --app-tone-solid: var(--traden-red); --app-tone-on-solid: var(--traden-ink); }
.traden-app :is(.app-tone--ai, .app-tone--insight) { --app-tone-solid: var(--traden-lime); --app-tone-on-solid: var(--traden-ink); }
.traden-app .workspace-shell :is(.app-status-pill, .today-schedule-item__card em) { background: var(--app-tone-solid, var(--app-tone-bg)); color: var(--app-tone-on-solid, var(--app-tone-fg)); border-color: var(--app-tone-solid, var(--app-tone-border)); }
/* A job has the same stage colour in the directory and live conversation. */
.traden-app .app-status-pill:is([data-lifecycle-stage='quote'], [data-lifecycle-stage='ready_to_quote'], [data-lifecycle-stage='quote_sent']) { --stage-fill: var(--traden-yellow); --stage-ink: var(--traden-ink); }
.traden-app .app-status-pill:is([data-lifecycle-stage='book'], [data-lifecycle-stage='quote_accepted'], [data-lifecycle-stage='booking_pending'], [data-lifecycle-stage='booking_offered']) { --stage-fill: var(--traden-lime); --stage-ink: var(--traden-ink); }
.traden-app .app-status-pill[data-lifecycle-stage='booked'] { --stage-fill: var(--traden-green); --stage-ink: var(--traden-ink); }
.traden-app .app-status-pill:is([data-lifecycle-stage='traden_working'], [data-lifecycle-stage='in_progress']) { --stage-fill: var(--traden-mint); --stage-ink: var(--traden-ink); }
.traden-app .app-status-pill[data-lifecycle-stage='ready_to_invoice'] { --stage-fill: var(--traden-orange); --stage-ink: var(--traden-ink); }
.traden-app .app-status-pill[data-lifecycle-stage='invoice_sent'] { --stage-fill: var(--traden-orange); --stage-ink: var(--traden-ink); }
.traden-app .app-status-pill:is([data-lifecycle-stage='complete'], [data-lifecycle-stage='paid']) { --stage-fill: var(--traden-ink); --stage-ink: var(--traden-lime); }
.traden-app .app-status-pill:is([data-lifecycle-stage='lost'], [data-lifecycle-stage='cancelled'], [data-lifecycle-stage='disputed']) { --stage-fill: var(--traden-red); --stage-ink: var(--traden-ink); }
html[data-theme='light'] .traden-app .workspace-shell .app-status-pill:is([data-lifecycle-stage='quote'], [data-lifecycle-stage='ready_to_quote'], [data-lifecycle-stage='quote_sent'], [data-lifecycle-stage='book'], [data-lifecycle-stage='quote_accepted'], [data-lifecycle-stage='booking_pending'], [data-lifecycle-stage='booking_offered'], [data-lifecycle-stage='booked'], [data-lifecycle-stage='traden_working'], [data-lifecycle-stage='in_progress'], [data-lifecycle-stage='ready_to_invoice'], [data-lifecycle-stage='invoice_sent'], [data-lifecycle-stage='complete'], [data-lifecycle-stage='paid'], [data-lifecycle-stage='lost'], [data-lifecycle-stage='cancelled'], [data-lifecycle-stage='disputed']) { background: var(--stage-fill) !important; color: var(--stage-ink) !important; border-color: var(--stage-fill) !important; }
@media (max-width: 700px) {
  .traden-app .today-hero > div { grid-column: 1 / -1; grid-row: 1; }
  .traden-app .today-date-pill { grid-column: 2; grid-row: 1; justify-self: end; }
  .traden-app .today-hero > div > span { display: block; padding-right: 92px; }
  .traden-app .today-hero p { max-width: 100%; }
  .traden-app .today-metric { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .traden-app .today-metric__icon { display: none; }
  .traden-app .workspace-shell .today-metric small { font-size: 11px; }
  .traden-app .workspace-shell .business-profile-ai-card__top { min-height: 132px; padding: 14px; }
  .traden-app .workspace-shell .documents-quick-action { padding: 10px; }
  .traden-app .workspace-shell .app-filter-tabs :is(a, button) { min-height: 44px; }
  .traden-app .workspace-shell .today-action-card__cta { max-width: 88px; }
}
@media (max-width: 380px) {
  .traden-app .workspace-shell .today-action-card__main { grid-template-columns: minmax(0, 1fr); }
  .traden-app .today-action-card__icon { display: none; }
  .traden-app .workspace-shell .documents-new-button { width: 44px; padding-inline: 0; gap: 0; justify-content: center; font-size: 0; }
  .traden-app .workspace-shell .documents-quick-action { column-gap: 6px; }
}

/* Give the working icons and counters the same clear accents as their stages. */
.traden-app .workspace-shell :is(.app-row-card__icon, .job-record__icon, .today-metric__icon) { background: var(--app-tone-solid, var(--traden-lime)); color: var(--app-tone-on-solid, var(--traden-ink)); }
.traden-app .workspace-shell .app-row-card__icon svg { stroke-width: 1.9; }
.traden-app .inbox-item__avatar, .traden-app .ws-user-avatar { background: var(--traden-lime); color: var(--traden-ink); font-weight: 600; }
.traden-app .inbox-workspace .inbox-item__badge { background: var(--traden-ink); color: var(--traden-lime); }
.traden-app .workspace-shell .today-action-card__cta { background: var(--app-tone-solid, var(--traden-lime)); color: var(--app-tone-on-solid, var(--traden-ink)); }
.traden-app .workspace-shell :is(.job-status-tabs button > span, .documents-type-tabs b) { background: var(--traden-lime); color: var(--traden-ink); font-weight: 600; }
.traden-app .workspace-shell .documents-quick-action:not(:disabled) > span { border-radius: 8px; background: var(--traden-orange); color: var(--traden-ink); }
.traden-app .workspace-shell .documents-quick-action.documents-quick-action--primary > span { background: var(--traden-yellow); color: var(--traden-ink); }

/* The content and its loading state share one inset below the iPhone clock. */
.ws-safe-area { display: none; }
@media (max-width: 900px) {
  body.traden-app .workspace-shell .ws-content.app-page { padding-top: max(12px, var(--ws-mobile-safe-top, 0px)); }
  body.traden-app .inbox-workspace .inbox-shell__inner { padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px); }
  .ws-safe-area { display: block; position: fixed; z-index: 96; top: 0; left: 0; right: 0; height: var(--ws-mobile-safe-top, 0px); background: var(--traden-paper); pointer-events: none; }
}

/* Crisp lime and black accents; large reading surfaces remain quiet. */
.traden-app .workspace-shell :is(.customer-record__avatar, .customer-contact-card__avatar, .business-service-card__icon, .documents-overview-card__icon, .documents-quick-action__icon, .settings-mobile-icon) { background: var(--traden-lime); color: var(--traden-ink); border-color: var(--traden-lime); }
.traden-app .workspace-shell .inbox-item--active { box-shadow: inset 4px 0 var(--traden-lime); }
.traden-app .workspace-shell .job-date-controls > button.is-active { background: var(--traden-ink); color: var(--traden-lime); border-color: var(--traden-ink); }
html[data-theme='light'] .traden-app :is(.btn--danger, .danger-button) { background: var(--traden-red); color: var(--traden-ink); border-color: var(--traden-red); }

/* One colour cue per action, with compact neutral navigation beside it. */
.traden-app .workspace-shell .today-next .today-action-card__icon { background: transparent; color: var(--traden-ink); border: 0; }
.traden-app .workspace-shell .today-next .today-action-card__cta { background: transparent; color: var(--traden-ink); border: 1px solid var(--traden-line); padding: 5px 7px; min-height: 30px; font-size: 11px; line-height: 1.2; white-space: nowrap; }
.traden-app .workspace-shell .today-next .today-action-card__cta:hover { background: var(--traden-ink); border-color: var(--traden-ink); color: var(--traden-lime); }
.traden-app .workspace-shell .today-next .today-action-card__cta svg { width: 13px; height: 13px; }
.traden-app .workspace-shell .today-next .today-section-head { padding-bottom: 8px; margin-bottom: 0; }
.traden-app .workspace-shell .today-next .today-action-list { padding-top: 0; gap: 0; }
.traden-app .workspace-shell .today-next .today-action-card:first-child .today-action-card__main { padding-top: 8px; }
.traden-app .workspace-shell .today-metric { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
@media (pointer: coarse) {
  .traden-app .workspace-shell .today-next .today-action-card__cta::after { content: ''; position: absolute; inset: -7px 0; }
  .traden-app .workspace-shell .today-next .today-action-card__cta { position: relative; }
}

/* Next up: five compact, whole-row actions instead of stacked status cards. */
.traden-app .workspace-shell .today-hero h2 { color: var(--traden-surface); }
.traden-app .today-hero h2 .today-hero__dot { color: var(--traden-lime); }
.traden-app .workspace-shell .today-next { padding: 14px; }
.traden-app .workspace-shell .today-next .today-section-head { padding: 0; margin: 0; min-height: 0; }
.traden-app .workspace-shell .today-next .today-section-head h2 { font-size: 20px; color: var(--traden-ink); }
.traden-app .workspace-shell .today-next .today-section-head > :is(span, a) { color: var(--traden-ink); }
.traden-app .today-next__summary { margin: 5px 0 6px; color: var(--traden-muted); font-size: 12px; line-height: 1.5; }
.traden-app .today-next__list { display: grid; }
.traden-app .today-next__row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 14px; gap: 10px; align-items: center; min-height: 54px; padding: 8px 0; color: var(--traden-ink); text-decoration: none; border-bottom: 1px solid var(--traden-line); }
.traden-app .today-next__row:last-child { border-bottom: 0; }
.traden-app .today-next__row:hover .today-next__body strong { text-decoration: underline; text-underline-offset: 3px; }
.traden-app .today-next__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: var(--app-tone-solid, var(--traden-lime)); color: var(--app-tone-on-solid, var(--traden-ink)); }
.traden-app .today-next__icon svg { width: 20px; height: 20px; }
.traden-app .today-next__body { min-width: 0; }
.traden-app .today-next__body strong { display: block; font-size: 13px; line-height: 1.35; font-weight: 600; letter-spacing: -.025em; }
.traden-app .today-next__body small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; font-size: 11px; line-height: 1.4; color: var(--traden-muted); }
.traden-app .today-next__age { color: var(--traden-muted); font-size: 12px; white-space: nowrap; }
.traden-app .today-next__chevron svg { width: 14px; height: 14px; }
.traden-app .today-next__all { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; margin-top: 6px; padding: 8px; border-radius: 10px; background: var(--traden-paper); color: var(--traden-ink); font-size: 12px; font-weight: 600; text-decoration: none; }
.traden-app .today-next__all svg { width: 14px; height: 14px; }
.traden-app .today-next__all:hover { background: var(--traden-lime); }
@media (pointer: coarse) { .traden-app .today-next__all { min-height: 44px; } }

.traden-app :is(.today-next__icon, .today-next__chevron, .today-next__all) svg { fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Business profile shares Today's animated black-and-lime hero treatment. */
.traden-app .workspace-shell .business-profile-ai-card {
  --ds-text: #fffef9;
  --ds-muted: #d0d7c6;
  --ds-lime: var(--traden-lime);
  --ds-lime-soft: #d7ff001a;
  --ds-lime-border: #d7ff0033;
  --ds-border: #d7ff0033;
  --ds-surface-solid: var(--traden-ink);
  isolation: isolate;
  background: var(--traden-ink);
  border-color: var(--traden-ink);
  color: var(--ds-text);
}
.traden-app .business-profile-ai-card::after { z-index: 0; inset: 0 -48px 0 28%; background-image: url('../img/traden-contours-lime.svg'); background-size: auto 360px; opacity: .85; mask-image: linear-gradient(90deg, transparent, #000 55%); }
.traden-app .business-profile-ai-card .business-profile-progress strong { color: var(--traden-lime); }
.traden-app .business-profile-ai-card .business-profile-progress circle { fill: var(--traden-ink); stroke: #d7ff0033; }
.traden-app .business-profile-ai-card .business-profile-progress .business-profile-progress__value { fill: transparent; stroke: var(--traden-lime); }
.traden-app .business-profile-live-state i { flex-shrink: 0; }
.traden-app .business-profile-live-state.is-live i { background: var(--traden-red); box-shadow: 0 0 7px 2px #ff453a66; }
@media (prefers-reduced-motion: no-preference) {
  .traden-app .business-profile-ai-card::after { animation: traden-contour-drift 9s ease-in-out infinite alternate; }
  .traden-app .business-profile-live-state.is-live i { animation: traden-live-pulse 3s ease-in-out infinite; }
  @keyframes traden-live-pulse {
    0%, 100% { opacity: .55; box-shadow: 0 0 4px 1px #ff453a33; }
    50% { opacity: 1; box-shadow: 0 0 12px 4px #ff453a88; }
  }
}
@media print { .traden-app .business-profile-ai-card::after { display: none; } }

/* Compact conversation directory with filters tucked into the header. */
.traden-app .inbox-filter-menu { position: relative; }
.traden-app .inbox-filter-menu summary { list-style: none; position: relative; cursor: pointer; }
.traden-app .inbox-filter-menu summary::-webkit-details-marker { display: none; }
.traden-app .inbox-filter-menu summary b { position: absolute; right: -5px; top: -5px; min-width: 18px; height: 18px; border-radius: 50%; background: var(--traden-lime); color: var(--traden-ink); font-size: 10px; display: grid; place-items: center; }
.traden-app .inbox-filter-menu summary b[hidden] { display: none; }
.traden-app .inbox-filter-panel { position: absolute; right: 0; top: calc(100% + 8px); width: 220px; padding: 12px; background: var(--traden-surface); border: 1px solid var(--traden-line); border-radius: 12px; box-shadow: 0 10px 30px #10121020; z-index: 30; }
.traden-app .inbox-filter-panel > strong { font-size: 12px; }
.traden-app .inbox-filter-panel .inbox-tabs { display: grid; grid-template-columns: 1fr; margin: 8px 0 0; padding: 0; gap: 4px; border: 0; background: transparent; }
.traden-app .inbox-filter-panel .inbox-tab { min-height: 44px; text-align: left; justify-content: start; }
.traden-app .inbox-filter-panel .inbox-tab.is-active { background: var(--traden-lime); color: var(--traden-ink); }
.traden-app .inbox-workspace .inbox-list__head { overflow: visible; position: relative; z-index: 5; }
.traden-app .inbox-workspace .inbox-list__head .app-page__header { margin-bottom: 0; }
.traden-app .inbox-workspace .inbox-items { padding: 8px; background: var(--traden-paper); }
.traden-app .inbox-workspace .inbox-item-shell { margin-bottom: 5px; border: 0; border-radius: 10px; overflow: hidden; }
.traden-app .inbox-workspace .inbox-item { min-height: 64px; padding: 8px 25px 8px 10px; gap: 12px; align-items: center; background: var(--traden-surface); border-radius: 10px; }
.traden-app .inbox-workspace .inbox-item:is(.inbox-item--active, .inbox-item--unread) { background: #f8fbed; box-shadow: inset 3px 0 var(--traden-lime); }
.traden-app .inbox-workspace .inbox-item__avatar-wrap, .traden-app .inbox-workspace .inbox-item__avatar { width: 38px; height: 38px; flex-basis: 38px; }
.traden-app .inbox-workspace .inbox-item__avatar { background: #caffdb; color: var(--traden-ink); font-size: 17px; }
.traden-app .inbox-workspace .inbox-item__body { padding: 0; gap: 2px; min-width: 0; }
.traden-app .inbox-workspace .inbox-item__name { font-size: 14px; line-height: 1.25; font-weight: 600; }
.traden-app .inbox-workspace .inbox-item__time { font-size: 10px; white-space: nowrap; font-weight: 400; }
.traden-app .inbox-workspace .inbox-item__preview { max-width: 100%; font-size: 11px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.traden-app .inbox-workspace .inbox-item__context { display: flex; margin: 0; padding: 0; min-height: 0; }
html[data-theme='light'] .traden-app .inbox-workspace .inbox-item__context .app-status-pill { position: static; flex: 0 1 auto; width: max-content; max-width: 100%; min-height: 16px; padding: 2px 8px; border: 0; border-radius: 999px; font-size: 9px; line-height: 1.2; font-weight: 500; background: color-mix(in srgb, var(--stage-fill, #cbd0c6) 24%, #fffef9) !important; color: var(--traden-ink) !important; }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--stage-fill, #687366); flex-shrink: 0; margin-right: 5px; }
.traden-app .inbox-workspace .inbox-item__chevron { position: absolute; right: 8px; top: 13px; color: var(--traden-muted); }
.traden-app .inbox-workspace .inbox-item__chevron svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .inbox-workspace .inbox-item__badge { top: auto; bottom: 8px; right: 8px; font-size: 9px; min-width: 14px; height: 14px; }

.traden-app .inbox-workspace .inbox-item__preview::before { display: none; }
html[data-theme='light'] .traden-app .inbox-workspace .inbox-item__context .app-status-pill { display: inline-flex; align-items: center; }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill::before { display: inline-block; }
.traden-app .inbox-workspace .inbox-item[data-state~="needs_you"] .app-status-pill { --stage-fill: var(--traden-yellow); }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill[data-lifecycle-stage="invoice"] { --stage-fill: var(--traden-orange); }

/* Badge geometry never participates in icon alignment. */
.traden-app .workspace-shell :is(.app-row-card__icon, .job-record__icon, .today-next__icon, .documents-overview-card__icon, .documents-quick-action > span) { display: grid; place-items: center; padding: 0; line-height: 1; }
.traden-app .workspace-shell :is(.app-row-card__icon, .job-record__icon, .today-next__icon, .documents-overview-card__icon, .documents-quick-action > span) > svg { display: block; margin: 0; flex-shrink: 0; align-self: center; justify-self: center; fill: none; stroke: currentColor; }
.traden-app .ws-nav__item > svg { flex-shrink: 0; align-self: center; }
.traden-app .ws-nav__badge, .traden-app .ws-nav__badge--warn { background: var(--traden-ink); color: var(--traden-lime); border-radius: 50%; min-width: 22px; height: 22px; display: inline-grid; place-items: center; line-height: 1; }
.ws-nav-highlight { position: absolute; width: 48px; height: 34px; border-radius: 11px; background: var(--traden-lime); pointer-events: none; z-index: 0; }
@media (max-width: 1100px) {
  .traden-app .ws-bottom-nav.has-sliding-highlight .ws-bottom-nav__item::before,
  .traden-app .ws-bottom-nav.has-sliding-highlight .ws-bottom-nav__item::after { display: none; }
  .traden-app .ws-bottom-nav__item > svg { position: absolute; left: 50%; top: 24px; width: 22px; height: 22px; margin: 0; transform: translate(-50%, -50%); fill: none; stroke: currentColor; }
  .traden-app .ws-bottom-nav__item b { top: 3px; left: calc(50% + 9px); min-width: 22px; height: 22px; padding: 0 3px; border: 2px solid #f9faf2; border-radius: 50%; background: var(--traden-ink); color: var(--traden-lime); display: inline-grid; place-items: center; font-size: 10px; line-height: 1; box-shadow: none; }
}

.traden-app .ws-bottom-nav__item b { aspect-ratio: 1; height: auto; min-height: 22px; padding: 3px; }

/* Working lists use plain black icons; stage pills carry the colour. */
.traden-app .workspace-shell :is(.today-dashboard, .documents-page, .job-directory, .jobs-page) :is(.app-row-card__icon, .today-next__icon, .documents-overview-card__icon, .documents-tab-icon),
.traden-app .workspace-shell .job-record__icon,
.traden-app .workspace-shell .documents-quick-action:not(:disabled) > span,
.traden-app .workspace-shell .documents-quick-action.documents-quick-action--primary > span {
  background: transparent;
  color: var(--traden-ink);
  border-color: transparent;
  box-shadow: none;
}

/* Keep mobile scroll endpoints above the fixed navigation, including Safari details. */
@media (max-width: 900px) {
  .traden-app .inbox-workspace .inbox-list__head { flex: 0 0 auto; }
  .traden-app .inbox-workspace .inbox-items {
    flex: 1 1 0; min-height: 0; height: 0;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom: 20px;
  }
  .traden-app .inbox-workspace .inbox-detail[data-inbox-view='snapshot'] .ai-analysis-panel {
    height: 100%; min-height: 0; overflow: hidden;
  }
  .traden-app .inbox-workspace .inbox-detail[data-inbox-view='snapshot'] .ai-panel__head { display: none; }
  .traden-app .inbox-workspace .inbox-detail[data-inbox-view='snapshot'] .ai-analysis-body {
    box-sizing: border-box; height: var(--inbox-snapshot-height, 100%); min-height: 0;
    overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom: 24px;
  }
}

/* A quiet empty schedule with clear next steps. */
.traden-app .workspace-shell .today-schedule--empty { padding: 16px; }
.traden-app .today-schedule--empty .today-section-head { margin: 0; padding: 0; min-height: 0; gap: 12px; }
.traden-app .today-schedule--empty .today-section-head a { display: inline-flex; align-items: center; gap: 6px; color: var(--traden-ink); white-space: nowrap; }
.traden-app .today-schedule .today-section-head svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.traden-app .today-schedule__summary { color: var(--traden-muted); font-size: 12px; margin: 9px 0 12px; }
.traden-app .today-schedule--empty .today-schedule-timeline { padding: 0; margin: 0; }
.traden-app .today-schedule__empty-state { display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--traden-paper); border-radius: 12px; padding: 22px 12px; gap: 12px; }
.traden-app .today-schedule__empty-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #edf1db; color: #526820; position: relative; margin-bottom: 6px; }
.traden-app .today-schedule__empty-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .today-schedule__empty-state strong { font-size: 16px; line-height: 1.35; color: var(--traden-ink); }
.traden-app .today-schedule__empty-state p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--traden-muted); }
.traden-app .today-schedule__empty-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.traden-app .today-schedule__empty-actions > * { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; border: 1px solid var(--traden-line); border-radius: 11px; background: var(--traden-surface); color: var(--traden-ink); font: 600 13px var(--traden-font); text-decoration: none; cursor: pointer; }
.traden-app .today-schedule__empty-actions > button { background: var(--traden-lime); border-color: var(--traden-lime); }
.traden-app .today-schedule__empty-actions svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
@media (max-width: 380px) { .traden-app .today-schedule--empty .today-section-head { flex-wrap: wrap; } }

/* Scheduled jobs and external busy time share a compact chronological rail. */
.traden-app .workspace-shell .today-schedule { padding: 16px; }
.traden-app .today-schedule .today-section-head { margin: 0; padding: 0; min-height: 0; gap: 10px; flex-wrap: wrap; }
.traden-app .today-schedule .today-section-head a { display: inline-flex; align-items: center; gap: 6px; }
.traden-app .today-schedule__summary { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.traden-app .today-schedule__date { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 999px; background: var(--traden-paper); color: var(--traden-ink); }
.traden-app .today-schedule__date svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .today-schedule-timeline--booked { padding: 10px; border-radius: 12px; background: var(--traden-paper); }
.traden-app .today-booking-row { display: grid; grid-template-columns: 36px 10px minmax(0, 1fr); gap: 8px; position: relative; align-items: center; padding: 4px 0; color: var(--traden-ink); text-decoration: none; }
.traden-app .today-booking-row time { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.traden-app .today-booking-row::before { content: ''; position: absolute; left: 48px; top: 0; bottom: 0; width: 1px; background: var(--traden-line); }
.traden-app .today-booking-row__dot { z-index: 1; width: 10px; height: 10px; border-radius: 50%; background: #8ac900; box-shadow: 0 0 0 3px var(--traden-surface); }
.traden-app .today-booking-row__card { display: grid; grid-template-columns: minmax(0, 1fr) auto 12px; align-items: center; gap: 7px; min-height: 62px; padding: 10px; border-radius: 10px; background: var(--traden-surface); }
.traden-app .today-booking-row__card > span { min-width: 0; }
.traden-app .today-booking-row strong { display: block; font-size: 12px; line-height: 1.4; }
.traden-app .today-booking-row small { display: block; font-size: 11px; line-height: 1.4; color: var(--traden-muted); margin-top: 2px; }
.traden-app .today-booking-row em { padding: 4px 7px; background: #edf5d9; color: #405510; border-radius: 999px; font-size: 9px; font-weight: 600; font-style: normal; }
.traden-app .today-booking-row__card > svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .today-booking-row--blocked .today-booking-row__card { background: repeating-linear-gradient(135deg, transparent 0 9px, #10121004 9px 10px); }
.traden-app .today-booking-row--blocked .today-booking-row__dot { background: #989e92; }
.traden-app .today-booking-row--blocked em { background: #e9ebe5; color: #4a5143; }
@media (max-width: 340px) { .traden-app .today-booking-row__card { grid-template-columns: minmax(0, 1fr) 12px; } .traden-app .today-booking-row em { grid-row: 2; width: max-content; } .traden-app .today-booking-row__card > svg { grid-column: 2; grid-row: 1 / 3; } }

/* Jobs uses header controls and a compact date-led card layout. */
.traden-app .jobs-filter-trigger { position: relative; }
.traden-app [data-jobs-filter-badge] { position: absolute; right: -5px; top: -5px; display: grid; place-items: center; min-width: 19px; height: 19px; padding: 2px; border-radius: 50%; background: var(--traden-lime); color: var(--traden-ink); font-size: 10px; }
.traden-app [data-jobs-filter-badge][hidden] { display: none; }
.traden-app [data-jobs-modern] .job-directory-section > summary { padding: 14px 2px; text-transform: uppercase; font-size: 12px; }
.traden-app [data-jobs-modern] .job-directory-section > summary b { background: var(--traden-lime); color: var(--traden-ink); margin-left: 8px; min-width: 23px; min-height: 23px; }
.traden-app [data-jobs-modern] .job-directory-card { margin-bottom: 12px; border: 0; border-radius: 14px; background: var(--traden-surface); box-shadow: 0 3px 14px #10121006; }
.traden-app .workspace-shell [data-jobs-modern] .job-directory-card__link { display: grid; grid-template-columns: 58px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; row-gap: 8px; padding: 16px 36px 16px 12px; }
.traden-app [data-jobs-modern] .job-directory-card__time { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: center; gap: 5px; border-right: 1px solid var(--traden-line); align-self: stretch; text-align: left; }
.traden-app [data-jobs-modern] .job-directory-card__time span { font-size: 11px; color: var(--traden-muted); }
.traden-app [data-jobs-modern] .job-directory-card__time strong { color: var(--traden-ink); font-size: 17px; }
.traden-app [data-jobs-modern] .job-directory-card__body { grid-column: 2; grid-row: 1; min-width: 0; }
.traden-app [data-jobs-modern] .job-directory-card__body .app-row-card__title { font-size: 15px; }
.traden-app [data-jobs-modern] .job-directory-card__body .app-row-card__meta { font-size: 13px; }
.traden-app [data-jobs-modern] .job-directory-card__body .app-row-card__detail { font-size: 12px; }
html[data-theme='light'] .traden-app .workspace-shell [data-jobs-modern] .job-directory-card__pill { position: static; grid-column: 2; grid-row: 2; justify-self: start; max-width: 100%; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 0; border-radius: 999px; font-size: 11px; background: var(--traden-ink) !important; color: var(--traden-lime) !important; }
.traden-app [data-jobs-modern] .job-directory-card__pill::before { content: ''; display: block; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--traden-lime); }
.traden-app [data-jobs-modern] .job-directory-card__more { top: 12px; right: 7px; bottom: auto; }
.jobs-control-sheet { width: min(440px, calc(100% - 24px)); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 20px; border: 1px solid var(--traden-line); border-radius: 18px; background: var(--traden-surface); color: var(--traden-ink); }
.jobs-control-sheet::backdrop { background: #10121066; }
.jobs-control-sheet header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.jobs-control-sheet h2 { font-size: 20px; margin: 0; }
.jobs-control-sheet header button { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 8px; background: var(--traden-paper); color: var(--traden-ink); }
.jobs-control-sheet svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.jobs-control-sheet fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.jobs-control-sheet legend { font-weight: 600; margin-bottom: 4px; }
.jobs-sheet-choice { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; cursor: pointer; }
.jobs-sheet-choice input { width: 18px; height: 18px; accent-color: var(--traden-ink); }
.jobs-sheet-field { display: grid; gap: 6px; font-size: 14px; }
.jobs-sheet-field :is(select,input) { min-width: 0; width: 100%; min-height: 44px; font: inherit; font-size: 16px; border: 1px solid var(--traden-line); border-radius: 8px; padding: 8px; background: var(--traden-surface); color: var(--traden-ink); }
.jobs-custom-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.jobs-custom-dates[hidden] { display: none; }
.jobs-control-sheet footer { display: flex; gap: 10px; margin-top: 20px; }
.jobs-control-sheet footer button { flex: 1; min-height: 44px; border: 1px solid var(--traden-line); border-radius: 10px; background: var(--traden-paper); font-weight: 600; }
.jobs-control-sheet footer button[type=submit] { background: var(--traden-lime); border-color: var(--traden-lime); }
@media (max-width: 700px) {
  .jobs-control-sheet { position: fixed; top: auto; bottom: 0; margin: 0; width: 100%; max-width: none; max-height: 90dvh; border-radius: 20px 20px 0 0; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .traden-app [data-jobs-modern] .app-page__header { flex-wrap: wrap; }
  .traden-app [data-jobs-modern] .app-page__actions { gap: 6px; margin-left: auto; }
  .traden-app [data-jobs-modern] .app-page__actions .app-icon-button { width: 38px; height: 44px; min-width: 38px; }
}

@media (max-width: 700px) {
  .traden-app [data-jobs-modern] .app-page__header { flex-wrap: nowrap; gap: 8px; }
  .traden-app [data-jobs-modern] .app-page__identity { flex: 1; min-width: 0; gap: 8px; }
  .traden-app [data-jobs-modern] .app-page__identity > div { min-width: 0; }
  .traden-app [data-jobs-modern] .app-page__identity p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .traden-app [data-jobs-modern] .app-page__actions { flex-shrink: 0; }
}

/* Compact customer directory, aligned with the Jobs controls. */
.traden-app [data-customers-modern] .customer-section__header h2 { font-size: 18px; color: var(--traden-ink); }
.traden-app [data-customers-modern] .customer-section__header h2 span { background: var(--traden-lime); color: var(--traden-ink); border-radius: 999px; padding: 3px 7px; font-size: 12px; }
.traden-app [data-customers-modern] .customer-card { padding: 14px 12px; gap: 12px; grid-template-columns: 42px minmax(0,1fr) auto 12px; }
.traden-app [data-customers-modern] .customer-card__avatar { width: 42px; height: 42px; background: var(--traden-lime); color: var(--traden-ink); font-size: 14px; }
.traden-app [data-customers-modern] .customer-card .app-row-card__title { font-size: 14px; }
.traden-app [data-customers-modern] .customer-card .app-row-card__meta,
.traden-app [data-customers-modern] .customer-card .app-row-card__detail { font-size: 11px; }
html[data-theme='light'] .traden-app [data-customers-modern] .customer-card__status { display: inline-flex; align-items: center; gap: 5px; background: var(--traden-ink) !important; color: var(--traden-lime) !important; border: 0; border-radius: 999px; font-size: 10px; padding: 5px 8px; white-space: nowrap; }
.traden-app [data-customers-modern] .customer-card__status::before { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--traden-lime); }
@media(max-width:700px) {
 .traden-app [data-customers-modern] .app-page__header { flex-wrap: nowrap; gap: 6px; }
 .traden-app [data-customers-modern] .app-page__identity { flex: 1; min-width: 0; gap: 6px; }
 .traden-app [data-customers-modern] .app-page__identity > div { min-width: 0; }
 .traden-app [data-customers-modern] .app-page__identity h1 { font-size: 22px; }
 .traden-app [data-customers-modern] .app-page__identity p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
 .traden-app [data-customers-modern] .app-page__actions { gap: 5px; flex-shrink: 0; }
 .traden-app [data-customers-modern] .app-icon-button { width: 34px; min-width: 34px; height: 42px; }
}
@media(max-width:360px) {
 .traden-app [data-customers-modern] .app-page__identity h1 { font-size: 18px; }
 .traden-app [data-customers-modern] .traden-logo-lockup { width: 24px; }
 .traden-app [data-customers-modern] .customer-card { gap: 8px; grid-template-columns: 34px minmax(0,1fr) auto 10px; padding: 12px 8px; }
 .traden-app [data-customers-modern] .customer-card__avatar { width: 34px; height: 34px; }
 .traden-app [data-customers-modern] .customer-card__status { font-size: 9px; }
}

.traden-app [data-customers-modern] .customer-card__status { max-width: none; }

/* Customer profile: compact contact overview and consistent ink/lime status. */
.traden-app .customer-record { max-width: 800px; margin: auto; }
.traden-app .customer-record__hero { padding: 12px 0 18px; min-height: 0; gap: 14px; }
.traden-app .customer-record__avatar { width: 64px; height: 64px; font-size: 22px; background: var(--traden-lime); color: var(--traden-ink); }
.traden-app .customer-record__hero h1 { font-size: 26px; margin: 0 0 4px; }
.traden-app .customer-record__phone { margin: 0 0 8px; font-size: 13px; color: var(--traden-muted); }
html[data-theme='light'] .traden-app .customer-record .app-status-pill { display: inline-flex; align-items: center; gap: 6px; background: var(--traden-ink) !important; color: var(--traden-lime) !important; border: 0; border-radius: 999px; padding: 5px 9px; font-size: 10px; white-space: nowrap; }
.traden-app .customer-record .app-status-pill::before { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--traden-lime); }
.traden-app .customer-contact-actions { margin: 0 0 14px; gap: 8px; }
.traden-app .customer-contact-actions > :is(a,button,span) { padding: 10px 4px; border: 1px solid var(--traden-line); border-radius: 10px; background: var(--traden-surface); color: var(--traden-ink); gap: 5px; }
.traden-app .customer-contact-actions > :is(a,button,span) > span { width: 22px; height: 22px; border: 0; background: transparent; color: var(--traden-ink); }
.traden-app .customer-contact-actions strong { font-size: 10px; }
.traden-app .customer-record-card { border-radius: 12px; margin-bottom: 12px; }
.traden-app .customer-finances { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 12px 0; }
.traden-app .customer-finances > div { min-height: 65px; padding: 0 12px; gap: 5px; }
.traden-app .customer-finances strong, .traden-app .customer-finances strong.is-due { color: var(--traden-ink); font-size: 23px; }
.traden-app .customer-finances :is(span,small) { font-size: 10px; }
.traden-app .customer-record-card .app-section__header { padding: 12px 12px 4px; min-height: 0; }
.traden-app .customer-record-card .app-section__header h2 { font-size: 13px; color: var(--traden-ink); }
.traden-app .customer-record-card .app-section__header :is(a,button) { font-size: 10px; }
.traden-app .customer-active-work__job { padding: 10px 12px 12px; gap: 8px; }
.traden-app .customer-active-work__job strong, .traden-app .customer-history-row .app-row-card__title { font-size: 14px; }
.traden-app .customer-active-work__date { font-size: 10px; gap: 5px; flex-wrap: wrap; }
.traden-app .customer-active-work__date svg { width: 13px; height: 13px; }
.traden-app .customer-details dl { padding: 8px 12px 12px; gap: 0; }
.traden-app .customer-details dl > div { grid-template-columns: minmax(110px, 40%) minmax(0,1fr); padding: 7px 0; }
.traden-app .customer-details dl > div + div { border-top: 1px solid var(--traden-line); }
.traden-app .customer-details dt { display: flex; align-items: center; gap: 10px; font-size: 10px; color: var(--traden-muted); }
.traden-app .customer-details dt svg { width: 15px; height: 15px; flex-shrink: 0; stroke: var(--traden-ink); }
.traden-app .customer-details dd, .traden-app .customer-details dd a { font-size: 10px; }
.traden-app .customer-record-notes p { padding: 8px 12px 14px; font-size: 11px; white-space: pre-wrap; }
.traden-app .customer-record-notes p small { display: block; color: var(--traden-muted); font-size: 10px; }
.traden-app .customer-history-row { padding: 10px 12px; }
.traden-app .customer-history-row .app-row-card__detail { font-size: 10px; }
.traden-app .customer-activity .app-timeline { padding: 10px 12px; }
.traden-app .customer-activity .app-timeline__item { grid-template-columns: 10px minmax(0,1fr); gap: 6px 10px; }
.traden-app .customer-activity .app-timeline__item time { grid-column: 2; font-size: 10px; }
.traden-app .customer-activity .app-timeline__item strong { font-size: 12px; }
.traden-app .customer-activity .app-timeline__item small { font-size: 10px; }
.traden-app .customer-activity .app-timeline__item:first-child > span { background: var(--traden-lime); }
.traden-app .customer-record-danger > summary { font-size: 11px; padding: 12px; color: var(--traden-muted); cursor: pointer; }
.jobs-control-sheet .jobs-sheet-field { margin-bottom: 12px; }
.jobs-control-sheet textarea { width: 100%; font: inherit; padding: 10px; border: 1px solid var(--traden-line); border-radius: 8px; background: var(--traden-surface); color: var(--traden-ink); }

html[data-theme='light'] .traden-app .customer-record__hero { background: transparent !important; border: 0 !important; box-shadow: none; border-radius: 0; }
.traden-app .customer-record__hero::before, .traden-app .customer-record__hero::after { display: none !important; }
.traden-app .customer-record .app-status-pill { max-width: none; }
.traden-app .customer-record-card .app-section__header { margin: 0; border: 0; padding: 12px 12px 4px; }
.traden-app .customer-record-card .app-section__header h2 { margin: 0; }
.traden-app .customer-record-card { padding: 0; }

.traden-app .customer-record .customer-finances { padding: 12px 0; }
.traden-app .customer-record .customer-record-card > .app-section__header { min-height: 0 !important; padding: 12px 12px 4px !important; margin: 0 !important; }

.traden-app .customer-record [data-profile-extra][hidden] { display: none; }

/* One control geometry for both CRM directories. */
.traden-app :is([data-jobs-modern],[data-customers-modern]) .app-page__actions { gap: 6px; }
.traden-app :is([data-jobs-modern],[data-customers-modern]) .app-page__actions .app-icon-button { width: 42px; min-width: 42px; height: 44px; padding: 10px; border-radius: 10px; }
.traden-app :is([data-jobs-modern],[data-customers-modern]) .app-page__actions .app-icon-button svg { width: 20px; height: 20px; }
@media(max-width:700px) {
 .traden-app :is([data-jobs-modern],[data-customers-modern]) .app-page__header { gap: 6px; }
 .traden-app :is([data-jobs-modern],[data-customers-modern]) .app-page__actions .app-icon-button { width: 34px; min-width: 34px; height: 42px; padding: 7px; }
}
/* Native active styling is the persistent fallback; the marker only owns the slide. */
.ws-nav-highlight { visibility: hidden; }
.has-sliding-highlight .ws-nav-highlight { visibility: visible; }

/* Keep customer deletion aligned with the compact profile cards. */
.traden-app .customer-record .app-delete-section { padding: 12px; }
.traden-app .customer-record .app-delete-section h2 { margin: 0 0 6px; font-size: 13px; }
.traden-app .customer-record .app-delete-section p { margin: 0 0 12px; font-size: 11px; line-height: 1.5; }
.traden-app .customer-record .app-delete-section .btn--danger { min-height: 42px; padding: 10px 12px; gap: 6px; border-radius: 10px; font-size: 11px; font-weight: 600; line-height: 1.4; }
.traden-app .customer-record .app-delete-section .btn--danger svg { width: 16px; height: 16px; flex-shrink: 0; }

/* Job detail reference layout. */
.traden-app .job-record { max-width: 800px; margin: auto; }
html[data-theme='light'] .traden-app .job-record__hero { background: var(--traden-surface); border-color: var(--traden-line); padding: 16px 16px 0; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 12px; }
.traden-app .job-record__hero::after { display: none; }
.traden-app .job-record__hero h2 { font-size: 20px; margin: 7px 0 4px; }
.traden-app .job-record__hero strong { font-size: 14px; }
.traden-app .job-record__hero p { font-size: 11px; }
.traden-app .job-record__icon { width: 48px; height: 54px; align-self: center; }
html[data-theme='light'] .traden-app .job-record__pill { background: var(--traden-lime); color: var(--traden-ink); border: 0; font-size: 11px; }
.job-hero-meta { grid-column: 1 / -1; display: flex; border-top: 1px solid var(--traden-line); margin: 0 -16px; }
.job-hero-meta span { display: flex; flex: 1; align-items: center; justify-content: center; gap: 7px; padding: 12px 8px; font-size: 10px; }
.job-hero-meta span + span { border-left: 1px solid var(--traden-line); }
.job-hero-meta svg, .job-key-details svg { width: 16px; height: 16px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .job-record-card { padding: 14px; border-radius: 12px; margin-bottom: 12px; }
.traden-app .job-record-card h2 { font-size: 15px; margin: 0; }
.job-progress ol { display: flex; list-style: none; padding: 0; margin: 16px 0 0; }
.job-progress li { flex: 1; position: relative; text-align: center; color: var(--traden-muted); font-size: 10px; }
.job-progress li::before { content: ''; height: 1px; background: var(--traden-line); position: absolute; top: 12px; left: -50%; width: 100%; }
.job-progress li:first-child::before { display: none; }
.job-progress b { position: relative; display: grid; place-items: center; width: 26px; height: 26px; margin: 0 auto 6px; border-radius: 50%; background: #e9ece5; }
.job-progress .is-current b, .job-progress .is-done b { background: var(--traden-lime); color: var(--traden-ink); }
.job-progress .is-current { color: var(--traden-ink); font-weight: 600; }
.job-key-details header { display: flex; justify-content: space-between; align-items: center; }
.job-key-details header a { font-size: 11px; }
.job-key-details dl { margin: 12px 0 0; }
.job-key-details dl > div { display: grid; grid-template-columns: 38% minmax(0,1fr); gap: 10px; padding: 5px 0; font-size: 11px; }
.job-key-details dt { display: flex; gap: 8px; align-items: center; color: var(--traden-muted); }
.job-key-details dd { margin: 0; overflow-wrap: anywhere; }
html[data-theme='light'] .traden-app .job-record-insights { background: #101210 !important; border-color: #101210; color: #fff; }
html[data-theme='light'] .traden-app .job-record-insights :is(h2,strong,.job-record-insight__icon,.job-record-insights__spark) { color: var(--traden-lime); }
html[data-theme='light'] .traden-app .job-record-insights p { color: #e4e7de; font-size: 11px; }
.traden-app .job-record-insight strong { font-size: 12px; }
.traden-app .job-record-insight { border-color: #ffffff12; }
.traden-app .job-record-insight__icon { background: #d7ff001a; }
.job-record-insights__spark svg path { transform-box: fill-box; transform-origin: center; animation: insight-twinkle 3.6s ease-in-out infinite; }
.job-record-insights__spark svg path:nth-child(2) { animation-delay: 1.1s; }
@keyframes insight-twinkle { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.72) rotate(12deg); opacity: .5; } }
@media(prefers-reduced-motion:reduce) { .job-record-insights__spark svg path { animation: none; } }
.traden-app .job-record-notes p { font-size: 11px; margin: 12px 0 0; white-space: pre-wrap; }
.job-record-notes small { display: block; color: var(--traden-muted); font-size: 10px; }
.job-extra > summary { padding: 12px; font-size: 11px; color: var(--traden-muted); cursor: pointer; }

.traden-app .job-record-notes .app-section__header { padding: 0; margin: 0; min-height: 0; }
.traden-app .job-record-notes .app-section__header a { font-size: 11px; }
.traden-app .job-record .job-record__icon svg { width: 28px; height: 28px; }

/* A single summary and action area, with secondary detail in a matching disclosure. */
.traden-app .job-customer-link { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 600; color: var(--traden-ink); text-decoration: none; }
.job-customer-link svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .job-next-action .job-record-request__actions { margin: 12px 0 0; display: flex; gap: 8px; }
.traden-app .job-next-action :is(.job-record__primary,.job-record__secondary) { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 12px; gap: 6px; border-radius: 10px; font-size: 11px; font-weight: 600; flex: 1; text-decoration: none; }
html[data-theme='light'] .traden-app .job-next-action .job-record__primary { background: var(--traden-lime); color: var(--traden-ink); border: 1px solid var(--traden-lime); }
.traden-app .job-next-action .job-record__secondary { background: var(--traden-surface); border: 1px solid var(--traden-line); color: var(--traden-ink); }
.job-next-action svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.traden-app .job-extra { border: 1px solid var(--traden-line); border-radius: 12px; background: var(--traden-surface); padding: 0 12px; }
.traden-app .job-extra > summary { padding: 14px 0; font-size: 13px; font-weight: 600; color: var(--traden-ink); }
.traden-app .job-extra .job-record-card { padding: 14px 0; margin: 0; border: 0; border-top: 1px solid var(--traden-line); border-radius: 0; box-shadow: none; background: transparent; }
.traden-app .job-extra :is(p,small,dt,dd,a,summary) { font-size: 11px; line-height: 1.5; }
.traden-app .job-extra h2 { font-size: 13px; }
.traden-app .job-extra .btn--danger { min-height: 42px; padding: 10px 12px; font-size: 11px; font-weight: 600; border-radius: 10px; }
.traden-app .job-extra .btn--danger svg { width: 16px; height: 16px; }

.traden-app .job-extra-brief { border-top: 1px solid var(--traden-line); padding: 14px 0; }
.traden-app .job-extra-brief > summary { font-size: 13px; font-weight: 600; cursor: pointer; }
.job-extra-brief > summary > span { display: block; font-size: 11px; color: var(--traden-muted); font-weight: 400; margin-top: 4px; }
.traden-app .job-extra-brief :is(h3,h4) { font-size: 12px; }
.traden-app .job-extra-brief :is(li,blockquote) { font-size: 11px; }

.traden-app .job-summary p { margin: 10px 0 0; font-size: 12px; line-height: 1.6; }
.traden-app .job-insights-empty { margin: 0; line-height: 1.5; }

/* Snapshot uses the same Insights treatment as the full job card. */
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-card--insights {
 --snapshot-text: #f4f6ef; --snapshot-muted: #c4c9bd; --snapshot-icon: #d7ff00; --snapshot-icon-bg: #d7ff001a;
 background: #101210; border-color: #101210; color: #f4f6ef;
}
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-card--insights h3 { color: var(--traden-lime); }
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-card--insights :is(.snapshot-card__icon,.snapshot-fact-icon) { color: var(--traden-lime); background: #d7ff001a; }
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-card--insights :is(li,strong) { color: #f4f6ef; }
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-card--insights :is(p,small,.snapshot-empty) { color: #c4c9bd; }
.traden-app .inbox-workspace .snapshot-card--insights li + li { border-top: 1px solid #ffffff16; padding-top: 10px; }
.traden-app .inbox-workspace :is(.snapshot-card,.snapshot-actions-card) { border-radius: 12px; padding: 14px; }
.traden-app .inbox-workspace .snapshot-actions-card { background: var(--traden-surface); border: 1px solid var(--traden-line); }
.traden-app .inbox-workspace .snapshot-actions-card .snapshot-card__header { margin-bottom: 12px; }
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-action-pill { min-height: 40px; padding: 8px 6px; background: var(--traden-surface); color: var(--traden-ink); border: 1px solid var(--traden-line); font-size: 11px; font-weight: 600; border-radius: 8px; }
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-action-pill.is-active { background: var(--traden-ink); color: var(--traden-lime); border-color: var(--traden-ink); box-shadow: none; }

html[data-theme='light'] .traden-app .inbox-workspace .snapshot-card--data { background: var(--traden-surface); border-color: var(--traden-line); }
html[data-theme='light'] .traden-app .inbox-workspace .snapshot-data-list dd { background: transparent; padding: 0; color: var(--traden-ink); }
.traden-app .inbox-workspace .snapshot-data-list > div { padding: 7px 0; border-bottom: 1px solid var(--traden-line); }
.traden-app .inbox-workspace .snapshot-data-list > div:last-child { border-bottom: 0; }

.traden-app .inbox-workspace #owner-attention-state { display: none; }
.traden-app .inbox-workspace button.snapshot-action-pill { cursor: pointer; font-family: inherit; }
@media(max-width:1100px) {
 .traden-app .inbox-workspace .inbox-detail[data-inbox-view='snapshot'] .ai-analysis-body { height: var(--inbox-snapshot-height); max-height: var(--inbox-snapshot-height); flex: none; padding-bottom: max(32px,env(safe-area-inset-bottom)); }
 .traden-app .inbox-workspace .inbox-detail[data-inbox-view='snapshot'] .ai-analysis-body > * { flex-shrink: 0; }
}

/* Documents: compact overview and black/lime document cards. */
.traden-app .documents-page .app-page__actions { gap:6px; }
.traden-app .documents-page .app-icon-button { width:42px; min-width:42px; height:44px; padding:10px; border-radius:10px; }
.traden-app .documents-page .app-icon-button svg { width:20px; height:20px; }
.traden-app .documents-page .documents-new-button { height:44px; min-height:44px; padding:0 12px; border-radius:10px; gap:6px; background:#d7ff00; color:#101210; font-size:14px; }
.traden-app .documents-page .documents-overview { gap:12px; }
.traden-app .documents-page .documents-overview-card { padding:12px; gap:8px; min-height:0; background:#fff; border:1px solid #dfe2db; border-radius:12px; }
.traden-app .documents-page .documents-overview-card__heading { grid-template-columns:26px minmax(0,1fr) 14px; gap:8px; }
.traden-app .documents-page .documents-overview-card__heading .app-row-card__icon { width:26px; height:30px; }
.traden-app .documents-page .documents-overview-card__heading strong { font-size:14px; }
.traden-app .documents-page .documents-overview-card__body { grid-template-columns:1fr; gap:8px; }
.traden-app .documents-page .documents-overview-card__body > div strong { font-size:24px; line-height:1.15; color:#101210; }
.traden-app .documents-page .documents-overview-card__body :is(li,span) { font-size:12px; }
.traden-app .documents-page .documents-overview-card__body li { grid-template-columns:22px 1fr; gap:6px; }
.traden-app .documents-page .documents-overview-card__body li i { display:none; }
.traden-app .documents-page .documents-overview-card__body li b { color:#101210; }
.traden-app .documents-page .documents-recent { margin-top:16px; }
.traden-app .documents-page .documents-recent__header { padding:0 0 8px; }
.traden-app .documents-page .documents-list { gap:8px; }
.traden-app .documents-page .documents-row { border:1px solid #dfe2db; border-radius:12px; background:#fff; }
.traden-app .documents-page .documents-row__link { min-height:0; padding:9px 36px 8px 10px; grid-template-columns:30px minmax(0,1fr) auto; gap:4px 10px; align-items:start; }
.traden-app .documents-page .documents-row__link > .app-row-card__icon { width:30px; height:32px; grid-column:1; grid-row:1; }
.traden-app .documents-page .documents-row__body { grid-column:2; grid-row:1; padding:0; gap:2px; }
.traden-app .documents-page .documents-row__body .app-row-card__title { font-size:14px; line-height:1.3; }
.traden-app .documents-page .documents-row__body :is(.app-row-card__meta,.app-row-card__detail) { font-size:12px; line-height:1.3; padding:0; }
.traden-app .documents-page .documents-row__status { position:static; grid-column:3; grid-row:1; margin:2px 0 0; max-width:130px; min-height:24px; padding:4px 10px; border:0; border-radius:999px; background:#101210; color:#d7ff00; font-size:11px; line-height:1.25; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.traden-app .documents-page .documents-row__status::before { content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#d7ff00; }
.traden-app .documents-page .documents-row__amount { grid-column:1 / -1; grid-row:2; justify-self:start; padding:0; font-size:14px; text-align:left; }
.traden-app .documents-page .documents-row__menu { top:9px; right:3px; transform:none; }
.traden-app .documents-page .documents-row__menu > summary { width:30px; height:30px; }
.traden-app .documents-page .documents-security-strip { margin-top:18px; }
.documents-sort-option { display:flex; align-items:center; gap:12px; padding:10px 0; }
.documents-sort-option input { accent-color:#101210; }
#documents-filter-sheet label { display:grid; gap:8px; margin:14px 0; }
@media(max-width:700px) {
 .traden-app .documents-page .app-page__header { gap:6px; }
 .traden-app .documents-page .app-icon-button { width:34px; min-width:34px; height:42px; padding:7px; }
 .traden-app .documents-page .documents-new-button { height:42px; min-height:42px; padding:0 9px; font-size:13px; }
 .traden-app .documents-page .app-page__identity { gap:6px; }
 .traden-app .documents-page .app-page__identity h1 { font-size:22px; }
 .traden-app .documents-page .app-page__identity p { font-size:11px; }
 .traden-app .documents-page .documents-overview-card { padding:12px; }
 .traden-app .documents-page .documents-overview-card__body > div strong { font-size:22px; }
 .traden-app .documents-page .documents-row__link { column-gap:8px; grid-template-columns:24px minmax(0,1fr) auto; }
 .traden-app .documents-page .documents-row__link > .app-row-card__icon { width:24px; }
 .traden-app .documents-page .documents-row__body .app-row-card__title { font-size:14px; }
 .traden-app .documents-page .documents-row__body :is(.app-row-card__meta,.app-row-card__detail) { font-size:12px; }
 .traden-app .documents-page .documents-row__status { font-size:10px; padding:4px 8px; gap:4px; }
}
@media(max-width:380px) {
 .traden-app .documents-page .documents-new-button span { display:none; }
 .traden-app .documents-page .documents-row__status { grid-column:2 / -1; grid-row:2; justify-self:start; }
 .traden-app .documents-page .documents-row__amount { grid-row:3; }
}

html[data-theme='light'] .traden-app .workspace-shell .documents-page .documents-row__status { background:#101210 !important; color:#d7ff00 !important; border-color:#101210 !important; }
.traden-app .documents-page .jobs-filter-trigger > b { position:absolute; right:-5px; top:-5px; display:grid; place-items:center; min-width:19px; height:19px; padding:2px; border-radius:50%; background:#d7ff00; color:#101210; font-size:10px; }
.traden-app .documents-page .app-page__identity { min-width:0; }
.traden-app .documents-page .app-page__identity > div { min-width:0; }
.traden-app .documents-page .app-page__identity p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.traden-app .documents-page .documents-search-popover { max-width:calc(100vw - 36px); }

/* Conversation cards: customer initials, message preview and clear status. */
.traden-app .inbox-workspace .inbox-page-header .app-page__actions { gap:6px; }
.traden-app .inbox-workspace .inbox-page-header .app-icon-button { width:34px; min-width:34px; height:42px; padding:7px; border-radius:10px; }
.traden-app .inbox-workspace .inbox-page-header .app-icon-button svg { width:20px; height:20px; }
.traden-app .inbox-workspace .inbox-page-header .app-page__identity { min-width:0; gap:6px; }
.traden-app .inbox-workspace .inbox-page-header .app-page__identity > div { min-width:0; }
.traden-app .inbox-workspace .inbox-page-header h1 { font-size:24px; }
.traden-app .inbox-workspace .inbox-page-header p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.traden-app .inbox-workspace .inbox-item-shell { margin-bottom:7px; border-radius:12px; }
.traden-app .inbox-workspace .inbox-item { padding:10px 23px 10px 10px; gap:12px; min-height:100px; border:1px solid #e6e8e0; background:#fff; border-radius:12px; }
.traden-app .inbox-workspace .inbox-item--active { border-color:#d7ff00; }
.traden-app .inbox-workspace .inbox-item__avatar-wrap, .traden-app .inbox-workspace .inbox-item__avatar { width:46px; height:46px; flex-basis:46px; }
.traden-app .inbox-workspace .inbox-item__avatar { background:#d7ff00; color:#101210; font-size:18px; font-weight:600; }
.traden-app .inbox-workspace .inbox-item__body { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:8px; row-gap:2px; }
.traden-app .inbox-workspace .inbox-item__row { display:contents; }
.traden-app .inbox-workspace .inbox-item__name { grid-column:1; grid-row:1; font-size:15px; }
.traden-app .inbox-workspace .inbox-item__time { grid-column:2; grid-row:1; justify-self:end; font-size:10px; }
.traden-app .inbox-workspace .inbox-item__preview { grid-column:1; grid-row:2; font-size:12px; }
.traden-app .inbox-workspace .inbox-item__message { grid-column:1; grid-row:3; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:#777b73; font-size:11px; line-height:1.3; white-space:normal; text-align:left; overflow-wrap:anywhere; }
.traden-app .inbox-workspace .inbox-item__context { grid-column:2; grid-row:2 / 4; justify-self:end; align-self:start; }
html[data-theme='light'] .traden-app .inbox-workspace .inbox-item__context .app-status-pill { background:#101210 !important; color:#d7ff00 !important; padding:4px 7px; font-size:9px; max-width:110px; }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill::before { background:#d7ff00; }
.traden-app .inbox-workspace .inbox-item__chevron { top:50%; transform:translateY(-50%); }
.traden-app .inbox-workspace .inbox-item__badge { background:#101210; color:#d7ff00; }
@media(min-width:701px) and (max-width:1100px) {
 .traden-app .inbox-workspace .inbox-page-header .app-icon-button { width:42px; min-width:42px; height:44px; padding:10px; }
}
@media(max-width:380px) {
 .traden-app .inbox-workspace .inbox-page-header .app-page__actions { gap:4px; }
 .traden-app .inbox-workspace .inbox-page-header .app-icon-button { width:30px; min-width:30px; padding:5px; }
 .traden-app .inbox-workspace .inbox-item { gap:8px; }
 .traden-app .inbox-workspace .inbox-item__message { grid-column:1 / -1; grid-row:3; }
 .traden-app .inbox-workspace .inbox-item__context { grid-row:2; }
}

/* Keep conversation copy on one left edge and the status at the lower right. */
.traden-app .inbox-workspace .inbox-item__body { align-self:stretch; align-content:start; text-align:left; }
.traden-app .inbox-workspace .inbox-item__name,
.traden-app .inbox-workspace .inbox-item__preview,
.traden-app .inbox-workspace .inbox-item__message { margin:0; padding:0; text-align:left; text-indent:0; justify-self:stretch; }
.traden-app .inbox-workspace .inbox-item__preview { grid-column:1 / -1; }
.traden-app .inbox-workspace .inbox-item__message { grid-column:1 / -1; }
.traden-app .inbox-workspace .inbox-item__context { grid-column:1 / -1; grid-row:4; justify-self:end; align-self:end; margin-top:5px; }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill:is([data-lifecycle-stage='in_progress'],[data-lifecycle-stage='traden_working']) { animation:inbox-working-glow 3s ease-in-out infinite; }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill:is([data-lifecycle-stage='in_progress'],[data-lifecycle-stage='traden_working'])::before { animation:inbox-working-dot 3s ease-in-out infinite; }
@keyframes inbox-working-glow { 0%,100% { box-shadow:0 0 0 1px #d7ff0026,0 0 0 #d7ff0000; } 50% { box-shadow:0 0 0 1px #d7ff0080,0 0 9px #d7ff0055; } }
@keyframes inbox-working-dot { 0%,100% { opacity:1; } 50% { opacity:.45; } }
@media(prefers-reduced-motion:reduce) {
 .traden-app .inbox-workspace .inbox-item__context .app-status-pill,
 .traden-app .inbox-workspace .inbox-item__context .app-status-pill::before { animation:none; }
}

/* Size the conversation scroller to the visible space above the mobile nav. */
@media(max-width:1100px) {
 .traden-app .inbox-workspace .inbox-items { box-sizing:border-box; flex:none; height:var(--inbox-list-height, calc(100dvh - 180px)); max-height:var(--inbox-list-height, calc(100dvh - 180px)); overflow-y:auto; padding-bottom:24px; scroll-padding-bottom:24px; }
 .traden-app .inbox-workspace .inbox-item-shell { flex-shrink:0; }
}
html[data-theme='light'] .traden-app .inbox-workspace .inbox-item__context .app-status-pill { max-width:none; padding:5px 11px; gap:5px; white-space:nowrap; }
.traden-app .inbox-workspace .inbox-item__context .app-status-pill::before { margin-right:0; }
.traden-app .inbox-workspace .inbox-item__context { margin-right:4px; }

/* Denser inbox cards and a lighter swipe action. */
.traden-app .inbox-workspace .inbox-item { min-height:0; padding-top:7px; padding-bottom:7px; }
.traden-app .inbox-workspace .inbox-item-shell { margin-bottom:5px; }
.traden-app .inbox-workspace .inbox-item__body { row-gap:1px; }
.traden-app .inbox-workspace .inbox-item__message { -webkit-line-clamp:1; }
.traden-app .inbox-workspace .inbox-item__context { margin-top:3px; }
.traden-app .inbox-workspace .inbox-item__avatar-wrap,
.traden-app .inbox-workspace .inbox-item__avatar { width:40px; height:40px; flex-basis:40px; font-size:16px; }
.traden-app .inbox-workspace .inbox-item-shell__action { width:72px; background:#fff0ed; border-radius:12px; }
.traden-app .inbox-workspace .inbox-item-shell__clear { width:72px; font-size:12px; font-weight:500; gap:6px; color:#bd3024; }
.traden-app .inbox-workspace .inbox-item-shell__clear svg { width:20px; height:20px; stroke-width:1.6; }
.traden-app .inbox-workspace .inbox-item-shell.is-swipe-open .inbox-item,
.traden-app .inbox-workspace .inbox-item-shell:has(.inbox-item-shell__clear:focus-visible) .inbox-item { transform:translateX(-72px); }
.traden-app #clear-inbox-modal .clear-inbox-modal__box { width:min(360px,calc(100vw - 32px)); padding:20px; border-radius:18px; background:#fff; }
.traden-app #clear-inbox-modal .clear-inbox-modal__content { gap:12px; align-items:flex-start; }
.traden-app #clear-inbox-modal .clear-inbox-modal__icon { width:36px; height:36px; min-width:36px; border-radius:10px; background:#fff0ed; color:#bd3024; }
.traden-app #clear-inbox-modal .clear-inbox-modal__icon svg { width:20px; height:20px; stroke-width:1.6; }
.traden-app #clear-inbox-modal .clear-inbox-modal__title { font-size:18px; font-weight:600; line-height:1.3; }
.traden-app #clear-inbox-modal .clear-inbox-modal__warning { font-size:13px; font-weight:400; color:#74776f; margin-top:6px; }
.traden-app #clear-inbox-modal .clear-inbox-modal__actions { gap:8px; margin-top:18px; }
.traden-app #clear-inbox-modal .clear-inbox-modal__button { min-height:42px; padding:10px 16px; border-radius:10px; font-size:13px; font-weight:500; box-shadow:none; }
.traden-app #clear-inbox-modal .clear-inbox-modal__button--delete { background:#101210; color:#d7ff00; border:1px solid #101210; }
.traden-app #clear-inbox-modal .clear-inbox-modal__button--cancel { background:#fff; color:#101210; border:1px solid #dfe2db; }

/* Calendar uses the same black and lime visual language. */
.traden-app .calendar-month-day__dots i,
.traden-app .calendar-month-legend i,
.traden-app .calendar-week-strip a i { background:#d7ff00; }
.traden-app .calendar-month-day:is(.is-today,.is-selected) { position:relative; background:transparent; isolation:isolate; }
.traden-app .calendar-month-day:is(.is-today,.is-selected)::before { content:''; position:absolute; width:48px; height:48px; border-radius:50%; background:#101210; left:50%; top:50%; transform:translate(-50%,-50%); z-index:-1; }
.traden-app .calendar-month-day:is(.is-today,.is-selected) strong { background:transparent; color:#d7ff00; box-shadow:none; height:26px; }
.traden-app .calendar-month-day:is(.is-today,.is-selected) { gap:1px; }
.traden-app .calendar-map-marker { background:#101210; color:#d7ff00; border:2px solid #d7ff00; box-shadow:0 3px 10px #10121026; font-weight:600; }
.traden-app .calendar-view-tabs { position:relative; isolation:isolate; }
.traden-app .calendar-view-tabs.has-view-highlight a { position:relative; z-index:1; background:transparent; border-color:transparent; box-shadow:none; }
.traden-app .calendar-view-tabs.has-view-highlight a:is(.is-active,.crm-segmented__item--active) { background:transparent; border-color:transparent; box-shadow:none; color:#101210; }
.calendar-view-highlight { position:absolute; left:0; top:0; border-radius:10px; background:#d7ff00; pointer-events:none; transition:transform 240ms cubic-bezier(.2,.8,.2,1),width 240ms; }
.calendar-view-loading { position:fixed; top:env(safe-area-inset-top,0px); left:0; width:100%; height:3px; z-index:10000; overflow:hidden; background:#10121020; }
.calendar-view-loading[hidden] { display:none; }
.calendar-view-loading::after { content:''; display:block; width:40%; height:100%; background:#d7ff00; animation:calendar-loading 900ms ease-in-out infinite; }
@keyframes calendar-loading { from { transform:translateX(-100%); } to { transform:translateX(350%); } }
#calendar-help-dialog p { font-size:14px; line-height:1.6; color:#63685e; margin:16px 0; }
@media(prefers-reduced-motion:reduce) { .calendar-view-highlight { transition:none; } .calendar-view-loading::after { animation:none; width:100%; } }

.traden-app .calendar-month-day, .traden-app .calendar-week-strip a { position:relative; }
.traden-app .calendar-conflict-mark { position:absolute; top:3px; right:3px; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:#ff453a; color:#fff; font-size:12px; font-weight:700; line-height:1; z-index:2; }
.traden-app .calendar-conflict-mark--inline { position:static; display:inline-grid; vertical-align:middle; margin-left:8px; }

.traden-app .calendar-today-button { background:#101210; color:#d7ff00; border-color:#101210; box-shadow:none; }
.traden-app .calendar-view-tabs.app-filter-tabs { background:#fff; border-color:#dfe2db; }
.traden-app .calendar-view-tabs.app-filter-tabs a { color:#101210; }
.traden-app .calendar-week-strip a:is(.is-today,.is-selected) { background:#101210; color:#d7ff00; border-radius:999px; box-shadow:none; }
.traden-app .calendar-week-strip a:is(.is-today,.is-selected) :is(strong,span) { color:#d7ff00; }
.traden-app .calendar-week-strip a:is(.is-today,.is-selected) i { background:#d7ff00; }
.traden-app .calendar-page__header .app-page__actions { gap:6px; }
.traden-app .calendar-page__header .app-icon-button { width:42px; min-width:42px; height:44px; padding:10px; border-radius:10px; }
.traden-app .calendar-page__header .app-icon-button svg { width:20px; height:20px; }
@media(max-width:700px) { .traden-app .calendar-page__header .app-icon-button { width:34px; min-width:34px; height:42px; padding:7px; } }

.traden-app .calendar-route-stop__number { background:#101210; color:#d7ff00; border:0; box-shadow:none; font-weight:600; }

.traden-app .calendar-route-map.calendar-map--two-finger { touch-action:pan-x pan-y; }
.calendar-map-gesture-hint { position:absolute; top:10px; left:50%; transform:translateX(-50%); z-index:450; padding:5px 9px; border-radius:999px; background:#101210dc; color:#d7ff00; font-size:11px; line-height:1.3; white-space:nowrap; pointer-events:none; }
.calendar-map-gesture-hint[hidden] { display:none; }

/* Compact quote/invoice editor. */
.traden-app .document-create-page { max-width:900px; }
.traden-app .document-create-header { gap:10px; }
.traden-app .document-create-header h1 { font-size:20px; margin:0; flex:1; }
.traden-app .document-create-header__actions { display:flex; gap:8px; align-items:center; }
.traden-app .document-create-header .app-icon-button { width:38px; height:40px; min-width:38px; padding:9px; border-radius:10px; }
.traden-app .document-create-page :is(.btn,.document-create-save) { min-height:38px; padding:8px 12px; font-size:12px; font-weight:600; border-radius:9px; }
.traden-app .document-create-type-tabs { margin-bottom:8px; }
.traden-app .document-create-type-tabs a { min-height:40px; padding:8px; font-size:13px; }
.traden-app .document-create-type-tabs a.is-active { background:#101210; color:#d7ff00; box-shadow:none; }
.traden-app .document-create-form { gap:10px; }
.traden-app .document-create-section { background:#fff; border:1px solid #dfe2db; border-radius:12px; padding:12px; }
.traden-app .document-create-section > header { margin-bottom:8px; }
.traden-app .document-create-page h2 { font-size:15px; font-weight:600; margin:0; }
.traden-app .document-create-picker { padding:7px 0; border:0; box-shadow:none; margin-bottom:6px; }
.traden-app .document-create-picker .auth-input { min-height:36px; padding:7px 9px; font-size:12px; }
.traden-app .document-create-picker small { font-size:11px; font-weight:400; }
.traden-app .document-create-customer-card { padding:0; border:0; grid-template-columns:40px minmax(0,1fr); gap:10px; box-shadow:none; }
.traden-app .document-create-avatar { width:40px; height:40px; font-size:16px; font-weight:600; background:#d7ff00; color:#101210; }
.traden-app .document-create-primary-field input { font-size:14px; font-weight:600; }
.traden-app .document-create-customer-card label:not(.document-create-primary-field) input { font-size:12px; min-height:28px; }
.traden-app .document-create-new-pill { padding:3px 6px; font-size:10px; font-weight:500; }
.traden-app .document-create-job-card { border:0; background:#f7f8f3; padding:10px; gap:10px; grid-template-columns:36px minmax(0,1fr); box-shadow:none; }
.traden-app .document-create-job-icon { width:36px; height:36px; background:transparent; color:#101210; }
.traden-app .document-create-job-icon svg { width:24px; height:24px; }
.traden-app .document-create-job-card dl { grid-column:1 / -1; display:flex; gap:16px; margin:0; font-size:11px; }
.traden-app .document-create-job-copy textarea,.traden-app .document-create-job-copy input:not([name=job_service]) { font-size:12px; }
.traden-app :is(.document-create-line-items,.document-create-totals) { padding:12px; border-radius:12px; }
.traden-app .document-create-item { padding:9px 0; gap:6px; }
.traden-app .document-create-item input { font-size:12px; font-weight:500; }
.traden-app .document-create-item-icon { width:28px; height:28px; background:transparent; color:#101210; }
.traden-app .document-create-item-icon svg { width:20px; height:20px; }
.traden-app .document-create-item-delete { width:32px; height:34px; min-width:32px; padding:8px; }
.traden-app .document-create-add-item { font-size:12px; font-weight:500; }
.traden-app .document-create-adjustments summary { min-height:36px; padding:8px; font-size:12px; font-weight:500; }
.traden-app .document-create-totals dl { margin:8px 0 0; }
.traden-app .document-create-totals dl > div { padding:5px 0; font-size:12px; }
.traden-app .document-create-totals dl > div:last-child { font-size:17px; }
.traden-app .document-create-actions { gap:8px; }
.traden-app .document-create-page [data-open-document-preview] { display:flex; justify-content:center; align-items:center; gap:7px; color:#101210; }
.traden-app .document-create-page [data-open-document-preview] svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.traden-app .document-create-page [data-open-document-preview][hidden] { display:none; }
/* Floating A4 preview, without viewer chrome. */
.traden-app .document-preview-dialog { width:min(850px,100vw); max-width:100vw; height:94dvh; max-height:94dvh; border:0; border-radius:0; padding:0; background:transparent; box-shadow:none; overflow:visible; }
.traden-app .document-preview-dialog::backdrop { background:#18201455; backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); }
.traden-app .document-preview-toolbar { position:absolute; inset:0 0 auto; height:56px; padding:0; border:0; background:transparent; overflow:visible; z-index:2; pointer-events:none; }
.traden-app .document-preview-toolbar > div { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.traden-app .document-preview-close { position:absolute; right:12px; top:8px; width:36px; height:36px; border-radius:50%; border:1px solid #d7ff00; background:#101210; color:#d7ff00; font-size:26px; line-height:1; cursor:pointer; box-shadow:0 2px 8px #0003; }
.traden-app .document-preview-scroll { padding:26px 12px 16px; }
.traden-app .document-preview-paper { width:100%; min-height:auto; aspect-ratio:210 / 297; padding:6%; font:13px/1.5 Arial,sans-serif; }
.traden-app .document-preview-paper__header { grid-template-columns:1.2fr 1fr; }
.traden-app .document-preview-company { text-align:right; }
.traden-app .document-preview-dialog[open] { animation:document-preview-in 220ms ease-out; }
@keyframes document-preview-in { from { opacity:0; transform:translateY(20px) scale(.97); } to { opacity:1; transform:none; } }
@media(max-width:700px) {
 .traden-app .document-create-header h1 { font-size:17px; }
 .traden-app .document-create-header { gap:6px; }
 .traden-app .document-create-header__actions { gap:5px; }
 .traden-app .document-create-page { padding-inline:14px; }
 .traden-app .document-create-customer-card > div { grid-template-columns:1fr; }
 .traden-app .document-create-new-pill { grid-column:1; grid-row:auto; justify-self:start; }
 .traden-app .document-preview-paper { font-size:8px; }
 .traden-app .document-preview-paper h3 { font-size:15px; }
 .traden-app .document-preview-company > strong { font-size:11px; }
 .traden-app .document-preview-paper h4,.traden-app .document-preview-summary dt { font-size:8px; }
 .traden-app .document-preview-paper__header { gap:10px; margin-bottom:15px; }
 .traden-app .document-preview-items :is(th,td) { padding:5px 3px; }
 .traden-app .document-preview-totals { width:55%; }
 .traden-app .document-preview-totals > div:last-child { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .traden-app .document-preview-dialog[open] { animation:none; } }

.traden-app .document-create-page .document-create-section > header { display:flex; align-items:center; justify-content:space-between; padding:0 0 6px; }
.traden-app .document-create-page .document-create-edit { display:flex; align-items:center; gap:3px; font-size:12px; font-weight:500; }
.traden-app .document-create-page :is(.document-create-customer-card,.document-create-job-card,.document-create-item) input,
.traden-app .document-create-page .document-create-job-card textarea { min-height:26px !important; height:auto; padding:3px 0 !important; font-size:13px !important; line-height:1.4; }
.traden-app .document-create-page .document-create-customer-card input[type=checkbox] { min-height:18px !important; padding:0 !important; }
.traden-app .document-create-page .document-create-job-card textarea { min-height:40px !important; }
.traden-app .document-create-page .document-create-customer-card { background:transparent; }
.traden-app .document-create-page .document-create-customer-card > div { gap:2px 8px; }
.traden-app .document-create-page .document-create-primary-field input { font-weight:600; }
.traden-app .document-create-page .document-create-picker small { display:none; }
.traden-app .document-create-page .document-create-item { min-height:66px; grid-template-columns:10px 24px minmax(0,1fr) 75px 32px; grid-template-rows:auto auto; }
.traden-app .document-create-page .document-create-item-description { grid-column:3; grid-row:1; }
.traden-app .document-create-page .document-create-item-quantity { grid-column:3; grid-row:2; }
.traden-app .document-create-page .document-create-item-price { grid-column:4; grid-row:1 / 3; }
.traden-app .document-create-page .document-create-item-delete { grid-column:5; grid-row:1 / 3; }
.traden-app .document-create-page .document-create-actions { padding:0; background:transparent; border:0; }

.traden-app .workspace-shell .document-create-page :is(.document-create-section,.document-create-line-items,.document-create-totals) { padding:12px; }
.traden-app .workspace-shell .document-create-page .document-create-section > header,
.traden-app .workspace-shell .document-create-page .document-create-line-items > header { min-height:0; padding:0 0 8px; margin:0; }
.traden-app .workspace-shell .document-create-page .document-create-totals dl > div { min-height:0; padding:5px 0; }

/* Keep the preview close control above the scrolling sheet with a real touch target. */
.traden-app .document-preview-close { width:44px; height:44px; font-size:24px; right:5px; top:4px; pointer-events:auto; touch-action:manipulation; }
.traden-app .workspace-shell .document-create-page .document-create-section { padding:10px; }
.traden-app .workspace-shell .document-create-page .document-create-section > header { padding-bottom:5px; }
.traden-app .workspace-shell .document-create-page .document-create-customer-card { padding:0; gap:8px; }
.traden-app .workspace-shell .document-create-page .document-create-customer-card > div { gap:0 7px; }
.traden-app .workspace-shell .document-create-page .document-create-customer-card label:not(.document-create-primary-field) input { min-height:22px !important; padding:1px 0 !important; font-size:12px !important; }
.traden-app .workspace-shell .document-create-page .document-create-picker { padding:3px 0; margin-bottom:5px; background:transparent; }
.traden-app .workspace-shell .document-create-page .document-create-picker label { gap:2px; }
.traden-app .workspace-shell .document-create-page .document-create-picker .auth-input { min-height:32px; padding:5px 8px; }
.traden-app .workspace-shell .document-create-page .document-create-job-card { padding:8px; gap:5px 8px; }
.traden-app .workspace-shell .document-create-page .document-create-job-copy { gap:1px; }
.traden-app .workspace-shell .document-create-page .document-create-job-card textarea { min-height:34px !important; padding:1px 0 !important; line-height:1.3; }
.traden-app .workspace-shell .document-create-page .document-create-job-card dl { padding-top:5px; margin:0; gap:12px; }
.traden-app .workspace-shell .document-create-page .document-create-job-card dl > div { padding:0; }

.traden-app .document-create-type-tabs { position:relative; isolation:isolate; }
.traden-app .document-create-type-tabs.has-type-highlight a { position:relative; z-index:1; background:transparent; border-color:transparent; transition:color 240ms ease; }
.traden-app .document-create-type-tabs.has-type-highlight a.is-active { background:transparent; color:#d7ff00; border-color:transparent; }
.document-type-highlight { position:absolute; top:0; left:0; background:#101210; border-radius:10px; pointer-events:none; transition:transform 240ms cubic-bezier(.2,.8,.2,1),width 240ms; }

.document-create-page.is-type-leaving .document-create-form { pointer-events:none; }
.document-create-page.is-type-leaving :is(.document-create-customer-card > div,.document-create-avatar,.document-create-job-copy,.document-create-job-card dl,.document-create-item > *,.document-create-totals dl,.document-create-picker select) { filter:blur(4px); transition:filter 220ms ease; }
.document-create-page.is-type-entering :is(.document-create-customer-card > div,.document-create-avatar,.document-create-job-copy,.document-create-job-card dl,.document-create-item > *,.document-create-totals dl,.document-create-picker select) { animation:document-fields-arrive 320ms ease-out; }
@keyframes document-fields-arrive { from { filter:blur(4px); } to { filter:blur(0); } }
.traden-app .document-create-page :is(button,a,summary,input,select) { -webkit-tap-highlight-color:transparent; }
.traden-app .document-create-page :is(button,a,summary,input,select):focus-visible { outline:2px solid #d7ff00; outline-offset:2px; }
.traden-app .document-create-page :is(.document-create-save,.document-preview-launch,.document-create-preview-action,.document-create-action-secondary):is(:link,:visited,:hover,:active,:focus) { background:#fff; color:#101210; border-color:#dfe2db; box-shadow:none; }
.traden-app .document-create-page .document-create-action-primary:is(:hover,:active,:focus) { background:#d7ff00; color:#101210; border-color:#d7ff00; box-shadow:none; }
.traden-app .document-create-type-tabs a:visited { color:#101210; }
.traden-app .document-create-type-tabs a.is-active:visited { color:#d7ff00; }
@media(prefers-reduced-motion:reduce) {
 .document-type-highlight { transition:none; }
 .document-create-page.is-type-leaving :is(.document-create-customer-card > div,.document-create-avatar,.document-create-job-copy,.document-create-job-card dl,.document-create-item > *,.document-create-totals dl,.document-create-picker select) { filter:none; transition:none; }
 .document-create-page.is-type-entering :is(.document-create-customer-card > div,.document-create-avatar,.document-create-job-copy,.document-create-job-card dl,.document-create-item > *,.document-create-totals dl,.document-create-picker select) { animation:none; }
}

.traden-app .documents-page .documents-row__link { padding-right:12px; }
.traden-app .documents-page .documents-row__body { grid-column:2 / -1; padding-right:25px; }
.traden-app .documents-page .documents-row__status { grid-column:2 / -1; grid-row:2; justify-self:end; align-self:end; margin-top:4px; }
.traden-app .documents-page .documents-row__amount { grid-column:1 / 2; grid-row:2; align-self:end; }
.traden-app .documents-page .documents-row__menu { right:9px; }

.traden-app .documents-page .documents-row__download {
 display:inline-flex; align-items:center; gap:7px; min-height:44px; margin:0 48px 8px 44px;
 padding:0 10px; border:1px solid #dfe2db; border-radius:9px;
 color:#101210; font-size:12px; font-weight:700; text-decoration:none;
}
.traden-app .documents-page .documents-row__download:hover,
.traden-app .documents-page .documents-row__download:focus-visible { border-color:#101210; background:#f5f8e9; }
.traden-app .documents-page .documents-row__download svg { width:17px; height:17px; flex:none; }
@media(max-width:700px) {
 .traden-app .documents-page .documents-row__download { margin-left:10px; }
}

/* Simple document approval, matching the editor. */
.traden-app .review-simple { max-width:900px; display:grid; gap:10px; animation:review-page-enter 280ms ease-out; }
.traden-app .review-simple .document-create-header { margin-bottom:5px; }
.traden-app .review-simple .document-create-header h1 { font-size:20px; }
.traden-app .review-simple .app-icon-button { width:38px; height:40px; min-width:38px; padding:9px; }
.traden-app .review-simple .btn { min-height:38px; padding:8px 12px; font-size:12px; font-weight:600; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.traden-app .review-simple .btn svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.traden-app .review-simple .review-view { background:#fff; color:#101210; border:1px solid #dfe2db; }
.traden-app .review-simple [hidden] { display:none; }
.review-summary { padding:12px; }
.review-summary__heading { display:flex; gap:10px; align-items:center; }
.review-summary__heading > div { flex:1; min-width:0; }
.traden-app .review-summary h2 { font-size:17px; margin:0; }
.review-summary__heading p { margin:3px 0 0; font-size:12px; color:#777b73; }
.review-summary__status { font-size:10px; border-radius:999px; padding:5px 8px; background:#101210; color:#d7ff00; white-space:nowrap; }
.review-summary__metadata { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid #e7e9e2; margin:12px 0; padding:10px 0; gap:8px; }
.review-summary__metadata dt { font-size:10px; color:#777b73; }
.review-summary__metadata dd { margin:3px 0 0; font-size:12px; }
.review-summary__actions { display:flex; align-items:center; gap:8px; }
.review-summary__actions > div { margin-right:auto; }
.review-summary__actions small { display:block; font-size:11px; color:#777b73; }
.review-summary__actions strong { display:block; font-size:24px; }
.review-checklist { display:grid; gap:7px; }
.review-check { padding:0; overflow:hidden; }
.review-check > summary { display:flex; align-items:center; gap:10px; padding:12px; list-style:none; cursor:pointer; }
.review-check > summary::-webkit-details-marker { display:none; }
.review-check__icon { width:30px; height:34px; flex:0 0 30px; display:grid; place-items:center; color:#101210; }
.review-check__icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; }
.review-check__copy { display:grid; gap:2px; min-width:0; flex:1; }
.review-check__copy strong { font-size:14px; font-weight:600; }
.review-check__copy small { font-size:12px; color:#777b73; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.review-check__result { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#101210; color:#d7ff00; font-size:13px; }
.review-check__result.needs-attention { background:#ff453a; color:#fff; }
.review-check__result.is-optional { background:#e7e9e2; color:#777b73; }
.review-check summary > svg { width:14px; height:14px; fill:none; stroke:#777b73; stroke-width:1.7; transform:rotate(90deg); }
.review-check[open] summary > svg { transform:rotate(-90deg); }
.review-check__body { border-top:1px solid #e7e9e2; padding:12px; font-size:12px; }
.review-check__body p { margin:0 0 6px; }
.review-check__body a { display:inline-flex; gap:4px; align-items:center; color:#424938; }
.review-check__body a svg { width:12px; height:12px; fill:none; stroke:currentColor; }
.review-check__error { color:#b22b21; }
.review-simple-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.review-simple-actions form .btn { width:100%; }
.review-simple-actions > .quote-review-approve { grid-column:1 / -1; }
.review-missing { font-size:12px; color:#b22b21; }
.document-create-page.is-review-opening .document-create-form { filter:blur(2px); transition:filter 180ms; }
@keyframes review-page-enter { from { transform:translateY(10px); filter:blur(2px); } to { transform:none; filter:none; } }
@media(max-width:700px) {
 .traden-app .review-simple { padding-inline:14px; }
 .traden-app .review-simple .document-create-header h1 { font-size:17px; }
 .review-summary__heading { flex-wrap:wrap; }
 .review-summary__status { margin-left:40px; }
 .review-summary__actions { flex-wrap:wrap; }
 .review-summary__actions > div { flex-basis:100%; }
 .review-summary__actions > .btn { flex:1; }
}
@media(prefers-reduced-motion:reduce) { .traden-app .review-simple { animation:none; } .document-create-page.is-review-opening .document-create-form { filter:none; transition:none; } }

.traden-app .workspace-shell .review-simple { height:auto; min-height:0; grid-auto-rows:max-content; align-content:start; overflow:visible; padding-bottom:24px; }
.traden-app .review-simple > .review-summary { min-height:max-content; overflow:visible; padding:12px; }

@media(max-width:900px) {
 .traden-app .workspace-shell:has(.review-simple) .ws-main { overflow-y:auto; }
 .traden-app .workspace-shell .ws-content.app-page.review-simple { padding-bottom:calc(var(--ws-mobile-nav-height,92px) + env(safe-area-inset-bottom,0px) + 24px); }
}

.traden-app .workspace-shell .ws-content.app-page.review-simple { max-height:none; height:max-content; flex-shrink:0; }

.traden-app .locked-document-page { max-width:760px; margin-inline:auto; }
.traden-app .locked-document-page .document-create-header { justify-content:flex-start; }
.traden-app .locked-document-page .app-icon-button { width:38px; height:40px; min-width:38px; padding:9px; }
.traden-app .locked-document-card { padding:16px; border-radius:12px; }
.locked-document-card__top { display:flex; gap:10px; align-items:center; }
.locked-document-card__top > div { flex:1; min-width:0; }
.traden-app .locked-document-card h2 { margin:0; font-size:18px; }
.locked-document-card__top p { margin:4px 0 0; font-size:12px; color:#73786e; }
.locked-document-icon { color:#101210; display:grid; place-items:center; }
.locked-document-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; }
.locked-document-pill { display:flex; gap:5px; align-items:center; padding:6px 9px; border-radius:999px; font-size:11px; background:#101210; color:#d7ff00; }
.locked-document-pill svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; }
.locked-document-notice { font-size:13px; line-height:1.5; color:#73786e; margin:16px 0; }
.locked-document-details { margin:0; }
.locked-document-details > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; padding:10px 0; border-top:1px solid #e5e8df; font-size:13px; }
.locked-document-details dt { color:#73786e; }
.locked-document-details dd { margin:0; overflow-wrap:anywhere; }
.locked-document-total dd { font-size:23px; font-weight:600; }
.locked-document-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.traden-app .locked-document-actions .btn { min-height:40px; padding:9px; font-size:12px; display:flex; justify-content:center; align-items:center; gap:6px; }
.locked-document-actions .btn svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.locked-document-actions [hidden] { display:none !important; }
@media(max-width:700px) { .traden-app .locked-document-page { padding-inline:14px; } .traden-app .locked-document-card h2 { font-size:15px; } }

.traden-app .locked-document-actions .btn:not(.btn--primary) { background:#fff; color:#101210; border-color:#dfe2db; box-shadow:none; }

/* Explicit badge geometry avoids Chrome flex/grid shrink and aspect-ratio sizing. */
.traden-app .ws-nav__badge,
.traden-app .ws-bottom-nav__item b { box-sizing:border-box; flex:none; width:max-content; min-width:22px; height:22px; min-height:22px; max-height:22px; aspect-ratio:auto; padding:0 4px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; line-height:1; white-space:nowrap; }
.traden-app .inbox-workspace .inbox-item__badge { box-sizing:border-box; flex:none; width:max-content; min-width:16px; height:16px; min-height:16px; max-height:16px; aspect-ratio:auto; padding:0 4px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; line-height:1; white-space:nowrap; }

/* Compact, data-only job details shared by job cards and inbox. */
.traden-app .evolving-brief { color: inherit; font: inherit; line-height: 1.45; }
.traden-app .evolving-brief .brief-work { margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--app-border, #dedfd7); }
.traden-app .evolving-brief .brief-work h3 { font-size: .875rem; font-weight: 650; margin: 0 0 6px; color: inherit; }
.traden-app .evolving-brief dl { margin: 0; }
.traden-app .evolving-brief .brief-fact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 12px; margin: 0; padding: 9px 0; border-bottom: 1px solid var(--app-border, #dedfd7); font-size: .8125rem; }
.traden-app .evolving-brief .brief-fact:last-child { border-bottom: 0; padding-bottom: 0; }
.traden-app .evolving-brief .brief-fact dt { display: block; font-weight: 400; color: var(--app-muted, #73766c); }
.traden-app .evolving-brief .brief-fact dd { margin: 0; font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.traden-app .evolving-brief ul { margin: 0; padding-left: 18px; font-size: .8125rem; }
.traden-app .evolving-brief li + li { margin-top: 6px; }
.traden-app .evolving-brief .brief-note { color: var(--app-muted, #73766c); font-size: .75rem; }
.traden-app .job-summary { min-height: 0; }
.traden-app .job-summary > p { margin-bottom: 0; }
