.restoration-workspace{min-width:0}.restoration-workspace .work-heading h1{margin-top:14px}.restoration-workspace .work-heading{gap:24px;align-items:flex-start}.restoration-tools{margin-top:24px}.restoration-tools button{min-height:134px}.restoration-tools button strong{display:block;margin:7px 0}.restoration-notice{padding:13px 18px;border:1px solid color-mix(in srgb,var(--cf-border) 20%,transparent);border-radius:12px;color:var(--cf-positive);background:color-mix(in srgb,var(--cf-text) 4%,transparent)}.restoration-editor{margin:24px 0}.restoration-editor fieldset{border:0;padding:0;margin:0;min-width:0}.restoration-editor .crm-field[data-wide=true]{grid-column:1/-1}.restoration-editor input[type=checkbox]{width:22px;height:22px}.restoration-editor .crm-actions{margin-top:22px}.restoration-inspector dd{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}.restoration-inspector .crm-actions{margin-bottom:22px}.restoration-calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow:auto;gap:8px;margin:20px 0}.restoration-calendar section{border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 8%,transparent));border-radius:12px;min-height:180px;padding:12px}.restoration-calendar h3{font-size:12px;color:var(--muted,var(--cf-muted));margin:0 0 16px}.restoration-calendar button{display:grid;width:100%;gap:6px;padding:12px;text-align:left;border:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);border-radius:8px;background:color-mix(in srgb,var(--cf-text) 4%,transparent);color:inherit;font:inherit;cursor:pointer;margin-bottom:8px}.restoration-calendar time{font-size:11px}.restoration-calendar strong{font-size:13px}.restoration-calendar small{font-size:10px}.restoration-workspace>.crm-segment{margin:12px 0 22px}.restoration-workspace .backend-record-layout{margin-top:20px}.restoration-workspace .backend-search{flex-wrap:wrap}.restoration-workspace .backend-row small{max-height:3em;overflow:hidden}.restoration-workspace .crm-board{margin:22px 0}.restoration-workspace .crm-stats{flex-wrap:wrap}.restoration-workspace .crm-stats>div{min-width:170px}.restoration-workspace button:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}@media(max-width:760px){.restoration-workspace{padding:20px 16px 130px}.restoration-workspace .work-heading{display:block}.restoration-workspace .work-heading>.crm-actions{margin-top:18px}.restoration-workspace .crm-tool-grid{grid-template-columns:1fr}.restoration-workspace .backend-record-layout{grid-template-columns:1fr}.restoration-workspace .crm-form-grid{grid-template-columns:1fr}.restoration-workspace .backend-search label{flex:1 1 100%}.restoration-workspace .crm-stats{display:grid;grid-template-columns:1fr 1fr}.restoration-workspace .crm-stats>div{min-width:0}.restoration-workspace .work-heading h1{font-size:30px}.restoration-calendar{grid-template-columns:repeat(7,160px)}.restoration-editor{scroll-margin-top:80px}}
.restoration-brand{display:inline-flex;align-items:center;font-size:18px;font-weight:650;line-height:1.15;max-width:180px;overflow-wrap:anywhere}.restoration-brand img{max-width:180px;max-height:34px;object-fit:contain}.restoration-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere}.restoration-inspector .text-button{white-space:normal;max-width:100%;text-align:start}.restoration-inspector audio{max-width:100%;margin:14px 0}

.restoration-metric-picker{margin:24px 0}.restoration-metric-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:390px;overflow:auto;padding:8px 4px}.restoration-metric-options label{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.restoration-metric-options input{flex:none;margin-top:2px}.restoration-metric-options small{display:block;color:var(--fg-3);line-height:1.5;margin-top:5px}.restoration-report{margin:32px 0}.restoration-report>.crm-panel-title{align-items:flex-start;gap:20px;flex-wrap:wrap}.restoration-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.restoration-report-grid article{min-width:0;overflow-wrap:anywhere}.restoration-report-grid h3{font-size:15px;margin:0}.restoration-report-value{font-size:32px;font-weight:650;letter-spacing:-.03em;margin:16px 0}.restoration-report-grid p{line-height:1.5}.restoration-report-grid details{margin:16px 0;font-size:13px}.restoration-report-grid summary{cursor:pointer}.restoration-report-spark{display:block;width:100%;height:96px;margin-top:14px}.restoration-report-spark path{fill:none;stroke:var(--accent,#3686d9);stroke-width:3;vector-effect:non-scaling-stroke}.restoration-report-spark circle{fill:var(--accent,#3686d9)}.restoration-report-spark line{stroke:var(--line);stroke-width:1}.restoration-daily-data{max-height:240px;overflow:auto}.restoration-daily-data div{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.restoration-report-target{font-weight:600}@media(max-width:1100px){.restoration-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.restoration-metric-options,.restoration-report-grid{grid-template-columns:1fr}.restoration-report>.crm-panel-title{display:block}.restoration-report-value{font-size:30px}}

.restoration-questions{margin:24px 0}.restoration-questions>h3{margin:0 0 8px}.restoration-editor .restoration-question{border:1px solid var(--line2);border-radius:12px;padding:18px 20px;margin:0 0 14px}.restoration-question>legend{padding:0 6px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.restoration-question .crm-form-grid{margin:0}.restoration-question .crm-actions{margin-top:16px}.restoration-question-advanced,.restoration-question-json{font-size:.8125rem;color:var(--ink3)}.restoration-question-advanced{margin-top:16px}.restoration-question-json{margin-top:20px}.restoration-question-advanced summary,.restoration-question-json summary{cursor:pointer;min-height:34px;line-height:2.2}.restoration-question-advanced .crm-field,.restoration-question-json .crm-field{margin-top:10px}.restoration-question-json textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}@media(max-width:760px){.restoration-editor .restoration-question{padding:16px 14px}}

.restoration-people{margin:24px 0}.restoration-people>h3{margin:0 0 8px}.restoration-people-count{font-weight:650}.restoration-people-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}.restoration-people-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;min-width:0}.restoration-people-list li>span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.restoration-people-list small{color:var(--ink3)}.restoration-people-list li[data-unavailable="true"]{border-style:dashed}.restoration-people-added{color:var(--ink3);font-size:.8125rem}.restoration-people-search{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}.restoration-people-search .crm-field{flex:1 1 240px;margin:0;min-width:0}@media(max-width:760px){.restoration-people-list li{padding:10px 12px}.restoration-people-search .crm-field{flex-basis:100%}}

/* Proposal review, referral manager and community roster. Reuses the record-list shape
   already used for linked people so the three panels read as one workspace. */
.restoration-proposal{margin:24px 0}.restoration-proposal>h3{margin:0 0 8px}.restoration-proposal .crm-form-grid{margin:0}
.restoration-review,.restoration-referrals,.restoration-community,.restoration-webhook,.restoration-portal,.restoration-plan,.restoration-run,.restoration-reviews,.restoration-social,.restoration-thread,.restoration-money,.restoration-site,.restoration-ads{margin:24px 0}
.restoration-site input[readonly]{overflow-wrap:anywhere}
.restoration-ad-budget{border:1px solid var(--line2);border-radius:12px;padding:12px 16px;margin:12px 0}
.restoration-ad-budget>h3{margin:0 0 4px}.restoration-ad-budget>p{margin:2px 0}
.restoration-keys{margin:24px 0}
.restoration-key-scopes{border:1px solid var(--line2);border-radius:12px;padding:16px;margin:0 0 4px}
.restoration-key-scopes legend{padding:0 6px;font-size:.8125rem;color:var(--ink3)}
.restoration-key-scopes label{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer}
.restoration-keys input[readonly]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.restoration-run-call{border:1px solid var(--line2);border-radius:12px;margin:12px 0}
.restoration-webhook dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:12px 0}.restoration-webhook dt{color:var(--ink3)}.restoration-webhook dd{margin:0;overflow-wrap:anywhere}.restoration-webhook code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}
.restoration-review pre,.restoration-referrals pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem}
.restoration-domain-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.restoration-domain-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;min-width:0}
.restoration-domain-list li[data-open="true"]{border-color:var(--accent,var(--cf-border))}
.restoration-domain-list li>span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.restoration-domain-list li>span.crm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.restoration-domain-list small{color:var(--ink3)}
.restoration-domain-list .crm-field{margin:0;min-width:180px}
@media(max-width:760px){.restoration-domain-list li{padding:10px 12px}}

/* Channel and account controls share the workspace appearance, including glass. */
.inbox-toolbar{margin:0 0 22px;min-width:0}.inbox-channels{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--card,var(--panel));width:fit-content;max-width:100%}.inbox-channels button{border:0;border-radius:10px;background:transparent;color:var(--ink2,var(--fg-2));padding:11px 16px;font:inherit;font-size:13px;cursor:pointer}.inbox-channels button[aria-pressed=true]{color:var(--ink,var(--fg));background:var(--knob,var(--panel-2));box-shadow:none}.inbox-channels button:focus-visible,.inbox-account-bar select:focus-visible{outline:2px solid var(--accent-ink,var(--cf-border));outline-offset:3px}.inbox-account-bar{display:flex;align-items:end;gap:14px;justify-content:space-between;margin-top:16px}.inbox-account-bar label{display:grid;gap:6px;min-width:0;max-width:520px;flex:1;color:var(--ink2,var(--fg-2));font-size:12px}.inbox-account-bar select{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--btn,var(--panel));color:var(--ink,var(--fg));font:inherit;font-size:13px}.inbox-account-bar button{flex:none}.inbox-toolbar .native-integrations{padding:22px 0}.inbox-toolbar .native-integrations h1{font-size:23px}@media(max-width:600px){.inbox-channels{width:100%;box-sizing:border-box}.inbox-channels button{flex:1 0 auto;padding:10px 12px}.inbox-account-bar{align-items:stretch;flex-direction:column}.inbox-account-bar label{max-width:none}.inbox-account-bar button{align-self:start}}

/* Plain-language business knowledge editor. */
.knowledge-answers{margin:24px 0;padding-top:20px;border-top:1px solid var(--line,color-mix(in srgb,var(--cf-border) 25%,transparent))}
.knowledge-answers>p{color:var(--fg-2,var(--ink));line-height:1.6;max-width:65ch}
.knowledge-answer{border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 25%,transparent));border-radius:16px;padding:18px;margin:18px 0;min-width:0}
.knowledge-answer legend{font-weight:650;padding:0 8px}.knowledge-answer .crm-field{display:grid;gap:8px;margin-bottom:16px}
.knowledge-answer input,.knowledge-answer textarea{width:100%;box-sizing:border-box}
.restoration-work-order{margin:14px 0}.restoration-work-order h3,.restoration-work-order h4{margin:12px 0 6px}.restoration-work-order dl{display:grid;gap:8px;margin:0}.restoration-work-order dd{margin:0;white-space:normal;max-height:none;overflow:visible}.restoration-work-order ul{margin:6px 0;padding-left:20px;overflow-wrap:anywhere}
.restoration-collections{margin:14px 0}.restoration-collections h3{margin:12px 0 6px}.restoration-collections dl{display:grid;gap:8px;margin:0}.restoration-collections dd{margin:0;white-space:normal}.restoration-collections ul{margin:6px 0;padding-left:20px;overflow-wrap:anywhere}

.restoration-inspector .contact-postal-address dd{white-space:pre-line;overflow-wrap:anywhere;}

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/6f754646-50e6-41dc-847d-ddc48b7d1cc4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/33670bb3-4f13-47c4-a790-b4d5d43d58b0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/0a940d18-8996-456c-a668-48ab9e8fd765.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/05d70069-4541-43b3-a68e-6165a7e4a739.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/20e10149-9db4-468a-a776-7bf16fcdb1e8.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/96bdf85b-e0dc-4c30-a4df-65d6add2d604.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/60bca130-605a-4d57-ab80-33bae759303d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* symbols2 */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/3c4e8f26-c16c-40bf-9695-6d5ca6545801.woff2") format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
/* vietnamese */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/b1fb0edb-78a7-4cd7-81e6-e742305b8c17.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/a55b0164-9881-4192-ad4c-851b80ee4ee9.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/0fec8785-7a3f-4055-9346-990b4ed999ee.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


*,*::before,*::after{box-sizing:border-box}
body{margin:0;padding:0;-webkit-font-smoothing:antialiased;font-family:'Geist',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:var(--cf-surface);--board:var(--cf-canvas);--board-ink:var(--cf-text);--board-soft:var(--cf-muted);--screen:var(--cf-canvas);--card:var(--cf-surface);--card-sh:inset 0 1.5px 0 rgba(255,255,255,1),inset 0 -1.5px 0 rgba(148,163,196,.22),0 0 0 1px rgba(30,38,55,.055),0 1px 2px -1px rgba(30,38,55,.14),0 6px 12px -6px rgba(30,38,55,.16),0 22px 40px -20px rgba(30,38,55,.34);--card-sh-hi:inset 0 1.5px 0 rgba(255,255,255,1),inset 0 -1.5px 0 rgba(148,163,196,.26),0 0 0 1px rgba(30,38,55,.06),0 2px 4px -2px rgba(30,38,55,.16),0 10px 20px -8px rgba(30,38,55,.2),0 34px 58px -24px rgba(30,38,55,.44);--well-sh:inset 0 0 0 1px rgba(30,38,55,.05),inset 0 1.5px 3px -1px rgba(30,38,55,.1),inset 0 -1px 0 rgba(255,255,255,.92);--press:0 1px 0 rgba(255,255,255,.95),0 -1px 1px rgba(30,38,55,.16);--inset:var(--cf-field);--inset-ring:rgba(30,38,55,.06);--line:var(--cf-border);--line2:var(--cf-border);--line3:var(--cf-strong);--line4:rgba(30,38,55,.18);--rule:#e3e6ea;--btn:var(--cf-field);--hover:var(--cf-hover);--hover2:var(--cf-hover);--seg:rgba(30,38,55,.06);--track:rgba(30,38,55,.07);--sw-off:rgba(30,38,55,.14);--ink:var(--cf-text);--ink2:var(--cf-muted);--ink3:var(--cf-subtle);--mute:var(--cf-subtle);--faint:var(--cf-subtle);--primary:var(--cf-primary);--on-primary:var(--cf-on-primary);--primary-sh:0 12px 24px -12px rgba(30,38,55,.6);--accent:#4a9cf0;--accent-ink:var(--cf-focus);--accent-soft:rgba(74,156,240,.12);--green:#4cbd77;--green-ink:var(--cf-positive);--green-soft:rgba(76,189,119,.14);--amber:#f5b73d;--amber-ink:var(--cf-warning);--amber-soft:rgba(245,183,61,.2);--red:#ff6a5a;--red-hot:#e0523f;--red-ink:var(--cf-negative);--red-soft:rgba(238,106,95,.06);--red-tint:rgba(238,106,95,.12);--red-line:rgba(238,106,95,.5);--violet:#a78bfa;--violet-ink:#5b34b8;--violet-soft:rgba(167,139,250,.14);--sky:#6cd0f0;--sky-ink:#1682b4;--sky-soft:rgba(108,208,240,.22);--bar-ink:rgba(51,55,60,.2);--tile:#1b1f27;--tile-ink:#ffffff;--tile-mute:rgba(255,255,255,.56);--tile-track:rgba(255,255,255,.14);--tip:rgba(51,55,60,.94);--tip-ink:#ffffff;--dot-grid:rgba(51,55,60,.13);--track-hi:#ffffff;--track-mid:#d1d5db;--track-lo:#6b7280;--glass:rgba(255,255,255,.55);--glass-sh:0 0 0 1px rgba(30,38,55,.05),0 12px 24px -12px rgba(30,38,55,.28),inset 0 1.5px 0 rgba(255,255,255,.85);--circ:var(--cf-field);--circ-sh:0 0 0 1px rgba(30,38,55,.04),0 10px 20px -10px rgba(30,38,55,.28),0 1px 2px rgba(30,38,55,.06),inset 0 0 0 1px rgba(255,255,255,.95);--pill:linear-gradient(180deg,#ffffff,#f6f7f9);--pill-sh:0 0 0 1px rgba(30,38,55,.04),0 10px 22px -10px rgba(30,38,55,.32),0 1px 2px rgba(30,38,55,.06),inset 0 0 0 1px rgba(255,255,255,.95),inset 0 1.5px 0 #ffffff;--chip:linear-gradient(180deg,#ffffff,#f6f7f9);--chip-sh:0 4px 10px -6px rgba(30,38,55,.2),inset 0 0 0 1px rgba(30,38,55,.07);--chip-on-sh:0 6px 14px -6px rgba(30,38,55,.5);--knob:#ffffff;--knob-sh:0 2px 6px rgba(30,38,55,.2),inset 0 0 0 1px rgba(30,38,55,.05);--coin:linear-gradient(160deg,#e7f0fb,#c6dbf3 55%,#9fc0e6);--coin-ring:inset 0 0 0 1px rgba(80,130,190,.65),inset 0 1.5px 1px rgba(255,255,255,.95);--coin-ink:#1a56d6;--gcoin:linear-gradient(160deg,#e4f5eb,#c6e8d5 55%,#9cd4b4);--gcoin-ring:inset 0 0 0 1px rgba(45,140,90,.6),inset 0 1.5px 1px rgba(255,255,255,.95);--gcoin-ink:#22824e;--toast:rgba(51,55,60,.92);--toast-ink:#ffffff;--tab-bar:var(--cf-surface);--tab-line:rgba(232,234,238,.7);--tab-ink:#5f656d;--tab-lc:#5c6169;--tab-on:var(--cf-focus);--cut:var(--cf-canvas);--scrim:rgba(30,38,55,.38);--shine:#9ec1e8;--bar-off:linear-gradient(180deg,#dde4ec,#cbd3dd)}
[data-zwt="dark"] [data-zwl="1"]{--screen:var(--cf-canvas);--card:var(--cf-surface);--card-sh:inset 0 1.5px 0 rgba(255,255,255,1),inset 0 -1.5px 0 rgba(148,163,196,.22),0 0 0 1px rgba(30,38,55,.06),0 2px 4px -2px rgba(30,38,55,.16),0 18px 34px -18px rgba(30,38,55,.3);--well-sh:inset 0 0 0 1px rgba(30,38,55,.05),inset 0 1.5px 3px -1px rgba(30,38,55,.1);--press:0 1px 0 rgba(255,255,255,.95),0 -1px 1px rgba(30,38,55,.16);--inset:var(--cf-field);--ink:var(--cf-text);--ink2:var(--cf-muted);--ink3:var(--cf-subtle);--mute:var(--cf-subtle);--line:var(--cf-border);--line2:var(--cf-border);--btn:var(--cf-field);--hover:var(--cf-hover);--track:rgba(30,38,55,.1);--primary:var(--cf-primary);--on-primary:var(--cf-on-primary);--primary-sh:0 10px 20px -10px rgba(27,30,34,.6);--green-ink:var(--cf-positive);--amber-ink:var(--cf-warning);--accent-ink:var(--cf-focus);--circ:var(--cf-field);--circ-sh:0 0 0 1px rgba(30,38,55,.07),0 6px 14px -8px rgba(30,38,55,.35),inset 0 1.5px 0 #ffffff;--gcoin:linear-gradient(180deg,#8fe0ae,#4cbd77);--gcoin-ring:0 0 0 1px rgba(34,130,78,.25);--gcoin-ink:#ffffff;--green-soft:rgba(76,189,119,.16);--amber-soft:rgba(245,183,61,.22);--inset-ring:rgba(30,38,55,.06);--rule:#e3e6ea;--faint:var(--cf-subtle);--seg:rgba(30,38,55,.06);--red:#ff6a5a;--green:#4cbd77;--amber:#f5b73d}
[data-zwt="dark"]{--board:var(--cf-canvas);--board-ink:var(--cf-text);--board-soft:var(--cf-muted);--screen:var(--cf-canvas);--card:var(--cf-surface);--card-sh:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.55),0 8px 16px -8px rgba(0,0,0,.8),0 28px 50px -22px rgba(0,0,0,1);--card-sh-hi:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.09),0 2px 4px rgba(0,0,0,.6),0 14px 26px -10px rgba(0,0,0,.9),0 38px 64px -24px rgba(0,0,0,1);--well-sh:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 2px 4px -1px rgba(0,0,0,.75),inset 0 -1px 0 rgba(255,255,255,.05);--press:0 1px 0 rgba(0,0,0,.6),0 -1px 1px rgba(255,255,255,.1);--inset:var(--cf-field);--inset-ring:rgba(255,255,255,.07);--line:var(--cf-border);--line2:var(--cf-border);--line3:var(--cf-strong);--line4:rgba(255,255,255,.24);--rule:rgba(255,255,255,.09);--btn:var(--cf-field);--hover:var(--cf-hover);--hover2:var(--cf-hover);--seg:rgba(255,255,255,.07);--track:rgba(255,255,255,.09);--sw-off:rgba(255,255,255,.16);--ink:var(--cf-text);--ink2:var(--cf-muted);--ink3:var(--cf-subtle);--mute:var(--cf-subtle);--faint:var(--cf-subtle);--primary:var(--cf-primary);--on-primary:var(--cf-on-primary);--primary-sh:0 0 0 1px rgba(255,255,255,.12),0 12px 24px -12px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.14);--accent:#a9adb5;--accent-ink:var(--cf-focus);--accent-soft:rgba(255,255,255,.09);--green-ink:var(--cf-positive);--green-soft:rgba(76,189,119,.16);--amber-ink:var(--cf-warning);--amber-soft:rgba(245,183,61,.2);--red-hot:#ff8a7a;--red-ink:var(--cf-negative);--red-soft:rgba(238,106,95,.1);--red-tint:rgba(238,106,95,.18);--red-line:rgba(255,138,122,.45);--violet-ink:#c9b6ff;--violet-soft:rgba(167,139,250,.16);--sky-ink:#b9bec7;--sky-soft:rgba(255,255,255,.08);--bar-ink:rgba(255,255,255,.2);--tile:#f2f2f3;--tile-ink:#0b0b0d;--tile-mute:rgba(11,11,13,.6);--tile-track:rgba(11,11,13,.14);--tip:rgba(242,242,243,.96);--tip-ink:#0b0b0d;--dot-grid:rgba(255,255,255,.13);--track-hi:#3a3a40;--track-mid:#26262b;--track-lo:#141417;--glass:rgba(255,255,255,.07);--glass-sh:0 0 0 1px rgba(255,255,255,.09),0 12px 24px -12px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1);--circ:var(--cf-field);--circ-sh:0 0 0 1px rgba(255,255,255,.1),0 10px 20px -10px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12);--pill:linear-gradient(180deg,#34343a,#242428);--pill-sh:0 0 0 1px rgba(255,255,255,.1),0 10px 22px -10px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.14);--chip:rgba(255,255,255,.06);--chip-sh:inset 0 0 0 1px rgba(255,255,255,.09);--chip-on-sh:0 6px 14px -6px rgba(0,0,0,.8);--knob:#46464c;--knob-sh:0 2px 6px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.12);--coin:linear-gradient(160deg,#3b3b41,#2a2a2f 55%,#1e1e22);--coin-ring:inset 0 0 0 1px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.16);--coin-ink:#e6e7ea;--gcoin:linear-gradient(160deg,rgba(76,189,119,.3),rgba(76,189,119,.12));--gcoin-ring:inset 0 0 0 1px rgba(127,219,163,.45),inset 0 1px 0 rgba(255,255,255,.12);--gcoin-ink:#7fdba3;--toast:rgba(242,242,243,.94);--toast-ink:#0b0b0d;--tab-bar:var(--cf-surface);--tab-line:rgba(255,255,255,.07);--tab-ink:rgba(255,255,255,.55);--tab-lc:rgba(255,255,255,.6);--tab-on:var(--cf-focus);--cut:var(--cf-canvas);--scrim:rgba(0,0,0,.62);--shine:rgba(255,255,255,.85);--bar-off:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.14))}
button,input,textarea{font-family:inherit}
a{color:var(--accent-ink);text-decoration:none}
a:hover{color:var(--cf-focus)}
button,[role="button"]{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}
input::placeholder,textarea::placeholder{color:var(--mute)}
@keyframes zwFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes zwSpin{to{transform:rotate(360deg)}}
@keyframes zwTick{0%{opacity:.99}100%{opacity:1}}
@keyframes zwRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes zwPageIn{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
@keyframes zwGenIn{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
@keyframes zwBreathe{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes zwWaveBar{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
@keyframes zwGlowSoft{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes zwShimmer{0%{background-position:100% center}100%{background-position:0% center}}
@keyframes zwBeam{to{offset-distance:100%}}
@keyframes zwBloom{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.045)}}
@keyframes zwBarUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes zwBarRight{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes zwSpringUp{0%{transform:translateY(100%);opacity:0}60%{transform:translateY(-6%);opacity:1}80%{transform:translateY(3%)}100%{transform:translateY(0);opacity:1}}
@keyframes zwRowIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes zwSlideIn28{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes zwPing{0%{transform:scale(1);opacity:.75}75%,100%{transform:scale(2.2);opacity:0}}
@keyframes zwPulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes zwRollIn{from{opacity:0;transform:translateY(12px) scale(.92)}60%{opacity:1}to{opacity:1;transform:none}}
@keyframes zwPopIn{from{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:none}}
@keyframes zwPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
@keyframes zwDraw{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes zwFadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes zwCpuDraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes zwCpuFlow{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes zwChipFlash{0%{opacity:0}16%{opacity:1}100%{opacity:0}}
@keyframes zwNodePing{0%{transform:scale(.5);opacity:.85}100%{transform:scale(3.2);opacity:0}}
@keyframes zwLogIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes zwTickIn{from{opacity:0;transform:translateY(15px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes zwTickOut{0%{opacity:.5;transform:none;filter:blur(0)}100%{opacity:0;transform:translateY(-15px);filter:blur(3px)}}
@keyframes zwTickBar{from{width:0}to{width:100%}}
@keyframes zwRainbow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes zwRollUpIn{from{transform:translateY(95%) scale(.84);opacity:0}to{transform:none;opacity:1}}
@keyframes zwRollUpOut{from{transform:none;opacity:1}to{transform:translateY(-95%) scale(.84);opacity:0}}
@keyframes zwRollDnIn{from{transform:translateY(-95%) scale(.84);opacity:0}to{transform:none;opacity:1}}
@keyframes zwRollDnOut{from{transform:none;opacity:1}to{transform:translateY(95%) scale(.84);opacity:0}}
@keyframes zwRecDot{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes zwRecBar{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes zwCaret{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes zwMsgIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes zwStampIn{0%{opacity:0;transform:scale(.62) rotate(-7deg)}56%{opacity:1;transform:scale(1.05) rotate(1.5deg)}100%{opacity:1;transform:none}}
@keyframes zwRingBurst{0%{transform:scale(.55);opacity:.85}100%{transform:scale(2.5);opacity:0}}
@keyframes zwFlyR{to{transform:translateX(420px) rotate(17deg);opacity:0}}
@keyframes zwFlyL{to{transform:translateX(-420px) rotate(-17deg);opacity:0}}
@keyframes zwSheetUp{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@keyframes zwRing{0%,100%{transform:rotate(0)}12%{transform:rotate(-13deg)}25%{transform:rotate(11deg)}38%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}62%{transform:rotate(-3deg)}75%{transform:rotate(0)}}
@keyframes zwBarUp{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes zwBarJump{0%,100%{transform:scaleY(.22)}50%{transform:scaleY(1)}}
@keyframes zwStack{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes zwCollapse{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}
@keyframes zwPushIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes zwPopBack{from{opacity:0;transform:translateX(-24px) scale(.99)}to{opacity:1;transform:none}}
@keyframes zwSweep{0%{transform:translateX(-170%) skewX(-18deg)}28%,100%{transform:translateX(330%) skewX(-18deg)}}
@keyframes zwCardIn{from{opacity:.4;transform:translateY(10px) scale(.982)}to{opacity:1;transform:none}}
@keyframes zwDim{to{opacity:.55}}
@keyframes zwCardSweep{from{transform:translateX(-140%) skewX(-20deg);opacity:0}30%{opacity:1}to{transform:translateX(260%) skewX(-20deg);opacity:0}}
@keyframes zwSigGlow{0%,100%{opacity:.45}50%{opacity:.95}}
@keyframes zwPingSoft{0%{transform:scale(1);opacity:.35}75%,100%{transform:scale(2.6);opacity:0}}
@property --zwang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes zwHueFlow{to{--zwang:360deg}}
@media(prefers-reduced-motion:reduce){*:not([data-zwtick]){animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* GPT Business optical system. The prism supplies color; the work stays clear. */
:root{color-scheme:dark;font-size:16px}html,body{margin:0;width:100%;height:100%;background:var(--cf-canvas)}body{font-family:Geist,system-ui,sans-serif}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}svg{display:block}.app-shell svg:not([fill]){fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.app-shell{--board:var(--cf-canvas);--screen:var(--cf-canvas);--card:var(--cf-surface);--card-sh:inset 0 1px 0 #ffffff08;--card-sh-hi:inset 0 1px 0 #ffffff13,0 12px 32px #0002;--well-sh:inset 0 0 0 1px #ffffff0b;--primary:var(--cf-primary);--on-primary:var(--cf-on-primary);--primary-sh:none;--press:none;--ink:var(--cf-text);--ink2:var(--cf-muted);--ink3:var(--cf-subtle);--mute:var(--cf-subtle);--faint:var(--cf-subtle);--line:var(--cf-border);--line2:var(--cf-border);--line3:var(--cf-strong);--board-ink:var(--cf-text);--board-soft:var(--cf-muted);--card-border:var(--cf-border);--green:#7dd9b0;--green-ink:var(--cf-positive);--green-soft:#7dd9b016;--amber:#efb870;--amber-ink:var(--cf-warning);--amber-soft:#efb87015;--accent:#bcb3f2;--accent-ink:var(--cf-focus);--accent-soft:#b3a4f214;--red:#f49791;--red-hot:#f49791;--red-ink:var(--cf-negative);--red-tint:#f497911a;--violet-ink:#c0adf8;--sky-ink:#9ac6f4;--glass:#ffffff04;--glass-sh:inset 0 0 0 1px #ffffff0a;--circ:var(--cf-field);--circ-sh:inset 0 0 0 1px #ffffff0e;--pill:#ffffff09;--pill-sh:none;--inset:var(--cf-field);--inset-ring:#ffffff0b;--btn:var(--cf-field);--hover:var(--cf-hover);--hover2:var(--cf-hover);--seg:#ffffff08;--track:#ffffff0c;--scrim:#000a;--tab-bar:var(--cf-surface);--tab-line:#ffffff10;--tab-on:var(--cf-focus);--cut:var(--cf-canvas);--toast:#e4dff7;--toast-ink:#181623;--gradient:linear-gradient(90deg,#f68688,#e9be79,#91d7a5,#82c9e7,#979be7,#bd8ade);display:grid;grid-template-columns:244px minmax(0,1fr);height:100dvh;overflow:hidden;color:var(--ink);background:var(--board);font-size:1rem;line-height:1.5}
.app-shell[data-zwt=light]{color-scheme:light;--board:var(--cf-canvas);--screen:var(--cf-canvas);--card:var(--cf-surface);--ink:var(--cf-text);--ink2:var(--cf-muted);--ink3:var(--cf-subtle);--mute:var(--cf-subtle);--faint:var(--cf-subtle);--board-ink:var(--cf-text);--board-soft:var(--cf-muted);--line:var(--cf-border);--line2:var(--cf-border);--line3:var(--cf-strong);--card-border:var(--cf-border);--primary:var(--cf-primary);--on-primary:var(--cf-on-primary);--accent-ink:var(--cf-focus);--green-ink:var(--cf-positive);--red-ink:var(--cf-negative);--amber-ink:var(--cf-warning);--glass:#fff8;--btn:var(--cf-field);--hover:var(--cf-hover);--hover2:var(--cf-hover);--inset:var(--cf-field);--circ:var(--cf-field);--tab-bar:var(--cf-surface);--tab-on:var(--cf-focus);--cut:var(--cf-canvas);--card-sh:inset 0 1px 0 #fff;--well-sh:inset 0 0 0 1px #17213b0b;--toast:#252534;--toast-ink:#fff}
.sidebar{padding:30px 18px 16px;border-right:1px solid var(--line2);display:flex;flex-direction:column;min-height:0;background:var(--cf-surface)}.brand{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:10px;padding:0 4px;margin-bottom:34px}.wordmark{font-size:1.13rem;letter-spacing:-.055em;font-weight:600;background:var(--cf-surface);background-clip:text;-webkit-background-clip:text;color:transparent}.wordmark>span{font-weight:400;opacity:.65}.rotating-logo{width:34px;height:34px;display:inline-block;position:relative;flex:none;perspective:240px}.rotating-logo-turn{position:absolute;inset:0;transform-style:preserve-3d;animation:logo-full-turn 12s linear infinite}.rotating-logo-face,.rotating-logo-depth{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible}.rotating-logo-face{backface-visibility:hidden;transform:translateZ(2px)}.rotating-logo-back{transform:rotateY(180deg) translateZ(2px)}@keyframes logo-full-turn{to{transform:rotateY(360deg)}}
.workspace-switch{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line2);border-radius:10px;background:var(--btn);color:var(--ink);padding:10px;margin-bottom:18px}.workspace-avatar,.owner-avatar{font-size:0.75rem;font-weight:600;display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:9px;color:var(--cf-text);background:var(--cf-surface);border:1px solid color-mix(in srgb,var(--cf-border) 15%,transparent)}.workspace-switch>span:nth-child(2){flex:1;min-width:0}.workspace-switch strong,.workspace-switch small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-switch strong{font-size:0.875rem;font-weight:500}.workspace-switch small{font-size:0.75rem;color:var(--ink3)}.workspace-switch svg{width:16px;color:var(--mute)}.nav-search{display:flex;align-items:center;gap:9px;padding:8px 9px;min-height:40px;border:0;background:none;color:var(--ink3);font-size:0.875rem}.nav-search svg{width:16px}.nav-search span{flex:1;text-align:left}kbd{font:500 0.75rem Geist,system-ui;white-space:nowrap;color:var(--mute);background:var(--hover);border:1px solid var(--line2);border-radius:4px;padding:1px 5px}.sidebar>nav{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.nav-group{margin-top:26px}.eyebrow{font:400 0.75rem/1.4 'Geist Mono',monospace;letter-spacing:.13em;color:var(--mute)}.nav-group>.eyebrow{display:block;padding:0 11px;margin-bottom:9px;font-size:0.75rem}.nav-item{display:flex;align-items:center;gap:11px;position:relative;width:100%;min-height:40px;border:0;padding:9px 12px;background:transparent;color:var(--ink3);border-radius:7px;font-size:0.875rem;text-align:left;margin:2px 0;transition:background 120ms,color 120ms}.nav-item svg{width:18px;height:18px;flex:none}.nav-item>span:nth-child(2){flex:1}.nav-item:hover,.nav-search:hover{background:var(--hover);color:var(--ink)}.nav-item[aria-current=page]{background:var(--cf-surface);color:var(--ink)}.nav-item[aria-current=page]:before{content:'';position:absolute;left:-18px;width:2px;height:17px;background:var(--cf-surface);box-shadow:none}.nav-badge{background:color-mix(in srgb,var(--cf-text) 7%,transparent);color:var(--cf-warning);border:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);border-radius:5px;font:500 0.75rem 'Geist Mono',monospace;min-width:22px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:22px}.anna-presence{width:100%;display:flex;align-items:center;gap:9px;padding:12px 8px;border:0;border-top:1px solid var(--line2);background:none;text-align:left;color:var(--ink)}.anna-presence>span:nth-child(2){flex:1}.anna-presence strong,.anna-presence small{display:block}.anna-presence strong{font-size:0.875rem;font-weight:500}.anna-presence small{font-size:0.75rem;color:var(--ink3)}.presence-spark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:26px;color:var(--cf-focus);background:var(--cf-surface)}.status-dot{display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;box-shadow:none}.sample-label{display:flex;justify-content:space-between;padding:15px 10px 0;font:0.75rem 'Geist Mono',monospace;letter-spacing:.12em;color:var(--mute)}.sample-label>span{letter-spacing:0}
.workspace-main{display:flex;flex-direction:column;min-width:0;min-height:0}.workspace-header{height:76px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line2);gap:16px}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:0.875rem}.breadcrumb>span{color:var(--mute)}.breadcrumb svg{width:12px;color:var(--faint)}.breadcrumb strong{font-weight:400}.header-actions{display:flex;align-items:center;gap:14px}.sample-pill{font-size:0.75rem;color:var(--ink3);border:1px solid var(--line2);border-radius:4px;padding:2px 6px}.system-pill{display:flex;align-items:center;gap:8px;font-size:0.75rem;background:none;border:0;color:var(--ink3);padding:8px 2px}.icon-button{width:34px;height:34px;border:0;border-radius:7px;display:grid;place-items:center;position:relative;background:transparent;color:var(--ink3);flex:none}.icon-button:hover{color:var(--ink);background:var(--hover)}.icon-button svg{width:18px;height:18px}.notification-dot{position:absolute;right:7px;top:5px;width:4px;height:4px;border-radius:50%;background:var(--cf-surface)}.owner-avatar{border-radius:50%;width:31px;height:31px;font-size:0.75rem}.workspace-main>main{flex:1;min-height:0;min-width:0;display:flex;outline:none}.app-stage{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;isolation:isolate;background:var(--screen)}.screen-body{flex:1;min-height:0;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.home-page{padding:34px 36px 24px;max-width:1520px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading h1{font-size:clamp(1.75rem,2.4vw,2.35rem);font-weight:450;letter-spacing:-.045em;line-height:1.25;margin:8px 0}.page-heading p{font-size:0.875rem;color:var(--ink3);margin:0}.secondary-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line2);min-height:39px;padding:0 14px;border-radius:7px;font-size:0.8125rem;font-weight:500;white-space:nowrap;background:var(--btn);color:var(--ink2);transition:background 120ms,transform 120ms}.secondary-button:hover{background:var(--hover);color:var(--ink)}.secondary-button svg{width:15px}.primary-button{background:var(--primary);color:var(--on-primary);border-color:transparent}.primary-button:hover{filter:brightness(.94)}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:26px}.overview-primary,.overview-secondary{min-width:0}.overview-secondary{display:flex;flex-direction:column;gap:22px}.anna-stage{height:292px;position:relative;overflow:hidden;background:var(--cf-canvas);border:1px solid color-mix(in srgb,var(--cf-border) 8%,transparent);border-radius:13px;color:var(--cf-text)}.anna-stage>img{position:absolute;right:-15%;top:-18%;width:107%;height:130%;object-fit:contain;opacity:.8;animation:prism-presence 14s ease-in-out infinite}.stage-shade{position:absolute;inset:0;background:var(--cf-surface)}.stage-topline{position:absolute;top:19px;left:23px;right:20px;display:flex;align-items:center;justify-content:space-between}.stage-topline>.eyebrow{font-size:0.75rem;color:var(--cf-muted)}.stage-status{display:flex;align-items:center;gap:6px;color:var(--cf-muted);font-size:0.75rem;background:color-mix(in srgb,var(--cf-surface) 66%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 7%,transparent);border-radius:99px;padding:5px 8px;backdrop-filter:none}.stage-status svg{width:12px;margin-left:2px}.stage-caption{position:absolute;left:24px;top:90px;max-width:330px}.stage-caption>.eyebrow{font-size:0.75rem;color:var(--cf-muted);letter-spacing:.12em}.stage-caption h2{font-size:clamp(1.45rem,2vw,2rem);font-weight:450;line-height:1.18;letter-spacing:-.04em;white-space:pre-line;margin:9px 0 11px}.stage-caption p{font-size:0.75rem;color:var(--cf-muted);max-width:220px;line-height:1.6;margin:0}.stage-link{font-size:0.75rem;color:var(--cf-text);background:none;border:0;padding:0;margin-top:17px;display:flex;gap:14px}.stage-bottomline{position:absolute;left:24px;right:24px;bottom:15px;display:flex;align-items:center;gap:11px;font-size:0.75rem;color:var(--cf-muted)}.stage-bottomline>.mono{margin-left:auto;font-size:0.75rem}.mono{font-family:'Geist Mono',monospace}.stage-wave{display:flex;align-items:center;gap:2px;height:16px;flex:none}.stage-wave i{width:2px;height:6px;background:var(--cf-surface);animation:voice-wave 1.4s ease-in-out infinite}.stage-wave i:nth-child(3n){height:14px;animation-delay:-.4s}.stage-wave i:nth-child(3n+1){height:9px;animation-delay:-.9s}@keyframes voice-wave{50%{transform:scaleY(.35);opacity:.5}}@keyframes prism-presence{50%{opacity:1;transform:translateY(-3px)}}
.outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line2);border-radius:10px;margin-top:18px;background:var(--cf-surface);overflow:hidden}.outcomes>button{position:relative;text-align:left;display:flex;flex-direction:column;padding:18px 20px;background:transparent;border:0;color:var(--ink);min-width:0}.outcomes>button+button{border-left:1px solid var(--line2)}.metric-label{display:flex;align-items:center;gap:7px;font-size:0.75rem;color:var(--ink3)}.metric-label svg{width:14px;height:14px}.outcomes strong{font-size:2rem;font-weight:450;letter-spacing:-.04em;line-height:1.25;margin:8px 0 7px}.metric-foot{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--mute);gap:6px}.outcomes i{position:absolute;bottom:0;width:34px;height:1px;opacity:.6}.outcomes>button:hover{background:var(--hover2)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:0.9375rem;font-weight:500;letter-spacing:-.015em;margin:0}.text-button{padding:4px 0;border:0;display:flex;align-items:center;gap:9px;color:var(--ink3);font-size:0.75rem;background:none;white-space:nowrap}.text-button:hover{color:var(--ink)}.activity-section{margin-top:30px}.activity-list{margin-top:13px}.activity-row{width:100%;display:flex;align-items:center;gap:12px;padding:15px 0;border:0;border-bottom:1px solid var(--line2);background:none;color:var(--ink);text-align:left}.activity-row:hover .activity-content strong{color:var(--accent-ink)}.activity-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;flex:none}.activity-icon svg{width:16px;height:16px}.activity-content{min-width:0;flex:1}.activity-content strong,.activity-content small{display:block}.activity-content strong{font-size:0.8125rem;font-weight:400}.activity-content small{font-size:0.75rem;color:var(--ink3);margin-top:3px}.activity-meta{text-align:right;font-size:0.75rem;color:var(--mute);white-space:nowrap}.activity-meta>*{display:block}.activity-meta span{margin-top:4px;color:var(--faint)}.row-arrow{width:12px;color:var(--faint);margin-left:3px}.decision-panel,.schedule-panel{background:var(--cf-surface);border:1px solid var(--line2);border-radius:11px;overflow:hidden}.decision-panel>.section-heading,.schedule-panel>.section-heading{padding:20px 19px 0}.count-badge{font:0.75rem 'Geist Mono',monospace;color:var(--cf-warning);background:color-mix(in srgb,var(--cf-text) 7%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 10%,transparent);border-radius:5px;padding:2px 7px}.section-sub{font-size:0.75rem;color:var(--ink3);margin:6px 19px 20px}.decision-preview{margin:0 12px 12px;padding:17px 14px 14px;border-radius:8px;border:1px solid color-mix(in srgb,var(--cf-border) 8%,transparent);background:var(--cf-surface)}.decision-category{display:flex;gap:6px;align-items:center;color:var(--cf-warning);font:0.75rem 'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.decision-category>span{width:4px;height:4px;border-radius:50%;background:currentColor}.decision-preview h3{font-size:1.125rem;font-weight:450;letter-spacing:-.025em;line-height:1.35;margin:11px 0 8px}.decision-preview>p{font-size:0.75rem;color:var(--ink3);line-height:1.65;margin:0 0 16px}.decision-value{padding:0 0 16px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--line2)}.decision-value strong{font-size:1.375rem;font-weight:450;letter-spacing:-.04em}.decision-value span{font-size:0.75rem;color:var(--ink3)}.recommendation{display:flex;align-items:center;gap:9px;margin:15px 0 17px;color:var(--cf-focus)}.recommendation>span{font-size:23px}.recommendation small,.recommendation strong{display:block}.recommendation small{font-size:0.75rem;color:var(--ink3)}.recommendation strong{font-size:0.8125rem;font-weight:450;color:var(--ink2)}.decision-actions{display:flex;gap:7px}.decision-actions>.primary-button{flex:1;justify-content:space-between;font-size:0.75rem}.decision-actions>.secondary-button{font-size:0.75rem}.panel-footer{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid var(--line2);padding:12px 19px;font-size:0.75rem;color:var(--ink3)}.panel-footer:hover{background:var(--hover2);color:var(--ink)}.schedule-list{padding:6px 19px 12px}.schedule-row{display:flex;align-items:center;width:100%;gap:12px;min-height:70px;border:0;padding:10px 0;background:none;text-align:left;color:var(--ink)}.schedule-time{width:37px;flex:none}.schedule-time strong{font:400 0.75rem 'Geist Mono',monospace}.schedule-time span{display:block;font:0.75rem 'Geist Mono',monospace;color:var(--mute);margin-top:2px}.schedule-row>i{width:2px;height:29px;opacity:.7;flex:none}.schedule-row>div:last-child{min-width:0}.schedule-row>div:last-child strong{display:block;font-size:0.75rem;font-weight:450}.schedule-row small{display:block;font-size:0.75rem;color:var(--ink3);margin-top:4px}.trust-card{display:flex;align-items:center;gap:10px;text-align:left;padding:0 7px;min-height:54px;background:none;border:0;color:var(--ink3)}.trust-card>svg{width:20px;height:22px;flex:none;color:var(--cf-muted)}.trust-card>span:nth-child(2){flex:1}.trust-card strong{display:block;font-size:0.75rem;color:var(--ink2);font-weight:400}.trust-card small{display:block;font-size:0.75rem;margin-top:4px}.trust-card>span:last-child{font-size:0.75rem}.home-composer{display:flex;align-items:center;gap:14px;padding:14px 16px;position:relative;border:1px solid var(--line3);border-radius:11px;background:var(--cf-surface);color:var(--ink3);width:100%;margin-top:30px;text-align:left;box-shadow:none}.home-composer:before{content:'';position:absolute;height:1px;top:-1px;left:18px;right:18px;background:var(--gradient);opacity:.38}.home-composer>span:nth-child(2){flex:1;font-size:0.8125rem}.home-composer .presence-spark{width:25px;height:25px;font-size:24px}.compose-arrow{display:grid;place-items:center;background:var(--hover);color:var(--ink2);border:1px solid var(--line2);border-radius:6px;width:29px;height:29px}.home-footer{display:flex;justify-content:space-between;gap:15px;margin-top:16px;color:var(--mute);font-size:0.75rem}.home-footer>span:first-child{display:flex;align-items:center;gap:7px}.home-footer .status-dot{width:4px;height:4px}.all-clear{text-align:center;padding:32px 20px}.all-clear>span{font-size:28px;color:var(--green-ink)}.all-clear h3{font-size:1rem;font-weight:450}.all-clear p{font-size:0.8125rem;color:var(--ink3)}
/* Existing specialist workflows adopt the same material and full-size workspace. */
.legacy-page{position:relative!important;display:flex!important;flex-direction:column;flex:initial!important;gap:16px!important;padding:30px 36px 100px!important;min-height:100%!important;height:auto!important;max-width:1180px;margin:0 auto;overflow:visible!important}.legacy-page>div:first-child{min-height:48px!important;flex:none!important}.legacy-page .page-title{font-size:1.75rem!important;letter-spacing:-.04em!important;font-weight:450!important}.glass-card{border:1px solid var(--card-border);box-shadow:none;border-radius:12px}.legacy-page :is(div,button).glass-card{padding:19px!important}.legacy-page>div[style*="overflow-y: auto"],.legacy-page>div[style*="overflow: auto"]{overflow:visible!important;flex:none!important}.legacy-page input,.legacy-page textarea{font-size:1rem!important}.legacy-page button{min-height:38px}.legacy-page button[style*="width: 44px"]{flex:none}.legacy-page [style*="text-shadow"]{text-shadow:none}.legacy-page [style*="border-radius: 999px"]{box-shadow:none}.page-welcome,.page-onb{max-width:680px;padding-top:50px!important}.page-needs{max-width:900px}.page-call{max-width:860px}.page-search{max-width:900px}.page-field{max-width:850px}.app-toast{position:fixed!important;z-index:110!important;bottom:32px!important;left:calc(50% + 122px)!important;max-width:min(540px,80vw)!important;padding:12px 20px!important;border-radius:9px;font-size:0.875rem!important}.app-toast:empty{pointer-events:none}.undo-toast{position:fixed!important;bottom:28px!important;left:calc(50% + 122px)!important;right:auto!important;transform:translateX(-50%);width:min(540px,80vw);z-index:105!important}.app-dialog{position:fixed!important;inset:76px 0 0 244px!important;margin:auto!important;width:min(640px,calc(100vw - 280px));max-height:calc(100dvh - 100px);border:1px solid var(--line3);border-radius:16px;overflow:auto}.app-stage [role=dialog]{z-index:100!important}.mobile-nav{display:none}.ask-fab{position:fixed;right:30px;bottom:24px;z-index:45;display:flex;gap:9px;align-items:center;border:1px solid var(--line3);border-radius:10px;min-height:44px;padding:0 14px;background:var(--cut);color:var(--ink);box-shadow:none;font-size:0.875rem}.ask-fab>span{color:var(--cf-focus);font-size:22px}.ask-fab kbd{font-size:0.75rem}.assistant-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--cf-canvas) 47%,transparent);backdrop-filter:none;z-index:120;animation:panel-fade .2s}.assistant-panel{display:flex;flex-direction:column;position:fixed;right:16px;top:16px;bottom:16px;width:min(480px,calc(100vw - 32px));border:1px solid var(--line3);border-radius:16px;background:var(--cut);box-shadow:none;z-index:121;animation:panel-in .3s cubic-bezier(.2,.7,.2,1)}.assistant-panel>header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line2)}.assistant-panel>header>div{flex:1}.assistant-panel>header strong{font-size:1rem;font-weight:500}.assistant-panel>header small{font-size:0.75rem;display:block;color:var(--ink3);margin-top:2px}.assistant-note{font-size:0.75rem;padding:12px 20px;color:var(--ink3);background:var(--hover2);border-bottom:1px solid var(--line2)}.conversation{overflow:auto;flex:1;padding:22px 20px;min-height:0;scroll-behavior:smooth}.message{margin-bottom:20px;padding:14px;border-radius:10px;background:var(--btn);border:1px solid var(--line2)}.message[data-speaker=owner]{margin-left:34px;background:var(--accent-soft)}.message-author{font-size:0.75rem;color:var(--accent-ink);display:flex;justify-content:space-between}.message-author>time{font:0.75rem 'Geist Mono',monospace;color:var(--mute)}.message p{font-size:0.875rem;line-height:1.65;margin:7px 0 0;color:var(--ink2)}.message>.text-button{margin-top:10px;color:var(--accent-ink)}.suggestions{padding:8px 20px;display:flex;flex-wrap:wrap;gap:6px}.suggestions>button,.assistant-modes>button{font-size:0.75rem;padding:7px 9px;color:var(--ink3);background:none;border:1px solid var(--line2);border-radius:6px}.assistant-form{margin:9px 18px;border:1px solid var(--line3);border-radius:11px;background:var(--hover2)}.assistant-form textarea{resize:none;width:100%;background:none;border:none;padding:14px;color:var(--ink);font-size:0.875rem;outline:none}.assistant-form>div{padding:0 9px 9px;display:flex;align-items:center;gap:6px}.assistant-caption{font-size:0.75rem;color:var(--mute);flex:1;padding-left:5px}.send-button{width:32px;height:32px;border:none;background:var(--primary);color:var(--on-primary);border-radius:7px;display:grid;place-items:center}.send-button>svg{width:17px;height:17px}.assistant-modes{padding:0 18px 16px;display:flex;gap:7px}.assistant-modes>button{border:0;font-size:0.75rem}.assistant-modes>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}@keyframes panel-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}@keyframes panel-fade{from{opacity:0}to{opacity:1}}
.skip-link{position:fixed;top:8px;left:260px;transform:translateY(-150%);z-index:999;background:var(--primary);color:var(--on-primary);border-radius:6px;padding:10px}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}.app-shell[data-motion=false] *, .app-shell[data-motion=false] *:before,.app-shell[data-motion=false] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.app-shell[data-zwt=light] .wordmark{background:none;color:var(--cf-text)}.app-shell[data-zwt=light] .decision-category{color:var(--cf-negative)}
@media(min-width:1600px){.home-page{padding-top:45px}.anna-stage{height:350px}.stage-caption{top:100px}.stage-caption h2{font-size:2.3rem}.stage-caption p{font-size:0.875rem}.stage-caption{max-width:400px}.stage-bottomline{font-size:0.75rem}.stage-topline>.eyebrow{font-size:0.75rem}.overview-layout{grid-template-columns:minmax(0,1fr) 360px;gap:30px}.decision-preview h3{font-size:1.25rem}.decision-preview>p{font-size:0.875rem}.section-sub{font-size:0.75rem}.activity-content strong{font-size:0.9375rem}.activity-content small{font-size:0.8125rem}.home-composer{margin-top:35px}}
@media(max-width:1250px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-inline:13px}.brand{gap:7px}.wordmark{font-size:1rem}.rotating-logo{width:29px;height:29px}.home-page{padding:27px 25px 20px}.workspace-header{padding-inline:25px}.overview-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.outcomes>button{padding:16px 12px}.outcomes strong{font-size:1.65rem}.metric-label{font-size:0.75rem}.metric-label svg{display:none}.stage-caption h2{font-size:1.5rem}.stage-caption{max-width:255px}.anna-stage>img{right:-28%;width:125%}.system-pill>span:last-child{display:none}.app-dialog{left:210px;width:calc(100vw - 245px)}.app-toast,.undo-toast{left:calc(50% + 105px)!important}.nav-group{margin-top:18px}.nav-item{min-height:37px;padding-block:7px}.sidebar-bottom{padding-top:12px}}
@media(max-width:1050px){.overview-layout{grid-template-columns:minmax(0,1fr)}.overview-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trust-card{grid-column:1/-1}.anna-stage{height:300px}.anna-stage>img{right:-7%;width:92%;opacity:1}.stage-caption h2{font-size:2rem}.stage-caption{max-width:320px}.outcomes>button{padding:20px}.outcomes strong{font-size:2rem}.metric-label{font-size:0.8125rem}.activity-content strong{font-size:0.875rem}.activity-content small{font-size:0.75rem}.home-page{padding-inline:25px}.closeout-button{font-size:0.75rem}.page-heading{align-items:flex-end}.app-toast{bottom:25px!important}.section-heading h2{font-size:1rem}}
@media(max-height:850px) and (min-width:761px){.sidebar{padding-top:22px}.brand{margin-bottom:22px}.workspace-switch{margin-bottom:10px}.nav-group{margin-top:15px}.nav-item{min-height:34px;padding-top:6px;padding-bottom:6px}.sidebar-bottom{padding-top:10px}.anna-presence{padding-block:9px}.sample-label{padding-top:7px}.workspace-header{height:65px}.nav-group>.eyebrow{margin-bottom:6px}.home-page{padding-top:25px}.page-heading{margin-bottom:24px}}
@media(max-width:760px){.app-shell{display:flex;height:100dvh}.sidebar{display:none}.workspace-main{width:100%}.workspace-header{height:60px;padding:0 19px}.breadcrumb{font-size:0.8125rem;gap:8px}.breadcrumb>span{display:none}.breadcrumb>svg{display:none}.header-actions{gap:9px}.sample-pill{font-size:0.75rem}.system-pill{display:none}.owner-avatar{width:28px;height:28px}.mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:none;border-top:1px solid var(--line2);background:var(--tab-bar);padding:7px 8px max(8px,env(safe-area-inset-bottom));z-index:50;backdrop-filter:none}.mobile-nav>button{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;background:none;border:0;border-radius:8px;padding:6px;color:var(--ink3);min-height:48px}.mobile-nav svg{width:20px;height:20px}.mobile-nav span{font-size:0.75rem}.mobile-nav [aria-current=page]{color:var(--accent-ink);background:var(--accent-soft)}.mobile-nav i{position:absolute;top:2px;right:calc(50% - 21px);font:500 0.75rem 'Geist Mono',monospace;background:var(--cf-surface);color:var(--cf-text);border-radius:4px;padding:0 4px}.home-page{padding:25px 19px 20px}.page-heading{margin-bottom:23px;gap:12px;align-items:flex-start}.page-heading h1{font-size:1.8rem;margin-top:7px}.page-heading>.eyebrow,.page-heading .eyebrow{font-size:0.75rem}.page-heading p{font-size:0.8125rem;max-width:300px}.closeout-button{display:none}.overview-layout{gap:25px}.overview-secondary{grid-template-columns:1fr}.anna-stage{height:315px}.anna-stage>img{right:-18%;top:-1%;width:120%;height:105%;opacity:.85}.stage-shade{background:var(--cf-surface)}.stage-caption{left:20px;top:80px}.stage-caption h2{font-size:1.7rem}.stage-caption p{font-size:0.75rem;max-width:190px}.stage-caption>.eyebrow{font-size:0.75rem}.stage-topline{left:20px;top:18px}.stage-bottomline{left:20px;right:18px;bottom:17px;gap:7px}.stage-bottomline>span:nth-child(2){font-size:0.75rem;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outcomes{margin-top:14px}.outcomes>button{padding:14px 12px}.metric-label{font-size:0.75rem;white-space:nowrap}.outcomes strong{font-size:1.7rem;margin-block:8px}.metric-foot{font-size:0.75rem;line-height:1.5}.metric-foot>span{display:none}.activity-section{margin-top:26px}.activity-row{gap:10px;padding-block:16px}.activity-content strong{font-size:0.8125rem}.activity-content small{font-size:0.75rem;max-width:230px}.activity-meta{font-size:0.75rem}.row-arrow{display:none}.decision-panel>.section-heading,.schedule-panel>.section-heading{padding:20px 20px 0}.section-sub{font-size:0.8125rem}.decision-preview{padding:20px;margin:0 12px 12px}.decision-preview h3{font-size:1.2rem}.decision-preview>p{font-size:0.875rem}.decision-category{font-size:0.75rem}.decision-value strong{font-size:1.5rem}.decision-value span{font-size:0.75rem}.recommendation small{font-size:0.75rem}.recommendation strong{font-size:0.875rem}.decision-actions>.primary-button,.decision-actions>.secondary-button{min-height:43px;font-size:0.8125rem}.panel-footer{font-size:0.8125rem;padding:14px 20px}.schedule-row{min-height:76px}.schedule-row>div:last-child strong{font-size:0.875rem}.schedule-row small{font-size:0.8125rem}.schedule-time strong{font-size:0.8125rem}.schedule-time span{font-size:0.75rem}.trust-card strong{font-size:0.875rem}.trust-card small{font-size:0.75rem}.home-composer{margin-top:23px;padding:13px 12px;gap:8px}.home-composer>span:nth-child(2){font-size:0.75rem}.home-composer kbd{display:none}.home-footer{flex-direction:column;align-items:center;gap:6px;font-size:0.75rem}.legacy-page{padding:24px 18px 90px!important;gap:13px!important}.legacy-page :is(div,button).glass-card{padding:14px!important}.legacy-page .page-title{font-size:1.5rem!important}.legacy-page button{min-height:40px}.app-dialog{inset:70px 12px 85px!important;max-height:calc(100dvh - 150px);width:calc(100vw - 24px)}.app-toast{left:50%!important;bottom:88px!important;max-width:90vw!important;font-size:0.8125rem!important}.undo-toast{left:50%!important;bottom:84px!important;width:calc(100vw - 32px)}.ask-fab{bottom:86px;right:18px}.assistant-panel{inset:0;border-radius:0;width:100%;border:0}.assistant-panel>header{padding:18px}.assistant-form{margin-bottom:8px}.assistant-modes{padding-bottom:max(18px,env(safe-area-inset-bottom))}.assistant-backdrop{backdrop-filter:none}.skip-link{left:10px}.wordmark{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Readable text and complete control modes across viewport sizes. */
.mobile-brand{display:none}.decision-preview>p,.message p{font-size:1rem}.activity-content strong,.schedule-row>div:last-child strong,.trust-card strong,.home-composer>span:nth-child(2),.stage-link,.text-button,.panel-footer,.metric-label,.decision-actions>.primary-button,.decision-actions>.secondary-button{font-size:0.875rem}.activity-content small,.schedule-row small,.decision-value span,.recommendation small{font-size:0.8125rem}.stage-caption p{font-size:0.875rem}.stage-caption{max-width:330px}.stage-caption h2{font-size:1.8rem}.stage-bottomline{font-size:0.75rem}.stage-caption>.eyebrow{font-size:0.75rem}.stage-caption p{max-width:260px}.stage-link{margin-top:12px}.stage-topline>.eyebrow{font-size:0.75rem}.outcomes strong{font-size:1.85rem}.metric-foot{line-height:1.5}.stage-bottomline>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.decision-panel .decision-preview{padding-top:18px}.stage-caption{top:73px}.mode-rack{position:absolute;bottom:67px;left:16px;right:16px;max-height:65%;overflow:auto;padding:18px;border:1px solid var(--line3);border-radius:12px;background:var(--cut);box-shadow:none}.mode-rack>p{font-size:0.75rem;color:var(--ink3);margin:0 0 15px}.mode-rack h3{font:400 0.75rem 'Geist Mono',monospace;letter-spacing:.1em;color:var(--mute);margin:16px 0 8px}.mode-rack button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-radius:8px;background:none;color:var(--ink2);padding:10px}.mode-rack button[aria-pressed=true]{background:var(--accent-soft)}.mode-rack svg{width:20px;flex:none}.mode-rack button>span:nth-child(2){flex:1}.mode-rack strong{font-size:0.875rem;font-weight:450;display:block}.mode-rack small{display:block;font-size:0.75rem;color:var(--ink3);margin-top:3px}.mode-check{font-size:0;border:1px solid var(--line3);border-radius:50%;width:14px;height:14px}.mode-rack [aria-pressed=true] .mode-check{background:var(--accent-ink);box-shadow:none}.message-decision{display:flex;gap:8px;margin-top:12px}.app-shell[data-zwt=light] .stage-caption p{color:var(--cf-muted)}.app-shell[data-zwt=light] .stage-caption .eyebrow{color:var(--cf-focus)}
@media(max-width:1250px) and (min-width:1051px){.metric-label{font-size:0.75rem}.outcomes>button{padding:17px 12px}.stage-caption h2{font-size:1.65rem}.stage-caption p{font-size:0.8125rem;max-width:200px}.stage-caption>.eyebrow{font-size:0.75rem}.stage-caption{top:73px}.overview-layout{grid-template-columns:minmax(0,1fr) 300px}.home-page{padding-inline:24px}.decision-preview>p{font-size:0.875rem}}
@media(max-width:760px){.mobile-brand{display:block;flex:none;padding:0;border:0;background:none;margin-right:-7px}.mobile-brand .rotating-logo{width:29px;height:29px}.breadcrumb{margin-right:auto}.header-actions{gap:5px}.header-actions>.icon-button:first-of-type{display:none}.home-composer>span:nth-child(2){font-size:0.8125rem}.metric-label{font-size:0.75rem}.metric-foot{font-size:0.75rem}.outcomes strong{font-size:1.6rem}.outcomes>button{padding:14px 10px}.activity-content strong{font-size:0.875rem}.activity-content small{font-size:0.75rem}.activity-meta>span{display:none}.activity-meta time{font-size:0.75rem}.stage-caption h2{font-size:1.7rem}.stage-caption p{font-size:0.875rem;max-width:210px}.stage-caption>.eyebrow{font-size:0.75rem}.stage-bottomline>span:nth-child(2){font-size:0.75rem}.home-footer{font-size:0.75rem}.mobile-nav span{font-size:0.75rem}.stage-status{font-size:0.75rem}.stage-topline>.eyebrow{font-size:0.75rem}.mode-rack{max-height:60%}.metric-label{white-space:normal;line-height:1.4;min-height:32px}.home-composer kbd{display:none}}
/* Specialist pages get room for their actual work on a desktop. */
.live-lanes,.customer-preview,.money-operations,.money-attribution,.schedule-column,.dispatch-column{display:flex;flex-direction:column;gap:16px;min-width:0}.workflow-heading{padding-bottom:18px;border-bottom:1px solid var(--line2);margin-bottom:2px;gap:16px!important}.workflow-quicknav{position:relative!important;top:auto!important;margin:0!important;padding:0 0 10px!important;background:none;box-shadow:none;backdrop-filter:none}.workflow-quicknav button{font-size:0.8125rem!important}.workflow-heading>button:last-child{margin-left:auto}.lanes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lanes-grid>.glass-card{margin:0!important}.lanes-grid>.glass-card>span[style*="width: 30px"]{display:none!important}.lanes-grid [style*="font-size: 14px"]{white-space:normal!important}.account-preview-note{font-size:0.875rem;line-height:1.6;padding:15px;border:1px solid var(--line2);border-radius:9px;color:var(--ink3);background:var(--accent-soft)}.page-more .tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.tools-grid>button{min-height:144px!important;align-items:flex-start!important;padding:22px!important}.tools-grid>button span{white-space:normal!important}.legacy-page span.glass-card{border-radius:999px;box-shadow:none}.page-ledger{max-width:1200px}.page-ledger svg[sc-camel-view-box="0 0 200 176"]{max-height:320px}.page-live .customer-preview{padding:22px;border:1px solid var(--line2);border-radius:12px;background:var(--hover2)}.page-live .customer-preview>span:last-child{font-size:0.8125rem!important;line-height:1.6}.page-money .money-attribution{padding:22px;border:1px solid var(--line2);border-radius:12px}.page-day .dispatch-column{padding:22px;border:1px solid var(--line2);border-radius:12px}.legacy-page .page-title{color:var(--ink)}.legacy-page [style*="font-size: 14px"]{line-height:1.5}.legacy-page [role=img] [style*="font-size: 14px"]{line-height:1.2}.legacy-page .glass-card button:focus-visible{outline-offset:1px}.glass-card input{max-width:100%}.page-people>label{border-radius:8px}.page-people{max-width:1000px}.page-hub{max-width:1000px}.page-settings{max-width:900px}
@media(min-width:1150px){.page-live,.page-money,.page-day{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-content:start;align-items:start;gap:24px!important}.page-live>.workflow-heading,.page-live>.workflow-quicknav,.page-money>.workflow-heading,.page-money>.workflow-quicknav,.page-day>.workflow-heading,.page-day>.workflow-quicknav{grid-column:1/-1}.page-live>.customer-preview{grid-column:2;grid-row:3}.page-money>.money-attribution{grid-column:2;grid-row:3/span 2}.page-money>.money-operations{grid-column:1}.page-day>.dispatch-column{grid-column:2;grid-row:3}.page-money .glass-card{min-width:0}.page-money .money-attribution>div{padding:17px!important}.page-money .money-operations>div[style*="grid-template-columns"]{gap:7px!important}.page-money .money-operations>div[style*="grid-template-columns"]>.glass-card{padding:13px 9px!important}.page-money .money-operations>div[style*="grid-template-columns"]>.glass-card span{font-size:0.75rem!important;white-space:normal!important}}
@media(max-width:1149px){.lanes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-more .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-live .customer-preview{padding:17px}.page-money .money-attribution,.page-day .dispatch-column{padding:17px}}
@media(max-width:760px){.workflow-heading{padding-bottom:14px!important;flex-wrap:wrap}.workflow-heading .page-title{font-size:1.5rem!important}.workflow-heading [style*="white-space: nowrap"]{white-space:normal!important}.workflow-quicknav{overflow-x:auto!important}.lanes-grid{grid-template-columns:1fr}.page-more .tools-grid{gap:10px!important}.tools-grid>button{min-height:136px!important;padding:17px!important}.live-lanes,.customer-preview,.money-operations,.money-attribution,.schedule-column,.dispatch-column{gap:14px}.page-live .customer-preview,.page-money .money-attribution,.page-day .dispatch-column{padding:13px;border-radius:10px}.page-money .money-operations>div[style*="grid-template-columns"]{gap:7px!important}.page-money .money-operations>div[style*="grid-template-columns"]>.glass-card{padding:11px 8px!important}.page-money .money-operations>div[style*="grid-template-columns"]>.glass-card span{font-size:0.75rem!important;white-space:normal!important}.app-dialog{padding:20px!important}.home-footer{margin-bottom:8px}}

.desktop-anna-stage{height:340px;background:var(--cf-surface);border-color:color-mix(in srgb,var(--cf-border) 15%,transparent);box-shadow:none}
.desktop-stage-glow{position:absolute;inset:0;background:var(--cf-surface);pointer-events:none}
.desktop-stage-copy{position:absolute;z-index:2;left:32px;top:44px;max-width:390px}.desktop-stage-copy>.eyebrow{color:var(--cf-text);font-size:.75rem;letter-spacing:.16em}.desktop-stage-copy h2{font-size:clamp(1.7rem,2.5vw,2.5rem);font-weight:430;letter-spacing:-.055em;line-height:1.08;margin:16px 0 11px}.desktop-stage-copy p{color:var(--cf-muted);font-size:.875rem;line-height:1.6;max-width:310px;margin:0}.desktop-stage-copy .stage-link{margin-top:22px;color:var(--cf-text)}
.desktop-home-orb{position:absolute;z-index:3;right:18%;top:33px;width:250px;height:250px;border:0;background:none;color:var(--accent-ink);isolation:isolate;cursor:pointer}.desktop-home-orb .orb-body{position:absolute;left:50%;top:15px;width:220px;height:220px;transform:translateX(-50%);border-radius:50%;overflow:hidden;background:var(--cf-surface);box-shadow:none;animation:desktop-orb-float 7s ease-in-out infinite}.desktop-home-orb .orb-body:after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:none;pointer-events:none}.desktop-home-orb .orb-halo{position:absolute;width:330px;height:245px;left:50%;top:0;transform:translateX(-50%);background:var(--cf-surface);filter:blur(13px)}.desktop-home-orb .orb-ground{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:12px;width:150px;background:color-mix(in srgb,var(--cf-text) 16%,transparent);filter:blur(9px);border-radius:50%}.desktop-home-orb .orb-wave{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;filter:drop-shadow(0 0 8px #a4caff)}.desktop-home-orb .orb-wave i{width:3px;max-height:48px;border-radius:3px;background:var(--cf-surface);animation:desktop-wave-bar 1.3s ease-in-out infinite}.desktop-home-orb .orb-reflection{position:absolute;left:10%;top:5%;width:64%;height:35%;border-radius:50%;transform:rotate(-20deg);background:var(--cf-surface);filter:blur(3px)}@keyframes desktop-orb-float{50%{transform:translate(-50%,-5px)}}@keyframes desktop-wave-bar{50%{transform:scaleY(.35);opacity:.5}}
.desktop-stage-status{position:absolute;z-index:4;right:28px;bottom:48px;padding:9px 13px;min-height:39px;color:var(--cf-text);background:color-mix(in srgb,var(--cf-surface) 69%,transparent);border-color:color-mix(in srgb,var(--cf-border) 19%,transparent);box-shadow:none}.desktop-stage-status strong{font-weight:550;color:var(--cf-text)}.desktop-stage-status>span:nth-of-type(2){color:var(--cf-muted)}.desktop-stage-footer{position:absolute;z-index:2;left:32px;right:30px;bottom:17px;display:flex;align-items:center;gap:11px;color:var(--cf-muted);font-size:.75rem}.desktop-stage-footer>.mono{margin-left:auto}.desktop-stage-footer .stage-wave i{background:var(--cf-surface)}
.prism-home-card{position:relative;min-height:148px;margin-top:24px;border:1px solid var(--line2);border-radius:16px;overflow:hidden;background:var(--cf-canvas);color:var(--cf-text);display:flex;align-items:center}.prism-home-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;filter:saturate(.9);animation:prism-presence 14s ease-in-out infinite}.prism-home-card:after{content:'';position:absolute;inset:0;background:var(--cf-surface)}.prism-home-card>div{position:relative;z-index:1;padding:25px 30px;max-width:420px}.prism-home-card .eyebrow{color:var(--cf-text);font-size:.7rem;letter-spacing:.16em}.prism-home-card h2{font-size:1.35rem;font-weight:450;letter-spacing:-.035em;margin:9px 0 6px}.prism-home-card p{color:var(--cf-muted);font-size:.78rem;line-height:1.5;margin:0}
@media(max-width:1250px) and (min-width:1051px){.desktop-home-orb{right:12%}.desktop-stage-copy{max-width:330px}}
@media(max-width:1050px) and (min-width:761px){.desktop-anna-stage{height:330px}.desktop-home-orb{right:10%;width:230px;height:230px}.desktop-home-orb .orb-body{width:205px;height:205px}.desktop-stage-copy{max-width:300px}.desktop-stage-copy h2{font-size:1.9rem}}

/* v30: purposeful density, clear selection, and connected working surfaces. */
.app-shell{--work-border:var(--line2);--work-surface:var(--card);--work-selected:#c4adf30b}.edition-link{display:flex;align-items:center;gap:6px;color:var(--ink3);font-size:.75rem;padding:6px 8px;border:1px solid var(--line2);border-radius:6px;text-decoration:none;white-space:nowrap}.edition-link svg{width:13px;height:15px}.edition-link:hover{color:var(--ink);background:var(--hover)}.work-page{padding:32px 34px 80px;max-width:1520px;margin:auto}.work-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.work-heading h1{font-size:2rem;letter-spacing:-.045em;font-weight:450;line-height:1.2;margin:8px 0}.work-heading p{font-size:.875rem;color:var(--ink3);margin:0}.work-heading>.secondary-button{font-size:.875rem;min-height:40px}.work-heading svg{width:16px;height:16px}.work-view-switch{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line2)}.work-view-switch>button{position:relative;display:flex;gap:8px;align-items:center;background:none;border:0;color:var(--ink3);padding:11px 0 14px;font-size:.875rem}.work-view-switch>button[aria-pressed=true]{color:var(--ink)}.work-view-switch>button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;height:2px;left:0;right:0;background:var(--accent-ink)}.work-view-switch>button>span{font:400 .75rem 'Geist Mono',monospace;border:1px solid var(--line2);border-radius:4px;padding:1px 5px;color:var(--ink3)}.work-view-switch>span{margin-left:auto;font-size:.75rem;color:var(--mute)}.ledger-totals{display:flex;align-items:center;gap:26px;padding:19px 0;font-size:.8125rem;color:var(--ink3)}.ledger-totals>span{display:flex;align-items:center;gap:7px}.ledger-totals strong{font-weight:450;color:var(--ink)}.ledger-totals .status-dot{background:var(--green);width:5px;height:5px}.ledger-totals>.text-button{margin-left:auto;gap:7px;font-size:.75rem}.ledger-totals>.text-button svg{width:14px;height:14px}.ledger-toolbar{display:flex;gap:10px;align-items:center}.work-search{display:flex;align-items:center;gap:10px;flex:1;border:1px solid var(--line2);background:var(--btn);border-radius:8px;padding:0 13px;min-height:43px;min-width:0}.work-search:focus-within{border-color:color-mix(in srgb,var(--cf-border) 50%,transparent);box-shadow:none}.work-search svg{width:17px;height:17px;flex:none;color:var(--mute)}.work-search input{font-size:.875rem;border:0;background:none;color:var(--ink);padding:10px 0;min-width:0;width:100%;outline:none}.work-select{display:flex;gap:9px;align-items:center;border:1px solid var(--line2);border-radius:8px;padding-left:12px;min-height:43px;color:var(--mute);font-size:.8125rem}.work-select select{font-size:.875rem;color:var(--ink2);background:var(--cut);border:0;max-width:145px;min-height:40px;border-radius:8px;padding:0 28px 0 4px}.quick-filters{display:flex;align-items:center;gap:7px;margin:14px 0 19px}.quick-filters button,.customer-filters button{background:none;border:1px solid var(--line2);border-radius:6px;color:var(--ink3);font-size:.8125rem;min-height:31px;padding:0 12px}.quick-filters button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--cf-border) 16%,transparent)}.quick-filters .clear-filters{margin-left:auto;border-color:transparent;color:var(--mute)}.ledger-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.receipt-list{min-width:0;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:var(--hover2)}.receipt-columns{display:grid;grid-template-columns:53px 1fr 38px;gap:12px;padding:12px 16px;background:var(--btn);border-bottom:1px solid var(--line2);color:var(--mute);font-size:.75rem}.receipt-columns>span:last-child{text-align:right}.receipt-row{display:grid;grid-template-columns:53px minmax(0,1fr) 38px;gap:12px;text-align:left;padding:17px 16px;width:100%;position:relative;border:0;border-bottom:1px solid var(--line2);background:none;color:var(--ink);transition:background 120ms}.receipt-row:hover{background:var(--hover2)}.receipt-row[aria-pressed=true]{background:var(--work-selected)}.receipt-row[aria-pressed=true]:before{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:var(--cf-surface)}.receipt-row>time{font:400 .75rem 'Geist Mono',monospace;color:var(--ink3);padding-top:2px}.receipt-main{min-width:0}.receipt-main>strong{display:block;font-size:.875rem;font-weight:450;line-height:1.45}.receipt-main>small{display:block;font-size:.8125rem;color:var(--ink3);line-height:1.5;margin-top:4px}.receipt-tags{display:flex;align-items:center;gap:9px;margin-top:8px}.receipt-tags i{font-size:.75rem;font-style:normal;padding:1px 6px;border-radius:4px}.receipt-tags>span{font-size:.75rem;color:var(--mute)}.receipt-actor{font-size:.75rem;color:var(--mute);text-align:right;padding-top:2px}.list-count{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:.75rem;color:var(--ink3)}.list-count>span{color:var(--mute)}.receipt-inspector{position:sticky;top:0;padding:20px;border:1px solid var(--line2);border-radius:10px;background:var(--cf-surface)}.inspector-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.inspector-top .eyebrow{font-size:.75rem;letter-spacing:.11em}.receipt-state{font-size:.75rem;white-space:nowrap}.inspector-symbol{display:grid;place-items:center;width:40px;height:40px;margin:23px 0 16px;border-radius:10px;border:1px solid var(--line2);background:var(--hover2);color:var(--cf-text)}.inspector-symbol svg{width:21px;height:21px}.receipt-inspector h2{font-weight:450;font-size:1.1875rem;letter-spacing:-.025em;line-height:1.4;margin:0 0 10px}.receipt-byline{display:flex;gap:7px;align-items:center;font-size:.75rem;color:var(--ink3);flex-wrap:wrap}.receipt-byline>span{color:var(--faint)}.receipt-inspector section{border-top:1px solid var(--line2);padding-top:20px;margin-top:20px}.receipt-inspector h3{font-size:.75rem;font-weight:500;color:var(--ink3);margin:0 0 9px}.receipt-inspector section>p{font-size:.875rem;color:var(--ink2);line-height:1.7;margin:0}.source-chips{display:flex;flex-wrap:wrap;gap:7px}.source-chips>span{display:flex;align-items:center;gap:5px;border:1px solid var(--line2);border-radius:5px;padding:4px 7px;font-size:.75rem;color:var(--ink2)}.source-chips svg{width:12px;height:12px;color:var(--mute)}.receipt-controls>.primary-button,.receipt-controls>.secondary-button{width:100%;font-size:.8125rem;min-height:39px;margin-bottom:9px}.receipt-controls>.primary-button{justify-content:space-between}.receipt-controls>div{display:flex;gap:18px;justify-content:center}.receipt-controls .text-button{font-size:.75rem}.receipt-undo{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;min-height:36px;width:100%;border:0;color:var(--cf-warning);background:color-mix(in srgb,var(--cf-text) 4%,transparent);border-radius:6px;font-size:.75rem}.receipt-undo svg{width:14px;height:14px}.receipt-inspector>footer{font:400 .75rem 'Geist Mono',monospace;color:var(--mute);margin-top:24px;overflow-wrap:anywhere}.reversed-note{font-size:.8125rem!important;color:var(--ink3);margin-top:12px!important}.work-empty,.inspector-idle{padding:40px 24px;text-align:center;color:var(--ink3)}.work-empty>span{font-size:30px}.work-empty h2{font-size:1.1rem;font-weight:450;color:var(--ink);margin:12px 0 7px}.work-empty p,.inspector-idle p{font-size:.875rem;line-height:1.6}.work-empty>button{margin-top:12px}.inspector-idle svg{width:30px;margin:auto}.ledger-workspace>.legacy-ledger-impact{padding:28px 0!important;max-width:none;min-height:0!important}.ledger-workspace .legacy-ledger-impact>.workflow-heading,.ledger-workspace .legacy-ledger-impact>.workflow-quicknav{display:none!important}.ledger-workspace[data-density=compact] .receipt-row{padding-block:12px}.ledger-workspace[data-density=compact] .receipt-main>small{display:none}.ledger-workspace[data-density=compact] .receipt-tags{margin-top:5px}
.customer-workspace .ledger-toolbar{margin-bottom:23px}.quiet-count{font-size:.8125rem;color:var(--ink3)}.customer-filters{display:flex;gap:5px}.customer-filters button{min-height:38px;white-space:nowrap}.customer-split{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.customer-directory{border:1px solid var(--line2);border-radius:10px;overflow:hidden}.customer-row{display:flex;gap:14px;padding:23px 19px;width:100%;border:0;border-bottom:1px solid var(--line2);position:relative;text-align:left;background:none;color:var(--ink)}.customer-row:last-child{border-bottom:0}.customer-row[aria-pressed=true]{background:var(--work-selected)}.customer-row[aria-pressed=true]:before{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:var(--cf-surface)}.customer-row:hover{background:var(--hover2)}.customer-avatar{flex:none;display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:var(--cf-surface);color:var(--cf-text);border:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);font-size:.875rem}.customer-row>span:nth-child(2){flex:1;min-width:0}.customer-row strong{display:block;font-size:.9375rem;font-weight:450}.customer-row small{display:block;font-size:.8125rem;color:var(--ink3);margin-top:3px}.customer-row em{display:block;font-size:.75rem;font-style:normal;color:var(--mute);margin-top:9px;line-height:1.5}.customer-row-value{text-align:right;flex:none}.customer-row-value strong{font-size:.875rem}.customer-row-value small{font-size:.75rem}.customer-row-value i{font-size:.75rem;font-style:normal;color:var(--accent-ink);display:inline-block;background:var(--accent-soft);padding:2px 6px;border-radius:5px;margin-top:7px}.customer-detail{border:1px solid var(--line2);border-radius:12px;padding:22px;background:var(--cf-surface);position:sticky;top:0}.customer-cover{display:flex;align-items:center;gap:13px;margin-bottom:20px}.customer-cover .customer-avatar{width:48px;height:48px;font-size:1.1rem}.customer-cover .eyebrow{font-size:.75rem}.customer-detail>h2{font-size:1.5rem;letter-spacing:-.035em;font-weight:450;margin:0}.customer-service{font-size:.875rem;color:var(--ink3);margin:5px 0 23px}.customer-stat-pair{display:grid;grid-template-columns:1fr 1fr;padding:15px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}.customer-stat-pair>div+div{border-left:1px solid var(--line2);padding-left:20px}.customer-stat-pair span{font-size:.75rem;display:block;color:var(--ink3)}.customer-stat-pair strong{display:block;font-size:1.125rem;letter-spacing:-.03em;font-weight:450;margin-top:4px}.customer-note{margin-top:23px}.customer-note label{display:block;font-size:.8125rem;color:var(--ink2);margin-bottom:9px}.customer-note textarea{width:100%;resize:vertical;min-height:88px;font-size:.875rem;line-height:1.6;color:var(--ink2);background:var(--btn);border:1px solid var(--line2);border-radius:8px;padding:12px}.customer-note>div{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.customer-note>div>span{font-size:.75rem;color:var(--mute)}.customer-note .secondary-button{font-size:.75rem;min-height:32px}.customer-history{margin:23px 0}.customer-history h3{font-size:.8125rem;font-weight:500;margin:0}.customer-history .text-button{font-size:.75rem}.customer-history>button{display:flex;align-items:flex-start;gap:8px;text-align:left;background:none;border:0;width:100%;color:var(--ink2);padding:13px 0;border-bottom:1px solid var(--line2)}.history-dot{width:5px;height:5px;border-radius:50%;background:var(--cf-surface);flex:none;margin-top:7px}.customer-history>button>strong{font-size:.8125rem;font-weight:400;line-height:1.5;flex:1}.customer-history>button>time{font:.75rem 'Geist Mono',monospace;color:var(--mute);padding-top:3px}.customer-history>p{font-size:.875rem;color:var(--ink3)}.customer-ask{font-size:.8125rem;white-space:normal;justify-content:space-between;width:100%;min-height:41px;line-height:1.5}
.approval-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:26px;padding:32px 30px 70px;max-width:1420px;margin:auto}.approval-queue{position:sticky;top:0;align-self:start}.approval-queue>div:first-child{display:flex;flex-direction:column;gap:9px;padding-bottom:12px}.approval-queue .eyebrow{font-size:.75rem}.approval-queue>div>strong{font-size:1.5rem;letter-spacing:-.03em;font-weight:450}.approval-queue>p{font-size:.8125rem;color:var(--ink3);line-height:1.6;margin:0 0 20px}.approval-queue>button{display:flex;flex-direction:column;position:relative;gap:7px;width:100%;background:none;border:1px solid var(--line2);border-radius:9px;padding:16px;text-align:left;color:var(--ink);margin-bottom:10px}.approval-queue>button[aria-pressed=true]{background:var(--work-selected);border-color:color-mix(in srgb,var(--cf-border) 27%,transparent)}.approval-queue>button:hover{background:var(--hover2)}.queue-category{display:flex;justify-content:space-between;gap:7px;font-size:.75rem;color:var(--ink3);width:100%}.queue-category>i{width:5px;height:5px;border-radius:50%;margin-top:6px}.approval-queue>button>strong{font-size:.9375rem;font-weight:450;line-height:1.4}.queue-value{font-size:.875rem;color:var(--ink2);margin-top:2px}.approval-queue>button>small{font-size:.75rem;color:var(--mute)}.approval-queue>footer{font-size:.75rem;color:var(--mute);line-height:1.6;padding:10px 4px}.approval-workspace>.page-needs{width:100%;min-width:0;padding:0 0 40px!important;max-width:none;margin:0}.queue-clear{padding:20px;background:var(--green-soft);color:var(--green-ink);border-radius:8px;font-size:.875rem}.shortcut-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--cf-canvas) 53%,transparent);backdrop-filter:none;z-index:130}.shortcut-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:131;background:var(--cut);border:1px solid var(--line3);border-radius:16px;padding:26px;width:min(450px,calc(100vw - 32px));box-shadow:none}.shortcut-dialog>header{display:flex;align-items:center;justify-content:space-between}.shortcut-dialog h2{font-size:1.25rem;font-weight:450;margin:0}.shortcut-dialog>p{font-size:.875rem;color:var(--ink3);line-height:1.6}.shortcut-dialog dl{margin:20px 0}.shortcut-dialog dl>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line2)}.shortcut-dialog dt{font-size:.875rem;color:var(--ink2)}.shortcut-dialog dd{margin:0}.shortcut-dialog>a{display:flex;justify-content:space-between;font-size:.875rem;color:var(--accent-ink);padding-top:7px}.header-back{margin-left:-7px}.header-back svg{width:16px}.workspace-header .breadcrumb{margin-right:auto}.header-actions{gap:10px}.app-shell .work-select option{color:var(--ink);background:var(--cut)}
@media(max-width:1300px){.work-page{padding-inline:24px}.ledger-split{grid-template-columns:minmax(0,1fr) 290px;gap:17px}.customer-split{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.customer-detail{padding:18px}.customer-filters{gap:4px}.customer-filters button{padding-inline:9px}.approval-workspace{grid-template-columns:220px minmax(0,1fr);gap:20px;padding-inline:24px}.receipt-row{padding:15px 12px;gap:8px}.receipt-columns{padding-inline:12px;gap:8px}.customer-row{gap:10px;padding:20px 13px}.customer-row .customer-avatar{width:32px;height:32px}.receipt-inspector{padding:17px}}
@media(max-width:1080px){.ledger-split,.customer-split{grid-template-columns:minmax(0,1fr)}.receipt-inspector,.customer-detail{position:relative;top:auto}.receipt-inspector{margin-top:1px}.receipt-row{grid-template-columns:52px minmax(0,1fr) 40px}.work-heading h1{font-size:1.8rem}.work-view-switch>span{display:none}.customer-workspace .ledger-toolbar{flex-wrap:wrap}.customer-workspace .work-search{flex-basis:100%}.customer-filters{width:100%}.approval-workspace{grid-template-columns:1fr}.approval-queue{position:relative;display:flex;overflow-x:auto;gap:10px;align-items:stretch;margin-bottom:4px;padding-bottom:8px}.approval-queue>button{min-width:210px;max-width:210px;margin:0}.approval-queue>p,.approval-queue>footer,.approval-queue>div:first-child{display:none}.edition-link>span{display:none}}
@media(max-width:760px){.work-page{padding:25px 18px 90px}.work-heading{align-items:flex-start;gap:12px}.work-heading h1{font-size:1.65rem}.work-heading>.secondary-button{font-size:.75rem;padding-inline:11px;min-height:35px}.work-heading p{font-size:.8125rem}.work-heading .eyebrow{font-size:.75rem}.ledger-toolbar{flex-wrap:wrap}.ledger-toolbar>.work-search{flex-basis:100%}.work-select{flex:1;justify-content:space-between}.work-select select{max-width:145px}.quick-filters{overflow-x:auto;gap:5px;padding-bottom:5px}.quick-filters button{font-size:.75rem;padding:0 10px;white-space:nowrap}.ledger-totals{gap:13px;flex-wrap:wrap;font-size:.75rem}.ledger-totals .text-button{font-size:.75rem}.receipt-main>strong{font-size:.875rem}.receipt-main>small{font-size:.75rem}.receipt-row{grid-template-columns:39px minmax(0,1fr) 28px;gap:8px;padding:15px 11px}.receipt-columns{grid-template-columns:39px minmax(0,1fr) 28px}.receipt-row>time,.receipt-actor{font-size:.75rem}.receipt-tags i,.receipt-tags>span{font-size:.75rem}.receipt-inspector{padding:20px}.customer-row em{font-size:.75rem}.customer-row-value strong{font-size:.8125rem}.customer-row strong{font-size:.875rem}.customer-row small{font-size:.75rem}.customer-row .customer-avatar{width:33px;height:33px}.customer-row{padding:19px 13px}.customer-detail{padding:20px}.quiet-count{display:none}.approval-workspace{padding:23px 18px 90px}.approval-queue{display:none}.edition-link{display:none}.header-back{display:none}.header-actions>.shortcut-button{display:none}}
.rejected-undo{display:block;width:100%;min-height:40px;border:0;border-top:1px solid var(--line2);background:var(--inset);color:var(--ink2);font-size:13px;text-align:center;cursor:pointer}
/* Runtime interpolation spans are transparent text wrappers, not new typographic roles. */
.app-shell .sc-interp:not(.sc-unresolved):not(.sc-missing){display:contents;font:inherit!important;color:inherit;letter-spacing:inherit!important}

/* Retained functional corrections. The original visual system lives in the earlier stylesheets. */
.app-shell.mobile-app .phone-nav{display:grid;flex-shrink:0}
.app-shell.mobile-app[data-focus-decision=true] .phone-header{display:flex}
.app-shell.mobile-app[data-focus-decision=true] .phone-content{padding:0}
.app-shell.mobile-app :is(.page-live,.page-money,.page-day){display:flex!important;flex-direction:column;align-items:stretch}
.app-shell.mobile-app .page-more .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.app-shell.mobile-app .lanes-grid{grid-template-columns:1fr}
.app-shell.mobile-app :is(.money-operations,.money-attribution,.schedule-column,.dispatch-column){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.app-shell.mobile-app .legacy-page>.workflow-quicknav{position:sticky!important;top:0!important;z-index:12;padding:7px 0 10px!important;background:var(--screen)}
.activity-network{position:relative;width:100%;max-width:100%;aspect-ratio:200 / 176;min-height:330px}
.app-shell .activity-network>svg{position:absolute;inset:0;width:100%;height:100%;max-height:none!important}
.activity-network>svg text{display:none}
.app-shell .activity-network>button{transform:translateY(-50%);background:var(--card);color:var(--ink2);border:1px solid var(--line2);border-radius:12px;padding-inline:9px!important;width:37%!important;box-shadow:none}
.app-shell .activity-network>button:active{transform:translateY(-50%) scale(.98)}
.app-shell .activity-network>button>span{font-size:12px!important;letter-spacing:0!important}
.app-shell .activity-network>button:hover{border-color:var(--line3)}
.app-shell[data-zwt=light] .activity-current-status{color:var(--ink2)}
.app-shell.mobile-app .mobile-approvals{padding:10px 20px 26px!important;gap:0!important}
.app-shell.mobile-app .decision-toolbar{margin-bottom:5px;min-height:47px;gap:8px}
.app-shell.mobile-app .decision-toolbar>.glass-icon{display:none}
.app-shell.mobile-app .decision-progress{align-items:flex-start;margin:0 auto 0 0;gap:4px}
.app-shell.mobile-app .decision-progress strong{font-size:19px;letter-spacing:-.03em}
.app-shell.mobile-app .decision-rail-scroll{min-height:87px;padding-block:9px;margin-inline:0}
.app-shell.mobile-app .prism-decision-deck{margin-top:20px}
.app-shell.mobile-app .prism-card-content{padding:18px 20px;gap:14px}
.app-shell.mobile-app .decision-identity h1{font-size:24px;font-weight:480;line-height:1.18}
.app-shell.mobile-app .decision-amount strong{font-size:34px;font-weight:480}
.app-shell.mobile-app .prism-rim{padding:1px;opacity:.66}
.app-shell.mobile-app .prism-edge-light{opacity:.5}
.app-shell.mobile-app .decision-action-dock{padding:9px 18px 2px;border-top:1px solid var(--line2);background:var(--screen)}
.app-shell.mobile-app .decision-action-dock>div{gap:8px;grid-template-columns:1fr 1.12fr 44px}
.app-shell.mobile-app .decision-action-dock button{min-height:46px;height:46px}
.app-shell.mobile-app .decision-action-dock>p{font-size:11px;margin:7px 0 3px;color:var(--ink3)}
.app-shell.mobile-app[data-focus-decision=true] .phone-content{padding:0}
.app-shell[data-motion=false], .app-shell[data-motion=false] *, .app-shell[data-motion=false] *:before,.app-shell[data-motion=false] *:after,.app-shell[data-visible=false] *, .app-shell[data-visible=false] *:before,.app-shell[data-visible=false] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.app-shell[data-motion=false] .activity-network path[stroke-dasharray]{stroke-dashoffset:0!important}
@media(prefers-reduced-motion:reduce){.app-shell *, .app-shell *:before,.app-shell *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.activity-network path[stroke-dasharray]{stroke-dashoffset:0!important}}

/* Original compact design, with the approval cards' white optical edges. */
.app-shell {
  --white-edge:#ecf3ff80;
  --white-edge-shadow:inset 0 1px 1px #fff7,inset 1px 0 1px #e6f3ff30,inset -1px -1px 1px #fff3,0 0 12px #cbdfff16,0 7px 22px #0003;
}
.app-shell[data-zwt=light]{--white-edge:#fff;--white-edge-shadow:inset 0 1px 1px #fff,inset 1px 0 1px #fff,0 0 0 1px #7994b52b,0 0 14px #fff8,0 5px 18px #3453730e}
.app-shell :is(.home-glass,.mobile-decision,.mobile-anna,.mobile-install-row,.receipt-inspector,.receipt-list,.customer-list,.customer-detail,.mobile-customer-detail,.approval-queue,.assistant-form,.message,.mode-rack,.install-sheet){border:1px solid var(--var(--cf-border)-edge);box-shadow:none}
.app-shell .legacy-page :is(div,button).glass-card{border:1px solid var(--var(--cf-border)-edge);box-shadow:none}
.app-shell .home-glass>.prism-rim{opacity:.85}
.app-shell :is(.customer-preview,.money-attribution,.dispatch-column){border-color:var(--var(--cf-border)-edge);box-shadow:none}
.app-shell.mobile-app .home-deltas>button{border-color:color-mix(in srgb,var(--cf-border) 28%,transparent);box-shadow:none}
.app-shell.mobile-app .decision-mini-metric{border-color:color-mix(in srgb,var(--cf-border) 40%,transparent);box-shadow:none}

/* Original two-row text composer: direct entry and mic/send. */
.app-shell.mobile-app .phone-ask.original-composer{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:none;min-height:0;margin:5px 16px 8px;padding:3px 7px 5px;border:1px solid var(--var(--cf-border)-edge);border-radius:22px;background:var(--card);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.original-composer>textarea{display:block;box-sizing:border-box;width:100%;height:35px;min-height:35px;max-height:35px;padding:7px 10px;border:0;border-radius:15px;background:none;box-shadow:none;resize:none;outline:none;color:var(--ink);line-height:21px;font-size:16px}
.original-composer>textarea::placeholder{color:var(--ink3);opacity:1}
.original-composer:focus-within{outline:1px solid var(--accent-ink);outline-offset:2px}
.composer-controls{display:flex;align-items:center;gap:4px;height:40px}
.composer-controls>button{border:0;cursor:pointer;color:var(--ink2);flex:none;position:relative}
.composer-controls .composer-modes{width:40px;height:40px;padding:11px;border-radius:50%;background:none;display:grid;place-items:center}
.composer-modes svg{width:18px;height:18px}
.composer-controls .composer-toggle{height:34px;padding:0 10px;font-size:12px;border:1px solid var(--line2);border-radius:99px;background:var(--btn)}
.composer-controls .composer-toggle:before{content:'';position:absolute;inset:-5px 0}
.composer-controls .composer-toggle[aria-pressed=true]{border-color:var(--accent-ink);background:var(--accent-soft);color:var(--accent-ink)}
.composer-controls .composer-send{width:40px;height:40px;display:grid;place-items:center;padding:11px;margin-left:auto;border-radius:50%;background:var(--primary);color:var(--on-primary);border:1px solid color-mix(in srgb,var(--cf-border) 60%,transparent);box-shadow:none}
.original-composer .composer-send svg{width:18px;height:18px;color:var(--on-primary)}
.composer-controls>button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}

/* Home uses the available phone space, rather than a long scrolling dashboard. */
.app-shell.mobile-app[data-home=true] .app-stage,.app-shell.mobile-app[data-home=true] .screen-body{height:100%;min-height:0;overflow:hidden!important}
.app-shell.mobile-app[data-home=true] .screen-body{display:flex;flex-direction:column}
.app-shell.mobile-app .mobile-home.original-home{width:100%;height:100%;min-height:0;box-sizing:border-box;padding:8px 18px 7px;display:grid;grid-template-rows:minmax(94px,1fr) 73px 112px 53px 58px;gap:8px;overflow:hidden}
.original-home .home-presence{min-height:0;padding:0;display:grid;grid-template-rows:30px 28px minmax(20px,1fr) 22px;align-items:center;justify-items:center}
.original-home .home-presence h1{margin:0;font-size:26px;line-height:30px;font-weight:500;letter-spacing:-.025em}
.original-home .home-live-status{height:25px;min-height:25px;padding:3px 10px;font-size:12px;max-width:100%}
.original-home .home-anna-orb{height:100%;min-height:20px;margin:0;width:100%;position:relative}
.original-home .orb-body{width:auto;height:calc(100% - 6px);aspect-ratio:1;max-height:136px;max-width:136px;top:50%;transform:translate(-50%,-50%);animation:original-orb-float 7s ease-in-out infinite}
.original-home .orb-body canvas{opacity:.9}.original-home .orb-halo{width:180px;height:100%;max-height:150px;top:50%;transform:translate(-50%,-50%)}
.original-home .orb-ground{bottom:4px;height:8px;max-width:72px}.original-home .orb-wave i{max-height:25px}
.original-home .home-feed{min-height:22px;height:22px;margin:0;font-size:11px;padding:0;max-width:100%}
.original-home .home-return{padding:5px 11px 7px;border-radius:18px}
.original-home .home-return header{min-height:16px;height:16px}
.original-home .home-return header>.eyebrow{font-size:10px;letter-spacing:.08em}
.original-home .home-return header>button{min-height:24px;padding:0;font-size:11px;position:relative}
.original-home .home-return header>button:before{content:'';position:absolute;inset:-6px 0}
.original-home .home-deltas{gap:7px;margin-top:5px}
.original-home .home-deltas>button{height:38px;min-height:38px;padding:2px 8px;gap:0;border-radius:11px}
.original-home .home-deltas>button>span{font-size:10px;line-height:12px}.original-home .home-deltas strong{font-size:19px;line-height:19px;font-weight:450}
.original-home .home-priority-grid{gap:9px;min-height:0;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.original-home .home-approval,.original-home .home-up-next{padding:8px 10px;border-radius:20px;min-height:0}
.original-home .home-approval{display:flex;flex-direction:column;gap:1px}
.original-home .home-approval header{min-height:18px;height:18px}.original-home .home-approval h2{font-size:13px;font-weight:500}
.original-home .home-approval header>span{font-size:11px;line-height:14px;padding:1px 4px}
.original-home .home-decision-title{font-size:13px;line-height:17px;min-height:22px;max-height:34px;padding:1px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.original-home .home-approval-buttons{margin-top:auto;gap:5px}
.app-shell.mobile-app .original-home .home-approval-buttons button{min-height:38px;height:38px;font-size:12px;padding:4px 8px}
.original-home .home-up-next{gap:4px}.original-home .home-up-next header{min-height:18px;height:18px}.original-home .home-up-next>strong{font-size:13px;line-height:17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.original-home .home-up-next>span{font-size:11px;line-height:14px}.original-home .home-up-next>small{font-size:10px;line-height:13px}
.original-home .home-recent{padding:5px 11px 4px;border-radius:17px;min-height:0}
.original-home .home-recent header{min-height:16px;height:16px}.original-home .home-recent header>.eyebrow{font-size:10px;letter-spacing:.08em}.original-home .home-recent header>span:last-child{font-size:11px;padding:0;min-height:16px}
.original-home .home-recent-track{height:26px}.original-home .home-recent strong{font-size:12px}.original-home .home-recent time{font-size:10px}
.original-home .home-timeline{padding:0 5px;min-height:0}
.original-home .home-timeline header{height:19px;min-height:19px}.original-home .home-timeline h2{font-size:13px}.original-home .home-timeline header>button{font-size:11px;min-height:24px;padding:0}
.original-home .home-timeline-track{height:35px;margin:2px 14px 0}.original-home .home-now-line{height:33px}
.original-home .home-timeline-track>button{gap:3px;min-height:36px}.original-home .home-timeline-track i{width:7px;height:7px}.original-home .home-timeline-track time{font-size:9px;line-height:11px}.original-home .home-timeline-track button>span{font-size:10px;line-height:12px;max-width:64px}
@keyframes original-orb-float{50%{transform:translate(-50%,calc(-50% - 3px))}}
/* The compact variant preserves every original Home section on short phones. */
@media(max-width:760px) and (max-height:700px){
 .app-shell.mobile-app .mobile-home.original-home{grid-template-rows:minmax(75px,1fr) 64px 104px 46px 54px;gap:5px;padding:5px 16px 4px}
 .original-home .home-presence{grid-template-rows:28px 25px minmax(18px,1fr) 19px}.original-home .home-presence h1{font-size:24px;line-height:28px}
 .original-home .home-return{padding:4px 9px}.original-home .home-deltas{margin-top:3px}.original-home .home-deltas>button{height:35px;min-height:35px;padding:2px 7px}.original-home .home-deltas strong{font-size:18px;line-height:17px}.original-home .home-deltas>button>span{line-height:11px}
 .original-home .home-approval,.original-home .home-up-next{padding:6px 9px}.original-home .home-recent{padding:3px 9px}.original-home .home-recent-track{height:23px}
 .original-home .home-timeline-track{margin-top:0;height:30px}.original-home .home-timeline-track>button{gap:2px;min-height:32px}
 .app-shell.mobile-app .phone-ask.original-composer{margin:3px 14px 6px;padding:2px 6px 4px}.original-composer>textarea{height:33px;min-height:33px;max-height:33px;padding-block:6px}
}
@media(max-width:760px) and (max-height:740px){
 .app-shell.mobile-app[data-home=true] .phone-header{min-height:51px;padding-block:4px}.app-shell.mobile-app[data-home=true] .phone-header small{display:none}
 .app-shell.mobile-app .mobile-home.original-home{grid-template-rows:minmax(60px,1fr) 64px 98px 42px 48px;gap:4px;padding:3px 14px}
 .original-home .home-presence{grid-template-rows:25px 23px minmax(12px,1fr)}.original-home .home-presence h1{font-size:22px;line-height:25px}.original-home .home-feed{display:none}
 .original-home .home-live-status{font-size:11px;min-height:23px;height:23px}.original-home .home-up-next>span{line-height:12px;font-size:10px}
 .original-home .home-timeline header{height:16px;min-height:16px}.original-home .home-timeline-track{height:27px}.original-home .home-timeline-track i{height:5px;width:5px}.original-home .home-timeline-track button>span{font-size:9px;line-height:10px}
}

/* One primary action supplies the globe, voice signal, and screen-edge light. */
.mobile-app .primary-action-glow{position:absolute;inset:0;z-index:110;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:none;transition:opacity 120ms ease,box-shadow 120ms ease}
.mobile-app[data-home=true][data-anna-active=true] .primary-action-glow{opacity:1;animation:anna-edge-breathe 6s ease-in-out infinite}
.mobile-app[data-home=true] .phone-device:before{opacity:0}
.mobile-app .original-home .orb-body{background:var(--cf-surface);box-shadow:none;transition:background 120ms ease,box-shadow 120ms ease}
.mobile-app .original-home .orb-body:before{content:'';position:absolute;inset:0;z-index:3;border-radius:50%;pointer-events:none;background:var(--cf-surface);-webkit-mask-image:radial-gradient(circle,transparent 53%,#0007 62%,#000 70%);mask-image:radial-gradient(circle,transparent 53%,#0007 62%,#000 70%);opacity:.9;animation:anna-prism-shimmer 18s linear infinite;transition:opacity 120ms ease}
.mobile-app .original-home .orb-body:after{z-index:4;box-shadow:none;transition:box-shadow 120ms ease}
.mobile-app .original-home .orb-reflection{background:var(--cf-surface);opacity:.65;transition:opacity 120ms ease}
.mobile-app .original-home .orb-halo{background:var(--cf-surface);-webkit-mask-image:radial-gradient(ellipse,transparent 28%,#000 42%,transparent 68%);mask-image:radial-gradient(ellipse,transparent 28%,#000 42%,transparent 68%);filter:blur(14px);opacity:.3;transition:background 120ms ease,opacity 120ms ease}
.mobile-app .original-home .orb-ground{background:var(--cf-surface);opacity:.6;transition:background 120ms ease}
.mobile-app .original-home .orb-wave{opacity:0;filter:drop-shadow(0 0 5px rgba(var(--anna-rgb),.65));transition:opacity 120ms ease}
.mobile-app .original-home .orb-wave i{background:var(--cf-surface);animation-play-state:paused}
.mobile-app[data-anna-active=true] .original-home .orb-body{background:var(--cf-surface);box-shadow:none}
.mobile-app[data-anna-active=true] .original-home .orb-body:before{opacity:0}
.mobile-app[data-anna-active=true] .original-home .orb-body:after{box-shadow:none}
.mobile-app[data-anna-active=true] .original-home .orb-halo{background:var(--cf-surface);opacity:.65}
.mobile-app[data-anna-active=true] .original-home .orb-ground{background:rgba(var(--anna-rgb),.2)}
.mobile-app[data-anna-call=true] .original-home .orb-wave{opacity:.9}.mobile-app[data-anna-call=true] .original-home .orb-wave i{animation-play-state:running}
.mobile-app .original-home .home-live-status>i{box-shadow:none}
.mobile-app[data-anna-active=true] .original-home .home-live-status>strong{color:var(--anna-ink)}
.mobile-app[data-zwt=light] .primary-action-glow{box-shadow:none}
@keyframes anna-prism-shimmer{to{transform:rotate(360deg)}}
@keyframes anna-edge-breathe{50%{opacity:.68}}
/* Keep only the current receipt when its crossfade is disabled. */
.app-shell[data-motion=false] .home-recent-track>span:not(:last-child){display:none}
@media(prefers-reduced-motion:reduce){.home-recent-track>span:not(:last-child){display:none}}

/* Approvals is a fixed-height working surface. Only the queue moves horizontally. */
.mobile-app .page-live .workflow-quicknav [role=tab]{padding-inline:5px!important;letter-spacing:0!important}
.app-shell.mobile-app[data-focus-decision=true] .phone-content>main{container-type:size;container-name:approval-space}
.app-shell.mobile-app[data-focus-decision=true] :is(.app-stage,.screen-body){height:100%;min-height:0;overflow:hidden!important}
.app-shell.mobile-app[data-focus-decision=true] .phone-header{min-height:51px;padding-block:3px}.mobile-app[data-focus-decision=true] .phone-header small{display:none}
.app-shell.mobile-app .mobile-approvals{height:100%!important;min-height:0!important;padding:3px 18px 0!important;display:flex!important;flex-direction:column;gap:0!important;overflow:hidden!important}
.app-shell.mobile-app .decision-toolbar{min-height:34px;height:34px;margin:0;gap:8px;flex:none}
.app-shell.mobile-app .decision-progress{flex-direction:row;align-items:baseline;gap:8px}.app-shell.mobile-app .decision-progress strong{font-size:16px}.app-shell.mobile-app .decision-progress>span{font-size:12px}
.app-shell.mobile-app .decision-toolbar .priority-glass{min-height:30px!important;padding:3px 9px;font-size:12px}
.app-shell.mobile-app .decision-rail-scroll{min-height:39px;height:39px;padding:2px 0 0;flex:none;touch-action:pan-x}
.app-shell.mobile-app .decision-rail{height:37px}.app-shell.mobile-app .rail-step{min-height:36px;height:36px;flex:1 0 48px;padding:0 3px;gap:0;justify-content:flex-start}.app-shell.mobile-app .rail-step>i{margin:3px 0 3px;width:8px;height:8px;border-width:2px}.app-shell.mobile-app .rail-step[aria-current=step]>i{width:11px;height:11px;border-width:1px;margin:1px 0 2px}.app-shell.mobile-app .rail-step>span{display:none}.app-shell.mobile-app .rail-step>small{font-size:10px;line-height:14px;white-space:nowrap;max-width:none}.app-shell.mobile-app .rail-track,.app-shell.mobile-app .rail-complete{top:7px}
.app-shell.mobile-app .prism-decision-deck{flex:1;min-height:0;margin:13px 2px 0;display:flex}
.app-shell.mobile-app .prism-decision-card{height:100%;width:100%;min-height:0;touch-action:pinch-zoom;cursor:grab}
.app-shell.mobile-app .decision-impact{top:-11px}.app-shell.mobile-app .decision-impact>span{min-height:23px;padding:2px 10px;gap:6px;font-size:12px}.app-shell.mobile-app .decision-impact i{width:7px;height:7px}
.app-shell.mobile-app .prism-card-content{height:100%;min-height:0;padding:15px 17px 10px;display:flex;flex-direction:column;gap:0}
.decision-summary{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:7px}
.prism-card-content[data-detail=true] .decision-summary{display:none}
.app-shell.mobile-app .decision-card-tools{min-height:26px;height:26px;gap:8px;margin:0}.decision-card-tools>.eyebrow{flex:1;font-size:11px;letter-spacing:.15em;color:var(--ink2)}
.app-shell.mobile-app .decision-document{width:26px;height:26px;border-radius:9px}.app-shell.mobile-app .decision-document svg{width:14px;height:14px}.app-shell.mobile-app .decision-card-tools>.glass-icon{width:27px;height:27px;min-height:27px!important;padding:6px}
.app-shell.mobile-app .decision-identity>div{margin:0 0 4px}.app-shell.mobile-app .decision-identity h1{font-size:23px;line-height:1.13;overflow-wrap:normal}.app-shell.mobile-app .decision-identity p{font-size:12px;line-height:1.3}
.app-shell.mobile-app .decision-identity .glass-icon{display:none}
.decision-financials{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:10px;align-items:center}
.app-shell.mobile-app .decision-amount{gap:4px}.app-shell.mobile-app .decision-amount strong{font-size:29px;line-height:1.03}.app-shell.mobile-app .decision-amount>span{font-size:12px;line-height:1.3}
.app-shell.mobile-app .decision-metrics{grid-template-columns:1fr 1fr;gap:5px}.app-shell.mobile-app .decision-upside{grid-column:1/-1;gap:2px}.app-shell.mobile-app .decision-upside span{font-size:10px;line-height:1.2}.app-shell.mobile-app .decision-upside strong{font-size:20px;line-height:1.05}.app-shell.mobile-app .decision-mini-metric{padding:5px 6px;gap:2px;border-radius:9px}.app-shell.mobile-app .decision-mini-metric span{font-size:10px;line-height:1.15}.app-shell.mobile-app .decision-mini-metric strong{font-size:15px!important;line-height:1.1}
.app-shell.mobile-app .decision-recommendation{min-height:48px;padding:6px 9px;gap:8px;border-radius:13px}.app-shell.mobile-app .decision-recommendation>div{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;row-gap:1px}.app-shell.mobile-app .decision-recommendation>div>span{font-size:11px;line-height:1.2}.app-shell.mobile-app .decision-recommendation strong{font-size:16px;grid-column:2;grid-row:1/3}.app-shell.mobile-app .decision-recommendation small{font-size:11px;line-height:1.2}.app-shell.mobile-app .decision-recommendation .anna-glass-orb{height:28px;width:28px}.app-shell.mobile-app .recommendation-signal{display:none}
.app-shell.mobile-app .decision-reason h2{font-size:12px;margin:0 0 3px}.app-shell.mobile-app .decision-reason p{font-size:14px;line-height:1.35}
.app-shell.mobile-app .decision-traits{gap:4px}.app-shell.mobile-app .decision-traits>span{font-size:10px;min-height:22px;padding:3px 6px;gap:4px}.app-shell.mobile-app .decision-traits i{width:6px;height:6px}
.app-shell.mobile-app button.decision-next-steps{display:flex;align-items:center;gap:5px;width:100%;min-height:30px;padding:6px 0 0;margin:0;background:none;border:0;border-top:1px solid var(--line2);color:var(--ink3);font-size:11px;text-align:left;line-height:1.25}.decision-next-steps>span:first-child{white-space:nowrap;color:var(--ink2)}.decision-chain-preview{display:flex;flex-wrap:wrap;gap:2px 6px;flex:1}.decision-chain-preview>span+span:before{content:'· ';color:var(--mute)}.decision-next-steps>svg{width:12px;height:12px;flex:none}
.app-shell.mobile-app .decision-board-footer{height:28px;min-height:28px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px}.app-shell.mobile-app .decision-board-footer button{min-height:28px;padding:3px 4px;border:0;background:none;color:var(--ink2);font-size:12px}.decision-board-footer button:disabled{opacity:.4}
.app-shell.mobile-app .decision-action-dock{padding:4px 18px 1px;flex:none}.app-shell.mobile-app .decision-action-dock button{height:44px;min-height:44px;padding-block:6px}.app-shell.mobile-app .decision-action-dock>p{font-size:10px;line-height:1.2;margin:4px 0 2px}
.app-shell.mobile-app .decision-followup{display:contents}
.decision-outcome{display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:0;flex:1}.decision-outcome>h2{font-size:22px;line-height:1.15;margin:0}.decision-outcome>p{font-size:14px;line-height:1.4;color:var(--ink2);margin:0}.decision-outcome ol{margin:3px 0;padding-left:24px;display:grid;gap:12px;font-size:16px;line-height:1.35}.decision-outcome .eyebrow{font-size:11px}.decision-face-back{align-self:flex-start;border:0;background:none;color:var(--accent-ink);padding:3px 0;min-height:30px!important;font-size:13px}.decision-autonomy{border-top:1px solid var(--line2);padding-top:10px;font-size:13px}.decision-autonomy>div{display:flex;gap:8px;margin-top:7px}.decision-autonomy button{border:1px solid var(--line2);background:var(--btn);color:var(--ink);border-radius:99px;min-height:36px;font-size:12px;padding:5px 9px}
.approval-state-card{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:12px;margin:12px 2px 0;padding:18px;border:1px solid var(--var(--cf-border)-edge);box-shadow:none;border-radius:26px;background:var(--card)}.approval-state-card h1{font-size:24px;line-height:1.15;margin:0}.approval-state-card h2{font-size:18px;line-height:1.2;margin:0}.approval-state-card p{font-size:14px;line-height:1.45;margin:0;color:var(--ink2)}.approval-state-card>.eyebrow{font-size:11px}.approval-alternative>.eyebrow{color:var(--red-ink)}.approval-alternatives{display:grid;gap:7px}.approval-alternatives button{display:flex;flex-direction:column;gap:3px;border:1px solid var(--var(--cf-border)-edge);border-radius:13px;background:var(--btn);color:var(--ink);padding:9px 11px;text-align:left;min-height:50px}.approval-alternatives strong{font-size:14px;font-weight:550}.approval-alternatives span{font-size:12px;line-height:1.3;color:var(--ink2)}.approval-chosen{padding:12px;border:1px solid var(--var(--cf-border)-edge);border-radius:15px}.approval-chosen>strong{display:block;font-size:16px;margin-bottom:5px}.approval-state-actions{display:flex;gap:8px}.approval-state-actions>button{flex:1;justify-content:center;font-size:13px;min-height:44px;padding-inline:8px}.approval-success{color:var(--green-ink)}.approval-empty{align-items:center;text-align:center}.approval-complete-symbol{font-size:36px;color:var(--green-ink)}.approval-history>header{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink3)}.approval-history-status{font-size:14px;color:var(--accent-ink)}.approval-history>nav{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.approval-history>nav button{background:var(--btn);border:1px solid var(--line2);border-radius:99px;padding:7px 14px;min-height:40px;font-size:13px;color:var(--ink)}.approval-history button:disabled{opacity:.35}
@container approval-space (max-height:490px){
 .app-shell.mobile-app .prism-card-content{padding:12px 13px 8px}.decision-summary{gap:4px}
 .app-shell.mobile-app .decision-identity h1{font-size:20px}.app-shell.mobile-app .decision-identity p{font-size:11px}
 .app-shell.mobile-app .decision-card-tools{height:22px;min-height:22px}.app-shell.mobile-app .decision-card-tools>.glass-icon{height:23px;width:23px;min-height:23px!important;padding:5px}.app-shell.mobile-app .decision-document{height:22px;width:22px}.decision-card-tools>.eyebrow{font-size:10px}
 .app-shell.mobile-app .decision-amount strong{font-size:26px}.app-shell.mobile-app .decision-amount>span{font-size:11px}.app-shell.mobile-app .decision-mini-metric{padding:3px 5px}.app-shell.mobile-app .decision-upside strong{font-size:18px!important}
 .app-shell.mobile-app .decision-recommendation{min-height:38px;padding:4px 7px}.app-shell.mobile-app .decision-recommendation .anna-glass-orb{width:24px;height:24px}.app-shell.mobile-app .decision-recommendation strong{font-size:14px}
 .app-shell.mobile-app .decision-reason h2{display:none}.app-shell.mobile-app .decision-reason p{font-size:13px;line-height:1.3}
 .app-shell.mobile-app .decision-traits>span{min-height:19px;padding:2px 5px}
 .app-shell.mobile-app button.decision-next-steps{min-height:25px;padding-top:4px;font-size:10px}
 .approval-state-card{gap:9px;padding:14px}.approval-state-card h1{font-size:22px}.approval-state-card p{font-size:13px}.approval-alternatives button{padding:7px 9px;min-height:44px}.approval-alternatives strong{font-size:13px}.approval-alternatives span{font-size:11px}
}
@media(max-width:760px) and (max-height:740px){
 .app-shell.mobile-app[data-focus-decision=true] .phone-header{min-height:45px;padding-block:0}.mobile-app[data-focus-decision=true] .phone-header .phone-brand{min-height:40px}
 .app-shell.mobile-app[data-focus-decision=true] .original-composer{flex-direction:row;align-items:center;margin-block:3px;padding:3px 5px;gap:2px}.mobile-app[data-focus-decision=true] .original-composer>textarea{flex:1;min-width:0;width:0;height:35px;min-height:35px}.mobile-app[data-focus-decision=true] .composer-controls{gap:0;height:38px}.mobile-app[data-focus-decision=true] .composer-toggle{display:none}.mobile-app[data-focus-decision=true] .composer-controls>.composer-modes,.mobile-app[data-focus-decision=true] .composer-controls>.composer-send{width:34px;height:34px;padding:8px}
 .app-shell.mobile-app[data-focus-decision=true] .phone-nav{padding-block:3px 5px}.mobile-app[data-focus-decision=true] .phone-nav button{min-height:45px}
 .app-shell.mobile-app .mobile-approvals{padding-inline:12px!important}.app-shell.mobile-app .decision-toolbar{min-height:30px;height:30px}.app-shell.mobile-app .decision-progress strong{font-size:14px}.app-shell.mobile-app .decision-progress>span{font-size:10px}.app-shell.mobile-app .decision-toolbar .priority-glass{font-size:11px;min-height:27px!important}
 .app-shell.mobile-app .decision-rail-scroll{height:32px;min-height:32px}.app-shell.mobile-app .rail-step>small{font-size:9px}
}
@media(max-width:760px) and (max-height:600px){
 .app-shell.mobile-app .decision-rail-scroll{height:21px;min-height:21px}.app-shell.mobile-app .rail-step{height:19px;min-height:19px}.app-shell.mobile-app .rail-step>small{display:none}
 .app-shell.mobile-app .decision-toolbar{height:28px;min-height:28px}.app-shell.mobile-app .decision-board-footer{height:24px;min-height:24px}.app-shell.mobile-app .decision-board-footer button{min-height:24px}
}
@container approval-space (max-height:360px){
 .app-shell.mobile-app .prism-card-content{padding:10px 11px 6px}.decision-summary{gap:2px}
 .app-shell.mobile-app .decision-card-tools{height:15px;min-height:15px}.app-shell.mobile-app .decision-document{display:none}.app-shell.mobile-app .decision-card-tools>.glass-icon{height:20px;width:24px;min-height:20px!important;padding:4px}
 .app-shell.mobile-app .decision-identity h1{font-size:18px}.app-shell.mobile-app .decision-identity p{font-size:10px;line-height:1.2}.app-shell.mobile-app .decision-identity>div{margin-bottom:2px}
 .decision-financials{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:6px}.app-shell.mobile-app .decision-amount strong{font-size:23px}.app-shell.mobile-app .decision-amount>span{font-size:10px;line-height:1.1}
 .app-shell.mobile-app .decision-metrics{gap:3px}.app-shell.mobile-app .decision-upside span{font-size:9px}.app-shell.mobile-app .decision-upside strong{font-size:16px!important}.app-shell.mobile-app .decision-mini-metric{padding:2px 4px;gap:0}.app-shell.mobile-app .decision-mini-metric span{font-size:9px}.app-shell.mobile-app .decision-mini-metric strong{font-size:13px!important}
 .app-shell.mobile-app .decision-recommendation{min-height:32px;padding:3px 6px}.app-shell.mobile-app .decision-recommendation>div>span,.app-shell.mobile-app .decision-recommendation small{font-size:10px}.app-shell.mobile-app .decision-recommendation .anna-glass-orb{width:22px;height:22px}
 .app-shell.mobile-app .decision-reason p{font-size:12px;line-height:1.25}.app-shell.mobile-app .decision-traits>span{font-size:9px;min-height:17px;padding:2px 4px}
 .app-shell.mobile-app button.decision-next-steps{font-size:9px;line-height:1.15;min-height:24px;padding-top:3px}
 .decision-outcome{gap:7px}.decision-outcome>h2{font-size:19px}.decision-outcome>p{font-size:12px}.decision-outcome ol{font-size:13px;gap:7px}.decision-autonomy{font-size:11px;padding-top:6px}.decision-autonomy button{min-height:30px;font-size:11px}.decision-outcome .secondary-button{min-height:32px}
 .approval-state-card{gap:7px;padding:12px}.approval-state-card h1{font-size:19px}.approval-state-card h2{font-size:16px}.approval-state-card p{font-size:12px;line-height:1.3}.approval-alternatives{gap:5px}.approval-alternatives button{padding:6px 8px}.approval-alternatives strong{font-size:12px}.approval-alternatives span{font-size:10px}.approval-state-actions>button{font-size:12px}.approval-chosen{padding:8px}.approval-chosen>strong{font-size:14px}
}

.mobile-approvals[data-board-detail=true] .decision-rail-scroll{display:none}
@container approval-space (max-height:490px){.decision-outcome{gap:7px}.decision-outcome>h2{font-size:20px}.decision-outcome ol{font-size:14px;gap:8px}.decision-autonomy{font-size:12px;padding-top:7px}.decision-autonomy button{font-size:11px}.decision-face-back{line-height:1.2}}
@container approval-space (max-height:360px){
 .decision-outcome{gap:5px}.decision-outcome>.eyebrow{display:none}.decision-outcome>h2{font-size:19px}.decision-outcome ol{font-size:13px;gap:4px;line-height:1.3;margin:0}.app-shell.mobile-app .decision-outcome>.secondary-button{min-height:36px!important;padding-block:6px}.app-shell.mobile-app .decision-autonomy button{min-height:32px!important}.decision-autonomy{font-size:11px;line-height:1.3;padding-top:5px}.decision-autonomy>div{margin-top:5px}
}

.mobile-app[data-focus-decision=true] .undo-toast{display:none!important}

/* The Home schedule keeps its horizontal line, with a selected stop preview. */
.app-shell.mobile-app .mobile-home.original-home{grid-template-rows:minmax(94px,1fr) 73px 112px 53px 120px}
.original-home .schedule-timeline{padding:7px 10px 6px;border-radius:19px;display:flex;flex-direction:column;gap:4px}
.original-home .schedule-timeline header{height:19px;min-height:19px;gap:5px}.original-home .schedule-timeline h2{font-size:12px;white-space:nowrap}.schedule-count{font:10px 'Geist Mono',monospace;color:var(--ink3);margin-left:auto;white-space:nowrap}.original-home .schedule-timeline header>button{font-size:10px;margin-left:6px;min-height:24px;position:relative}.schedule-timeline header>button:before{content:'';position:absolute;inset:-4px 0}
.schedule-stops{display:grid;position:relative;isolation:isolate;min-height:43px;flex:1;align-items:start;margin:1px 0 0}
.schedule-line,.schedule-elapsed{position:absolute;top:7px;height:1px;pointer-events:none;z-index:-1}.schedule-line{background:var(--line3)}.schedule-elapsed{background:var(--cf-surface);box-shadow:none;transition:width 120ms}
.schedule-now{position:absolute;top:3px;height:9px;width:2px;background:var(--ink);box-shadow:none;transform:translateX(-50%);pointer-events:none;opacity:.65}
.app-shell.mobile-app .schedule-stops>button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:43px;border:0;padding:0 2px;background:none;color:var(--ink3);position:relative;border-radius:8px}.schedule-stops>button:focus-visible{outline-offset:1px}.schedule-stops>button>i{box-sizing:border-box;display:grid;place-items:center;width:14px;height:14px;flex:none;border:1px solid var(--stop-color);border-radius:50%;background:var(--screen);box-shadow:none;transition:box-shadow 120ms,background 120ms}
.schedule-stops>button>i svg{width:11px;height:11px;stroke:var(--green-ink);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.schedule-stops>button[data-state=done]>i{border-color:var(--green-ink);background:var(--green-soft)}.schedule-stops>button[data-state=next]>i{background:var(--stop-color);box-shadow:none}.schedule-stops>button[aria-pressed=true]>i{box-shadow:none}.schedule-stops>button[aria-pressed=true]{color:var(--ink)}.schedule-stops>button time{font:10px 'Geist Mono',monospace;line-height:12px;white-space:nowrap}.schedule-stops>button>span{font-size:11px;line-height:13px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-stops>button[data-shifted=true] time{color:var(--amber-ink)}.schedule-stops>button[aria-pressed=true]>span{text-decoration:underline;text-decoration-color:var(--white-edge);text-underline-offset:3px}
.schedule-detail{border-top:1px solid var(--line2);padding-top:4px;min-width:0;flex:none}.schedule-detail>div{display:flex;flex-direction:column;gap:3px;min-width:0;animation:schedule-preview-in .18s ease both}.schedule-detail strong{font-size:12px;line-height:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.schedule-detail>div>div{display:flex;justify-content:space-between;gap:7px;min-width:0;align-items:center;font-size:10px;line-height:13px}.schedule-detail>div>div>span{color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.schedule-detail b{font-size:10px;line-height:13px;font-weight:500;color:var(--ink2);white-space:nowrap;flex:none}.schedule-detail [data-state=next] b,.schedule-detail [data-state=done] b{color:var(--green-ink)}.schedule-detail [data-state=delayed] b{color:var(--amber-ink)}.schedule-empty{font-size:12px;color:var(--ink3);margin:auto 0}
@keyframes schedule-preview-in{from{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:none}}
.mobile-app[data-motion=false] .schedule-detail>div{animation:none}@media(prefers-reduced-motion:reduce){.schedule-detail>div{animation:none}}
@media(max-width:760px) and (max-height:740px){
 .app-shell.mobile-app .mobile-home.original-home{grid-template-rows:minmax(60px,1fr) 64px 98px 42px 106px}
 .original-home .schedule-timeline{padding:5px 9px;gap:3px}.original-home .schedule-timeline header{height:18px;min-height:18px}.schedule-stops{min-height:39px}.app-shell.mobile-app .schedule-stops>button{min-height:39px;gap:2px}.schedule-stops>button>i{height:12px;width:12px}.schedule-line,.schedule-elapsed{top:6px}.schedule-now{top:2px}.schedule-stops>button time{font-size:9px;line-height:11px}.schedule-stops>button>span{font-size:10px;line-height:12px}.schedule-detail>div{gap:2px}.schedule-detail strong{font-size:11px;line-height:14px}
}
@media(max-width:760px) and (max-height:600px){
 .app-shell.mobile-app .mobile-home.original-home{grid-template-rows:minmax(60px,1fr) 64px 98px 42px 84px;gap:2px}
 .original-home .schedule-timeline{padding:4px 8px;gap:1px;border-radius:15px}.original-home .schedule-timeline header{height:16px;min-height:16px}.original-home .schedule-timeline h2{font-size:11px}.schedule-count{font-size:9px}.original-home .schedule-timeline header>button{font-size:9px;min-height:18px}
 .schedule-stops{min-height:31px;margin:0}.app-shell.mobile-app .schedule-stops>button{min-height:31px;gap:1px}.schedule-stops>button>i{height:9px;width:9px}.schedule-stops>button>i svg{width:9px;height:9px}.schedule-line,.schedule-elapsed{top:4px}.schedule-now{height:7px;top:1px}.schedule-stops>button time{font-size:8px;line-height:10px}.schedule-stops>button>span{font-size:9px;line-height:10px}
 .schedule-detail{padding-top:2px}.schedule-detail>div{gap:0}.schedule-detail strong{font-size:10px;line-height:12px}.schedule-detail>div>div,.schedule-detail b{font-size:9px;line-height:11px}
}
/* On very short phones, place the globe beside the greeting to preserve its presence. */
@media(max-width:760px) and (max-height:600px){
 .app-shell.mobile-app .mobile-home.original-home{grid-template-rows:minmax(48px,1fr) 64px 98px 42px 84px}
 .original-home .home-presence{grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:23px 23px;column-gap:5px;align-content:center;justify-items:start}.original-home .home-presence h1{grid-column:1;grid-row:1;font-size:19px;line-height:23px;white-space:nowrap}.original-home .home-live-status{grid-column:1;grid-row:2;font-size:10px;max-width:100%;padding-inline:7px}.original-home .home-anna-orb{grid-column:2;grid-row:1/3;width:48px;height:46px}.original-home .orb-halo{width:60px;max-height:60px}.original-home .orb-ground{display:none}
}

/* CRM v4 capabilities use the existing GPT Business workspace tokens and chrome. */
.crm-workspace{max-width:1540px;margin:0 auto;padding-bottom:100px}.crm-workspace button,.crm-workspace input,.crm-workspace select,.crm-workspace textarea{font-family:inherit}.crm-workspace h2{font-size:1.2rem;font-weight:450;letter-spacing:-.025em;margin:0 0 12px}.crm-workspace h3{font-size:1rem;font-weight:450;margin:16px 0 10px;letter-spacing:-.015em}.crm-workspace p{font-size:.875rem;line-height:1.65}.crm-workspace button{cursor:pointer}.crm-workspace button:disabled{opacity:.4;cursor:not-allowed}.crm-workspace button:focus-visible,.crm-workspace input:focus-visible,.crm-workspace select:focus-visible,.crm-workspace textarea:focus-visible,.crm-workspace summary:focus-visible{outline:2px solid var(--accent-ink,var(--cf-border));outline-offset:3px}.crm-workspace .primary-button,.crm-workspace .secondary-button{white-space:normal;font-size:.8125rem;min-height:38px}.crm-heading-actions,.crm-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.crm-actions{margin-top:18px}.crm-muted{color:var(--ink3);font-size:.8125rem;line-height:1.6}.crm-groups{display:flex;border-bottom:1px solid var(--line2);gap:24px;margin-top:26px;overflow:auto}.crm-groups button{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink3);padding:0 0 13px;font-size:.875rem;white-space:nowrap}.crm-groups button[aria-pressed=true]{border-bottom-color:var(--cf-border);color:var(--ink)}.crm-tabs{display:flex;gap:5px;padding:15px 0 12px;flex-wrap:wrap}.crm-tabs button{background:none;color:var(--ink3);border:1px solid transparent;border-radius:7px;font-size:.8125rem;padding:8px 11px}.crm-tabs button[aria-pressed=true]{color:var(--ink);background:var(--hover2);border-color:var(--line2)}.crm-local-note{display:flex;align-items:center;gap:8px;color:var(--mute);font-size:.75rem;margin:2px 0 26px;line-height:1.5}.crm-local-note .status-dot{width:5px;height:5px;background:var(--cf-surface);flex:none}.crm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line2);border-radius:12px;overflow:hidden;margin-bottom:28px;background:var(--cf-surface)}.crm-stats>div{padding:22px 24px;border-right:1px solid var(--line2)}.crm-stats>div:nth-child(4n){border-right:0}.crm-stats>div:nth-child(n+5){border-top:1px solid var(--line2)}.crm-stats span,.crm-stats small{display:block;color:var(--ink3);font-size:.75rem;line-height:1.5}.crm-stats strong{display:block;margin:9px 0 6px;font-weight:400;font-size:1.75rem;letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.crm-stats small{color:var(--mute)}.crm-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:35px 0 18px}.crm-section-heading h2{margin:5px 0 0;font-size:1.3rem}.crm-panel{border:1px solid var(--line2);border-top-color:color-mix(in srgb,var(--ink) 23%,transparent);border-radius:12px;padding:24px;background:var(--cf-surface);box-shadow:none;min-width:0;margin-bottom:20px}.crm-panel p{color:var(--ink3)}.crm-panel-title{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}.crm-panel-title h2,.crm-panel-title h3{margin:0}.crm-panel-title p{margin:8px 0 0}.crm-panel-title .eyebrow{display:block;margin-bottom:9px}.crm-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.crm-featured>.crm-panel{margin:0;position:relative;overflow:hidden;text-align:left;color:var(--ink)}.crm-featured>button{transition:border-color 120ms,background 120ms,transform 120ms}.crm-featured>button:hover{border-color:color-mix(in srgb,var(--ink) 30%,transparent);transform:translateY(-2px)}.crm-featured>button:before{content:'';position:absolute;right:-45px;top:-70px;width:170px;height:170px;background:var(--cf-surface);pointer-events:none}.crm-featured h3{font-size:1.3rem;display:flex;justify-content:space-between;margin-top:18px;letter-spacing:-.035em}.crm-featured h3>span{color:var(--mute);font-weight:300}.crm-featured p{max-width:390px}.crm-open-label{font-size:.75rem;margin-top:24px;display:flex;justify-content:space-between;color:var(--ink3)}.crm-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line2);border-radius:12px;overflow:hidden}.crm-tool-grid>button{display:flex;align-items:center;gap:16px;background:none;border:0;border-bottom:1px solid var(--line2);color:var(--ink);text-align:left;padding:22px}.crm-tool-grid>button:nth-child(odd){border-right:1px solid var(--line2)}.crm-tool-grid>button:hover{background:var(--hover)}.crm-tool-index{font:.6875rem 'Geist Mono',monospace;color:var(--mute);align-self:start;padding-top:4px}.crm-tool-grid strong{font-size:.875rem;font-weight:450;display:block}.crm-tool-grid small{font-size:.75rem;color:var(--ink3);line-height:1.6;display:block;margin-top:5px}.crm-tool-arrow{margin-left:auto;color:var(--mute)}.crm-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:20px 0}.crm-segment{display:flex;gap:3px;padding:3px;border:1px solid var(--line2);border-radius:8px;flex-wrap:wrap;background:var(--btn)}.crm-segment button{background:none;border:0;padding:7px 10px;color:var(--ink3);font-size:.75rem;border-radius:5px;white-space:nowrap;min-height:30px}.crm-segment button[aria-pressed=true]{color:var(--ink);background:var(--hover2);box-shadow:none}.crm-search{min-width:170px;flex:1;display:block}.crm-search input{background:var(--btn);border:1px solid var(--line2);border-radius:8px;min-height:40px;width:100%;padding:9px 13px;color:var(--ink);font-size:.8125rem}.crm-full-search{margin:20px 0}.crm-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:.8125rem;color:var(--ink3)}.crm-field>input,.crm-field>textarea,.crm-field>select{width:100%;min-height:41px;background:var(--btn);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:10px 12px;font-size:.875rem;line-height:1.5}.crm-field>textarea{resize:vertical;min-height:90px}.crm-field>small{font-size:.75rem;color:var(--mute)}.crm-field select option{background:var(--card);color:var(--ink)}.crm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.crm-field[data-wide=true]{grid-column:1/-1}.crm-editor{border-color:color-mix(in srgb,var(--accent-ink) 38%,var(--line2));box-shadow:none}.crm-error{font-size:.875rem!important;color:var(--cf-negative);background:color-mix(in srgb,var(--cf-text) 6%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 22%,transparent);border-radius:8px;padding:12px 16px;margin:16px 0}.crm-board{display:grid;grid-template-columns:repeat(5,minmax(175px,1fr));gap:12px;overflow-x:auto;padding:3px 2px 20px;align-items:start;scrollbar-width:thin}.crm-column{min-width:0;padding:11px 0;border-top:2px solid color-mix(in srgb,var(--cf-border) 31%,transparent)}.crm-column:nth-child(2){border-top-color:color-mix(in srgb,var(--cf-border) 38%,transparent)}.crm-column:nth-child(3){border-top-color:color-mix(in srgb,var(--cf-border) 44%,transparent)}.crm-column:nth-child(4){border-top-color:color-mix(in srgb,var(--cf-border) 44%,transparent)}.crm-column:nth-child(5){border-top-color:color-mix(in srgb,var(--cf-border) 44%,transparent)}.crm-column>header{padding:8px 4px 20px}.crm-column h2{font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;letter-spacing:0}.crm-column h2>span{font:.6875rem 'Geist Mono',monospace;color:var(--mute)}.crm-column header>strong{font-size:.875rem;color:var(--ink3);font-weight:400}.crm-deal-card{display:flex;flex-direction:column;align-items:start;width:100%;padding:16px 14px;margin-bottom:10px;text-align:left;border:1px solid var(--line2);border-top-color:color-mix(in srgb,var(--ink) 22%,transparent);background:var(--cf-surface);color:var(--ink);border-radius:10px;transition:border 120ms,background 120ms}.crm-deal-card:hover{border-color:color-mix(in srgb,var(--cf-border) 40%,transparent);background:var(--hover)}.crm-card-top{display:flex;justify-content:space-between;gap:6px;width:100%;color:var(--mute);font-size:.625rem;margin-bottom:14px}.crm-deal-card>strong{font-size:.875rem;font-weight:450;line-height:1.45}.crm-deal-card>small{color:var(--ink3);font-size:.6875rem;margin-top:5px;line-height:1.5}.crm-deal-card>b{font-size:1rem;font-weight:450;margin:17px 0}.crm-next-step{width:100%;border-top:1px solid var(--line2);padding-top:11px;color:var(--ink3);font-size:.6875rem;line-height:1.5}.crm-column-empty{padding:28px 10px;color:var(--mute);text-align:center;font-size:.75rem;border:1px dashed var(--line2);border-radius:10px}.crm-deal-steps{display:flex;gap:4px;margin:18px 0}.crm-deal-steps button{flex:1;background:var(--btn);border:1px solid var(--line2);border-radius:6px;padding:10px 6px;color:var(--ink3);font-size:.75rem}.crm-deal-steps button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--cf-border) 27%,transparent)}.crm-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.crm-event-list p{position:relative;border-left:1px solid var(--line2);padding:0 0 15px 18px;margin:0}.crm-event-list p:before{content:'';position:absolute;left:-3px;top:7px;width:5px;height:5px;background:var(--cf-surface);border-radius:50%}.crm-event-list p>span{display:block;color:var(--ink);font-size:.75rem;margin-bottom:3px}.crm-table-wrap{overflow-x:auto;border:1px solid var(--line2);border-radius:10px}.crm-table{border-collapse:collapse;width:100%;min-width:650px;text-align:left}.crm-table th{font-size:.6875rem;color:var(--mute);font-weight:400;text-transform:uppercase;letter-spacing:.08em;padding:16px;background:var(--hover)}.crm-table td{padding:20px 16px;border-top:1px solid var(--line2);font-size:.8125rem;color:var(--ink3)}.crm-table td small{display:block;margin-top:6px;color:var(--mute);font-size:.6875rem}.crm-table td button{font-size:.875rem;color:var(--ink)}.crm-timeline-row{display:flex;width:100%;gap:20px;align-items:center;border:0;border-bottom:1px solid var(--line2);background:none;color:var(--ink);padding:20px 0;text-align:left}.crm-timeline-row>time{min-width:70px;max-width:120px;color:var(--ink3);font-size:.75rem}.crm-timeline-row>span:nth-child(3){flex:1}.crm-timeline-row strong{display:block;font-size:.875rem;font-weight:450}.crm-timeline-row small{display:block;color:var(--ink3);font-size:.75rem;margin-top:6px}.crm-timeline-row b{font-weight:450;font-size:.875rem}.crm-timeline-dot{width:7px;height:7px;flex:none;background:var(--cf-surface);border-radius:50%;box-shadow:none}.crm-forecast-row{display:grid;grid-template-columns:180px 1fr 150px;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line2)}.crm-forecast-row>span:last-child{text-align:right}.crm-forecast-row strong{font-size:.875rem;display:block;font-weight:450}.crm-forecast-row small{font-size:.75rem;display:block;color:var(--mute);margin-top:7px}.crm-track{height:5px;background:var(--line2);border-radius:10px;overflow:hidden}.crm-track i{display:block;height:100%;background:var(--cf-surface);border-radius:10px;transition:width 120ms}.crm-record-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:24px;align-items:start}.crm-record-list{border:1px solid var(--line2);border-radius:11px;overflow:hidden}.crm-record-list>button{background:none;color:var(--ink);text-align:left;width:100%;display:block;border:0;border-bottom:1px solid var(--line2);padding:22px 20px}.crm-record-list>button:hover,.crm-record-list>button[aria-pressed=true]{background:var(--work-selected,var(--hover2))}.crm-record-list>button[aria-pressed=true]{box-shadow:none}.crm-record-list>button:last-child{border-bottom:0}.crm-record-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.crm-record-top>small{color:var(--mute);font-size:.6875rem;overflow-wrap:anywhere}.crm-badge{display:inline-block;border:1px solid var(--line2);padding:3px 7px;border-radius:5px;color:var(--ink3);font-size:.625rem;white-space:nowrap;line-height:1.5}.crm-record-list>button>strong{font-weight:450;font-size:1rem;line-height:1.45;display:block}.crm-record-list>button>p{color:var(--ink3);font-size:.8125rem;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.crm-record-list>button>b{font-size:1.15rem;font-weight:450;display:block;margin-top:16px}.crm-inspector{position:sticky;top:0}.crm-inspector>h2{font-size:1.4rem;margin:15px 0}.crm-detail-body{white-space:pre-wrap;overflow-wrap:anywhere}.crm-inspector dl{margin:22px 0}.crm-inspector dl>div{display:flex;gap:15px;justify-content:space-between;border-top:1px solid var(--line2);padding:12px 0;font-size:.75rem}.crm-inspector dt{color:var(--mute);flex:1}.crm-inspector dd{color:var(--ink2);margin:0;text-align:right;max-width:65%;overflow-wrap:anywhere}.crm-inspector li,.crm-panel>ol>li{font-size:.8125rem;line-height:1.7;color:var(--ink3);margin-bottom:8px}.crm-inspector ol{padding-left:20px}.crm-empty{padding:48px 20px;text-align:center;font-size:.875rem;color:var(--ink3);border:1px dashed var(--line2);border-radius:10px;margin-bottom:20px;line-height:1.7}.crm-inbox-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.crm-conversations{border:1px solid var(--line2);border-radius:10px;overflow:hidden}.crm-conversations>button{display:flex;gap:12px;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line2);padding:20px 14px;background:none;color:var(--ink)}.crm-conversations>button:hover,.crm-conversations>button[aria-pressed=true]{background:var(--work-selected,var(--hover2))}.crm-conversations>button>span:nth-child(2){min-width:0;flex:1}.crm-conversations strong{font-size:.8125rem;display:flex;justify-content:space-between;align-items:center;font-weight:450}.crm-conversations small{font-size:.6875rem;color:var(--mute);display:block;margin-top:5px}.crm-conversations p{font-size:.75rem;color:var(--ink3);margin:10px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-conversations .status-dot{background:var(--cf-surface);width:5px;height:5px}.crm-thread>header{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line2);padding-bottom:18px}.crm-thread>header h2{font-size:1.15rem;margin:0}.crm-thread>header p{font-size:.75rem;margin:6px 0 0}.crm-messages{display:flex;flex-direction:column;gap:20px;padding:25px 0;max-height:500px;overflow:auto;scrollbar-width:thin}.crm-messages>article{max-width:85%;padding:15px 17px;background:var(--hover);border:1px solid var(--line2);border-radius:12px 12px 12px 3px;align-self:start}.crm-messages>article[data-outgoing=true]{align-self:end;background:var(--accent-soft);border-radius:12px 12px 3px 12px;border-color:color-mix(in srgb,var(--cf-border) 14%,transparent)}.crm-messages small{font-size:.625rem;color:var(--mute)}.crm-messages p{margin:8px 0 0;color:var(--ink2);font-size:.8125rem;white-space:pre-wrap;overflow-wrap:anywhere}.crm-reply{border-top:1px solid var(--line2);padding-top:20px}.crm-channel-filters{flex-basis:100%}.crm-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.crm-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:13px;width:100%;color:var(--ink);padding:15px;background:var(--btn);border:1px solid var(--line2);border-radius:9px;text-align:left}.crm-toggle-card strong{font-size:.8125rem;font-weight:450}.crm-toggle-card small{font-size:.75rem;display:block;color:var(--mute);margin-top:5px}.crm-switch{display:block;width:28px;height:17px;flex:none;border:1px solid var(--line2);border-radius:20px;background:var(--hover2);padding:3px}.crm-switch:before{content:'';display:block;width:9px;height:9px;border-radius:50%;background:var(--mute);transition:transform 120ms}.crm-switch[data-on=true]{background:color-mix(in srgb,var(--cf-text) 17%,transparent);border-color:color-mix(in srgb,var(--cf-border) 28%,transparent)}.crm-switch[data-on=true]:before{transform:translateX(10px);background:var(--cf-surface)}.crm-master{display:flex;gap:32px;justify-content:space-between;align-items:start}.crm-master>div:first-child{max-width:480px}.crm-master>div>h2{margin-top:12px}.crm-master>div>.secondary-button{margin-top:12px}.crm-control-row{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--line2)}.crm-control-row>div:first-child{max-width:520px;flex:1;min-width:0}.crm-control-row strong{font-size:.875rem;font-weight:450}.crm-control-row p{font-size:.8125rem;margin:5px 0}.crm-control-row small{color:var(--mute);font-size:.6875rem;display:block;margin-top:6px}.crm-control-row>.crm-segment{flex:none}.crm-note-row{padding:17px 0;border-bottom:1px solid var(--line2);font-size:.8125rem;color:var(--ink3);line-height:1.6}.crm-note-row>strong{display:block;color:var(--ink);font-weight:450}.crm-note-row>span{font-size:.75rem;color:var(--mute)}.crm-note-row>p{margin:6px 0 0;font-size:.8125rem}.crm-dry-row{display:flex;gap:20px;align-items:start;padding:21px 0;border-bottom:1px solid var(--line2)}.crm-dry-row>div{flex:1}.crm-dry-row strong{font-size:.875rem;font-weight:450}.crm-dry-row p{margin:6px 0 0}.crm-dry-row>span:last-child{font-size:.75rem;color:var(--ink3);white-space:nowrap}.crm-call-record{margin-top:28px;border-top:1px solid var(--line2);padding-top:22px}.crm-call-record h3{font-size:1.35rem}.crm-call-record blockquote{font-size:.875rem;margin:24px 0;padding-left:17px;border-left:2px solid color-mix(in srgb,var(--cf-border) 38%,transparent);line-height:1.8;color:var(--ink3)}.crm-panel>.crm-toggle-card{margin:9px 0}.crm-score-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.crm-score-stats>div:nth-child(4n){border-right:1px solid var(--line2)}.crm-score-stats>div:nth-child(5n){border-right:0}.crm-score-stats>div:nth-child(5){border-top:0}.crm-source{margin:25px 0}.crm-source>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:.8125rem;margin-bottom:12px}.crm-source strong{font-weight:400}.crm-source span{font-size:.75rem;color:var(--ink3)}.crm-panel .crm-digest{font-size:1.125rem;color:var(--ink2);font-weight:350;line-height:1.8}.crm-teach-prompts{display:flex;flex-direction:column;align-items:start;gap:8px;margin:20px 0}.crm-teach-prompts button{text-align:left}.crm-panel summary{cursor:pointer;font-size:.9375rem;font-weight:450;line-height:1.6}.crm-panel[open]>summary{margin-bottom:22px}.crm-plan-inputs{grid-template-columns:repeat(4,minmax(0,1fr))}.crm-check-row{width:100%;display:flex;align-items:start;gap:12px;text-align:left;color:var(--ink3);background:none;border:0;border-bottom:1px solid var(--line2);padding:17px 0;font-size:.8125rem;line-height:1.6}.crm-check{display:grid;place-items:center;width:19px;height:19px;flex:none;border:1px solid var(--line2);border-radius:5px;color:transparent}.crm-check-row[aria-pressed=true] .crm-check{color:var(--cf-text);background:color-mix(in srgb,var(--cf-text) 10%,transparent);border-color:color-mix(in srgb,var(--cf-border) 40%,transparent)}.crm-milestones{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.crm-milestones span{font-size:.6875rem;color:var(--mute);border:1px solid var(--line2);border-radius:6px;padding:8px 10px}.crm-milestones [data-done=true]{color:var(--cf-muted);background:color-mix(in srgb,var(--cf-text) 7%,transparent);border-color:color-mix(in srgb,var(--cf-border) 22%,transparent)}.crm-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:370px;overflow:auto;scrollbar-width:thin;padding:2px}.crm-industry-grid button{border:1px solid var(--line2);background:var(--btn);color:var(--ink);border-radius:8px;padding:15px;text-align:left}.crm-industry-grid button[aria-pressed=true]{border-color:color-mix(in srgb,var(--cf-border) 33%,transparent);background:var(--accent-soft)}.crm-industry-grid strong{font-size:.8125rem;font-weight:450;display:block}.crm-industry-grid small{font-size:.6875rem;color:var(--mute);display:block;margin-top:6px;line-height:1.5}.crm-platform-row{display:flex;gap:20px;align-items:center;width:100%;padding:22px 0;border:0;border-top:1px solid var(--line2);background:none;text-align:left;color:var(--ink)}.crm-platform-row>span:first-child{flex:1}.crm-platform-row strong{font-size:.875rem;font-weight:450;display:block}.crm-platform-row small{font-size:.75rem;color:var(--ink3);display:block;margin-top:6px;line-height:1.6}.crm-platform-row>span:last-child{color:var(--mute)}.crm-badge[data-enabled=true]{color:var(--cf-muted);border-color:color-mix(in srgb,var(--cf-border) 19%,transparent)}.crm-reference{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;color:var(--ink3);line-height:1.7}.crm-bridge{margin:24px 38px 0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line2);border-radius:10px;background:var(--cf-surface)}.crm-bridge .eyebrow{font-size:.5625rem;letter-spacing:.13em;display:block;margin-bottom:6px;color:var(--mute)}.crm-bridge strong{font-size:.875rem;font-weight:450;color:var(--ink);display:inline-block;margin-right:15px}.crm-bridge small{color:var(--ink3);font-size:.75rem}.crm-bridge button{font-size:.75rem;flex:none;gap:14px}.crm-workspace .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){.crm-stats>div{padding:18px}.crm-stats strong{font-size:1.5rem}.crm-board{grid-template-columns:repeat(5,minmax(170px,1fr))}.crm-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-control-row{gap:16px}.crm-inbox-layout{grid-template-columns:260px minmax(0,1fr)}.crm-panel{padding:20px}.crm-master{flex-wrap:wrap}.crm-bridge{margin-inline:24px}}
@media(max-width:960px){.crm-record-layout{grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:15px}.crm-control-row{align-items:start;flex-direction:column;gap:12px}.crm-inbox-layout{grid-template-columns:220px minmax(0,1fr);gap:14px}.crm-conversations .customer-avatar{display:none}.crm-score-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-score-stats>div:nth-child(n+3){border-top:1px solid var(--line2)}.crm-score-stats>div:nth-child(2n){border-right:0}.crm-detail-columns{gap:15px}.crm-forecast-row{grid-template-columns:130px 1fr 110px;gap:15px}.crm-bridge small{display:block;margin-top:5px}}
@media(max-width:760px){.crm-workspace{padding:24px 16px 90px}.crm-heading-actions{flex-wrap:nowrap}.crm-heading-actions .secondary-button{font-size:.6875rem}.crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-stats>div{padding:16px}.crm-stats>div:nth-child(n+3){border-top:1px solid var(--line2)}.crm-stats>div:nth-child(2n){border-right:0}.crm-stats strong{font-size:1.4rem}.crm-groups{gap:22px}.crm-groups button{font-size:.8125rem}.crm-tabs{flex-wrap:nowrap;overflow:auto}.crm-tabs button{white-space:nowrap;font-size:.75rem}.crm-local-note{font-size:.625rem;margin-bottom:20px}.crm-featured,.crm-tool-grid,.crm-detail-columns,.crm-record-layout,.crm-inbox-layout{grid-template-columns:1fr}.crm-tool-grid>button:nth-child(odd){border-right:0}.crm-featured{gap:12px}.crm-section-heading{align-items:start}.crm-section-heading>.crm-muted{display:none}.crm-toolbar>.crm-search{flex-basis:100%}.crm-record-list{max-height:360px;overflow:auto}.crm-inspector{position:relative}.crm-panel{padding:20px 17px}.crm-form-grid,.crm-plan-inputs{grid-template-columns:1fr 1fr;gap:14px}.crm-field{font-size:.75rem}.crm-field>input,.crm-field>textarea,.crm-field>select{font-size:16px}.crm-forecast-row{grid-template-columns:105px 1fr 100px;gap:12px}.crm-forecast-row small{font-size:.625rem}.crm-channel-grid{gap:8px}.crm-toggle-card{padding:12px}.crm-toggle-card strong{font-size:.75rem}.crm-dry-row{gap:10px;flex-wrap:wrap}.crm-dry-row>div{flex-basis:70%}.crm-dry-row>span:last-child{margin-left:auto}.crm-conversations{max-height:270px;overflow:auto}.crm-conversations .customer-avatar{display:grid}.crm-conversations>button{padding:16px}.crm-messages{max-height:420px}.crm-industry-grid{grid-template-columns:1fr 1fr}.crm-industry-grid button{padding:13px 10px}.crm-platform-row{gap:10px}.crm-platform-row .crm-badge{white-space:normal;max-width:78px}.crm-platform-row small{font-size:.6875rem}.crm-control-row .crm-segment button{font-size:.6875rem;padding:7px 8px}.crm-deal-steps{overflow:auto}.crm-deal-steps button{min-width:90px}.crm-bridge{margin:18px 18px 0}.crm-bridge small{display:none}.crm-bridge .eyebrow{font-size:.5rem}.crm-bridge .secondary-button{font-size:.6875rem}.crm-panel>ol{padding-left:20px}.crm-timeline-row{gap:12px}.crm-timeline-row>time{min-width:50px;font-size:.625rem}}
@media(prefers-reduced-motion:reduce){.crm-workspace *{transition:none!important}}
.crm-sort{display:flex;gap:10px;align-items:center;margin-left:auto;font-size:.75rem;color:var(--ink3)}.crm-sort select{background:var(--btn);border:1px solid var(--line2);color:var(--ink);border-radius:7px;padding:8px 28px 8px 10px}.crm-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:20px 0}.crm-calendar>span{text-align:center;font-size:.6875rem;color:var(--mute);padding:5px}.crm-calendar>button{min-height:90px;display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:10px;padding:14px;background:var(--btn);border:1px solid var(--line2);border-radius:9px;color:var(--ink);text-align:left}.crm-calendar>button strong{font-size:1rem;font-weight:450}.crm-calendar>button small{font-size:.6875rem;color:var(--ink3)}.crm-calendar>button[aria-pressed=true]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--cf-border) 47%,transparent)}.crm-calendar>button[data-outside=true]{opacity:.4}.crm-calendar[data-month=true]>button{min-height:65px;padding:10px}.crm-calendar-label{font-size:.9375rem;font-weight:450}.crm-calendar[data-month=true]>button small{font-size:.5625rem}@media(max-width:760px){.crm-calendar{gap:4px}.crm-calendar>button{min-height:76px;padding:10px 6px}.crm-calendar>button strong{font-size:.8125rem}.crm-calendar>button small{font-size:.5rem}.crm-calendar[data-month=true]>button{min-height:55px;padding:7px 5px}.crm-calendar[data-month=true]>button small{font-size:.5rem}}

/* Operational surfaces inherit the current prism workspace, with quiet edge light. */
.biz-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 26px}.biz-stats>button{color:var(--ink);background:var(--cf-surface);border:1px solid var(--line2);border-top-color:color-mix(in srgb,var(--cf-border) 31%,transparent);border-radius:12px;padding:22px;text-align:left;box-shadow:none}.biz-stats>button>span{font-size:.875rem;color:var(--ink3)}.biz-stats strong{display:block;font-size:2rem;font-weight:400;letter-spacing:-.04em;margin:16px 0}.biz-stats small{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--ink3)}.biz-desk-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:20px;align-items:start}.biz-work-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr);gap:20px;align-items:start}.biz-record-list{padding:0;overflow:hidden}.biz-list-heading{display:flex;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line2);font-size:.75rem;color:var(--ink3)}.biz-record-row,.biz-queue-row{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line2);color:var(--ink);padding:20px}.biz-record-row:last-child{border-bottom:0}.biz-record-row[aria-pressed=true],.biz-record-row:hover,.biz-queue-row:hover{background:var(--cf-surface)}.biz-record-row[aria-pressed=true]{box-shadow:none}.biz-row-mark{width:6px;height:6px;border:1px solid color-mix(in srgb,var(--cf-border) 54%,transparent);border-radius:50%;flex:none}.biz-row-mark[data-alert=true]{background:var(--cf-surface);border-color:var(--cf-border);box-shadow:none}.biz-record-row strong,.biz-queue-row strong{font-size:.9375rem;font-weight:450;display:block;overflow-wrap:anywhere;line-height:1.5}.biz-record-row small,.biz-queue-row small{display:block;font-size:.75rem;color:var(--ink3);line-height:1.65;margin-top:4px}.biz-record-row small[data-alert=true]{color:var(--cf-warning)}.biz-row-end{margin-left:auto;flex:none;text-align:right}.biz-queue-row{padding:18px 0}.biz-queue-row>span:last-child{margin-left:auto;color:var(--ink3)}.biz-live-dot{width:7px;height:7px;border-radius:50%;background:var(--cf-surface);box-shadow:none;margin:10px}.biz-empty{text-align:center;padding:45px 25px}.biz-empty>span{display:inline-grid;place-items:center;width:43px;height:43px;border:1px solid color-mix(in srgb,var(--cf-border) 25%,transparent);border-radius:50%;color:var(--cf-text)}.biz-empty p{max-width:390px;margin:12px auto 22px}.biz-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.biz-notes{white-space:pre-wrap;overflow-wrap:anywhere}.biz-inspector{border-top-color:color-mix(in srgb,var(--cf-border) 36%,transparent);box-shadow:none}.biz-inspector .crm-panel-title{flex-wrap:wrap}.biz-inspector .crm-panel-title h2{overflow-wrap:anywhere}.biz-statuses{margin:22px 0}.biz-related{display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;color:var(--ink);padding:14px 0;border:0;border-bottom:1px solid var(--line2);width:100%;text-align:left;font-size:.875rem;line-height:1.5}.biz-related small{color:var(--ink3);font-size:.75rem;flex:none}.biz-quote-totals{margin:24px 0}.biz-quote-totals>span{display:flex;justify-content:space-between;gap:22px;font-size:.875rem;line-height:1.5;padding:9px 0;color:var(--ink3)}.biz-quote-totals strong{color:var(--ink);font-weight:450;white-space:nowrap}.biz-total{border-top:1px solid var(--line2);margin-top:12px;padding-top:20px!important}.biz-total strong{font-size:1.4rem;letter-spacing:-.025em}.biz-line-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.biz-line-item{display:grid;grid-template-columns:minmax(150px,1fr) 100px 140px 40px;gap:12px;margin:14px 0;align-items:end}.biz-line-item .icon-button{margin-bottom:2px}.biz-editor{border-color:color-mix(in srgb,var(--cf-border) 33%,transparent)}.biz-revision{border-top:1px solid var(--line2);padding:15px 0;font-size:.875rem;margin-top:16px}.biz-revision summary{cursor:pointer;color:var(--ink3)}.biz-sync{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0 20px;padding:12px 15px;border:1px solid var(--line2);border-radius:8px;font-size:.8125rem;color:var(--ink3)}.biz-sync[data-error=true]{border-color:color-mix(in srgb,var(--cf-border) 40%,transparent)}.biz-sync>span{flex:1;min-width:200px}.biz-sync .secondary-button{min-height:32px}.crm-tabs,.crm-groups{scrollbar-width:thin}.crm-groups{gap:22px}.biz-inspector .crm-actions{gap:8px}
@media(max-width:1100px){.biz-work-grid{grid-template-columns:minmax(0,1fr)}.biz-desk-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.biz-row-end{max-width:40%}.biz-stats>button{padding:17px}}
@media(max-width:760px){.biz-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.biz-desk-grid{grid-template-columns:minmax(0,1fr)}.biz-line-item{grid-template-columns:1fr 1fr 40px}.biz-line-item>label:first-child{grid-column:1/-1}.biz-line-heading{display:block}.biz-record-row{padding:16px 14px;gap:10px}.biz-work-grid .crm-panel{padding:20px}.biz-work-grid .biz-record-list{padding:0}.biz-stats strong{font-size:1.7rem}.biz-list-heading>span:last-child{display:none}.biz-inspector .crm-panel-title{gap:12px}.biz-quick-grid button{font-size:.875rem}.crm-field input,.crm-field select,.crm-field textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.biz-stats button,.biz-record-row{transition:none}}

@media(min-width:761px) and (max-width:1000px){.biz-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.biz-desk-grid{grid-template-columns:minmax(0,1fr)}}

.anna-desk{--anna-edge:#d5e8e22b;--anna-green:#b4d9ca}.anna-top-actions{display:flex;align-items:center;gap:10px;margin:10px 0 24px;flex-wrap:wrap}.anna-owner-state{display:flex;align-items:center;gap:9px;margin-right:auto;font:12px 'Geist Mono',monospace;letter-spacing:.13em;color:var(--ink3)}.anna-desk-presence{width:7px;height:7px;border-radius:50%;background:var(--anna-green);box-shadow:none}.anna-desk-presence[data-paused=true]{background:var(--cf-surface);box-shadow:none}.anna-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line2);border-top-color:color-mix(in srgb,var(--cf-border) 31%,transparent);border-radius:12px;background:var(--cf-surface);margin:20px 0}.anna-stats>div{padding:20px 24px;border-right:1px solid var(--line2)}.anna-stats>div:last-child{border:0}.anna-stats span{font-size:14px;color:var(--ink3)}.anna-stats strong{display:block;margin-top:12px;font-size:2rem;font-weight:400;letter-spacing:-.04em}.anna-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line2);overflow:auto;scrollbar-width:thin;margin-bottom:24px}.anna-tabs>button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:14px 0;color:var(--ink3);border:0;border-bottom:2px solid transparent;background:none;font-size:14px}.anna-tabs>button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--cf-border)}.anna-tabs>button>span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;background:color-mix(in srgb,var(--cf-text) 9%,transparent);color:var(--cf-warning);border-radius:5px;font-size:12px}.anna-run-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr);gap:22px;align-items:start}.anna-run-list{display:grid;gap:12px}.anna-run-card{text-align:left;padding:22px;border:1px solid var(--line2);border-top-color:color-mix(in srgb,var(--cf-border) 18%,transparent);border-radius:12px;background:var(--cf-surface);color:var(--ink);min-width:0;transition:border-color 120ms,background 120ms}.anna-run-card[aria-pressed=true]{border-color:color-mix(in srgb,var(--cf-border) 36%,transparent);background:var(--cf-surface);box-shadow:none}.anna-run-card>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.anna-run-card h3{font-size:1.1rem;font-weight:450;letter-spacing:-.02em;line-height:1.45;overflow-wrap:anywhere;margin:18px 0 8px}.anna-run-card p{font-size:14px;color:var(--ink3);line-height:1.6}.anna-run-state{font-size:12px;color:var(--cf-text)}.anna-run-state[data-attention=true]{color:var(--cf-warning)}.anna-progress{height:3px;background:color-mix(in srgb,var(--cf-text) 7%,transparent);border-radius:3px;margin:22px 0 12px;overflow:hidden}.anna-progress>span{height:100%;display:block;background:var(--cf-surface);transition:width 120ms ease}.anna-run-card footer{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--ink3)}.anna-inspector{border-top-color:color-mix(in srgb,var(--cf-border) 35%,transparent);box-shadow:none}.anna-scope{margin:20px 0;padding:14px 16px;background:color-mix(in srgb,var(--cf-text) 2%,transparent);border:1px solid var(--line2);border-radius:8px}.anna-scope>span{font-size:12px;color:var(--anna-green)}.anna-scope p{font-size:13px;margin:7px 0 0;line-height:1.6}.anna-exception{padding:18px;border:1px solid color-mix(in srgb,var(--cf-border) 22%,transparent);border-radius:9px;background:color-mix(in srgb,var(--cf-text) 3%,transparent);margin:18px 0}.anna-exception strong{font-size:14px;color:var(--cf-warning);font-weight:450;line-height:1.6}.anna-exception p{font-size:14px;line-height:1.6;margin:9px 0 16px}.anna-step-list{list-style:none;margin:28px 0;padding:0}.anna-step-list>li{display:flex;gap:14px;padding-bottom:24px;position:relative}.anna-step-list>li:not(:last-child):before{content:'';position:absolute;left:13px;top:28px;bottom:2px;width:1px;background:var(--line2)}.anna-step-number{display:grid;place-items:center;width:27px;height:27px;flex:none;border:1px solid var(--line2);border-radius:50%;font:12px 'Geist Mono',monospace;color:var(--ink3);background:var(--card)}.anna-step-list>li[data-done=true]>.anna-step-number{color:var(--anna-green);border-color:color-mix(in srgb,var(--cf-border) 31%,transparent);background:color-mix(in srgb,var(--cf-text) 4%,transparent)}.anna-step-list strong{font-size:14px;font-weight:450;line-height:1.5;display:block}.anna-step-list small{font-size:12px;color:var(--ink3);display:block;margin:4px 0}.anna-step-list p{margin:9px 0 0;font-size:13px;line-height:1.6}.anna-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.anna-proof>button{font-size:12px;color:var(--cf-text);border:1px solid color-mix(in srgb,var(--cf-border) 15%,transparent);background:color-mix(in srgb,var(--cf-text) 3%,transparent);padding:6px 9px;border-radius:5px}.anna-context,.anna-draft{border-top:1px solid var(--line2);padding:18px 0;margin-top:18px}.anna-context summary,.anna-draft summary{font-size:14px;color:var(--ink3);cursor:pointer;line-height:1.6}.anna-context>div{margin-top:16px}.anna-context small,.anna-draft small{font-size:12px;color:var(--ink3);display:block;margin-top:12px}.anna-context strong{font-size:14px;font-weight:450;display:block;margin:8px 0}.anna-context p,.anna-draft p{white-space:pre-wrap;overflow-wrap:anywhere}.anna-context .crm-field{margin:18px 0}.anna-cancel{display:block;margin-top:30px;border:0;background:none;color:var(--mute);font-size:12px;padding:0;line-height:1.5}.anna-empty{text-align:center;padding:45px 30px}.anna-empty-mark{font-size:30px;color:var(--cf-text);display:block;margin-bottom:25px}.anna-empty p{margin:18px 0 24px}.anna-playbooks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.anna-playbooks>.crm-panel{margin:0;display:flex;flex-direction:column;align-items:start;border-top-color:color-mix(in srgb,var(--cf-border) 29%,transparent)}.anna-playbooks h2{margin-top:18px}.anna-playbooks ol{padding-left:19px;font-size:14px;line-height:2;color:var(--ink3);margin:15px 0 20px}.anna-playbooks small{font-size:12px;color:var(--cf-muted);margin-top:auto}.anna-playbooks button{margin-top:22px}.anna-plan-preview{padding:20px;background:color-mix(in srgb,var(--cf-text) 2%,transparent);border:1px solid var(--line2);border-radius:8px}.anna-plan-preview ol{font-size:14px;color:var(--ink3);line-height:2;padding-left:20px}.anna-goal-form h2{font-size:1.4rem}.anna-context-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;align-items:start}.anna-context-grid>.crm-panel>.crm-field{margin:20px 0}.anna-brief h2{line-height:1.5}.anna-brief-row{display:flex;justify-content:space-between;gap:20px;text-align:left;width:100%;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line2);padding:18px 0;font-size:14px;line-height:1.5}.anna-brief-row span{font-size:12px;color:var(--ink3)}.anna-brief details{padding-top:24px;font-size:14px;color:var(--ink3)}.anna-readiness>div{display:flex;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line2)}.anna-readiness>div>span:nth-child(2){flex:1}.anna-readiness strong{font-size:16px;font-weight:450}.anna-readiness p{font-size:14px;margin:8px 0;color:var(--ink3)}.anna-readiness-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--cf-surface)}.anna-readiness-dot[data-ready=true]{background:var(--cf-surface);box-shadow:none}.anna-readiness>button{margin-top:24px}.anna-batch-row{padding:14px 0;border-top:1px solid var(--line2);font-size:14px;line-height:1.5}.anna-batch>button{margin-top:20px}.anna-working{color:var(--anna-green);padding:12px 16px;background:color-mix(in srgb,var(--cf-text) 3%,transparent);border:1px solid var(--anna-edge);border-radius:8px}
@media(max-width:1100px){.anna-run-grid{grid-template-columns:minmax(0,1fr)}.anna-run-list{grid-template-columns:repeat(2,minmax(0,1fr))}.anna-context-grid{grid-template-columns:minmax(0,1fr)}.anna-stats>div{padding:18px}.anna-tabs{gap:16px}.anna-run-list>.anna-empty{grid-column:1/-1}}
@media(max-width:760px){.anna-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.anna-stats>div{border-bottom:1px solid var(--line2)}.anna-stats>div:nth-child(2n){border-right:0}.anna-stats>div:nth-child(n+3){border-bottom:0}.anna-run-list,.anna-playbooks{grid-template-columns:minmax(0,1fr)}.anna-top-actions{gap:8px}.anna-owner-state{width:100%;margin-bottom:10px}.anna-tabs{gap:18px}.anna-inspector{padding:20px}.anna-readiness>div{gap:10px;align-items:start;flex-wrap:wrap}.anna-readiness>div>.crm-badge{margin-left:17px}.anna-brief-row{flex-direction:column;gap:7px}.anna-goal-form .crm-form-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.anna-run-card,.anna-progress>span{transition:none}}

.anna-impact-value{display:block;color:var(--ink);font-size:1.25rem;font-weight:450;margin-top:10px}.anna-plan-preview>p{font-size:13px;line-height:1.6;color:var(--ink3)}

.backend-live-connect{border-color:color-mix(in srgb,var(--cf-border) 22%,transparent);color:var(--cf-text);cursor:pointer}.backend-alert{padding:16px;border:1px solid color-mix(in srgb,var(--cf-border) 33%,transparent);background:color-mix(in srgb,var(--cf-text) 4%,transparent);border-radius:16px;color:var(--cf-focus);line-height:1.6;overflow-wrap:anywhere}.backend-alert p{margin:5px 0}.backend-ceiling-refusal{padding:16px;border:1px solid color-mix(in srgb,var(--cf-border) 33%,transparent);background:color-mix(in srgb,var(--cf-text) 4%,transparent);border-radius:16px;color:var(--cf-text);line-height:1.6;overflow-wrap:anywhere}.backend-loading{font-size:13px;color:var(--cf-text);line-height:1.6}.backend-search{display:flex;gap:10px;margin:20px 0}.backend-search label{flex:1}.backend-search input{width:100%;height:46px;border:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);background:color-mix(in srgb,var(--cf-text) 2%,transparent);border-radius:14px;padding:0 16px;color:inherit;font:inherit}.backend-record-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.backend-record-layout:has(.backend-inspector){grid-template-columns:minmax(0,1fr) minmax(280px,.65fr)}.backend-list{min-width:0}.backend-row{border:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);border-radius:18px;margin-bottom:10px;box-shadow:none;background:var(--cf-surface)}.backend-row>button:first-child{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;border:0;background:transparent;color:inherit;padding:20px;cursor:pointer}.backend-row>button[aria-pressed=true]{background:color-mix(in srgb,var(--cf-text) 5%,transparent);border-radius:18px}.backend-row strong,.backend-row small,.backend-row time{display:block}.backend-row strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.backend-row small{font-size:13px;line-height:1.55;color:var(--cf-muted);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.backend-row time{font-size:12px;color:var(--cf-muted);margin-top:9px}.backend-row-end{display:flex;align-items:center;gap:14px;flex-shrink:0}.backend-row-end i{font-style:normal;color:var(--cf-muted)}.backend-task{margin:0 20px 15px}.backend-inspector{align-self:start;position:sticky;top:20px;max-height:75vh;overflow:auto}.backend-inspector h2{overflow-wrap:anywhere}.backend-inspector dl,.backend-confirm dl{font-size:14px;line-height:1.6}.backend-inspector dt,.backend-confirm dt{text-transform:capitalize;color:var(--cf-muted);margin-top:15px}.backend-inspector dd,.backend-confirm dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.backend-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0;color:var(--cf-muted);font-size:13px}.backend-editor{margin-top:24px}.backend-editor .crm-actions{margin-top:20px}.backend-empty{text-align:center;padding:48px 24px}.backend-empty p{color:var(--cf-muted);max-width:420px;margin:12px auto}.backend-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.backend-tool-grid>button{color:inherit;position:relative;text-align:left;min-height:170px;cursor:pointer;margin:0;transition:transform 120ms,border-color 120ms}.backend-tool-grid>button:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cf-border) 40%,transparent)}.backend-tool-grid strong{display:block;font-size:18px;margin:14px 0 6px}.backend-tool-grid p{color:var(--cf-muted);font-size:14px;line-height:1.5;margin:0;max-width:90%}.backend-tool-spark{color:var(--cf-text)}.backend-tool-arrow{position:absolute;right:22px;top:20px;color:var(--cf-muted)}.backend-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 0}.backend-mode-grid button{border:1px solid color-mix(in srgb,var(--cf-border) 15%,transparent);padding:20px;background:color-mix(in srgb,var(--cf-text) 1%,transparent);border-radius:18px;text-align:left;color:inherit;cursor:pointer}.backend-mode-grid button[aria-pressed=true]{background:var(--cf-surface);border-color:color-mix(in srgb,var(--cf-border) 51%,transparent);box-shadow:none}.backend-mode-grid strong,.backend-mode-grid span{display:block}.backend-mode-grid span{font-size:13px;color:var(--cf-muted);line-height:1.6;margin-top:8px}.backend-settings>.crm-panel{margin-top:20px}.backend-modal-backdrop{position:fixed;inset:0;z-index:920;background:color-mix(in srgb,var(--cf-canvas) 73%,transparent);backdrop-filter:none}.backend-modal{position:fixed;z-index:921;top:50%;left:50%;transform:translate(-50%,-50%);width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:30px;background:var(--cf-surface);border:1px solid color-mix(in srgb,var(--cf-border) 44%,transparent);box-shadow:none;border-radius:28px}.backend-modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.backend-modal h2{font-size:34px;letter-spacing:-1.2px;line-height:1.12;margin:12px 0 20px}.backend-modal p{font-size:14px;line-height:1.65;color:var(--cf-muted)}.backend-modal .crm-field{margin:16px 0}.backend-modal form>.primary-button{width:100%;margin-top:8px;min-height:48px}.backend-modal>.text-button{display:block;margin-top:24px;font-size:13px}.backend-tenant-list{display:grid;gap:12px}.backend-tenant-list button{white-space:normal;justify-content:space-between;line-height:1.5;text-align:left;min-height:50px}.backend-checkbox{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;margin:22px 0}.backend-checkbox input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:#d3e4f6}.backend-confirm .crm-actions{flex-wrap:wrap}.backend-approvals{max-width:620px;width:100%;margin:32px auto;padding:0 24px;display:flex;flex-direction:column;gap:18px}.backend-approvals>header{display:flex;align-items:center;gap:14px}.backend-approvals>header>div{flex:1}.backend-approvals h1{font-size:32px;line-height:1.1;letter-spacing:-1px;margin:9px 0}.backend-position{font-variant-numeric:tabular-nums;color:var(--cf-text);font-size:16px;white-space:nowrap}.backend-approvals .backend-approval-card{position:relative;inset:auto;transform:none;min-height:420px;border-radius:30px;padding:28px;background:var(--cf-surface);box-shadow:none;isolation:isolate;touch-action:pan-y;display:flex;flex-direction:column;gap:20px}.backend-card-top{display:flex;align-items:center;justify-content:space-between}.backend-approval-card h2{font-size:27px;letter-spacing:-.7px;line-height:1.17;overflow-wrap:anywhere;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.backend-approval-facts{display:grid;gap:13px;overflow:hidden;min-height:0;max-height:170px;mask-image:linear-gradient(#000 85%,transparent)}.backend-approval-facts>div{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.backend-approval-facts span{font-size:12px;text-transform:capitalize;color:var(--cf-muted);flex-shrink:0}.backend-approval-facts strong{font-size:14px;font-weight:500;text-align:right;overflow-wrap:anywhere;min-width:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.backend-recommendation{display:flex;gap:16px;align-items:center;padding:16px;background:color-mix(in srgb,var(--cf-text) 2%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 26%,transparent);border-radius:20px;margin-top:auto;box-shadow:none}.backend-recommendation small{display:block;font-size:12px;color:var(--cf-muted);margin-bottom:4px}.backend-recommendation strong{font-size:15px;font-weight:500}.backend-card-foot{font-size:12px;color:var(--cf-muted);line-height:1.5}.backend-approval-actions{display:flex;gap:14px}.backend-approval-actions>button{flex:1;min-height:56px;border-radius:999px;font-size:16px;cursor:pointer}.backend-approvals>footer{display:flex;justify-content:center;align-items:center;gap:20px;font-size:12px;color:var(--cf-muted)}.backend-clear{position:relative!important;inset:auto!important;transform:none!important;min-height:350px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:28px;padding:30px}.backend-clear p{color:var(--cf-muted);font-size:14px}.backend-clear .secondary-button{margin-top:20px}.backend-typing{padding:8px 24px;color:var(--cf-text);font-size:13px}.backend-typing>.am{margin-right:10px;vertical-align:-4px}.backend-typing::before{content:'';margin-right:0;animation:backend-breathe 2s ease-in-out infinite}@keyframes backend-breathe{50%{opacity:.35}}
@media(max-width:1100px){.backend-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backend-record-layout:has(.backend-inspector){grid-template-columns:minmax(0,1fr)}.backend-inspector{position:static;max-height:none}}
.mobile-app .backend-record-layout{display:flex;flex-direction:column}.mobile-app .backend-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-app .backend-tool-grid>button{min-height:150px;padding:17px}.mobile-app .backend-tool-grid strong{font-size:16px}.mobile-app .backend-tool-grid p{font-size:12px;max-width:100%}.mobile-app .backend-tool-arrow{right:16px;top:16px}.mobile-app .backend-mode-grid{grid-template-columns:1fr}.mobile-app .backend-row>button:first-child{padding:16px;gap:10px}.mobile-app .backend-row-end{flex-direction:column;align-items:flex-end;gap:8px}.mobile-app .backend-row strong{font-size:15px}.mobile-app .backend-records .work-heading{flex-wrap:wrap;gap:12px}.mobile-app .backend-records .work-heading .crm-actions{flex-wrap:wrap}.mobile-app .backend-records .work-heading button{font-size:12px;min-height:40px}.mobile-app .backend-approvals{height:100%;min-height:0;margin:0;padding:10px 17px 0;gap:12px;overflow:hidden}.mobile-app .screen-body:has(.backend-approvals){overflow:hidden;height:100%;min-height:0;padding:0}.mobile-app .backend-approvals>header{flex:none}.mobile-app .backend-approvals>header .eyebrow{font-size:9px;letter-spacing:1.4px}.mobile-app .backend-approvals h1{font-size:25px;margin:5px 0}.mobile-app .backend-approvals .backend-approval-card{flex:1;min-height:0;padding:22px;gap:14px;overflow:hidden}.mobile-app .backend-approval-card h2{font-size:25px;-webkit-line-clamp:3;flex-shrink:0}.mobile-app .backend-card-top{flex-shrink:0}.mobile-app .backend-card-top .crm-badge{font-size:10px}.mobile-app .backend-approval-facts{max-height:none;flex:1}.mobile-app .backend-recommendation{padding:12px;flex-shrink:0;gap:10px}.mobile-app .backend-recommendation strong{font-size:13px}.mobile-app .backend-card-foot{font-size:10px}.mobile-app .backend-approval-actions>button{min-height:48px;font-size:14px}.mobile-app .backend-approvals>footer{height:30px;flex:none;gap:20px}.mobile-app .backend-approvals>footer .icon-button{height:30px;min-height:30px}.mobile-app .backend-approval-actions{flex:none}.mobile-app .backend-clear{flex:1;min-height:0}.mobile-app .backend-modal{position:fixed}.mobile-app .backend-pagination{font-size:11px}.mobile-app .backend-pagination button{font-size:12px;padding:10px}.mobile-app .backend-records .backend-editor{padding:18px}.mobile-app .backend-settings h1{font-size:28px}.mobile-app .backend-settings .crm-control-row{gap:12px}.mobile-app .backend-settings .crm-control-row>div{min-width:0}.mobile-app .backend-settings .crm-control-row small{overflow-wrap:anywhere}
@media(max-height:740px){.mobile-app .backend-approval-card h2{font-size:21px;-webkit-line-clamp:2}.mobile-app .backend-approval-card .backend-card-foot{display:none}.mobile-app .backend-approvals .backend-approval-card{padding:17px;gap:11px}.mobile-app .backend-recommendation{padding:9px}.mobile-app .backend-approvals .backend-loading{display:none}}
@media(prefers-reduced-motion:reduce){.backend-typing::before{animation:none}.backend-tool-grid>button{transition:none}}

button.backend-live-connect{background:color-mix(in srgb,var(--cf-text) 3%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);border-radius:999px;padding:8px 12px;font:inherit;font-size:12px;white-space:nowrap;line-height:1.2;min-height:34px}.sidebar-bottom button.backend-live-connect{width:100%;margin-top:12px}.backend-boot{position:fixed;inset:0;z-index:925;background:var(--cf-canvas);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cf-text);font:14px inherit}.backend-boot .presence-spark{font-size:38px}.app-shell[data-restoring=true] .workspace-main,.app-shell[data-restoring=true] .sidebar,.app-shell[data-restoring=true] .phone-content,.app-shell[data-restoring=true] .phone-nav{visibility:hidden}

.backend-notice{position:fixed;z-index:950;bottom:30px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 40px);padding:14px 20px;border:1px solid color-mix(in srgb,var(--cf-border) 46%,transparent);border-radius:18px;background:color-mix(in srgb,var(--cf-surface) 93%,transparent);box-shadow:none;color:var(--cf-text);font-size:14px;line-height:1.5;pointer-events:none}.mobile-app .backend-notice{bottom:170px;width:max-content;max-width:calc(100vw - 40px)}.phone-header>div{min-width:0}.phone-header small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}

.desktop-install-guide header{display:flex;justify-content:space-between;align-items:center}.desktop-install-guide p{line-height:1.6}.desktop-install-guide .primary-button{display:block;margin-top:22px}.desktop-install-note{color:var(--ink3);font-size:.875rem}.desktop-install-button{white-space:nowrap}@media(max-width:900px){.desktop-install-button{display:none}}

.activity-page{--flow-ink:var(--ink,#f5f6fa);--flow-muted:var(--ink3,#a0a6b4);padding:32px 34px 70px;max-width:1560px;margin:auto;color:var(--flow-ink)}.activity-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.activity-eyebrow{display:flex;gap:9px;align-items:center;font:11px 'Geist Mono',monospace;letter-spacing:.16em;color:var(--flow-muted)}.activity-heading h1{font-size:38px;letter-spacing:-.055em;font-weight:500;line-height:1.2;margin:10px 0}.activity-heading h1>span{color:var(--cf-text)}.activity-heading p{font-size:14px;color:var(--flow-muted);margin:0;line-height:1.5}.activity-header-actions{display:flex;align-items:center;gap:10px}.activity-follow{display:flex;gap:8px;align-items:center;min-height:42px;border:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 15%,transparent));background:var(--card,var(--cf-surface));border-radius:24px;color:var(--flow-ink);padding:0 16px;font-size:13px;cursor:pointer}.activity-follow svg,.activity-refresh svg,.activity-stream-controls svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.activity-status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--cf-surface);flex:none}.activity-status-dot[data-active=true]{background:var(--cf-surface);box-shadow:none}.activity-page[data-motion=true] .activity-status-dot[data-active=true]{animation:activity-breathe 2.4s ease-in-out infinite}.activity-work-grid{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:20px;align-items:start}.activity-map-card,.activity-overview,.activity-detail,.activity-stream{border:1px solid color-mix(in srgb,var(--cf-border) 22%,transparent);border-radius:26px;box-shadow:none;background:var(--cf-surface);overflow:hidden}.activity-map-card{position:relative}.activity-map-card:before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:var(--cf-surface)}.activity-map-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:21px 24px 0;color:var(--flow-muted);font-size:12px}.activity-map-top>span{display:flex;gap:8px;align-items:center}.activity-map-top small{font:10px 'Geist Mono',monospace;font-variant-numeric:tabular-nums}.activity-circuit{position:relative;height:420px;margin:4px 10px 0;background-image:var(--cf-surface);background-size:17px 17px;border-radius:24px;isolation:isolate}.activity-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.activity-wires path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.activity-wire-base{stroke:color-mix(in srgb,var(--cf-muted) 16%,transparent);stroke-width:2.4}.activity-wire-color{stroke:var(--flow-color);stroke-width:2.6;opacity:.21;transition:opacity 120ms,stroke-width 120ms}.activity-wire-halo{stroke:var(--flow-color);stroke-width:10;filter:blur(6px);opacity:0;transition:opacity 120ms}.activity-wires g[data-state=recorded] .activity-wire-color{opacity:.42}.activity-wires g[data-state=running] .activity-wire-color,.activity-wires g[data-state=recent] .activity-wire-color,.activity-wires g[data-selected=true] .activity-wire-color{opacity:.95;stroke-width:3.2}.activity-wires g[data-state=running] .activity-wire-halo,.activity-wires g[data-state=recent] .activity-wire-halo,.activity-wires g[data-selected=true] .activity-wire-halo{opacity:.35}.activity-wires g[data-state=waiting] .activity-wire-color{opacity:.65}.activity-wires g[data-state=attention] .activity-wire-color{stroke:#f1978d;opacity:.65}.activity-wire-comet{stroke:var(--cf-muted);stroke-width:3.3;stroke-dasharray:2.5 97.5;stroke-dashoffset:100;filter:drop-shadow(0 0 5px var(--flow-color));animation:activity-travel 2.1s linear infinite}.activity-wires g:nth-child(3n) .activity-wire-comet{animation-duration:2.6s}.activity-wires g:nth-child(3n+1) .activity-wire-comet{animation-duration:1.8s}.activity-node{position:absolute;min-height:45px;min-width:110px;max-width:135px;background:transparent;border:0;color:var(--flow-ink);text-align:left;padding:6px 8px 8px 0;transform:translate(0,-100%);cursor:pointer;border-radius:8px;transition:background 120ms,color 120ms;z-index:2}.activity-node[data-side=right]{transform:translate(-100%,-100%);text-align:right;padding:6px 0 8px 8px}.activity-node-name{display:block;font-size:14px;font-weight:500;letter-spacing:-.015em;line-height:1.2}.activity-node small{display:block;font:10px 'Geist Mono',monospace;line-height:1.5;margin-top:3px;color:var(--flow-muted)}.activity-node-pin{position:absolute;bottom:-4px;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--flow-color);box-shadow:none;transition:box-shadow 120ms,transform 120ms}.activity-node[data-side=right] .activity-node-pin{right:-4px;left:auto}.activity-node[data-state=idle] .activity-node-pin{opacity:.45}.activity-node[data-state=running] .activity-node-pin,.activity-node[data-state=recent] .activity-node-pin{box-shadow:none}.activity-node[data-state=attention] .activity-node-pin{background:var(--cf-surface)}.activity-node:hover,.activity-node[aria-pressed=true]{color:var(--flow-color);background:color-mix(in srgb,var(--flow-color) 7%,transparent)}.activity-node:focus-visible{outline:2px solid var(--flow-color);outline-offset:5px}.activity-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;min-height:110px;padding:12px 6px;background:var(--cf-surface);color:var(--cf-text);border:1px solid color-mix(in srgb,var(--cf-border) 46%,transparent);border-radius:18px;box-shadow:none;z-index:3;cursor:pointer}.activity-chip-rim{position:absolute;inset:-1px;border-radius:inherit;background:var(--cf-surface);opacity:.3;filter:blur(11px);pointer-events:none}.activity-hub-spark{position:relative;font-size:26px;line-height:1;color:var(--cf-text);text-shadow:none}.activity-hub strong{position:relative;font:13px 'Geist Mono',monospace;letter-spacing:.18em;padding-left:.18em;margin-top:9px}.activity-hub small{position:relative;font-size:10px;white-space:nowrap;color:var(--cf-muted);margin-top:7px}.activity-hub>i{position:absolute;bottom:-4px;width:16px;height:3px;border-radius:5px;background:var(--cf-surface);box-shadow:none}.activity-hub[data-state=running]>i{background:var(--cf-surface);box-shadow:none}.activity-page[data-motion=true] .activity-hub[data-state=running] .activity-chip-rim{animation:activity-core 4s ease-in-out infinite}.activity-page[data-motion=true] .activity-node[data-state=waiting] .activity-node-pin{animation:activity-breathe 3s ease-in-out infinite}.activity-map-loading{position:absolute;inset:0;display:grid;place-items:end center;padding-bottom:20px;background:color-mix(in srgb,var(--cf-surface) 22%,transparent);pointer-events:none;color:var(--cf-text);font-size:13px}.activity-map-legend{display:flex;gap:16px;justify-content:center;padding:8px 14px 22px;color:var(--flow-muted);font-size:10px}.activity-map-legend>span{display:flex;gap:6px;align-items:center;white-space:nowrap}.activity-map-legend i{width:5px;height:5px;display:block;border-radius:50%}.legend-running{background:var(--cf-surface);box-shadow:none}.legend-waiting{background:var(--cf-surface)}.legend-complete{background:var(--cf-surface)}.legend-error{background:var(--cf-surface)}.activity-latest{position:relative;display:flex;align-items:center;gap:12px;width:100%;border:0;border-top:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 9%,transparent));background:var(--cf-surface);color:var(--flow-ink);text-align:left;padding:16px 22px;font-size:12px;cursor:pointer;min-height:54px}.activity-latest>span{color:var(--cf-focus);font-size:19px}.activity-latest strong{font-weight:400;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1}.activity-latest time{font:10px 'Geist Mono',monospace;color:var(--flow-muted);white-space:nowrap}.activity-latest b{font-size:11px;font-weight:400;white-space:nowrap;color:var(--cf-text)}.activity-overview,.activity-detail{padding:24px}.activity-overview h2{font-size:28px;letter-spacing:-.045em;line-height:1.2;font-weight:400;margin:16px 0 26px}.activity-metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}.activity-metrics strong{font:32px 'Geist',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.06em;display:block;margin-bottom:4px}.activity-metrics span{font-size:12px;color:var(--flow-muted)}.activity-overview p{font-size:14px;color:var(--flow-muted);line-height:1.6;border-top:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 13%,transparent));padding-top:20px;margin-top:24px}.activity-overview>small{display:block;font-size:11px;line-height:1.7;color:var(--flow-muted)}.activity-detail header{display:flex;justify-content:space-between;align-items:center;margin:-4px -6px 18px 0}.activity-detail h2{font-size:23px;letter-spacing:-.04em;font-weight:500;line-height:1.3;margin:16px 0 10px;overflow-wrap:anywhere}.activity-detail>p{font-size:14px;color:var(--flow-muted);line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.activity-detail dl{border-top:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 13%,transparent));padding-top:10px;margin:20px 0}.activity-detail dl>div{display:grid;grid-template-columns:75px 1fr;gap:16px;font-size:12px;line-height:1.6;padding:7px 0}.activity-detail dt{color:var(--flow-muted)}.activity-detail dd{margin:0;overflow-wrap:anywhere}.activity-detail-actions{display:grid;gap:8px}.activity-detail-actions button{font-size:12px;min-height:42px}.activity-stream{margin-top:22px;padding:25px 24px 12px}.activity-stream>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.activity-stream h2{font-size:22px;letter-spacing:-.035em;font-weight:450;margin:7px 0 0}.activity-stream-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px}.activity-stream-controls label{display:flex;align-items:center;gap:10px;width:min(460px,100%);padding:0 14px;border:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 13%,transparent));border-radius:12px;color:var(--flow-muted)}.activity-stream-controls input{height:42px;width:100%;background:transparent;border:0;color:var(--flow-ink);font:13px inherit;outline:0}.activity-stream-controls label:focus-within{border-color:var(--cf-border)}.activity-event{width:100%;display:grid;grid-template-columns:65px 9px minmax(0,1fr) 80px 110px 16px;gap:15px;align-items:center;text-align:left;min-height:83px;padding:17px 10px;border:0;border-top:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 7%,transparent));background:transparent;color:var(--flow-ink);cursor:pointer;border-radius:8px;transition:background 120ms}.activity-event:hover,.activity-event[aria-pressed=true]{background:color-mix(in srgb,var(--event-color) 7%,transparent)}.activity-event>time{font:11px 'Geist Mono',monospace;color:var(--flow-muted);white-space:nowrap}.activity-event-dot{width:6px;height:6px;border-radius:50%;background:var(--event-color);box-shadow:none}.activity-event-copy{min-width:0}.activity-event-copy strong{display:block;font-size:14px;font-weight:450;line-height:1.45;overflow-wrap:anywhere}.activity-event-copy small{display:block;font-size:12px;line-height:1.6;color:var(--flow-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.activity-event-channel{font-size:11px;color:var(--flow-muted)}.activity-event-state{display:inline-flex;align-items:center;gap:6px;font-size:10px;line-height:1.4;color:var(--cf-muted);white-space:nowrap}.activity-event-state:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.activity-event-state[data-state=running]{color:var(--cf-positive)}.activity-event-state[data-state=waiting]{color:var(--cf-warning)}.activity-event-state[data-state=error],.activity-event-state[data-state=blocked]{color:var(--cf-negative)}.activity-event>b{font-weight:400;color:var(--flow-muted)}.activity-page[data-motion=true] .activity-event[data-recent=true]{animation:activity-arrival 1.4s ease-out both}.activity-empty{padding:40px 18px;text-align:center}.activity-empty>span{font-size:28px;color:var(--cf-text)}.activity-empty h3{font-size:20px;font-weight:400;margin:16px 0 6px}.activity-empty p{font-size:14px;line-height:1.6;color:var(--flow-muted)}.activity-load{display:block;margin:20px auto 10px;padding:12px 20px;border:1px solid var(--line2,color-mix(in srgb,var(--cf-border) 15%,transparent));border-radius:30px;background:transparent;color:var(--flow-muted);font-size:12px;cursor:pointer}.activity-error{display:flex;gap:12px;align-items:center;padding:16px 20px;border:1px solid color-mix(in srgb,var(--cf-border) 31%,transparent);border-radius:16px;margin:0 0 18px;color:var(--cf-warning);background:color-mix(in srgb,var(--cf-text) 4%,transparent);font-size:13px}.activity-error span{flex:1}.activity-error button{background:none;border:0;color:inherit;white-space:nowrap;cursor:pointer}.activity-archive-back{margin:22px 30px 0;min-height:40px}.activity-page button:focus-visible{outline:2px solid var(--cf-border);outline-offset:4px}.activity-page[data-motion=false] *, .activity-page[data-motion=false] *:before,.activity-page[data-motion=false] *:after{animation:none!important}.activity-page[data-motion=false] .activity-wire-comet{display:none}
@keyframes activity-travel{to{stroke-dashoffset:0}}@keyframes activity-core{0%,100%{opacity:.3}50%{opacity:.7;filter:blur(17px)}}@keyframes activity-breathe{0%,100%{opacity:.6}50%{opacity:1}}@keyframes activity-arrival{from{background:color-mix(in srgb,var(--event-color) 19%,transparent)}to{background:transparent}}
@media(min-width:1400px){.activity-circuit{height:456px}.activity-work-grid{grid-template-columns:minmax(0,1fr) 350px}.activity-side{position:sticky;top:24px}}
@media(max-width:1100px){.activity-work-grid{grid-template-columns:minmax(0,1fr)}.activity-overview{display:none}.activity-detail{margin-top:0}.activity-circuit{height:390px}.activity-heading h1{font-size:32px}}
.mobile-app .activity-page{padding:16px 14px 28px}.mobile-app .activity-heading{align-items:start;margin-bottom:18px;gap:8px}.mobile-app .activity-heading h1{font-size:29px;margin:9px 0 7px}.mobile-app .activity-heading p{font-size:12px;max-width:235px;line-height:1.55}.mobile-app .activity-eyebrow{font-size:9px;letter-spacing:.12em}.mobile-app .activity-header-actions{gap:4px;padding-top:26px}.mobile-app .activity-follow{width:34px;min-height:34px;padding:8px;overflow:hidden;white-space:nowrap;font-size:0;gap:0}.mobile-app .activity-follow svg{width:16px;flex:none}.mobile-app .activity-refresh{width:30px;min-width:30px;height:34px}.mobile-app .activity-work-grid{display:flex;flex-direction:column;gap:14px}.mobile-app .activity-map-card,.mobile-app .activity-side{width:100%}.mobile-app .activity-map-card,.mobile-app .activity-stream,.mobile-app .activity-detail{border-radius:23px}.mobile-app .activity-map-top{padding:17px 16px 0;font-size:10px;gap:8px}.mobile-app .activity-map-top small{font-size:9px}.mobile-app .activity-circuit{height:350px;margin:7px 0 0}.mobile-app .activity-node{min-width:92px;max-width:104px;min-height:44px}.mobile-app .activity-node-name{font-size:13px}.mobile-app .activity-node small{font-size:9px}.mobile-app .activity-hub{width:78px;min-height:96px;border-radius:15px;padding:10px 3px}.mobile-app .activity-hub-spark{font-size:23px}.mobile-app .activity-hub strong{font-size:11px}.mobile-app .activity-hub small{font-size:8px}.mobile-app .activity-map-legend{font-size:9px;gap:12px;padding:3px 10px 20px}.mobile-app .activity-latest{gap:8px;padding:13px 15px;min-height:48px;font-size:11px}.mobile-app .activity-latest time{font-size:9px}.mobile-app .activity-latest b{font-size:10px}.mobile-app .activity-overview{display:none}.mobile-app .activity-detail{padding:20px}.mobile-app .activity-stream{padding:20px 15px 10px;margin-top:16px}.mobile-app .activity-stream .eyebrow{font-size:9px;letter-spacing:.12em}.mobile-app .activity-stream h2{font-size:22px}.mobile-app .activity-stream>header .text-button{font-size:10px;max-width:100px;text-align:right}.mobile-app .activity-stream-controls label{padding:0 10px}.mobile-app .activity-stream-controls input{font-size:12px}.mobile-app .activity-stream-controls>.text-button{font-size:11px;white-space:nowrap}.mobile-app .activity-event{grid-template-columns:7px minmax(0,1fr) auto;gap:8px 11px;min-height:94px;padding:15px 1px}.mobile-app .activity-event>time{grid-column:2;grid-row:2;font-size:9px}.mobile-app .activity-event-dot{grid-column:1;grid-row:1;align-self:start;margin-top:7px}.mobile-app .activity-event-copy{grid-column:2;grid-row:1}.mobile-app .activity-event-copy strong{font-size:13px}.mobile-app .activity-event-copy small{font-size:11px;max-width:100%;line-height:1.5}.mobile-app .activity-event-channel{display:none}.mobile-app .activity-event-state{grid-column:3;grid-row:2;justify-self:end;font-size:9px}.mobile-app .activity-event>b{grid-column:3;grid-row:1;font-size:13px}.mobile-app .activity-error{font-size:12px;flex-wrap:wrap;padding:14px}.mobile-app .activity-error span{flex-basis:100%}.mobile-app .activity-archive-back{margin:12px 16px 0}.mobile-app .activity-detail-actions{grid-template-columns:1fr 1fr}.mobile-app .activity-detail-actions button{font-size:11px}
@media(max-width:380px){.mobile-app .activity-page{padding-left:11px;padding-right:11px}.mobile-app .activity-circuit{height:335px}.mobile-app .activity-node{min-width:83px}.mobile-app .activity-node-name{font-size:12px}.mobile-app .activity-hub{width:72px;min-height:90px}.mobile-app .activity-map-legend{gap:9px}.mobile-app .activity-heading p{max-width:215px}.mobile-app .activity-map-top small{max-width:120px;overflow:hidden;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.activity-page *,.activity-page *:before,.activity-page *:after{animation:none!important;scroll-behavior:auto!important}.activity-wire-comet{display:none}}

/* Keep inspection separate from the record destination. */
.activity-event-entry{display:flex;align-items:stretch;gap:8px}.activity-event-entry .activity-event{flex:1;min-width:0}.activity-inspect{flex-shrink:0;padding:8px}.record-destination:focus{outline:2px solid var(--cf-border);outline-offset:5px;box-shadow:none}
@media(max-width:620px){.activity-event-entry{display:block}.activity-event-entry .activity-event{width:100%}.activity-inspect{margin:0 0 12px 36px}}

.activity-history{margin-top:22px;border-top:1px solid var(--line,color-mix(in srgb,var(--cf-border) 12%,transparent));padding-top:16px}.activity-history>header h3{margin:2px 0 10px;font-size:16px}
.activity-history-card{padding:12px 0;border-bottom:1px solid var(--line,color-mix(in srgb,var(--cf-border) 8%,transparent))}.activity-history-card>header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.activity-history-card>header time{margin-left:auto;color:var(--flow-muted)}
.activity-history-card dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0}.activity-history-card dt{color:var(--flow-muted)}.activity-history-card dd{margin:0}
.activity-history-controls{margin:8px 0 0}.activity-history-controls small{color:var(--flow-muted);margin-left:8px}
.activity-history-changes{margin:6px 0;padding-left:18px}.activity-history-warning{color:var(--flow-warn,var(--cf-warning))}.activity-history-note{color:var(--flow-muted)}

.growth-workspace{max-width:1500px;margin:auto;min-width:0}.growth-workspace h1{display:flex;align-items:center;gap:16px}.growth-prism-dot{display:inline-block;width:15px;height:15px;flex-shrink:0;border-radius:50%;background:var(--cf-surface);box-shadow:none}.growth-source{display:flex;gap:9px;align-items:center;color:var(--cf-muted);font-size:12px;flex-wrap:wrap;margin:16px 0}.growth-source b{margin-left:auto;font-weight:500;border:1px solid color-mix(in srgb,var(--cf-border) 14%,transparent);border-radius:30px;padding:6px 10px}.growth-tabs{display:flex;gap:7px;overflow-x:auto;padding:10px 0 18px}.growth-tabs button{white-space:nowrap;padding:10px 15px;border:1px solid color-mix(in srgb,var(--cf-border) 12%,transparent);border-radius:30px;background:color-mix(in srgb,var(--cf-text) 2%,transparent);color:var(--cf-muted)}.growth-tabs button[aria-pressed=true]{background:var(--cf-surface);color:var(--cf-text);box-shadow:none}.growth-workspace .crm-panel{border:1px solid color-mix(in srgb,var(--cf-border) 23%,transparent);box-shadow:none;background:var(--cf-surface);margin-bottom:18px}.growth-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:4px 0 20px}.growth-filters label{display:grid;gap:7px;font-size:11px;color:var(--cf-muted)}.growth-filters input,.growth-filters select{min-height:40px;background:var(--cf-surface);border:1px solid color-mix(in srgb,var(--cf-border) 14%,transparent);border-radius:9px;color:var(--cf-text);padding:8px;color-scheme:dark}.growth-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.growth-metrics article{display:flex;flex-direction:column;gap:10px}.growth-metrics span{font-size:12px;color:var(--cf-muted)}.growth-metrics strong{font-size:34px;font-weight:500;letter-spacing:-1px}.growth-metrics small,.growth-budget small{color:var(--cf-muted);font-size:11px}.growth-budget{display:flex;align-items:center;justify-content:space-between;gap:18px}.growth-budget h2{font-size:35px!important;margin:8px 0!important}.growth-empty{padding:36px 18px;text-align:center;max-width:560px;margin:0 auto}.growth-empty p{color:var(--cf-muted);line-height:1.65}.growth-table-wrap{overflow-x:auto}.growth-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}.growth-table th,.growth-table td{padding:16px 12px;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 8%,transparent)}.growth-table thead th{font-weight:500;color:var(--cf-muted)}.growth-table tbody th{font-weight:500}.growth-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.growth-plan-grid article{display:flex;flex-direction:column;align-items:start;gap:12px;min-width:0}.growth-plan-grid p{color:var(--cf-muted);line-height:1.6}.growth-note{white-space:pre-wrap;overflow-wrap:anywhere}.growth-plan-grid a{overflow-wrap:anywhere}.growth-workspace a{color:var(--cf-text)}.growth-workspace a.primary-button{color:var(--cf-on-primary)}.growth-csv{margin:22px 0 14px}.growth-csv textarea{font-family:monospace;resize:vertical;font-size:12px!important;min-width:0}.growth-import-preview{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:18px;margin-top:20px;border:1px solid color-mix(in srgb,var(--cf-border) 27%,transparent);border-radius:12px}.growth-link-result{margin-top:22px}.growth-creative{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.growth-creative img{width:100%;border-radius:15px;border:1px solid color-mix(in srgb,var(--cf-border) 15%,transparent)}.growth-creative p{line-height:1.7}.growth-creative a{display:inline-flex;margin:12px 12px 0 0}.growth-workspace button:focus-visible,.growth-workspace a:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}.growth-workspace button:disabled{opacity:.45;cursor:wait}.growth-editor .crm-form-grid{margin:20px 0}.growth-workspace .eyebrow{display:block}
@media(max-width:700px){.growth-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.growth-metrics strong{font-size:27px}.growth-metrics article{padding:16px!important}.growth-budget{align-items:start;flex-direction:column}.growth-plan-grid,.growth-creative{grid-template-columns:1fr}.growth-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.growth-filters input,.growth-filters select{min-width:0;width:100%}.growth-workspace .work-heading h1{font-size:29px}.growth-workspace .crm-panel-title{align-items:start;flex-wrap:wrap;gap:12px}.growth-workspace .work-heading{gap:15px;align-items:start}.growth-source b{margin-left:0}.growth-tabs{margin-right:-8px}.growth-workspace .crm-form-grid{grid-template-columns:1fr}.growth-workspace{padding-bottom:28px}.growth-creative img{max-height:540px;object-fit:contain;background:var(--cf-canvas)}}

.growth-filter-panel{margin-bottom:18px}.growth-filter-panel summary{font-size:12px;color:var(--cf-muted);cursor:pointer;padding:8px 0}.growth-filter-panel[open] .growth-filters{margin-top:12px}.growth-workspace .work-heading>.crm-actions{flex-shrink:0}
@media(max-width:700px){.growth-workspace .work-heading{display:block}.growth-workspace .work-heading>.crm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.growth-workspace .work-heading h1{font-size:29px!important;line-height:1.1}.growth-workspace .work-heading .eyebrow{font-size:10px;margin-top:14px}.growth-source{font-size:11px;margin:14px 0 5px}.growth-source b{padding:4px 7px;font-size:10px}.growth-workspace .work-heading p{font-size:14px}.growth-tabs button{padding:9px 13px;font-size:12px}.growth-workspace .work-heading .secondary-button{padding:8px 14px;min-height:38px;font-size:12px}}

.growth-breakdown{border-top:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);padding:16px 0;font-size:12px}.growth-breakdown summary{cursor:pointer;list-style-position:inside;font-size:14px}.growth-breakdown summary span{float:right;color:var(--cf-text);font-size:12px}.growth-breakdown p,.growth-breakdown small{color:var(--cf-muted);overflow-wrap:anywhere}.growth-breakdown dl{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.growth-breakdown dt{color:var(--cf-muted);font-size:11px}.growth-breakdown dd{margin:6px 0;font-size:18px}@media(max-width:700px){.growth-breakdown dl{grid-template-columns:1fr 1fr}.growth-breakdown summary span{float:none;display:block;margin:8px 0}}

/* Prism instruments: one readable visual language for quantitative charts. */
.prism-chart,.chart-comparison{--chart-color:#a8c8ff;--chart-ink:var(--ink,#eef2fa);--chart-muted:var(--ink3,#aab2c1);position:relative;isolation:isolate;min-width:0;flex:none;border:1px solid color-mix(in srgb,var(--ink) 23%,transparent);border-radius:25px;background:var(--cf-surface);box-shadow:none;overflow:hidden;padding:26px;color:var(--chart-ink)}
.prism-chart:before,.chart-comparison:before{content:'';position:absolute;z-index:-1;left:10%;right:10%;top:0;height:1px;background:var(--cf-surface);box-shadow:none;pointer-events:none}
.prism-chart-header{display:flex;justify-content:space-between;align-items:center;gap:18px}.prism-chart-header h2,.chart-comparison h2{margin:9px 0 0;font-size:21px;letter-spacing:-.035em;font-weight:500;line-height:1.25}.prism-chart-source{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.035em;color:var(--chart-muted);line-height:1.4}.prism-chart-source i{width:5px;height:5px;border:1px solid currentColor;border-radius:50%;flex:none}.prism-chart-switch{display:flex;gap:2px;padding:4px;background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--line2);border-radius:13px;flex:none}.prism-chart-switch button{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--chart-muted);font:inherit;font-size:12px;cursor:pointer;transition:background 120ms,border-color 120ms}.prism-chart-switch button[aria-pressed=true]{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--chart-ink);border-color:color-mix(in srgb,var(--ink) 16%,transparent);box-shadow:none}.prism-chart-switch svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.prism-chart button:focus-visible,.prism-chart summary:focus-visible{outline:2px solid var(--chart-color);outline-offset:3px}.prism-chart-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:24px 0 13px}.prism-chart-summary>strong{font-size:42px;font-weight:450;line-height:1.1;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.prism-chart-summary>span{font-size:13px;color:var(--chart-muted)}
.prism-chart-plot{position:relative;height:248px;margin:4px 0 0;padding-bottom:24px}.prism-chart-grid{position:absolute;inset:0 8px 24px 0;pointer-events:none}.prism-chart-grid>div{position:absolute;left:0;right:0;display:flex;align-items:center;gap:12px;transform:translateY(-50%)}.prism-chart-grid span{width:42px;text-align:right;font:11px 'Geist Mono',monospace;font-variant-numeric:tabular-nums;color:var(--chart-muted);opacity:.8;flex:none}.prism-chart-grid i{display:block;flex:1;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.prism-chart-grid>div:last-child i{border-top-color:color-mix(in srgb,var(--ink) 17%,transparent)}.prism-chart-canvas{position:absolute;inset:0 8px 24px 56px}.prism-chart-canvas>svg{width:100%;height:100%;overflow:visible;display:block}.prism-chart-line,.prism-chart-bloom{fill:none;stroke:var(--chart-color);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.prism-chart-line{stroke-width:2.8}.prism-chart-bloom{stroke-width:7;filter:blur(5px);opacity:.26}.prism-chart-bar{fill:var(--chart-color);opacity:.45;transition:opacity 120ms;stroke:color-mix(in srgb,var(--chart-color) 80%,var(--cf-muted));stroke-width:1;vector-effect:non-scaling-stroke}.prism-chart-bar[data-selected=true]{opacity:.95;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--chart-color) 23%,transparent))}.prism-chart-dot{position:absolute;width:6px;height:6px;border:1px solid var(--chart-color);background:var(--card);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:box-shadow 120ms}.prism-chart-dot[data-selected=true]{width:8px;height:8px;border:2px solid var(--cf-border);background:var(--chart-color);box-shadow:none}.prism-chart-targets{position:absolute;inset:0}.prism-chart-hit{position:absolute;top:0;bottom:0;border:0;padding:0;background:none;cursor:pointer;border-radius:8px;touch-action:pan-y}.prism-chart-hit:hover{background:var(--cf-surface)}.prism-chart-hit:focus-visible{outline-offset:-2px}.prism-chart-crosshair{position:absolute;left:50%;top:8.3%;bottom:8.3%;border-left:1px dashed color-mix(in srgb,var(--chart-color) 40%,transparent);opacity:0;pointer-events:none}.prism-chart-hit[aria-pressed=true] .prism-chart-crosshair{opacity:1}.prism-chart-axis{position:absolute;left:0;right:0;bottom:-23px;height:22px}.prism-chart-axis>span{position:absolute;top:0;transform:translateX(-50%);max-width:13%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px 'Geist Mono',monospace;color:var(--chart-muted);line-height:1.5}.prism-chart[data-chart=recurring-plans] .prism-chart-axis>span{max-width:32%}
.prism-chart-readout{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;margin-top:16px;padding:12px 15px;border:1px solid color-mix(in srgb,var(--chart-color) 22%,transparent);border-radius:13px;background:var(--cf-surface)}.prism-chart-readout>span{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0;overflow-wrap:anywhere}.prism-chart-readout>span>i{height:6px;width:6px;flex:none;border-radius:50%;background:var(--chart-color);box-shadow:none}.prism-chart-readout>strong{font-size:18px;font-weight:500;letter-spacing:-.025em;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.prism-chart-readout small{font-size:12px;color:var(--chart-muted);font-weight:400}.prism-chart-footer{margin-top:15px}.prism-chart-footer>p{font-size:12px;line-height:1.6;color:var(--chart-muted);margin:0}.prism-chart-footer details{margin-top:10px;border-top:1px solid var(--line2);padding-top:4px}.prism-chart-footer summary{cursor:pointer;font-size:12px;padding:10px 0;color:var(--chart-ink);width:max-content;min-height:36px}.prism-chart-data>div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line2);padding:10px 0;font-size:13px;line-height:1.5}.prism-chart-data strong{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.prism-chart-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:180px}.prism-chart-empty strong{font-size:17px;font-weight:450}.prism-chart-empty p{font-size:13px;color:var(--chart-muted)}.prism-chart-empty-line{width:min(260px,80%);height:1px;margin-bottom:28px;background:var(--cf-surface);box-shadow:none}
.prism-chart[data-motion=true] .prism-chart-area{animation:chart-reveal .8s ease both}.prism-chart[data-motion=true] .prism-chart-line{animation:chart-reveal .8s ease both}.prism-chart[data-motion=true] .prism-chart-bar{animation:chart-reveal .7s ease both}@keyframes chart-reveal{from{opacity:0}to{}}
.chart-comparison .crm-forecast-row{grid-template-columns:minmax(135px,1fr) minmax(80px,1.7fr) minmax(100px,1fr);padding:20px 0;gap:24px;border-top:1px solid var(--line2);margin:0}.chart-comparison .crm-forecast-row:first-of-type{border:0}.chart-comparison .crm-forecast-row strong{font-size:16px;font-weight:500;letter-spacing:-.015em}.chart-comparison .crm-forecast-row small{font-size:12px;line-height:1.5;margin-top:5px}.chart-comparison .crm-track{height:11px;border-radius:4px;background:color-mix(in srgb,var(--ink) 5%,transparent);overflow:visible;box-shadow:none}.chart-comparison .crm-track i{border-radius:4px;background:var(--cf-surface);box-shadow:none;transition:width 120ms ease}.chart-comparison .crm-source{padding:17px 0;border-top:1px solid var(--line2)}.chart-comparison .crm-source>div:first-child{font-size:14px;gap:12px;line-height:1.6;flex-wrap:wrap}.chart-comparison .crm-source strong{font-weight:500}.chart-comparison .crm-source .crm-track{margin-top:10px}.chart-notice{padding:14px;border:1px solid color-mix(in srgb,var(--cf-border) 25%,transparent);border-radius:13px;color:var(--amber-ink);font-size:14px}
/* Smaller existing profiles retain their controls and acquire the same scales/surfaces. */
.chart-mini{position:relative!important;border-bottom:1px solid var(--line2);padding:10px 0 0!important;min-height:84px;background:var(--cf-surface)}.chart-mini>span,.chart-mini sc-for>span{border-radius:4px 4px 1px 1px;background:var(--cf-surface);box-shadow:none}.chart-mini-caption{font-size:12px;line-height:1.5;color:var(--ink3);margin:0}.chart-cost-row{gap:9px!important;padding:10px 0}.chart-cost-row>span{height:10px!important;border-radius:4px}.chart-cost-row>span>span{border-radius:4px}
/* The activity map is an instrument, with motion tied to observed work. */
.activity-page{--flow-muted:var(--ink3);--flow-ink:var(--ink)}.activity-heading h1{font-weight:450;letter-spacing:-.055em}.activity-map-card,.activity-overview,.activity-detail,.activity-stream{border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);box-shadow:none;background:var(--cf-surface)}.activity-map-card{background-image:var(--cf-surface);background-size:auto,18px 18px,auto}.activity-map-top{align-items:start;font-size:13px;padding:22px 24px 0}.activity-map-top small{font-size:12px;text-align:right;line-height:1.5}.activity-map-top>span{line-height:1.5}.activity-wire-base{stroke:color-mix(in srgb,var(--ink) 8%,transparent);stroke-width:3}.activity-wire-color{stroke-width:2.6;opacity:.55}.activity-wires g[data-selected=true] .activity-wire-color,.activity-wires g[data-state=running] .activity-wire-color{stroke-width:3.8}.activity-wire-halo{stroke-width:10;filter:blur(5px)}.activity-wire-comet{stroke-width:3.8;filter:drop-shadow(0 0 4px var(--flow-color))}.activity-node{border-radius:10px;padding:7px 10px 9px 0;max-width:26%;min-width:0;width:26%}.activity-node-name{font-size:15px;font-weight:500}.activity-node small{font-size:12px;letter-spacing:-.015em;line-height:1.6}.activity-node-pin{width:9px;height:9px;bottom:-4.5px}.activity-hub{border-radius:23px;background:var(--cf-surface);width:104px;min-height:122px;border-color:color-mix(in srgb,var(--cf-border) 44%,transparent);box-shadow:none}.activity-hub-spark img{display:block;width:32px;height:32px;filter:drop-shadow(0 0 10px #b5cdf846)}.activity-hub small{font-size:11px}.activity-map-legend{font-size:12px;gap:18px;padding-bottom:22px;flex-wrap:wrap}.activity-map-legend i{height:6px;width:6px}.activity-overview h2{font-size:26px}.activity-metrics span{font-size:13px}.activity-overview>small{font-size:12px}.activity-event-state,.activity-event-channel{font-size:12px}.activity-event{grid-template-columns:68px 9px minmax(0,1fr) 82px 120px 16px}.activity-follow{min-height:40px}.activity-status-dot[data-active=false]{box-shadow:none;animation:none}.activity-page[data-motion=true] .activity-hub[data-state=running] .activity-hub-spark img{animation:chart-core-turn 16s linear infinite}@keyframes chart-core-turn{to{transform:rotateY(360deg)}}
.activity-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 22px;border-top:1px solid var(--line2)}.activity-summary-strip>span{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--flow-muted)}.activity-summary-strip strong{color:var(--flow-ink);font-size:22px;letter-spacing:-.035em;font-weight:450;font-variant-numeric:tabular-nums}.activity-filter-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;font-size:13px;color:var(--flow-muted)}.activity-filter-context .text-button{font-size:13px}.activity-control-note{font-size:12px;line-height:1.6;color:var(--flow-muted);margin:10px 0 0}
@media(min-width:1101px){.activity-summary-strip{display:none}.page-insights .prism-chart{max-width:none}.money-operations>.prism-chart .prism-chart-plot{height:215px}}
.mobile-app .prism-chart{padding:19px 16px;border-radius:22px}.mobile-app .prism-chart-header{gap:8px;align-items:start}.mobile-app .prism-chart-header h2{font-size:21px}.mobile-app .prism-chart-switch{padding:3px;gap:0;border-radius:11px}.mobile-app .prism-chart-switch button{min-height:38px;min-width:38px;padding:0 9px}.mobile-app .prism-chart-switch button>span{display:none}.mobile-app .prism-chart-summary{margin:23px 0 12px;gap:8px}.mobile-app .prism-chart-summary>strong{font-size:37px}.mobile-app .prism-chart-summary>span{font-size:12px}.mobile-app .prism-chart-plot{height:210px}.mobile-app .prism-chart-grid span{width:38px;font-size:10px}.mobile-app .prism-chart-grid>div{gap:8px}.mobile-app .prism-chart-canvas{left:47px;right:0}.mobile-app .prism-chart-grid{right:0}.mobile-app .prism-chart-axis>span{font-size:10px;max-width:14%;letter-spacing:-.03em}.mobile-app .prism-chart-readout{min-height:56px;padding:11px 12px;gap:8px}.mobile-app .prism-chart-readout>span{font-size:13px}.mobile-app .prism-chart-readout>strong{font-size:16px}.mobile-app .prism-chart-readout small{display:block;margin-top:2px;font-size:11px;white-space:normal}.mobile-app .prism-chart-footer>p{font-size:12px}.mobile-app .prism-chart-footer summary{min-height:40px}.mobile-app .chart-comparison{padding:20px 17px}.mobile-app .chart-comparison .crm-forecast-row{grid-template-columns:1fr 1fr;gap:12px;padding:19px 0}.mobile-app .chart-comparison .crm-forecast-row>.crm-track{grid-row:2;grid-column:1/-1}.mobile-app .chart-comparison .crm-forecast-row>span:last-child{grid-column:2;grid-row:1;text-align:right}.mobile-app .chart-comparison .crm-forecast-row strong{font-size:15px}.mobile-app .chart-comparison .crm-source>div:first-child{font-size:13px}.mobile-app .chart-comparison .crm-source>div:first-child>span{font-size:12px}.mobile-app .activity-map-top{padding:17px 16px 0;font-size:12px;flex-wrap:wrap}.mobile-app .activity-map-top small{font-size:11px;max-width:100%;white-space:normal;text-align:left}.mobile-app .activity-circuit{height:380px;margin:10px 0 0}.mobile-app .activity-node{width:26%;min-width:0;max-width:26%;min-height:49px}.mobile-app .activity-node-name{font-size:13px}.mobile-app .activity-node small{font-size:11px}.mobile-app .activity-hub{width:78px;min-height:104px;border-radius:18px}.mobile-app .activity-hub small{font-size:9px}.mobile-app .activity-hub-spark img{width:27px;height:27px}.mobile-app .activity-map-legend{font-size:11px;gap:10px 14px;padding:5px 14px 18px}.mobile-app .activity-header-actions{padding-top:23px}.mobile-app .activity-follow{width:40px;min-height:40px}.mobile-app .activity-refresh{width:36px;min-height:40px}.mobile-app .activity-heading p{font-size:13px}.mobile-app .activity-eyebrow{font-size:10px}.mobile-app .activity-latest{font-size:12px;min-height:56px}.mobile-app .activity-latest time{font-size:10px}.mobile-app .activity-summary-strip{padding:15px 16px;gap:7px}.mobile-app .activity-summary-strip>span{font-size:11px}.mobile-app .activity-summary-strip strong{font-size:22px}.mobile-app .activity-event-state{font-size:11px}.mobile-app .activity-event>time{font-size:11px}.mobile-app .activity-event-copy strong{font-size:14px}.mobile-app .activity-event-copy small{font-size:12px}.mobile-app .activity-detail-actions{grid-template-columns:1fr}.mobile-app .activity-detail-actions button{font-size:13px;min-height:44px}
@media(max-width:380px){.mobile-app .prism-chart{padding:17px 13px}.mobile-app .prism-chart-header h2{font-size:19px}.mobile-app .activity-node-name{font-size:12px}.mobile-app .activity-node small{font-size:10px}.mobile-app .activity-hub{width:70px;min-height:98px}}
@media(prefers-reduced-motion:reduce){.prism-chart *,.chart-comparison *{animation:none!important;transition:none!important}.activity-page .activity-hub-spark img{animation:none!important}}
.chart-map-link{display:flex;align-items:center;gap:16px;width:100%;padding:26px 16px;border:0;background:var(--cf-surface);color:var(--ink);text-align:left;cursor:pointer;border-radius:16px}.chart-map-link>img{width:46px;height:46px;filter:drop-shadow(0 0 20px #aacdee22)}.chart-map-link>span{flex:1;min-width:0}.chart-map-link strong{display:block;font-size:18px;font-weight:450;letter-spacing:-.025em}.chart-map-link small{display:block;font-size:12px;color:var(--ink3);margin-top:8px;line-height:1.6}.chart-map-link>b{font-size:19px;font-weight:400}.chart-map-link:focus-visible{outline:2px solid var(--cf-border);outline-offset:-2px}.chart-gauge{position:relative;width:190px;flex:none;height:143px;color:var(--ink)}.chart-gauge>svg{display:block;width:100%;height:130px;overflow:visible}.chart-gauge svg>path{fill:none;stroke-linecap:round}.chart-gauge-track{stroke:var(--track);stroke-width:9}.chart-gauge-value{stroke-width:9;filter:drop-shadow(0 0 6px #b7c4fa30);transition:stroke-dashoffset 120ms ease}.chart-gauge-grid{stroke:var(--ink3);stroke-width:1;stroke-dasharray:1 10;transform:translate(0,12px) scale(1,.86);opacity:.5}.chart-gauge>div{position:absolute;inset:53px 0 auto;text-align:center}.chart-gauge strong{display:block;font-size:29px;letter-spacing:-.05em;font-weight:450;line-height:1}.chart-gauge strong small{font-size:16px}.chart-gauge>div>span{font-size:11px;display:block;margin-top:6px;color:var(--ink3)}.chart-gauge>p{position:absolute;bottom:0;margin:0;width:100%;text-align:center;font-size:12px;color:var(--ink3)}.mobile-app .chart-gauge{width:142px;height:120px}.mobile-app .chart-gauge>svg{height:105px}.mobile-app .chart-gauge>div{top:45px}.mobile-app .chart-gauge>div>span{font-size:10px}.mobile-app .chart-gauge strong{font-size:24px}
.prism-chart-area{stroke:none}.prism-chart-unit{font-size:10px;font-weight:500;letter-spacing:.06em;border:1px solid var(--line2);padding:2px 6px;border-radius:5px;margin-left:3px}.pipeline-comparison>h2{font-size:22px;letter-spacing:-.035em;font-weight:500;margin:11px 0 6px}.pipeline-comparison>h4{font-size:30px!important;font-weight:450!important;margin:20px 0 10px!important;color:var(--ink)}.pipeline-comparison .pipeline-stage-chart{padding:16px 0!important;border-color:var(--line2);gap:12px!important}.pipeline-stage-chart>span:first-child{gap:12px;flex-wrap:wrap}.pipeline-stage-chart>span:first-child>span:first-child{font-weight:500!important}.pipeline-stage-chart>span:first-child>span:last-child,.pipeline-comparison>span:last-child{color:var(--ink3);font-size:12px!important}.pipeline-stage-chart>span:last-child{height:11px!important;border-radius:4px;background:var(--track)}.pipeline-stage-chart>span:last-child>span{border-radius:4px;background:var(--cf-surface);box-shadow:none}.pipeline-stage-chart[aria-pressed=true]{color:var(--ink);opacity:1!important}.pipeline-stage-chart:focus-visible{outline:2px solid var(--cf-border);outline-offset:5px}.pipeline-stage-chart:hover>span:last-child>span{filter:brightness(1.2)}

.analytics-workspace{--an-blue:#a9cfff;--an-purple:#c3b9fa;--an-muted:#a5aebd;max-width:1440px;margin:auto;padding-bottom:5rem;color:var(--ink,var(--cf-text))}
.analytics-heading h1{font-size:clamp(2rem,3vw,3.3rem);letter-spacing:-.045em}.analytics-heading p{max-width:42rem;font-size:1rem;line-height:1.6}.analytics-heading .eyebrow{margin:1rem 0 .75rem}.analytics-source{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-block:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);padding:.85rem 0;font-size:.875rem;color:var(--an-muted)}.analytics-source b{color:var(--an-blue);font-weight:500}
.analytics-tabs{display:flex;gap:.3rem;overflow-x:auto;padding:1rem 0;scrollbar-width:thin}.analytics-tabs button{flex-shrink:0;white-space:nowrap;padding:.7rem 1rem;border:1px solid transparent;border-radius:2rem;background:transparent;color:var(--an-muted);font:inherit;font-size:.875rem;cursor:pointer}.analytics-tabs button[aria-pressed=true]{background:color-mix(in srgb,var(--cf-text) 8%,transparent);border-color:color-mix(in srgb,var(--cf-border) 26%,transparent);color:var(--an-blue)}
.analytics-controls{display:flex;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin:.5rem 0}.analytics-workspace label{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;font-weight:500;line-height:1.5}.analytics-workspace input,.analytics-workspace select{border:1px solid color-mix(in srgb,var(--cf-border) 19%,transparent);border-radius:.65rem;background:var(--cf-surface);color:var(--cf-text);padding:.7rem .85rem;font:inherit;min-height:44px;max-width:100%;box-sizing:border-box}.analytics-controls>label{min-width:8rem}.analytics-controls>p{font-size:.875rem;color:var(--an-muted);max-width:35rem}.analytics-options{margin-top:1.7rem}.analytics-options summary,.analytics-trust summary,.analytics-chart-data summary,.analytics-target-form summary{font-size:.875rem;cursor:pointer;padding:.7rem 0;color:var(--an-blue)}.analytics-options>div{display:flex;gap:1rem;flex-wrap:wrap;padding:.75rem 0}.analytics-options label{max-width:22rem}.analytics-period{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;font-size:.875rem;color:var(--an-muted);margin:1rem 0 1.3rem;line-height:1.5}
.analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1rem;align-items:stretch}.analytics-card{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--cf-border) 15%,transparent);border-radius:1rem;overflow:hidden;background:var(--cf-surface);min-width:0}.analytics-card-main{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.85rem;width:100%;flex:1;padding:1.35rem;color:inherit;background:none;border:0;cursor:pointer;font:inherit}.analytics-card-main:hover{background:color-mix(in srgb,var(--cf-text) 3%,transparent)}.analytics-card-label{font-size:.95rem;line-height:1.45}.analytics-card-main>strong{font-size:clamp(1.8rem,2.5vw,2.6rem);letter-spacing:-.045em;font-weight:500;line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.analytics-card[data-available=false] .analytics-card-main>strong{font-size:1.4rem;color:var(--an-muted)}.analytics-change{font-size:.875rem;line-height:1.45;color:var(--an-blue);min-height:2.6em}.analytics-card-context{font-size:.8rem;color:var(--an-muted)}.analytics-card-source{margin-top:auto;border-top:1px solid color-mix(in srgb,var(--cf-border) 9%,transparent);padding-top:.75rem;width:100%;display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:var(--an-muted)}.analytics-card-target{display:flex;gap:.5rem;justify-content:space-between;flex-wrap:wrap;padding:.8rem 1.3rem;border-top:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);font-size:.8rem}.analytics-card-target b{color:var(--an-blue);font-weight:400}
.analytics-note{padding:1.1rem 1.3rem;border-left:2px solid var(--an-purple);background:color-mix(in srgb,var(--cf-text) 3%,transparent);border-radius:0 .7rem .7rem 0;margin:1.1rem 0}.analytics-note p{font-size:.95rem;line-height:1.6;color:var(--an-muted);margin:.5rem 0 0}.analytics-search{max-width:32rem;margin:1rem 0}.analytics-attention,.analytics-detail,.analytics-chart,.analytics-breakdown,.analytics-records,.analytics-editor{margin-top:1.5rem;border:1px solid color-mix(in srgb,var(--cf-border) 15%,transparent);border-radius:1.1rem;padding:1.6rem;background:color-mix(in srgb,var(--cf-surface) 38%,transparent);min-width:0}.analytics-workspace h2{font-size:1.35rem;font-weight:500;letter-spacing:-.025em;margin:.5rem 0}.analytics-attention>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.analytics-attention button{text-align:left;padding:1rem;background:color-mix(in srgb,var(--cf-text) 3%,transparent);border:0;border-radius:.7rem;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:.65rem;line-height:1.6}.analytics-attention button>span{font-size:.875rem;color:var(--an-muted)}.analytics-attention button strong{font-weight:500}.analytics-attention button strong span{color:var(--an-blue)}.analytics-attention>p,.analytics-records header p{font-size:.95rem;color:var(--an-muted);line-height:1.6;max-width:50rem}.analytics-detail>header,.analytics-detail header,.analytics-editor header,.analytics-chart header,.analytics-records header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.analytics-detail{border-color:color-mix(in srgb,var(--cf-border) 31%,transparent);scroll-margin-top:1rem}.analytics-detail-value{font-size:2.7rem;letter-spacing:-.05em;font-weight:500;display:block;margin:1rem 0;font-variant-numeric:tabular-nums}.analytics-explanation{max-width:60rem;font-size:1.05rem;line-height:1.8;color:var(--cf-text)}.analytics-definition{display:flex;flex-wrap:wrap;gap:1.5rem;border-block:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);padding:1rem 0;margin:1.5rem 0}.analytics-definition>div{display:flex;flex-direction:column;gap:.6rem}.analytics-definition span,.analytics-next>span{font-size:.875rem;color:var(--an-muted)}.analytics-definition strong{font-size:.95rem;font-weight:500}.analytics-next{padding:1rem 0}.analytics-next p{font-size:1rem;line-height:1.6;margin:.45rem 0}.analytics-target-form{margin-top:1rem;border-top:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent)}.analytics-target-form form{display:grid;gap:1rem;max-width:38rem}.analytics-target-form input{max-width:18rem}.analytics-target-form p{font-size:.875rem;color:var(--an-muted);line-height:1.6}.analytics-editor{border-color:color-mix(in srgb,var(--cf-border) 38%,transparent)}.analytics-editor>p{line-height:1.7}.analytics-editor>label,.analytics-entry-fields{margin:1rem 0}.analytics-entry-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.analytics-editor>label input[type=date]{max-width:17rem}.analytics-status{color:var(--an-blue);font-size:.95rem}
.analytics-chart header p{font-size:.875rem;color:var(--an-muted)}.analytics-chart-switch{display:flex;border:1px solid color-mix(in srgb,var(--cf-border) 16%,transparent);border-radius:2rem;padding:.2rem}.analytics-chart-switch button{font:inherit;font-size:.875rem;border:0;padding:.6rem .9rem;background:none;color:var(--an-muted);border-radius:2rem;cursor:pointer}.analytics-chart-switch button[aria-pressed=true]{color:var(--an-blue);background:color-mix(in srgb,var(--cf-text) 9%,transparent)}.analytics-chart-plot{display:flex;height:270px;margin-top:1.5rem;gap:.75rem}.analytics-y-axis{width:100px;flex-shrink:0;position:relative}.analytics-y-axis span{position:absolute;right:0;transform:translateY(-50%);font-size:.8rem;color:var(--an-muted);font-variant-numeric:tabular-nums}.analytics-chart-canvas{position:relative;flex:1;min-width:0}.analytics-chart-canvas>svg{width:100%;height:260px;overflow:visible}.analytics-gridline{stroke:#aebcff15;stroke-width:1;vector-effect:non-scaling-stroke}.analytics-zero{stroke:#aebcff45;stroke-width:1;vector-effect:non-scaling-stroke}.analytics-line{fill:none;stroke:var(--an-blue);stroke-width:2;vector-effect:non-scaling-stroke}.analytics-point,.analytics-bar{fill:var(--an-blue)}.analytics-x-label{fill:var(--cf-muted);font-size:14px}.analytics-chart-targets{position:absolute;inset:0 0 auto;height:240px}.analytics-chart-hit{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;padding:0;border:2px solid transparent;background:transparent;cursor:pointer}.analytics-chart-hit[aria-pressed=true]{border-color:var(--an-blue);background:var(--cf-surface)}.analytics-chart-hit:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}.analytics-readout{border-top:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;color:var(--an-muted);font-size:.95rem}.analytics-readout strong{color:var(--an-blue);font-size:1.2rem;font-weight:500}.analytics-chart-data>div{max-height:300px;overflow:auto}.analytics-chart-data button{display:flex;width:100%;justify-content:space-between;gap:1rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 8%,transparent);background:none;color:inherit;padding:.75rem .25rem;font:inherit;font-size:.875rem;cursor:pointer}.analytics-muted{color:var(--an-muted);font-size:.875rem;line-height:1.7}.analytics-empty{text-align:center;color:var(--an-muted);padding:2.5rem 1rem;font-size:1rem;line-height:1.7}.analytics-empty h3{color:var(--cf-text);font-weight:500;font-size:1.15rem}
.analytics-breakdown>div{max-height:25rem;overflow:auto}.analytics-breakdown article{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(5rem,2fr) minmax(5rem,auto);gap:1rem;align-items:center;font-size:.875rem;padding:.85rem 0}.analytics-breakdown article>div{height:.65rem;background:color-mix(in srgb,var(--cf-text) 4%,transparent)}.analytics-breakdown i{display:block;height:100%;background:var(--an-blue)}.analytics-breakdown i[data-negative=true]{background:transparent;border:1px solid var(--an-purple);box-sizing:border-box}.analytics-breakdown strong{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.analytics-record-table{overflow:auto;margin-top:1rem}.analytics-records table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.5}.analytics-records th,.analytics-records td{text-align:left;padding:.9rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent);min-width:7rem}.analytics-records tbody th{font-weight:500;min-width:14rem}.analytics-records thead{color:var(--an-muted)}.analytics-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.875rem}.analytics-trust{margin-top:1.5rem;padding:1rem 1.5rem;border-block:1px solid color-mix(in srgb,var(--cf-border) 13%,transparent)}.analytics-trust p{font-size:.875rem;line-height:1.7;color:var(--an-muted);max-width:65rem}.analytics-trust article{border-top:1px solid color-mix(in srgb,var(--cf-border) 8%,transparent);padding:.75rem 0}.analytics-trust strong{font-size:.95rem;font-weight:500}.analytics-workspace button:disabled{opacity:.45;cursor:not-allowed}.analytics-workspace :is(button,input,select,summary):focus-visible{outline:2px solid var(--an-blue);outline-offset:3px}
@media(max-width:700px){.analytics-workspace{padding-inline:1rem;padding-bottom:7rem}.analytics-heading{gap:1rem}.analytics-heading h1{font-size:2rem}.analytics-source{align-items:flex-start;flex-direction:column;gap:.3rem}.analytics-tabs{margin-inline:-1rem;padding-inline:1rem;position:relative}.analytics-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.analytics-card-main{padding:1rem;gap:.7rem}.analytics-card-label{font-size:.875rem}.analytics-card-main>strong{font-size:1.75rem}.analytics-card[data-available=false] .analytics-card-main>strong{font-size:1.15rem}.analytics-change{font-size:.875rem;min-height:4em}.analytics-card-source,.analytics-card-context{font-size:.8rem}.analytics-attention,.analytics-detail,.analytics-chart,.analytics-breakdown,.analytics-records,.analytics-editor{padding:1.1rem;margin-top:1rem}.analytics-chart-plot{gap:.4rem}.analytics-y-axis{width:70px}.analytics-y-axis span{font-size:.75rem}.analytics-x-label{font-size:25px}.analytics-breakdown article{grid-template-columns:1fr 1fr;gap:.6rem}.analytics-breakdown article>span{grid-column:1/-1}.analytics-controls{gap:.75rem}.analytics-controls>label:first-child{flex:1}.analytics-options{margin-top:0;width:100%}.analytics-options>div,.analytics-options label{width:100%;max-width:100%}.analytics-period{gap:.3rem}.analytics-heading .crm-actions{width:100%}.analytics-heading .crm-actions>button{flex:1;white-space:normal;font-size:.875rem}.analytics-records header .crm-actions{flex-wrap:wrap}.analytics-detail-value{font-size:2.2rem}.analytics-definition{gap:1rem}.analytics-definition>div{max-width:100%}.analytics-entry-fields{grid-template-columns:1fr}.analytics-pagination{flex-wrap:wrap;justify-content:center}.analytics-records :is(th,td){font-size:.875rem}.analytics-trust{padding:1rem .3rem}}
@media(max-width:350px){.analytics-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.analytics-workspace *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.analytics-x-axis{position:absolute;top:240px;width:100%;font-size:12px;color:var(--an-muted)}.analytics-x-axis [data-edge]{position:absolute;transform:translateX(-50%);white-space:nowrap}.analytics-x-axis [data-edge=start]{transform:none;left:0!important}.analytics-x-axis [data-edge=end]{transform:translateX(-100%);left:100%!important}

@media(min-width:1280px){.analytics-cards[data-overview=true]{grid-template-columns:repeat(5,minmax(0,1fr))}.analytics-cards[data-overview=true] .analytics-card-main{padding:1.1rem}}
@media(max-width:700px){.analytics-workspace .analytics-heading{display:block;margin-bottom:1rem}.analytics-workspace .analytics-heading h1{font-size:1.7rem;line-height:1.15;margin:.5rem 0}.analytics-workspace .analytics-heading .eyebrow{font-size:.75rem;letter-spacing:.1em;margin:.3rem 0}.analytics-workspace .analytics-heading>div>.text-button{display:block;float:right;min-height:24px;font-size:.75rem;padding:0 0 .3rem .6rem}.analytics-workspace .analytics-heading h1{clear:both}.analytics-workspace .analytics-heading p{font-size:.875rem;line-height:1.45;margin:.5rem 0}.analytics-workspace .analytics-heading .crm-actions{display:flex;flex-wrap:nowrap;gap:.6rem;margin-top:.8rem}.analytics-workspace .analytics-heading .crm-actions>button{padding:.65rem .5rem;min-height:44px;white-space:nowrap}.analytics-workspace .analytics-tabs{padding-block:.6rem}.analytics-workspace .analytics-source{padding-block:.6rem;font-size:.8rem}.analytics-workspace .analytics-period{margin:.6rem 0 1rem;font-size:.8rem}}

.analytics-area-picker{display:none!important}.analytics-card-label,.analytics-change,.analytics-card-context,.analytics-card-source,.analytics-card-target,.analytics-definition strong,.analytics-breakdown article>span,.analytics-breakdown strong,.analytics-explanation,.analytics-records header p{overflow-wrap:anywhere}.analytics-detail-value{max-width:100%;overflow-wrap:anywhere}.analytics-heading>div{min-width:0}.analytics-controls select{width:100%}.analytics-card-main>strong{white-space:nowrap;font-size:clamp(1.4rem,2.3vw,2.4rem)}.analytics-record-table:focus-visible{outline:2px solid var(--an-blue);outline-offset:4px}.analytics-breakdown article{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,auto)}
@media(max-width:700px){.analytics-tabs{display:none}.analytics-area-picker{display:flex!important;margin:1rem 0}.analytics-card-main>strong{font-size:1.55rem}.analytics-workspace input,.analytics-workspace select{font-size:1rem}.analytics-controls>label{min-width:0}.analytics-controls>label:first-child{flex-basis:60%}.analytics-controls>label:nth-child(2){flex:1}.analytics-breakdown article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.analytics-x-axis{font-size:.75rem}}
[data-zwt=light] .analytics-workspace{--an-blue:#2755a3;--an-purple:#6547a7;--an-muted:#526174;color:var(--cf-text)}
[data-zwt=light] .analytics-workspace :is(.analytics-card,.analytics-attention,.analytics-detail,.analytics-chart,.analytics-breakdown,.analytics-records,.analytics-editor){background:var(--cf-surface);border-color:var(--cf-border)}
[data-zwt=light] .analytics-workspace :is(input,select){background:var(--cf-surface);color:var(--cf-text);border-color:var(--cf-border)}
[data-zwt=light] .analytics-workspace :is(.analytics-card-source,.analytics-card-target,.analytics-definition,.analytics-target-form,.analytics-readout,.analytics-records th,.analytics-records td,.analytics-trust,.analytics-source){border-color:var(--cf-border)}
[data-zwt=light] .analytics-workspace :is(.analytics-explanation,.analytics-empty h3){color:var(--cf-text)}
[data-zwt=light] .analytics-workspace :is(.analytics-note,.analytics-attention button){background:var(--cf-surface)}
[data-zwt=light] .analytics-card-main:hover{background:var(--cf-surface)}[data-zwt=light] .analytics-tabs button[aria-pressed=true]{background:var(--cf-surface);border-color:var(--cf-border)}
[data-zwt=light] .analytics-chart-switch{border-color:var(--cf-border)}[data-zwt=light] .analytics-chart-switch button[aria-pressed=true]{background:var(--cf-surface)}
[data-zwt=light] .analytics-gridline{stroke:var(--cf-muted)}[data-zwt=light] .analytics-zero{stroke:var(--cf-muted)}[data-zwt=light] .analytics-chart-hit[aria-pressed=true]{background:var(--cf-surface)}

.analytics-readout{flex-wrap:wrap}.analytics-readout strong,.analytics-chart-data strong{overflow-wrap:anywhere;min-width:0}.analytics-x-axis [data-edge]{white-space:normal;text-align:center;width:33%}.analytics-x-axis [data-edge=start]{text-align:left}.analytics-x-axis [data-edge=end]{text-align:right}

.analytics-chart-plot{height:300px}.analytics-x-axis{line-height:1.25}

[data-zwt=light]:has(.analytics-workspace) .backend-live-connect{background:var(--cf-surface);color:var(--cf-focus);border-color:var(--cf-border)}
.analytics-forecast{border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 30%,transparent));border-radius:1rem;padding:1rem;margin:1rem 0;display:grid;gap:.5rem}.analytics-forecast article{display:grid;gap:.25rem}.analytics-roi h3{margin:0;font-size:1rem}.analytics-roi-head{margin:.5rem 0 0;font-weight:600}

.finance-view{display:grid;gap:20px}.finance-view h1{font-size:clamp(1.6rem,3vw,2.25rem)}.finance-view h2{font-size:1.125rem}.finance-view p{font-size:1rem;line-height:1.6;color:var(--cf-muted)}.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.finance-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.finance-records>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 7%,transparent);font-size:.875rem}.finance-records strong,.finance-records small{display:block;overflow-wrap:anywhere}.finance-records small{color:var(--cf-muted);margin-top:4px}.finance-records>div>span:last-child{text-align:right;white-space:pre-wrap;min-width:100px}.finance-usage{padding:12px 18px;font-size:.875rem;line-height:1.5;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 7%,transparent);color:var(--cf-text)}.finance-usage strong,.finance-usage small{display:block}.finance-usage-track{height:5px;background:color-mix(in srgb,var(--cf-text) 7%,transparent);border-radius:5px;margin:8px 0;overflow:hidden}.finance-usage-track span{display:block;height:100%;background:var(--cf-surface)}.finance-usage small{font-size:.8rem;color:var(--cf-muted)}

/* Cinematic owner login. Extends the website palette (globals.css): #030304 ground,
   #f0f0f1 ink, #97979f muted, existing spectrum. Uses the already-shipped
   /assets/prism.webp (byte-identical to website/public/media/prism-poster-4k.webp)
   and the existing segmented-A logo template. No external font or CDN dependency.
   Rendered as a fixed full-viewport surface so no sample workspace, sidebar,
   header or phone frame is visible behind it on either surface. */
.login-stage{position:fixed;inset:0;z-index:60;overflow-y:auto;overflow-x:hidden;background:var(--cf-canvas);color:var(--cf-text);font-family:'Geist','Geist Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);grid-template-rows:auto 1fr auto;align-items:center;column-gap:0;padding:0;overscroll-behavior:contain}
.login-optics{position:absolute;inset:0 40% 0 0;pointer-events:none;overflow:hidden}
.login-prism{position:absolute;left:52%;top:47%;width:min(96vh,900px);height:auto;transform:translate(-50%,-50%);opacity:1;object-fit:contain;filter:saturate(1.02);-webkit-mask-image:radial-gradient(ellipse 46% 46% at 50% 50%,#000 0,#000 52%,transparent 88%);mask-image:radial-gradient(ellipse 46% 46% at 50% 50%,#000 0,#000 52%,transparent 88%)}
.login-veil{position:absolute;inset:0;background:var(--cf-surface)}
.login-spectrum{position:absolute;left:46%;top:46%;width:46%;height:22%;transform:translateY(-50%);opacity:.5;background:var(--cf-surface);filter:blur(46px)}
.login-top{grid-column:1/-1;grid-row:1;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:36px 48px 0;flex-wrap:wrap}
.login-brand{display:inline-flex;align-items:center;gap:12px}
.login-brand .rotating-logo{width:30px;height:30px;display:block}
.login-brand .wordmark{font-size:16px;letter-spacing:-.02em;color:var(--cf-text)}
.login-brand .frosted-wordmark{width:132px;height:auto}
.login-brand .wordmark span{color:var(--cf-muted)}
.login-top-actions{display:inline-flex;align-items:center;gap:18px}
.login-motion{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:var(--cf-muted);font:inherit;font-size:12px;cursor:pointer;padding:8px;border-radius:8px;min-height:40px}
.login-motion svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.login-motion:hover,.login-back:hover{color:var(--cf-text)}
.login-back{color:var(--cf-muted);font-size:13px;text-decoration:none;padding:8px 0;min-height:40px;display:inline-flex;align-items:center}
.login-phrase{grid-column:1;grid-row:2/4;position:relative;z-index:2;margin:0;padding:0 48px 58px;align-self:end;justify-self:start;max-width:15ch;font-size:clamp(30px,3.4vw,52px);line-height:1.08;letter-spacing:-.045em;font-weight:400;color:var(--cf-text);text-shadow:none}
.login-surface{grid-column:2;grid-row:1/4;position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-start;padding:24px 48px 24px 8px}
.login-card{width:min(400px,100%);background:color-mix(in srgb,var(--cf-canvas) 80%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 8%,transparent);border-radius:18px;padding:26px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.login-heading{font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:-.04em;font-weight:450;margin:0 0 8px}
.login-lede{margin:0 0 22px;font-size:14px;line-height:1.55;color:var(--cf-muted)}
.login-form{display:block;margin:0}
.login-field{display:block;position:relative;margin-bottom:16px}
.login-field span{display:block;font-size:12.5px;letter-spacing:.005em;color:var(--cf-muted);margin-bottom:7px}
.login-field input{display:block;width:100%;box-sizing:border-box;height:52px;padding:0 14px;border-radius:11px;border:1px solid color-mix(in srgb,var(--cf-border) 12%,transparent);background:color-mix(in srgb,var(--cf-text) 3%,transparent);color:var(--cf-text);font:inherit;font-size:15px;outline:0;transition:border-color 120ms,background 120ms}
.login-field-password input{padding-right:66px}
.login-field input:focus{border-color:var(--cf-border);background:color-mix(in srgb,var(--cf-text) 5%,transparent)}
.login-field input:disabled{opacity:.6}
.login-reveal{position:absolute;right:8px;bottom:8px;height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--cf-muted);font:inherit;font-size:12px;cursor:pointer}
.login-reveal:hover{color:var(--cf-text)}
.login-forgot{display:block;margin:-4px 0 18px auto;background:none;border:0;color:var(--cf-muted);font:inherit;font-size:12.5px;cursor:pointer;padding:6px 0;min-height:32px}
.login-forgot:hover{color:var(--cf-text)}
.login-submit{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;box-sizing:border-box;min-height:52px;border:0;border-radius:11px;background:var(--cf-surface);color:var(--cf-text);font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:opacity 120ms}
.login-submit:hover{opacity:.9}
.login-submit:disabled{opacity:.55;cursor:default}
.login-submit i{font-style:normal;font-size:15px}
.login-alt{display:block;width:100%;box-sizing:border-box;margin-top:12px;min-height:44px;background:none;border:0;color:var(--cf-muted);font:inherit;font-size:13px;cursor:pointer;border-radius:9px}
.login-alt:hover{color:var(--cf-text)}
.login-stack{display:grid;gap:10px;margin-bottom:4px}
.login-tenant{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;min-height:52px;padding:0 16px;border:1px solid color-mix(in srgb,var(--cf-border) 12%,transparent);border-radius:11px;background:color-mix(in srgb,var(--cf-text) 3%,transparent);color:var(--cf-text);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.login-tenant:hover{background:color-mix(in srgb,var(--cf-text) 7%,transparent)}
.login-tenant i{font-style:normal;color:var(--cf-muted)}
.login-note{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--cf-muted)}
.login-steps{margin:0 0 18px;padding-left:20px;font-size:14px;line-height:1.6;color:var(--cf-muted)}.login-steps li{margin:0 0 6px;padding-left:2px}
.login-assist{margin:18px 0 0}.login-help{color:var(--cf-text);text-decoration:underline;text-underline-offset:3px}.login-help:focus-visible{outline:2px solid var(--cf-border);outline-offset:2px;border-radius:3px}
.login-status{margin:14px 0 0;min-height:19px;font-size:12.5px;line-height:1.5;color:var(--cf-muted)}
.login-error{margin:8px 0 0;font-size:13px;line-height:1.55;color:var(--cf-negative)}
.login-stage :focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}

/* One restrained arrival. Essential content never starts hidden: the card
   translates at most 8px and the form is interactive on the first frame. */
.login-stage[data-motion=true] .login-prism{animation:login-arrive 1100ms cubic-bezier(.22,.61,.36,1) both,login-breathe 14s ease-in-out 1200ms infinite}
.login-stage[data-motion=true] .login-spectrum{animation:login-spectrum 16s ease-in-out infinite}
.login-stage[data-motion=true] .login-card{animation:login-rise 900ms cubic-bezier(.22,.61,.36,1) both}
.login-stage[data-motion=true] .login-brand .rotating-logo-turn{animation:login-turn 20s linear infinite}
.login-brand .rotating-logo-turn{transform-style:preserve-3d}
@keyframes login-arrive{from{opacity:.7}to{opacity:1}}
@keyframes login-breathe{0%,100%{filter:saturate(1.02) brightness(1)}50%{filter:saturate(1.05) brightness(1.05)}}
@keyframes login-spectrum{0%,100%{opacity:.42}50%{opacity:.6}}
@keyframes login-rise{from{transform:translateY(8px)}to{transform:none}}
@keyframes login-turn{to{transform:rotateY(360deg)}}
@media(prefers-reduced-motion:reduce){.login-stage *,.login-stage *:before,.login-stage *:after{animation:none!important;transition:none!important}.login-prism{opacity:1}}

/* Phone composition: same identity, distinct layout. Decorative height shrinks
   first at short viewports; the page scrolls naturally, nothing is fixed over
   the fields, and the software keyboard cannot hide recovery or submit. */
@media(max-width:900px){
  .login-stage{display:flex;flex-direction:column;align-items:stretch;min-height:100svh;padding:0 0 max(28px,env(safe-area-inset-bottom))}
  .login-top{order:-1;flex:none}
  .login-optics{order:0;flex:none}
  .login-surface{order:1}
  .login-optics{position:relative;inset:auto;height:clamp(150px,26vh,230px);margin-top:0}
  .login-prism{width:min(74vw,330px);transform:translate(-50%,-50%)}
  .login-veil{background:var(--cf-surface)}
  .login-spectrum{left:27%;top:auto;bottom:-8%;width:46%;height:34%;transform:none;filter:blur(34px)}
  .login-top{position:static;padding:max(14px,env(safe-area-inset-top)) 20px 0;gap:10px;flex-wrap:nowrap}
  .login-motion span{display:none}
  .login-top-actions{gap:10px}
  .login-phrase{display:none}
  .login-surface{display:block;padding:6px 0 0}
  .login-card{width:auto;margin:0 24px;background:transparent;border:0;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
  .login-heading{font-size:30px}
  .login-field input,.login-submit,.login-tenant{font-size:16px}
}
@media(max-width:900px) and (max-height:680px){.login-optics{height:clamp(96px,16vh,140px)}}
@media(max-width:360px){.login-card{margin:0 16px}.login-top{padding-left:16px;padding-right:16px;flex-wrap:wrap;row-gap:4px}.login-motion span{display:none}
  /* Keep the website link tidy at 320px WITHOUT shrinking the hit target. */
  .login-back{font-size:12px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
  .login-motion{min-height:44px;min-width:44px;justify-content:center}}
/* 320px: the login scrolls naturally so every control stays reachable. This is scoped
   to the login surface only — the no-scroll Home/Approvals requirements are separate. */
@media(max-width:360px),(max-height:560px){.login-stage{align-items:start;justify-items:stretch;height:auto;min-height:100%;padding-bottom:max(32px,env(safe-area-inset-bottom))}}
/* The motion toggle must stop this surface's own animation AND the reused segmented-A,
   whose base rule (app.css .rotating-logo-turn) animates unconditionally and would
   otherwise keep turning with motion off. Covers the toggle; the reduced-motion media
   query above covers the OS setting. */
.login-stage:not([data-motion=true]) .login-prism,
.login-stage:not([data-motion=true]) .login-spectrum,
.login-stage:not([data-motion=true]) .login-card,
.login-stage:not([data-motion=true]) .rotating-logo-turn,
.login-stage:not([data-motion=true]) .rotating-logo-turn *{animation:none!important;transition:none!important}
.login-stage:not([data-motion=true]) .login-prism{opacity:1}

/* ACCEPTANCE-03 #3. The sample-preview surface carries a persistent, non-dismissable
   Sample label, so an explicitly chosen preview can never be mistaken for real data. */
.preview-flag{position:sticky;top:0;z-index:70;margin:0;padding:7px 14px;background:var(--cf-surface);color:var(--cf-warning);border-bottom:1px solid var(--cf-border);font:500 12px/1.45 'Geist','Geist Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-align:center}
.preview-flag b{font-weight:650;letter-spacing:.02em}
.preview-flag a{color:var(--cf-warning);text-decoration:underline;display:inline-block;min-height:24px;padding:0 2px}

/* Enrollment data stays in the sign-in panel and wraps on narrow screens. */
.login-mfa-qr{display:block;max-width:100%;height:auto;box-sizing:border-box;background:var(--cf-surface);border-radius:8px;padding:8px;margin:0 0 16px}
.login-mfa-key{display:block;overflow-wrap:anywhere;user-select:text;margin-top:6px;color:inherit}
/* UX audit 2026-10-20 P3-1 / P2-6: the recovery hint sits under its field; a plain path for people without an account. */
.login-field-error{margin:-8px 0 14px}
.login-new{margin:14px 0 0;text-align:center;font-size:13px;line-height:1.5;color:var(--cf-muted)}
.login-new a{color:var(--cf-text);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 2px;min-height:24px}
/* UX audit 2026-10-20 P3-4: at tablet widths the form keeps a readable measure instead of stretching edge to edge. */
@media(min-width:561px) and (max-width:900px){.login-card{width:min(440px,calc(100% - 48px));margin:0 auto}}
/* The premium shell hides the prism photograph (premium-upgrade.css), which left the phone/tablet
   optics band as an empty 150-230px slab above the form (UX audit 2026-10-20 P3-4). Drop the band there. */
@media(max-width:900px){.premium-shell .login-optics{display:none}:where(.premium-shell) .login-surface{padding-top:28px}}
/* Live sweep 2026-10-20 L18: the sign-in page follows the device's Light/Dark preference. Before sign-in no workspace
   theme applies, so the page sets its own palette tokens for Light (the build maps this file's colours onto the same
   --cf-* tokens). data-scheme is 'auto' unless the browser holds an explicit appearance choice, and follows the
   workspace while a stored session is restored (backendLoginScheme). Text, fields and the submit button meet WCAG AA
   on both grounds; focus uses the focus colour. */
.login-stage :focus-visible{outline-color:var(--cf-focus)}
@media (prefers-color-scheme:light){
  .login-stage:not([data-scheme=dark]){--cf-canvas:#fff;--cf-surface:#f4f4f6;--cf-field:#fff;--cf-hover:#ececef;--cf-text:#1a1a1a;--cf-muted:#595959;--cf-subtle:#5f5f5f;--cf-border:#8a8a8f;--cf-strong:#8a8a8f;--cf-primary:#1a1a1a;--cf-on-primary:#fff;--cf-focus:#1757bf;--cf-positive:#267248;--cf-warning:#885d1e;--cf-negative:#ac3530;color-scheme:light}
  .login-stage:not([data-scheme=dark]) :is(.login-field input,.login-tenant){border-color:var(--cf-strong);background:var(--cf-field)}
  .login-stage:not([data-scheme=dark]) .login-submit{background:var(--cf-primary);color:var(--cf-on-primary)}
  /* the light-ink treatment the signed-in Light sidebar gives the same wordmark (frosted-brand.css) */
  .login-stage:not([data-scheme=dark]) .login-brand .frosted-wordmark{filter:brightness(.4) saturate(1.5)}
}

/* Anna brand mark — the established spinning A. Classes are `am-` prefixed so
   nothing here collides with `.rotating-logo*` (header logo) or existing app CSS.
   Turn timing matches the website/header logo exactly: 12s linear, one full turn. */

.am-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

.am{display:inline-block;position:relative;flex:none;perspective:180px;vertical-align:middle;line-height:0}
.am-turn{position:absolute;inset:0;transform-style:preserve-3d;animation:am-full-turn 12s linear infinite;will-change:transform}
.am-face{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;backface-visibility:hidden;transform:translateZ(1px)}
.am-back{transform:rotateY(180deg) translateZ(1px)}
@keyframes am-full-turn{to{transform:rotateY(360deg)}}

/* Sizes. 20-24px in compact controls, 28-32px in panel and avatar slots. */
.am-20{width:20px;height:20px}
.am-22{width:22px;height:22px}
.am-24{width:24px;height:24px}
.am-28{width:28px;height:28px;perspective:220px}
.am-32{width:32px;height:32px;perspective:240px}

/* Touch target. Opt-in: only for slots where the mark is the whole control.
   Existing buttons keep their own padding and hit area untouched. */
.am-hit{position:relative}
.am-hit::after{content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}

/* ---- Freezing a legible front face ------------------------------------
   Three independent stops, all of which land on rotateY(0deg) — the front
   face, fully readable — never on an edge-on or mirrored frame.
     1. the app's own motion pause: `.app-shell[data-motion=false] *` already
        forces `animation:none`, so this only pins the transform;
     2. `.am-paused` — the explicit hook, set on the mark, any ancestor, or
        the document element (the observer sets it while the tab is hidden);
     3. the OS reduced-motion setting.                                      */
.app-shell[data-motion=false] .am-turn,
.am-paused .am-turn,
.am-turn.am-paused,
.am.am-paused .am-turn{animation:none!important;transform:rotateY(0deg)!important}

@media(prefers-reduced-motion:reduce){
  .am-turn{animation:none!important;transform:rotateY(0deg)!important}
}

/* Offscreen and background instances stop costing anything. The class is set
   by the IntersectionObserver in anna-mark.js; the paint containment and the
   intrinsic size keep a scrolled-away mark out of layout and paint work. */
.am-offscreen .am-turn,.am-turn.am-offscreen{animation-play-state:paused}
.am{contain:layout paint style}
@supports(content-visibility:auto){
  .am-offscreen{content-visibility:auto}
  .am-20.am-offscreen{contain-intrinsic-size:20px 20px}
  .am-22.am-offscreen{contain-intrinsic-size:22px 22px}
  .am-24.am-offscreen{contain-intrinsic-size:24px 24px}
  .am-28.am-offscreen{contain-intrinsic-size:28px 28px}
  .am-32.am-offscreen{contain-intrinsic-size:32px 32px}
}

/* Existing slots that used to hold the lavender four-point star. The mark
   replaces the glyph; these rules retire the chip's tint and glyph metrics so
   the mark is not sitting on a purple disc. Layout box is unchanged. */
.presence-spark:has(.am),.anna-empty-mark:has(.am),.backend-tool-spark:has(.am),.glass-icon:has(.am){
  color:transparent;font-size:0;background:none;box-shadow:none}
.activity-empty>span:has(.am){font-size:0;color:transparent}

.frosted-wordmark{display:inline-block;width:100%;height:auto;object-fit:contain;vertical-align:middle}
.brand-startup{position:fixed;inset:0;z-index:2147480000;display:block;overflow:hidden;background:transparent;color:var(--cf-text);isolation:isolate;contain:layout paint}
.brand-startup[hidden]{display:none!important}
/* Two layers. The plate is a separate fading occluder; the scene canvas carries
   true alpha, so once the plate is gone nothing opaque is left over the
   workspace. No blend mode is involved: this element is its own stacking
   context, so a blend mode here would composite against the plate rather than
   against the workspace underneath. */
.brand-startup__plate{position:absolute;inset:0;z-index:1;background:var(--cf-canvas);pointer-events:none}
.brand-startup__scene{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;pointer-events:none}
.brand-startup__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.brand-startup__skip{position:absolute;z-index:3;bottom:max(28px,env(safe-area-inset-bottom));right:max(28px,env(safe-area-inset-right));padding:12px 16px;border:1px solid color-mix(in srgb,var(--cf-border) 17%,transparent);border-radius:999px;background:color-mix(in srgb,var(--cf-surface) 74%,transparent);color:var(--cf-text);font:400 13px/1.2 system-ui,sans-serif;cursor:pointer;min-height:44px;transition:border-color 120ms,color 120ms}
.brand-startup__skip:hover,.brand-startup__skip:focus-visible{border-color:color-mix(in srgb,var(--cf-border) 78%,transparent);color:var(--cf-text);outline:2px solid transparent}
.brand-startup[data-exiting]{opacity:0;transition:opacity 120ms;pointer-events:none}
/* The real brand mark is held at zero until the travelling mark is on top of
   it, then crossed over in place, so the workspace never shows two marks. It is
   only ever held down while the opening is actually running and unresolved. */
html[data-startup-active] .frosted-wordmark{opacity:var(--startup-brand,0)}
@media(max-width:600px){.brand-startup__skip{right:20px;bottom:max(22px,env(safe-area-inset-bottom))}}


.sidebar .brand{padding:10px 0;gap:0}.sidebar .brand .frosted-wordmark{width:198px;max-width:100%;height:auto}
.preview-wordmark .frosted-wordmark{width:260px;height:auto}
.app-shell[data-zwt=light] .frosted-wordmark{filter:brightness(.4) saturate(1.5)}
.app-shell .phone-introduction .frosted-wordmark{filter:none}
.mobile-app .phone-content .phone-header{display:grid;grid-template-columns:36px minmax(0,1fr) 38px 36px;column-gap:8px;row-gap:0;padding-top:9px;padding-bottom:8px}
.mobile-app .phone-content .phone-header .phone-brand{grid-column:1/3;grid-row:1;width:185px;max-width:100%;min-height:38px;justify-self:start}
.phone-brand .frosted-wordmark{width:100%;height:auto}
.mobile-app .phone-content .phone-header>div{grid-column:1/-1;grid-row:2;display:flex;align-items:baseline;gap:8px;min-width:0;padding:3px 0}
.mobile-app .phone-content .phone-header>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.mobile-app .phone-content .phone-header .phone-search{grid-column:3;grid-row:1}.mobile-app .phone-content .phone-header .phone-avatar{grid-column:4;grid-row:1}
.mobile-app .phone-content .phone-header .phone-back{grid-column:1;grid-row:2;min-height:32px;height:32px}
.mobile-app .phone-content .phone-header:has(.phone-back)>div{grid-column:2/-1}
.presence-spark.anna-brand{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none}.anna-brand .rotating-logo{width:24px!important;height:24px!important}
.ask-fab .anna-brand{width:20px;height:20px}.ask-fab .anna-brand .rotating-logo{width:20px!important;height:20px!important}
@media(max-width:760px){.mobile-brand{width:154px!important;margin-right:auto}.mobile-brand .frosted-wordmark{width:154px;height:auto}.workspace-header .breadcrumb{display:none}}

/* Shared finishing layer. Brand artwork and existing page geometry stay intact. */
.app-shell {
  --polish-edge:rgb(235 243 255 / 14%);
  --polish-top:rgb(255 255 255 / 5%);
  --polish-shadow:inset 0 1px 0 var(--polish-top),0 2px 5px rgb(0 0 0 / 14%),0 12px 28px rgb(0 0 0 / 18%);
  --polish-field:linear-gradient(160deg,#1c2026,#13161c 78%);
  --polish-raised:linear-gradient(150deg,rgb(255 255 255 / 3%),transparent 60%);
  --white-edge:var(--polish-edge);
  --white-edge-shadow:var(--polish-shadow);
  --card-sh:var(--polish-shadow);
  --card-border:var(--cf-border);
}
.app-shell[data-zwt=light] {
  --polish-edge:rgb(44 62 86 / 17%);
  --polish-top:rgb(255 255 255 / 90%);
  --polish-shadow:inset 0 1px 0 var(--polish-top),0 2px 5px rgb(35 52 76 / 3%),0 12px 28px rgb(35 52 76 / 7%);
  --polish-field:linear-gradient(155deg,#fff,#f0f3f7);
  --polish-raised:linear-gradient(150deg,rgb(255 255 255 / 65%),transparent 70%);
  --white-edge:var(--polish-edge);
  --white-edge-shadow:var(--polish-shadow);
}
.app-shell :is(.home-glass,.mobile-decision,.mobile-anna,.mobile-install-row,.receipt-inspector,.receipt-list,.customer-list,.customer-detail,.mobile-customer-detail,.approval-queue,.mode-rack,.install-sheet,.backend-card,.backend-panel,.business-card,.glass-card) {
  border-color:var(--polish-edge);
  box-shadow:none;
}
.app-shell :is(.home-deltas>button,.decision-mini-metric,.home-outcomes>button) {
  border-color:var(--polish-edge);
  box-shadow:none;
}
.app-shell :is(.home-composer,.assistant-form,.phone-ask.original-composer) {
  box-sizing:border-box;
  border:1px solid var(--polish-edge);
  background:var(--cf-surface);
  box-shadow:none;
  color:var(--ink);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.app-shell .home-composer {min-height:56px;border-radius:28px;padding:5px 7px 5px 18px;gap:12px;}
.app-shell .home-composer>span:nth-child(2) {flex:1;min-width:0;text-align:left;font-size:1rem;}
.app-shell .home-composer .compose-arrow {display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:var(--primary);color:var(--on-primary);box-shadow:none;}
.app-shell.mobile-app .phone-ask.original-composer {
  display:flex;flex-direction:row;align-items:center;gap:8px;flex:none;
  min-height:52px;height:auto;margin:6px 14px 9px;padding:3px 3px 3px 15px;border-radius:26px;
}
.app-shell .assistant-form {display:flex;align-items:center;gap:6px;min-height:56px;padding:5px 5px 5px 16px;border-radius:28px;}
.app-shell.mobile-app .assistant-form {min-height:52px;padding-block:3px;border-radius:26px;}
.app-shell :is(.original-composer,.assistant-form)>textarea {
  display:block;box-sizing:border-box;flex:1;min-width:0;width:100%;
  height:24px;min-height:24px;max-height:96px;padding:1px 0;margin:0;
  border:0;border-radius:0;box-shadow:none;background:transparent;resize:none;
  color:var(--ink);font-weight:400;font-family:inherit;font-size:1rem;line-height:24px;
  overflow-y:auto;overflow-wrap:anywhere;outline:none;
}
.app-shell :is(.original-composer,.assistant-form)>textarea::placeholder {color:var(--ink2);opacity:.85;}
.app-shell :is(.composer-controls,.assistant-controls) {display:flex;align-items:center;gap:2px;flex:none;height:44px;padding:0;}
.app-shell :is(.composer-controls .composer-send,.assistant-controls .send-button) {
  display:grid;place-items:center;flex:none;box-sizing:border-box;width:44px;height:44px;min-height:44px;
  padding:12px;margin:0;border:4px solid transparent;border-radius:50%;
  background:var(--primary);background-clip:padding-box;color:var(--on-primary);
  box-shadow:none;cursor:pointer;
}
.app-shell .assistant-controls .icon-button {width:44px;height:44px;padding:12px;flex:none;}
.app-shell :is(.composer-send,.send-button,.assistant-controls .icon-button) svg {display:block;width:18px;height:18px;stroke-width:1.8;}
.app-shell :is(.phone-ask.original-composer,.assistant-form):focus-within {outline:2px solid var(--accent-ink);outline-offset:2px;border-color:transparent;}
.app-shell :is(button,a,input,textarea,summary):focus-visible {outline:2px solid var(--accent-ink);outline-offset:3px;}
.app-shell :is(.original-composer,.assistant-form)>textarea:focus-visible {outline:none;}
.app-shell :is(.composer-send,.send-button):disabled {opacity:.38;cursor:default;}
.app-shell .assistant-context {display:block;min-height:18px;padding:0 22px 4px;color:var(--ink3);font-size:.75rem;line-height:1.5;}
.app-shell .assistant-panel .conversation {scrollbar-gutter:stable;}
.app-shell .message {box-shadow:none;border-color:var(--line2);}
.app-shell .message p {font-size:1rem;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap;}
.app-shell .message-more {margin-top:8px;}
.app-shell .message-more summary {display:list-item;width:fit-content;min-height:44px;padding:10px 3px;color:var(--accent-ink);font-size:.875rem;line-height:24px;cursor:pointer;}
.app-shell .message-more p {margin-top:4px;}
.app-shell .home-feed {overflow:hidden;text-overflow:ellipsis;}
.app-shell .home-feed span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.app-shell svg {flex-shrink:0;}
.app-shell :where(#main-workspace) {flex-direction:column;}
.app-shell :where(#main-workspace)>.preview-flag {flex:none;width:100%;height:auto;box-sizing:border-box;}
@media(hover:hover) {
  .app-shell :is(.home-composer,.phone-ask.original-composer,.assistant-form):hover {border-color:var(--line3);}
  .app-shell :is(.home-deltas>button,.backend-card button,.customer-list button):hover {background-color:var(--accent-soft);}
}
@media(max-width:760px) {
  .app-shell .home-composer {min-height:52px;border-radius:26px;}
  .app-shell .assistant-form {margin-inline:14px;}
  .app-shell .assistant-context {padding-inline:18px;}
  .app-shell.mobile-app .phone-content>main {min-height:0;}
  .app-shell.mobile-app .original-home .home-approval-buttons button {min-height:44px;height:44px;}
  .app-shell.mobile-app .mobile-home.original-home {overflow-y:auto;grid-template-rows:minmax(94px,1fr) 73px minmax(118px,auto) 53px minmax(58px,auto);}
  .app-shell.mobile-app .original-home .home-decision-title {flex-shrink:0;}
}
@media(max-width:760px) and (max-height:700px) {
  .app-shell.mobile-app .mobile-home.original-home {grid-template-rows:94px 73px minmax(118px,auto) 53px minmax(58px,auto);}
}
@media(prefers-reduced-motion:reduce) {
  .app-shell :is(.home-composer,.assistant-form,.phone-ask,.composer-send,.send-button,.glass-card,.home-glass) {transition:none;animation:none;}
}

/* One optical edge treatment across main pages and the tools under More. */
.app-shell {
  --polish-edge:rgb(220 232 249 / 30%);
  --polish-top:rgb(255 255 255 / 52%);
  --polish-shadow:inset 0 1px .5px var(--polish-top),inset 1px 0 .5px rgb(219 237 255 / 12%),inset -1px 0 .5px rgb(245 224 255 / 12%),0 3px 8px rgb(0 0 0 / 18%),0 16px 32px rgb(0 0 0 / 20%);
}
.app-shell[data-zwt=light] {
  --polish-edge:rgb(65 85 115 / 22%);
  --polish-top:#fff;
  --polish-shadow:inset 0 1px 1px #fff,inset 1px 0 0 #fff8,0 3px 8px rgb(37 54 83 / 5%),0 16px 32px rgb(37 54 83 / 9%);
}
.app-shell :is(.glass-card:not([aria-hidden=true]),.crm-panel,.crm-card,.biz-card,.biz-stat,.anna-panel,.anna-playbooks>article,.growth-card,.analytics-cards>article,.backend-row,.activity-map-card,.activity-detail,.activity-overview,.activity-stream,.customer-preview,.money-attribution,.dispatch-column,.approval-state-card,.backend-tool-grid>button,.tools-grid>button,.crm-tool-grid>button,.decision-panel,.schedule-panel,.outcomes,.anna-stage,.prism-home-card,.trust-card) {
  border:1px solid var(--polish-edge);box-shadow:none;
}
.app-shell :is(.page-live,.page-money,.page-day){display:flex!important;flex-direction:column;align-items:stretch;}
.app-shell .page-live .live-lanes {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;}
.app-shell :is(.workflow-quicknav,.ledger-page-tabs){position:sticky!important;top:0!important;z-index:8;}
.app-shell .workflow-quicknav [role=tablist]{overflow-x:auto;scrollbar-width:none;}
.app-shell .workflow-quicknav [role=tab]{min-height:44px!important;}
.app-shell :is(.approval-tabs,.ledger-page-tabs){display:flex;gap:4px;flex:none;padding:4px;border:1px solid var(--line2);border-radius:24px;background:var(--seg);}
.app-shell :is(.approval-tabs,.ledger-page-tabs)>button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;min-height:44px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--ink3);font-family:inherit;font-size:.875rem;line-height:1.2;font-weight:500;padding:8px 12px;cursor:pointer;}
.app-shell :is(.approval-tabs,.ledger-page-tabs)>button[aria-pressed=true]{background:var(--card);color:var(--ink);border-color:var(--polish-edge);box-shadow:none;}
.app-shell .approval-tabs button>span{font-size:.75rem;color:var(--ink3);}
.app-shell .ledger-page-tabs{margin:16px 24px 0;max-width:680px;}
.app-shell .activity-page .activity-stream{padding:22px;border-radius:24px;}
.app-shell .activity-page>.activity-detail{margin-top:20px;border-radius:24px;padding:24px;}
.app-shell .activity-archive-back{display:none;}
.app-shell .backend-approvals .backend-approval-card{gap:16px;min-height:300px;touch-action:pan-y;user-select:none;transition:transform 120ms ease;}
.app-shell .backend-approval-card[data-dragging=true]{transition:none;}
.app-shell .backend-approval-card h2{display:block;-webkit-line-clamp:unset;font-size:24px;line-height:1.2;flex:none;}
.app-shell .approval-readable{overflow-y:auto;min-height:0;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;}
.app-shell .approval-eli5 .eyebrow{font-size:10px;letter-spacing:.12em;color:var(--accent-ink);}
.app-shell .approval-eli5 p{font-size:16px;line-height:1.5;color:var(--ink2);margin:8px 0 0;}
.app-shell .backend-approval-facts{display:flex;flex-direction:column;gap:14px;overflow:visible;max-height:none;mask-image:none;flex:none;}
.app-shell .backend-approval-facts>div{display:block;}
.app-shell .backend-approval-facts span{display:block;text-transform:none;font-size:12px;color:var(--ink3);margin-bottom:4px;}
.app-shell .backend-approval-facts strong{display:block;text-align:left;-webkit-line-clamp:unset;font-size:15px;line-height:1.45;font-weight:450;white-space:pre-wrap;color:var(--ink);}
.app-shell .approval-original{border-top:1px solid var(--line2);padding-top:8px;}
.app-shell .updates-intro{font-size:13px;line-height:1.65;color:var(--ink3);margin:0;flex:none}.app-shell .updates-back{align-self:flex-start;flex:none}
.app-shell .updates-groups{display:grid;gap:24px}.app-shell .updates-group{border:1px solid var(--line2);border-radius:20px;background:var(--card);padding:18px 22px}.app-shell .updates-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px}.app-shell .updates-group h2{margin:0;font-size:16px;font-weight:500}.app-shell .updates-group>header>span{font-size:11px;color:var(--ink3)}
.app-shell .update-row{font:inherit;background:none;border:0;border-top:1px solid var(--line2);color:var(--ink);display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;text-align:left;cursor:pointer}.app-shell .update-row>div{display:grid;gap:5px;min-width:0}.app-shell .update-row strong{font-size:14px;font-weight:500;line-height:1.4}.app-shell .update-row>div>span{font-size:12px;color:var(--ink3)}.app-shell .update-open{font-size:12px;white-space:nowrap;color:var(--ink3)}.app-shell .update-row:hover strong{color:var(--accent-ink)}.app-shell .update-row:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:6px}
.app-shell .backend-approval-card[data-update=true]{min-height:0;user-select:text}.app-shell .update-preview{border-top:1px solid var(--line2);padding-top:14px}.app-shell .update-preview h3{font-size:13px;font-weight:500;color:var(--ink3);margin:0 0 8px}.app-shell .update-preview p{font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;user-select:text}.app-shell .update-preview-empty{font-size:13px;color:var(--ink3)}
@media(max-width:600px){.app-shell .updates-group{padding:14px}.app-shell .update-row{padding:14px 0;gap:10px}.app-shell .update-row strong{font-size:13px}}
.app-shell .approval-original summary{min-height:44px;cursor:pointer;font-size:13px;line-height:1.4;padding-block:12px;color:var(--ink3);}
.app-shell .approval-original :is(pre,p){font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;}
.app-shell .approval-swipe-label{position:absolute;inset:16px 16px auto;text-align:center;padding:12px;border-radius:16px;background:var(--card);box-shadow:none;border:1px solid var(--polish-edge);font-size:15px;font-weight:600;pointer-events:none;z-index:6;}
.app-shell .approval-swipe-hint{flex:none;font-size:11px;line-height:1.4;text-align:center;color:var(--ink3);margin:0;}
.app-shell .backend-confirm{max-height:calc(100dvh - 40px);overflow-y:auto;}
.app-shell .backend-confirm h2{font-size:27px;line-height:1.2;}
.app-shell .backend-confirm>p{font-size:16px;line-height:1.5;}
.app-shell .backend-confirm dl{font-size:14px;line-height:1.5;}
.app-shell .backend-confirm dd{margin:3px 0 16px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);}
.app-shell .backend-confirm dt{color:var(--ink3);font-size:12px;}
.app-shell .approval-confirm-next{padding:12px 14px;border-radius:14px;background:var(--inset);}
.app-shell .approval-modify{display:flex;flex-direction:column;gap:10px;margin-block:16px;}
.app-shell .approval-modify textarea{box-sizing:border-box;min-width:0;width:100%;padding:12px 14px;resize:vertical;min-height:96px;border:1px solid var(--polish-edge);border-radius:16px;background:var(--inset);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;}
.app-shell .approval-modify :is(span,small){color:var(--ink3);font-size:12px;line-height:1.5;}
.app-shell .approval-modification-saved{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--polish-edge);border-radius:20px;box-shadow:none;background:var(--card);}
.app-shell .approval-modification-saved p{margin:0;white-space:pre-wrap;font-size:14px;}
.app-shell .approval-modification-saved small{font-size:12px;color:var(--ink3);}
.app-shell .message-eli5{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;padding:8px 12px;border-radius:16px;border:1px solid var(--line2);background:var(--glass);color:var(--accent-ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
.app-shell .message-eli5>span{font-weight:400;color:var(--ink3);}
.app-shell .approval-state-card.approval-alternative{overflow-y:auto;justify-content:flex-start;}
@media(max-width:760px){
  .app-shell .ledger-page-tabs{margin:10px 14px 0;}
  .app-shell .activity-page .activity-stream{padding:16px;}
  .app-shell.mobile-app .backend-approvals{gap:10px;overflow-y:auto;overflow-x:hidden;}
  .app-shell.mobile-app .backend-approval-card{min-height:260px;flex:1;}
  .app-shell.mobile-app .backend-approval-actions{gap:8px;flex-wrap:wrap;}
  .app-shell.mobile-app .backend-approval-actions>button{min-height:44px;font-size:13px;padding:8px 12px;}
  .app-shell.mobile-app .backend-approval-actions>.secondary-button{flex-basis:100%;}
  .app-shell.mobile-app .backend-approvals>header>div{min-width:0;}
  .app-shell.mobile-app .backend-approvals>header h1{overflow-wrap:anywhere;}
  .app-shell.mobile-app .backend-approvals>footer{min-height:44px;height:auto;}
  .app-shell.mobile-app .backend-approvals>footer .icon-button{min-height:44px;height:44px;}
}
@media(prefers-reduced-motion:reduce){.app-shell .backend-approval-card{transition:none!important;}}
.app-shell .approval-slot{display:grid;gap:12px;margin-block:18px;}
.app-shell .approval-slot label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink3);}
.app-shell .approval-slot input{min-width:0;width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--polish-edge);background:var(--inset);color:var(--ink);font-size:16px;}
.summary-heading { margin: 24px 0 12px; }
.summary-heading h2 { font-size: 16px; }
.summary-heading h2 small { font-size: 12px; color: var(--ink3); font-weight: 400; }
.home-summary-settings,.home-summary-detail { margin: 16px 0; padding: 22px; border-radius: 22px; color: var(--ink); min-width: 0; }
.home-summary-settings header,.home-summary-detail header,.home-summary-settings footer,.home-summary-detail footer { display: flex; gap: 12px; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.home-summary-settings header h2,.home-summary-detail header h2 { margin: 5px 0 0; font-size: 22px; letter-spacing: -.035em; }
.home-summary-settings p,.home-summary-detail p { margin: 12px 0; font-size: 14px; line-height: 1.55; }
.home-summary-settings label { display: grid; gap: 8px; color: var(--ink2); font-size: 13px; }
.home-summary-settings input,.home-summary-settings select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: var(--surface, var(--card)); color: var(--ink); font: inherit; font-size: 16px; }
.home-summary-settings label small { display: inline; color: var(--ink3); }
.home-summary-slots { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.home-summary-slots>div { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); box-shadow: none; }
.home-summary-terms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.home-summary-settings details,.home-summary-detail details { margin: 16px 0; border-block: 1px solid var(--line); padding: 3px 0; }
.home-summary-settings summary,.home-summary-detail summary { cursor: pointer; padding: 12px 0; min-height: 44px; font-size: 14px; }
.home-summary-note,.home-summary-detail footer small { color: var(--ink3); font-size: 12px !important; }
.home-summary-error { color: var(--red-ink,var(--cf-negative)); }
.home-summary-records article { display: flex; gap: 14px; justify-content: space-between; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.home-summary-records article>div { min-width: 0; }
.home-summary-records strong,.home-summary-records small { display: block; overflow-wrap: anywhere; }
.home-summary-records small { color: var(--ink3); margin-top: 5px; line-height: 1.4; }
.home-summary-records time { white-space: nowrap; color: var(--ink3); font-size: 12px; }
.home-summary-empty { padding: 15px; border-radius: 14px; background: var(--card); font-size: 14px; line-height: 1.5; }
.home-deltas button>span { white-space: normal; line-height: 1.15; overflow-wrap: anywhere; }
.home-return header .eyebrow { min-width: 0; }
@media(max-width:700px) {
  .home-summary-settings,.home-summary-detail { padding: 18px; }
  .home-summary-slots { grid-template-columns: 1fr; }
  .home-summary-slots>div { grid-template-columns: 1fr 1fr; }
  .home-summary-terms { grid-template-columns: 1fr; }
  .home-summary-settings footer>button { width: 100%; justify-content: center; }
}
.app-shell.mobile-app .mobile-home.original-home[data-summary-open=true] { height: auto; min-height: 100%; display: flex; flex-direction: column; overflow: visible; }
.mobile-home.original-home[data-summary-open=true]>* { flex-shrink: 0; }
.original-home[data-summary-open=true] .home-presence { height: 165px; flex-shrink: 0; }
.original-home[data-summary-open=true] .home-return { min-height: 73px; }
.original-home[data-summary-open=true] .home-priority-grid { min-height: 112px; }
.original-home[data-summary-open=true] .home-summary-detail,.original-home[data-summary-open=true] .home-summary-settings { height: auto; min-height: min-content; }
.app-shell.mobile-app[data-home=true] .screen-body:has(.original-home[data-summary-open=true]) { overflow-y: auto !important; overflow-x: hidden !important; }
.app-shell.mobile-app .mobile-home.original-home { grid-template-rows: minmax(94px,1fr) 83px 112px 53px 58px; }
.original-home .home-deltas>button { height: 46px; min-height: 46px; justify-content: center; }
.original-home[data-summary-open=true] .home-return { min-height: 83px; }

/* v4 desktop shell — every rule is scoped under .v4-app so the classic desktop, preview and mobile UIs are untouched.
   Tokens are the v4 mockup's themeVars() sets, moved from an inline rootStyle object into CSS so the theme flips
   with one data-theme attribute and the page lanes inherit the same palette. Fonts are system-only (CSP: self + Supabase). */
.v4-app{
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,"Helvetica Neue",sans-serif;
  --bg:var(--cf-canvas);--sidebar:#f5f5f7;--panel:var(--cf-surface);--panel-2:#fafafc;--line:var(--cf-border);--line-soft:#f0f0f0;
  --fg:var(--cf-text);--fg-2:var(--cf-muted);--fg-3:var(--cf-subtle);--chip:#f5f5f7;--hover:var(--cf-hover);--nav-active:#ececee;--seg-off:#e6e6e8;
  --accent:#0066cc;--accent-tint:#f5f5f7;--accent-line:rgba(0,102,204,.22);--accent-ink:var(--cf-focus);--on-accent:#ffffff;
  --btn-bg:#1d1d1f;--btn-fg:#ffffff;--shadow:rgba(0,0,0,.06);--shadow-lg:rgba(0,0,0,.18);--sheet-scrim:rgba(22,22,28,.30);
  --danger:#b3261e;
  font-family:var(--font);color:var(--fg);background:var(--bg);
  display:flex;height:100vh;width:100%;overflow:hidden;-webkit-font-smoothing:antialiased;
  transition:background 120ms ease,color 120ms ease;
}
/* Some page roots repeat the shell's class ("premium-shell v4-app": Payments, Reputation, Automations, Command, Platform
   and the setup card). In the classic look such a nested .v4-app is a page in the content flow, not the shell, so it
   drops the shell's flex row, 100vh height and clipping, which squeezed its blocks into columns and cut off the rest
   (UX sweep 3 S1). The next look lays these roots out in its own sheets and is left alone. */
.v4-app[data-theme="dark"]{
  --bg:var(--cf-canvas);--sidebar:#1d1d1f;--panel:var(--cf-surface);--panel-2:#242426;--line:var(--cf-border);--line-soft:rgba(255,255,255,.07);
  --fg:var(--cf-text);--fg-2:var(--cf-muted);--fg-3:var(--cf-subtle);--chip:rgba(255,255,255,.08);--hover:var(--cf-hover);--nav-active:rgba(255,255,255,.10);--seg-off:rgba(255,255,255,.14);
  --accent:#2997ff;--accent-tint:rgba(41,151,255,.14);--accent-line:rgba(41,151,255,.32);--accent-ink:var(--cf-focus);--on-accent:#ffffff;
  --btn-bg:#f5f5f7;--btn-fg:#1d1d1f;--shadow:rgba(0,0,0,.5);--shadow-lg:rgba(0,0,0,.7);--sheet-scrim:rgba(0,0,0,.6);
  --danger:#ff453a;
}
.v4-app *{box-sizing:border-box;}
.v4-app button,.v4-app input,.v4-app textarea{font-family:inherit;}
.v4-app a{color:var(--accent);text-decoration:none;}
.v4-app .v4-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);transition:background 120ms ease;}
/* NAV-SPEED: the frame between a nav click and the new page's render (shell-model.js v4GoingMark). */
.v4-app .v4-main[data-v4-going]{cursor:progress;box-shadow:none;}
.v4-app .v4-main[data-v4-going]>:not(.v4-workspace-header){opacity:.45;transition:opacity 120ms ease;pointer-events:none;}
.v4-app ::selection{background:var(--accent-tint);}
.v4-app ::-webkit-scrollbar{width:10px;height:10px}
.v4-app ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--cf-surface) 32%,transparent);border-radius:8px;border:2px solid transparent;background-clip:content-box}
.v4-app ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--cf-surface) 50%,transparent);background-clip:content-box}
.v4-app ::-webkit-scrollbar-track{background:transparent}
.v4-app :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;}
/* Anna's status is decorative; the action buttons are not. Drop it before anything clips. */
@media (max-width:1180px){.v4-app [data-anna-status]{display:none !important}}
/* Keyframe names are global; verified against every existing src/*.css — none of these collide. */
@keyframes xpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}
@keyframes xrise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes xfade{from{opacity:0}to{opacity:1}}
@keyframes xtyping{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes xfill{from{width:0}to{width:100%}}
@keyframes xpop{0%{opacity:0;transform:scale(.82)}62%{transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes xspin{to{transform:rotate(360deg)}}
@keyframes xping{75%,100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion: reduce){
  .v4-app *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}

/* Shared Settings motion preference applies to the full desktop layout too. */
.v4-app[data-motion=false],.v4-app[data-motion=false] *,.v4-app[data-motion=false] *::before,.v4-app[data-motion=false] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* The same workspace navigation becomes a drawer; wide-screen chrome is unchanged. */
.v4-app .v4-navigation-toggle,.v4-app .v4-navigation-close{display:none}.v4-app .v4-menu-landmark{display:contents}
.v4-app .v4-navigation-scrim{position:fixed;inset:0;z-index:139;background:var(--sheet-scrim);border:0;cursor:pointer}
@media(max-width:760px){
  .v4-app .v4-sidebar{display:none!important;position:fixed;inset:0 auto 0 0;height:100dvh;width:min(320px,calc(100vw - 32px));max-width:calc(100vw - 32px);z-index:140;box-shadow:none}
  .v4-app[data-mobile-nav-open="true"] .v4-sidebar{display:flex!important}
  .v4-app .v4-main{width:100%;max-width:100%;margin-left:0;min-width:0}
  .v4-app .navigation-resize,.v4-app .v4-sidebar .sidebar-toggle{display:none}
  .v4-app .v4-navigation-toggle,.v4-app .v4-navigation-close{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 12px;font:inherit;font-size:14px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:9px;cursor:pointer;flex:none}
  .v4-app .v4-navigation-close{justify-content:space-between;margin-bottom:12px}
  .v4-app .v4-sidebar button{min-height:44px;min-width:44px}
  .v4-app .v4-sidebar .sidebar-link{min-height:44px;font-size:14px!important}
  .v4-app .v4-workspace-header{flex-wrap:wrap;padding:8px 12px;gap:8px!important}
  .v4-app .v4-workspace-header button{min-height:44px;min-width:44px}
}
/* Skip link (QA F5): the first Tab stop, visible only while focused; it jumps past the navigation and top bar to the page. */
.v4-app .v4-skip-link{position:fixed;top:8px;left:12px;z-index:1000;transform:translateY(-200%);background:var(--btn-bg);color:var(--btn-fg);border-radius:9px;padding:10px 14px;font-size:13px;font-weight:650;text-decoration:none}
.v4-app .v4-skip-link:focus,.v4-app .v4-skip-link:focus-visible{transform:none;outline:2px solid var(--accent);outline-offset:2px}
/* QA F13/F15: Install app is a labelled button on wide screens, an icon in a tight top bar (next look), and
   leaves the phone top bar entirely (it lives in the account menu, behind More on a phone). */
.v4-app .v4-install-app{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none}
.v4-app .v4-install-app__icon{display:none;flex:none}
@media (max-width:760px){.v4-app .v4-workspace-header>.v4-install-app{display:none!important}}

/* Ported from Codex #866 @89dfb5657 (src/v4/pages/settings.css): confirmed-outcome banner. */
.action-confirmation{position:fixed;bottom:var(--crm-confirmation-clearance,72px);left:50%;transform:translateX(-50%);z-index:2000;display:flex;align-items:flex-start;gap:16px;max-width:min(620px,calc(100vw - 40px));box-sizing:border-box;padding:14px 18px;background:var(--panel);color:var(--fg);border:1px solid var(--accent);border-radius:12px;box-shadow:none}
.action-confirmation>div{display:flex;flex-direction:column;gap:5px}
.action-confirmation strong{font-size:12px}
.action-confirmation span{font-size:12px;line-height:1.5}
.action-confirmation button{min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;font-size:20px;color:var(--fg);cursor:pointer;padding:0 3px}
.action-confirmation[data-kind="error"]{border-color:var(--danger,var(--cf-border))}
@media(max-width:600px){.action-confirmation{bottom:var(--crm-confirmation-clearance,198px);width:calc(100vw - 32px)}}

.agency-banner{margin-top:20px;padding:10px 14px;border-radius:10px;background:var(--bg-2,var(--cf-surface));font-size:13px;max-width:760px}
.agency-banner-bad{background:var(--cf-surface);color:var(--cf-negative)}
.agency-muted{font-size:13px;color:var(--fg-3);margin-top:16px}
.agency-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,var(--cf-border));max-width:820px}
.agency-name{flex:1;min-width:160px;font-weight:650}
.agency-cell{font-size:13px;color:var(--fg-2)}
.agency-btn{font:inherit;font-size:12.5px;padding:6px 12px;border-radius:8px;border:1px solid var(--line,var(--cf-border));background:transparent;cursor:pointer}
.agency-btn-bad{border-color:var(--cf-border);color:var(--cf-negative)}
.agency-page{padding:44px 44px 60px;max-width:1060px;width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere}
.agency-page h1{font-size:40px;letter-spacing:-.035em;margin:12px 0}.agency-page h2{font-size:21px;margin:0 0 10px}.agency-page section{margin-top:32px}.agency-page p{line-height:1.5}
.agency-page .agency-muted{margin-top:5px}.agency-counts{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--fg-2)}
.agency-client{border:1px solid var(--line);border-radius:12px;padding:0 16px;margin:14px 0}.agency-client .agency-row:last-child{border-bottom:0}.agency-staff .agency-name{overflow-wrap:anywhere;font-size:13px}
.agency-confirm{padding:16px 0;overflow-wrap:anywhere}.agency-confirm .agency-btn{margin-right:8px;margin-bottom:8px}.agency-month{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);padding:8px;border-radius:8px}
.agency-statement{width:100%;max-width:820px;border-collapse:collapse;font-size:14px;table-layout:fixed}.agency-statement th,.agency-statement td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.agency-statement th:first-child{width:45%}
.agency-page .agency-name{overflow-wrap:anywhere}.agency-btn{color:var(--fg)}.agency-btn-bad{color:var(--danger,var(--cf-negative))}.agency-btn:disabled{opacity:.5;cursor:default}.agency-btn:focus-visible,.agency-month:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.agency-page{padding:24px 16px 40px}.agency-page h1{font-size:30px}.agency-business .agency-name{flex-basis:100%}.agency-counts{flex-basis:100%;gap:8px}.agency-client{padding:0 12px}.agency-statement th,.agency-statement td{padding:9px 5px;font-size:12px}.agency-page .agency-name{min-width:0}.agency-confirm .agency-btn{width:100%;margin-right:0}}
@media(max-width:600px){.agency-page .agency-row>*{max-width:100%;box-sizing:border-box}.agency-page .agency-row label{min-width:0;flex-basis:100%}.agency-month{width:100%;min-width:0}.agency-page .agency-btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}.agency-statement th,.agency-statement td{white-space:normal}}
@media(max-width:760px){.agency-page .agency-btn{min-height:44px;min-width:44px;font-size:14px}.agency-page .agency-month{min-height:44px}.agency-statement th,.agency-statement td{font-size:14px}}
@media(max-width:600px){.agency-client .agency-row>.agency-name{flex-basis:100%}}
.agency-brand-form{display:grid;gap:12px;max-width:560px;margin-top:16px}.agency-brand-form label{display:grid;gap:6px}.agency-brand-form input{box-sizing:border-box;width:100%;min-height:44px;padding:8px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit}.agency-brand-form .agency-btn{justify-self:start}

.agency-brand-preview{border:3px solid;border-radius:10px;padding:16px;overflow-wrap:anywhere}.agency-brand-preview img{display:block;max-width:180px;max-height:80px;object-fit:contain;margin-top:12px}.agency-brand-preview h3{margin:12px 0 6px}.agency-brand-preview p{margin:0}
/* R1/N11 (sweep 2): the placeholder while discovery decides between Businesses and Home (agencyWaiting). The status
   line is read out but takes no room; the blocks are inert shapes that are replaced, never moved. */
.agency-wait .agency-wait-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.agency-wait :is(.agency-wait-head,.agency-wait-block){border-radius:16px;background:var(--panel-2,color-mix(in srgb,var(--cf-surface) 12%,transparent))}
.agency-wait .agency-wait-head{height:96px;max-width:420px}
.agency-wait .agency-wait-block{height:240px;margin-top:32px}

/* v4 automations page — scoped under .v4-app per the v4 build contract. */
.v4-app .automations-btn-ghost,.v4-app .automations-btn-solid{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;font-family:inherit;border-radius:11px;padding:11px 16px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--fg);}
.v4-app .automations-btn-solid{border:none;background:var(--accent);color:var(--on-accent);}
.v4-app .automations-btn-ghost:disabled,.v4-app .automations-btn-solid:disabled{opacity:.6;cursor:default;}
.v4-app .automations-tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:none;}
.v4-app .automations-tile-accent{background:var(--accent-tint);border-color:var(--accent-line);}
.v4-app .automations-tile-label{font-size:12px;color:var(--fg-3);}
.v4-app .automations-tile-value{font-family:var(--font);font-size:29px;font-weight:600;margin-top:8px;}
.v4-app .automations-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:none;}
.v4-app .automations-flow-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;color:var(--fg-2);background:var(--chip);border-radius:8px;padding:6px 10px;}
.v4-app .automations-flow-tag{font-size:9px;text-transform:uppercase;letter-spacing:.06em;opacity:.7;font-weight:700;}
.v4-app .automations-mini-chip{font-family:var(--font);font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--fg-2);background:var(--chip);border-radius:5px;padding:3px 7px;}
.v4-app .automations-build-tile{border:1.5px dashed var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;cursor:pointer;min-height:150px;}
.v4-app .automations-build-icon{width:40px;height:40px;border-radius:12px;background:var(--accent-tint);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;}
.v4-app .automations-empty{margin-top:16px;background:var(--panel);border:1px dashed var(--line);border-radius:18px;padding:34px;text-align:center;font-size:13px;color:var(--fg-3);}
.v4-app .automations-banner-ok{margin-top:16px;display:flex;align-items:center;gap:12px;background:var(--accent-tint);border:1px solid var(--accent-line);color:var(--fg);border-radius:12px;padding:12px 16px;font-size:13px;}
.v4-app .automations-banner-bad{margin-top:16px;background:color-mix(in srgb,var(--cf-surface) 10%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 28%,transparent);color:var(--cf-negative);border-radius:12px;padding:12px 16px;font-size:13px;}
.v4-app .automations-banner-x{margin-left:auto;background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;font-size:12px;font-family:inherit;}
.v4-app .automations-overlay{position:fixed;inset:0;background:var(--sheet-scrim,color-mix(in srgb,var(--cf-canvas) 40%,transparent));display:flex;align-items:center;justify-content:center;z-index:60;padding:20px;}
.v4-app .automations-modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;width:100%;max-width:440px;box-shadow:none;}
.v4-app .automations-field-label{display:block;font-size:11px;font-weight:650;color:var(--fg-3);text-transform:uppercase;letter-spacing:.05em;margin-top:14px;margin-bottom:6px;}
.v4-app .automations-input,.v4-app .automations-textarea{width:100%;font-size:13px;font-family:inherit;color:var(--fg);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-sizing:border-box;}
.v4-app .automations-textarea{margin-top:12px;min-height:90px;resize:vertical;}
/* UI-NEXT hooks (kicker counts, per-workflow run record) are for the new look only; the template engine drops a static
   hidden attribute on elements that carry bindings, so classic hides them here. zz-next-automations.css shows them. */
.v4-app .gbn-auto-kicker,.v4-app .gbn-auto-runs{display:none;}

/* v4 desktop port shares one visual language across pages. This block defines the token
   set the ported v4 mockup used (var(--panel), var(--fg-2)…) scoped under .v4-app so the
   classic desktop, preview and mobile UIs are untouched. It intentionally uses the light
   values from the mockup's own theme map as a safe default; the shell lane may layer a
   live light/dark switch on top of the same token names without conflict. */
.v4-app{
  --bg:var(--cf-canvas);--sidebar:#f5f5f7;--panel:var(--cf-surface);--panel-2:#fafafc;--line:var(--cf-border);--line-soft:#f0f0f0;
  --fg:var(--cf-text);--fg-2:var(--cf-muted);--fg-3:var(--cf-subtle);--chip:#f5f5f7;--hover:var(--cf-hover);--nav-active:#ececee;
  --seg-off:#e6e6e8;--accent:#0066cc;--accent-tint:#f5f5f7;--accent-line:rgba(0,102,204,.22);
  --accent-ink:var(--cf-focus);--on-accent:#ffffff;--btn-bg:#1d1d1f;--btn-fg:#ffffff;
  --shadow:rgba(0,0,0,.06);--shadow-lg:rgba(0,0,0,.16);--danger:#b3261e;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.v4-app .ap-page{padding:44px 44px 60px;max-width:980px;}
.v4-app .ap-eyebrow{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--fg-3);text-transform:uppercase;}
.v4-app .ap-head h1{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:10px 0 0;}
.v4-app .ap-lede{font-size:15px;color:var(--fg-2);margin-top:12px;line-height:1.5;max-width:680px;}
.v4-app .ap-error{font-size:12.5px;color:var(--danger);margin-top:10px;}
.v4-app .ap-done{font-size:12.5px;color:var(--accent-ink);margin-top:10px;}
.v4-app .ap-empty{font-size:12.5px;color:var(--fg-3);padding:10px 0;}
.v4-app .ap-card{margin-top:20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:none;}
.v4-app .ap-card-title{font-size:15px;font-weight:750;letter-spacing:-.01em;}
.v4-app .ap-card-sub{font-size:12.5px;color:var(--fg-3);margin-top:4px;line-height:1.5;}
.v4-app .ap-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.v4-app .ap-modes{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.v4-app .ap-mode-btn{font-size:12.5px;font-weight:650;padding:9px 15px;border-radius:100px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--fg-2);}
.v4-app .ap-mode-btn-on{border-color:var(--fg);background:var(--fg);color:var(--bg);}
.v4-app .ap-confirm{margin-top:14px;background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:12px;padding:14px 16px;font-size:13px;}
.v4-app .ap-confirm-actions{display:flex;gap:8px;margin-top:10px;}
.v4-app .ap-btn-primary{font-size:12.5px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:10px;padding:9px 16px;cursor:pointer;}
.v4-app .ap-btn-primary[disabled]{opacity:.55;cursor:not-allowed;}
.v4-app .ap-btn-ghost{font-size:12.5px;font-weight:600;color:var(--fg-2);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 16px;cursor:pointer;}
.v4-app .ap-btn-tint{font-size:12px;font-weight:650;color:var(--accent-ink);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:9px;padding:8px 13px;cursor:pointer;}
.v4-app .ap-cmd-row{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap;}
.v4-app .ap-input{flex:1;min-width:240px;font-size:13.5px;font-family:inherit;color:var(--fg);background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;outline:none;}
.v4-app .ap-diff{margin-top:14px;background:var(--panel-2);border:1px solid var(--accent-line);border-radius:14px;padding:16px 18px;}
.v4-app .ap-diff-heard{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);}
.v4-app .ap-diff-reply{font-size:13px;color:var(--fg-2);margin-top:6px;line-height:1.5;}
.v4-app .ap-diff-title{font-size:14.5px;font-weight:700;margin-top:10px;}
.v4-app .ap-diff-change{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;font-size:13px;}
.v4-app .ap-strike{color:var(--fg-3);text-decoration:line-through;}
.v4-app .ap-strong{font-weight:650;color:var(--fg);}
.v4-app .ap-diff-where{font-size:11.5px;color:var(--fg-3);margin-top:8px;}
.v4-app .ap-diff-actions{display:flex;gap:9px;margin-top:14px;}
.v4-app .ap-switch-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-3);}
.v4-app .ap-switch{width:38px;height:22px;border-radius:100px;background:var(--seg-off);position:relative;cursor:pointer;flex:none;}
.v4-app .ap-knob{width:18px;height:18px;border-radius:50%;background:var(--panel);position:absolute;top:2px;left:2px;box-shadow:none;}
.v4-app .ap-ladder-group{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px;}
.v4-app .ap-ladder-heading{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);}
.v4-app .ap-ladder-row{padding:10px 0;border-bottom:1px solid var(--line-soft);}
.v4-app .ap-ladder-label{font-size:13.5px;font-weight:650;}
.v4-app .ap-badge{font-family:var(--font);font-size:10.5px;font-weight:600;color:var(--fg-2);background:var(--chip);border-radius:100px;padding:3px 9px;margin-left:8px;}
.v4-app .ap-ladder-sub{font-size:11.5px;color:var(--fg-3);margin-top:3px;}
.v4-app .ap-ladder-note{font-size:11px;color:var(--fg-3);margin-top:4px;}
.v4-app .ap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:20px;}
.v4-app .ap-grid .ap-card{margin-top:0;}
.v4-app .ap-cap-value{font-family:var(--font);font-size:26px;font-weight:600;margin-top:14px;}
.v4-app .ap-cap-label{font-size:12.5px;color:var(--fg-3);font-family:var(--font-body,inherit);}
.v4-app .ap-cap-drive{font-size:11.5px;color:var(--fg-3);margin-top:8px;}
.v4-app .ap-cap-declined{font-size:12px;color:var(--fg-2);margin-top:8px;font-weight:600;}
.v4-app .ap-muted{font-family:var(--font);font-size:12.5px;color:var(--fg-3);font-weight:400;margin-left:8px;}
.v4-app .ap-learned{margin-top:12px;display:flex;flex-direction:column;gap:10px;max-height:250px;overflow-y:auto;}
.v4-app .ap-learned-row{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.v4-app .ap-learned-q{font-size:12.5px;font-weight:650;}
.v4-app .ap-learned-a{font-size:12px;color:var(--fg-3);margin-top:4px;line-height:1.5;}
.v4-app .ap-conn-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line-soft);flex-wrap:wrap;}
.v4-app .ap-conn-main{flex:1;min-width:200px;}
.v4-app .ap-conn-name{font-size:13.5px;font-weight:650;}
.v4-app .ap-conn-detail{font-size:11.5px;color:var(--fg-3);margin-top:3px;line-height:1.5;}
.v4-app .ap-pill{font-family:var(--font);font-size:11px;font-weight:650;padding:4px 10px;border-radius:100px;background:var(--chip);}

.v4-app .ap-trust button:focus-visible,.v4-app .ap-trust input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.v4-app .ap-evidence-count{justify-content:space-between;}
.v4-app .ap-evidence-card button[disabled]{opacity:.55;cursor:not-allowed;}
/* S10: the result of "Ask it to retry", under the connection rows. Empty until a retry runs. */
.v4-app .ap-conn-check{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-2);}
.v4-app .ap-conn-check:empty{margin:0;}
.v4-app .ap-conn-check[data-tone=ok]{color:var(--accent-ink);}
.v4-app .ap-btn-tint:disabled{opacity:.6;cursor:progress;}

.v4-app .br-page{padding:44px 44px 60px;max-width:900px;}
.v4-app .br-eyebrow{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--fg-3);text-transform:uppercase;}
.v4-app .br-page h1{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:10px 0 0;}
.v4-app .br-lede{font-size:15px;color:var(--fg-2);margin-top:10px;max-width:640px;line-height:1.5;}
.v4-app .br-error{font-size:12.5px;color:var(--danger);margin-top:10px;}
.v4-app .br-empty{font-size:12.5px;color:var(--fg-3);padding:8px 0;}
.v4-app .br-card{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:none;}
.v4-app .br-card-title{font-size:15px;font-weight:750;letter-spacing:-.01em;}
.v4-app .br-card-sub{font-size:12.5px;color:var(--fg-3);margin-top:4px;line-height:1.5;}
.v4-app .br-muted{font-family:var(--font);font-size:12.5px;color:var(--fg-3);font-weight:400;margin-left:8px;}
.v4-app .br-graph{display:block;width:100%;height:auto;}
.v4-app .br-sample-note{font-size:11.5px;color:var(--fg-3);margin-top:10px;text-align:center;}
.v4-app .br-learned{margin-top:14px;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;}
.v4-app .br-learned-row{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.v4-app .br-learned-q{font-size:12.5px;font-weight:650;}
.v4-app .br-learned-a{font-size:12px;color:var(--fg-3);margin-top:4px;line-height:1.5;}
.v4-app .br-conn-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--line-soft);}
.v4-app .br-conn-name{flex:1;font-size:13.5px;font-weight:650;}
.v4-app .br-pill{font-family:var(--font);font-size:11px;font-weight:650;padding:4px 10px;border-radius:100px;background:var(--chip);color:var(--fg-2);}
.v4-app .br-btn-tint{font-size:12px;font-weight:650;color:var(--accent-ink);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:9px;padding:8px 13px;cursor:pointer;}
.v4-app .br-proposal-row{padding:13px 0;border-top:1px solid var(--line-soft);}
.v4-app .br-proposal-row:first-of-type{border-top:none;}
.v4-app .br-proposal-name{font-size:13.5px;font-weight:700;}
.v4-app .br-proposal-reason{font-size:12px;color:var(--fg-2);margin-top:4px;line-height:1.5;}
.v4-app .br-proposal-change{font-size:12.5px;color:var(--fg);margin-top:6px;line-height:1.5;font-weight:600;}
.v4-app .br-proposal-evidence{font-size:11.5px;color:var(--fg-3);margin-top:4px;line-height:1.5;}
.v4-app .br-proposal-outcome{font-size:12px;color:var(--fg-3);margin-top:8px;}
.v4-app .br-proposal-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap;}
.v4-app .br-btn-accent{font-size:12px;font-weight:650;color:var(--on-accent, var(--cf-text));background:var(--accent);border:none;border-radius:9px;padding:8px 13px;cursor:pointer;}
.v4-app .br-input{flex:1;min-width:180px;font-size:12px;font-family:inherit;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--fg);box-sizing:border-box;}

.v4-app .br-book-text{font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 10px;color:var(--fg-2);}
.v4-app .br-book-heading{margin-top:20px;}
/* S10: the result of "Ask it to retry", under the connection rows. Empty until a retry runs. */
.v4-app .br-conn-check{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-2);}
.v4-app .br-conn-check:empty{margin:0;}
.v4-app .br-conn-check[data-tone=ok]{color:var(--accent-ink);}
.v4-app .br-btn-tint:disabled{opacity:.6;cursor:progress;}

/* v4 calendar page. Scoped under .v4-app; consumes the theme tokens (--panel, --line, --fg,
   --accent, ...) the v4 shell defines. Ported from the v4 mockup's Calendar screen. */
@keyframes v4fade{from{opacity:0}to{opacity:1}}

/* Next only (zz-next-calendar.css shows it there). The template's hidden attribute does not reach the page, so classic hides it
   here, as deals.css does for its next-only parts (UX sweep 2). */
.v4-app .v4-cal .v4-cal-next-ai{display:none;}
.v4-app .v4-cal-primary-btn{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .v4-cal-primary-btn:disabled{opacity:.55;cursor:default;}

.v4-app .v4-cal-seg{font-size:13px;font-weight:600;color:var(--fg-2);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:9px 14px;cursor:pointer;}
.v4-app .v4-cal-seg[data-on="true"]{background:var(--fg);color:var(--panel);border-color:transparent;}
.v4-app .v4-cal-seg:disabled{opacity:.6;cursor:default;}

.v4-app .v4-cal-nav-btn{font-size:12.5px;font-weight:600;color:var(--fg-2);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:7px 11px;cursor:pointer;}

.v4-app .v4-cal-cell{background:var(--panel-2,var(--panel));border-radius:12px;padding:8px;text-align:center;font-size:12px;font-weight:600;color:var(--fg-2);position:relative;min-height:46px;}
.v4-app .v4-cal-cell[data-in-month="false"]{opacity:.35;}
.v4-app .v4-cal-cell[data-today="true"]{outline:2px solid var(--fg);}
.v4-app .v4-cal-cell[data-density="light"]{background:var(--accent-tint);}
.v4-app .v4-cal-cell[data-density="busy"]{background:var(--accent);color:var(--on-accent);}
.v4-app .v4-cal-cell-count{display:block;font-family:var(--font);font-size:10px;margin-top:4px;}

.v4-app .v4-cal-legend-swatch{width:13px;height:13px;border-radius:4px;flex:none;}
.v4-app .v4-cal-legend-swatch[data-kind="light"]{background:var(--accent-tint);}
.v4-app .v4-cal-legend-swatch[data-kind="busy"]{background:var(--accent);}
.v4-app .v4-cal-legend-swatch[data-kind="today"]{background:var(--fg);}

.v4-app .v4-cal-day{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:14px;padding:14px 10px;text-align:center;box-shadow:none;}
.v4-app .v4-cal-day[data-today="true"]{background:var(--fg);color:var(--bg);border-color:transparent;}
/* Today's weekday sits on the inverted (--fg) ground, so it takes a mix toward --bg instead of --fg-3 (2.3-2.9:1, UX sweep 2 N23). */
.v4-app .v4-cal-day[data-today="true"]{--v4-cal-day-sub:color-mix(in srgb,var(--bg) 72%,var(--fg));}
.v4-app .v4-cal-day-pip{margin-top:8px;font-family:var(--font);font-size:10px;font-weight:700;color:var(--accent-ink);background:var(--accent-tint);border-radius:20px;padding:2px 0;}
.v4-app .v4-cal-day-pip[data-today="true"]{color:var(--on-accent);background:var(--accent);}

.v4-app .v4-cal-agenda-row{display:flex;align-items:center;gap:16px;padding:15px 22px;border-bottom:1px solid var(--line-soft,var(--line));cursor:pointer;transition:background 120ms;}
.v4-app .v4-cal-agenda-row:hover{background:var(--hover);}
.v4-app .v4-cal-agenda-bar{width:3px;align-self:stretch;border-radius:2px;background:var(--accent);}
.v4-app .v4-cal-status-chip{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:color-mix(in srgb,var(--accent-ink) 80%,var(--fg));background:var(--accent-tint);border-radius:6px;padding:2px 7px;flex:none;}
.v4-app .v4-cal-agenda-actions{display:flex;gap:8px;padding:10px 22px;border-bottom:1px solid var(--line-soft,var(--line));background:var(--panel-2,var(--panel));}
.v4-app .v4-cal-mini-btn{font-size:12px;font-weight:600;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;}
.v4-app .v4-cal-mini-btn[data-danger="1"]{color:var(--cf-negative);border-color:color-mix(in srgb,var(--cf-border) 40%,transparent);}
.v4-app .v4-cal-mini-btn:disabled{opacity:.6;cursor:default;}

.v4-app .v4-cal-empty{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;text-align:center;color:var(--fg-3);font-size:13px;}

.v4-app .v4-cal-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);border-radius:10px;padding:10px 16px;font-size:12.5px;box-shadow:none;z-index:40;}
.v4-app .v4-cal-toast[data-kind="error"]{background:var(--cf-surface);color:var(--cf-text);}
.v4-app .v4-cal-field-error{margin-top:12px;font-size:12.5px;line-height:1.4;color:var(--cf-negative);}

.v4-app .v4-cal-modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--cf-canvas) 40%,transparent);display:flex;align-items:center;justify-content:center;z-index:50;}
.v4-app .v4-cal-modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;width:420px;max-width:92vw;max-height:88vh;overflow-y:auto;box-shadow:none;}
.v4-app .v4-cal-field{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;color:var(--fg-3);margin-top:10px;}
.v4-app .v4-cal-field input,.v4-app .v4-cal-field select,.v4-app .v4-cal-field textarea{font-size:13px;font-family:inherit;color:var(--fg);background:var(--panel-2,var(--panel));border:1px solid var(--line);border-radius:9px;padding:8px 10px;}
/* Keep the focus ring on form fields: the global .v4-app :focus-visible outline applies (WCAG 2.4.7). */
/* WebKit never reports :focus-visible on a focused date/time field, so the global ring above never drew there: ring them on :focus too. */
.v4-app .v4-cal input:is([type=date],[type=time],[type=datetime-local]):focus{outline:2px solid var(--accent);outline-offset:2px;}

/* v4 Campaigns page. Tokens (--panel,--line,--fg,--accent,...) are defined by the v4 shell. */
.v4-app .campaigns-page{padding:38px 44px 60px;}
.v4-app .campaigns-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.v4-app .campaigns-head-text{flex:1;min-width:240px;}
.v4-app .campaigns-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .campaigns-sub{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .campaigns-head-actions{display:flex;gap:10px;}
.v4-app .campaigns-btn-primary{font-size:13px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .campaigns-btn-primary:disabled{opacity:.5;cursor:default;}
.v4-app .campaigns-btn-ghost{font-size:13px;font-weight:650;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .campaigns-btn-ghost:disabled{opacity:.5;cursor:default;}
.v4-app .campaigns-btn-ghost[data-on="true"]{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-ink);}
.v4-app .campaigns-alert{color:var(--cf-negative);font-size:13px;margin-top:14px;}
.v4-app .campaigns-notice{color:var(--accent-ink);font-size:13px;margin-top:14px;}
.v4-app .campaigns-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:20px;box-shadow:none;}
.v4-app .campaigns-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.v4-app .campaigns-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--fg-3);}
.v4-app .campaigns-field[data-wide="true"]{grid-column:1/-1;}
.v4-app .campaigns-field input,.v4-app .campaigns-field select,.v4-app .campaigns-field textarea{font:inherit;font-size:13.5px;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);}
.v4-app .campaigns-audience{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);}
.v4-app .campaigns-audience-head{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:650;}
.v4-app .campaigns-audience-search{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.v4-app .campaigns-audience-search input{flex:1;min-width:200px;}
.v4-app .campaigns-audience-search input,.v4-app .campaigns-audience-search select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);color:var(--fg);}
.v4-app .campaigns-audience-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;}
.v4-app .campaigns-audience-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:10px;font-size:13px;}
.v4-app .campaigns-audience-list small{display:block;color:var(--fg-3);font-size:11px;}
.v4-app .campaigns-actions{display:flex;gap:10px;margin-top:18px;}
.v4-app .campaigns-muted{font-size:12px;color:var(--fg-3);margin-top:10px;}
/* The batch card is an ordinary panel with the page's own text colors. It used to invert (--fg ground, --bg text), and the
   classic look repaints panel grounds, which left its text the same color as its ground in Light and Dark (UX sweep 2 N3). */
.v4-app .campaigns-batch{color:var(--fg);}
.v4-app .campaigns-batch-title{font-size:16px;font-weight:750;}
.v4-app .campaigns-batch-note{font-size:12px;color:var(--fg-2);margin-top:2px;}
.v4-app .campaigns-batch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:18px;}
.v4-app .campaigns-batch-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--fg-2);margin-bottom:8px;}
.v4-app .campaigns-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);color:var(--fg);cursor:pointer;margin-bottom:6px;}
.v4-app .campaigns-chip[data-on="true"]{background:var(--accent);border-color:transparent;color:var(--on-accent);}
.v4-app .campaigns-batch-start{margin-top:18px;width:100%;}
.v4-app .campaigns-table-head{display:grid;grid-template-columns:minmax(200px,2fr) 100px 130px 120px 110px;gap:10px;padding:11px 4px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;}
.v4-app .campaigns-row{display:grid;grid-template-columns:minmax(200px,2fr) 100px 130px 120px 110px;gap:10px;padding:13px 4px;border-bottom:1px solid var(--line-soft);align-items:center;font-size:13px;}
.v4-app .campaigns-row-name{font-weight:650;}
.v4-app .campaigns-empty{padding:14px 4px 0;}
.v4-app .campaigns-table-head,.v4-app .campaigns-row{grid-template-columns:minmax(180px,2fr) 90px 120px 110px 100px 110px;}
.v4-app .campaigns-row[data-on="true"]{background:var(--accent-tint);}
.v4-app .campaigns-row-pick{padding:6px 10px;font-size:12px;}
.v4-app .campaigns-run-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.v4-app .campaigns-run-title{font-size:16px;font-weight:750;}
.v4-app .campaigns-run-prep{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:12px;}
.v4-app .campaigns-run-state{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
.v4-app .campaigns-run-pill{font-size:11.5px;font-weight:650;padding:4px 10px;border-radius:999px;background:var(--accent-tint);color:var(--accent-ink);border:1px solid var(--accent-line);text-transform:capitalize;}
.v4-app .campaigns-run-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:14px;}
.v4-app .campaigns-run-count{border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;}
.v4-app .campaigns-run-count-n{font-size:22px;font-weight:750;}
.v4-app .campaigns-run-count-l{font-size:11.5px;color:var(--fg-3);margin-top:2px;}
/* T050 Results tab */
.v4-app .campaigns-tabs,.v4-app .campaigns-results-days{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.v4-app .campaigns-results-status{margin:8px 0 0;}
.v4-app .campaigns-results-currency{font-size:13px;font-weight:700;margin-top:18px;}
.v4-app .campaigns-results-grid{display:grid;grid-template-columns:minmax(140px,1.6fr) repeat(7,minmax(84px,1fr));gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px;overflow-x:auto;}
.v4-app .campaigns-results-head{font-size:11.5px;font-weight:650;color:var(--fg-3);}

/* v4 command page — scoped under .v4-app per the v4 build contract. */
.v4-app .command-tab{font-size:13.5px;font-weight:500;padding:9px 20px;border-radius:980px;cursor:pointer;border:none;background:transparent;color:var(--fg-3);font-family:inherit;}
.v4-app .command-tab-active{font-weight:600;background:var(--accent);color:var(--on-accent);}
.v4-app .command-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--fg-2);background:var(--chip);border-radius:980px;padding:6px 14px;}
.v4-app .command-pill-accent{color:var(--accent-ink);background:var(--accent-tint);}
.v4-app .command-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:none;}
.v4-app .command-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:var(--fg-3);font-weight:600;}
.v4-app .command-eyebrow-note{text-transform:none;letter-spacing:0;font-weight:400;opacity:.85;}
.v4-app .command-bar-track{height:6px;background:var(--seg-off);border-radius:980px;overflow:hidden;margin-top:14px;}
.v4-app .command-bar-fill{height:100%;background:var(--accent);border-radius:980px;}
.v4-app .command-input-label{font-size:10px;color:var(--fg-3);text-transform:uppercase;letter-spacing:1.4px;font-weight:600;margin-bottom:7px;}
.v4-app .command-stepper{display:flex;align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.v4-app .command-stepper-btn{width:30px;height:38px;flex:none;border:none;background:none;color:var(--accent-ink);font-size:18px;cursor:pointer;}
.v4-app .command-stepper-val{flex:1;text-align:center;font-size:15px;font-weight:700;color:var(--fg);}
.v4-app .command-check-row{display:flex;align-items:center;gap:14px;padding:14px 2px;border-bottom:1px solid var(--line-soft);cursor:pointer;user-select:none;}
.v4-app .command-checkbox{width:24px;height:24px;border-radius:50%;flex:none;border:1.5px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;}
.v4-app .command-checkbox-done{border-color:var(--accent);background:var(--accent);}
.v4-app .command-check-label{font-size:14.5px;letter-spacing:-.1px;color:var(--fg);}
.v4-app .command-check-label-done{color:var(--fg-3);text-decoration:line-through;}
.v4-app .command-legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block;}
.v4-app .command-list-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line-soft);}
.v4-app .command-pill-tag{font-size:10px;font-weight:600;color:var(--fg-2);background:var(--seg-off);border-radius:980px;padding:2px 9px;}
.v4-app .command-pill-tag-ready{color:var(--accent-ink);background:var(--accent-tint);}
.v4-app .command-phase{border-radius:14px;padding:19px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid transparent;}
.v4-app .command-phase-active{background:var(--accent-tint);border-color:var(--accent-line);border-left:3px solid var(--accent);}
.v4-app .command-phase-name{font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--fg);}
.v4-app .command-phase-name-active{color:var(--accent-ink);}
.v4-app .command-phase-when{font-size:10px;font-weight:600;color:var(--fg-2);background:var(--seg-off);border-radius:980px;padding:2px 9px;}
.v4-app .command-now-badge{font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--accent-ink);background:var(--accent-tint);border-radius:980px;padding:4px 10px;display:inline-flex;align-items:center;gap:5px;}
.v4-app .command-kpi-tile{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:20px 14px;text-align:center;}
.v4-app .command-kpi-value{font-size:26px;font-weight:700;letter-spacing:-1px;color:var(--fg);}
.v4-app .command-kpi-label{font-size:9.5px;color:var(--fg-3);text-transform:uppercase;letter-spacing:1.4px;font-weight:600;margin-top:8px;}
.v4-app .command-kpi-sub{font-size:10.5px;color:var(--fg-3);margin-top:3px;}
.v4-app .command-playbook-item{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;}
.v4-app .command-playbook-head{display:flex;align-items:center;gap:10px;padding:18px 20px;cursor:pointer;}
.v4-app .command-chev{flex:none;display:flex;color:var(--fg-3);transition:transform 120ms;}
.v4-app .command-chev-open{transform:rotate(90deg);}

/* v4 Companies page — scoped under .v4-app so nothing else is touched. */
.v4-app .v4-companies-page{padding:40px 44px 60px;}
.v4-app .v4-companies-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.v4-app .v4-companies-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .v4-companies-subtitle{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .v4-companies-actions{display:flex;gap:10px;align-items:center;}
.v4-app .v4-companies-search{display:flex;gap:8px;}
.v4-app .v4-companies-notice{color:var(--accent-ink);}
.v4-app .v4-companies-note{color:var(--fg-3);font-size:12px;}
.v4-app .v4-companies-empty{margin-top:20px;padding:24px;border:1px dashed var(--line);border-radius:14px;color:var(--fg-3);}
.v4-app .v4-companies-list{margin-top:26px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:none;}
.v4-app .v4-companies-row{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background 120ms;}
.v4-app .v4-companies-row:hover{background:var(--hover);}
.v4-app .v4-companies-row-name{flex:1;min-width:0;}
.v4-app .v4-companies-row-title{font-size:13.5px;font-weight:650;}
.v4-app .v4-companies-row-segment{font-size:11.5px;color:var(--fg-3);}
.v4-app .v4-companies-row-owner{font-size:12px;color:var(--fg-2);}
.v4-app .v4-companies-row-value{font-family:var(--font);font-size:12.5px;font-weight:600;width:90px;text-align:right;}
.v4-app .v4-companies-detail{margin-top:20px;}
.v4-app .v4-companies-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px;}
.v4-app .v4-companies-linked{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.v4-app .v4-companies-linked li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:10px;}
.v4-app .v4-companies-link-results{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.v4-app .v4-companies-link-results li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:10px;}
.v4-app .v4-companies-added{font-size:11px;color:var(--fg-3);}

/* v4 conversations page. Scoped under .v4-app; consumes the theme tokens (--panel, --line, --fg,
   --accent, ...) the v4 shell defines. Ported from the v4 mockup's inline-styled Conversations
   screen — kept as small utility classes here only where the mockup repeated the same inline
   style across many rows, to keep the markup readable. */
@keyframes v4fade{from{opacity:0}to{opacity:1}}

.v4-app .v4-conv-tab{font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--fg-2);transition:all 120ms;}
.v4-app .v4-conv-tab[data-on="true"]{border-color:transparent;background:var(--fg);color:var(--panel);}

.v4-app .v4-conv-live-banner{display:flex;align-items:center;gap:11px;padding:11px 12px;margin:0 0 8px;border-radius:12px;cursor:pointer;border:1px solid color-mix(in srgb,var(--cf-border) 40%,transparent);background:color-mix(in srgb,var(--cf-text) 8%,transparent);transition:background 120ms;}
.v4-app .v4-conv-live-dot{width:9px;height:9px;border-radius:50%;background:var(--cf-surface);flex:none;animation:v4fade 1s ease-in-out infinite alternate;}

.v4-app .v4-conv-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;cursor:pointer;transition:background 120ms;}
.v4-app .v4-conv-row:hover{background:var(--hover);}
.v4-app .v4-conv-row[data-on="true"]{background:var(--nav-active,var(--hover));}

.v4-app .v4-conv-avatar{width:34px;height:34px;flex:none;border-radius:50%;background:var(--accent-tint);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
.v4-app .v4-conv-avatar[data-lg="1"]{width:40px;height:40px;font-size:14px;}

/* Next only (zz-next-conversations.css shows it there). The template's hidden attribute does not reach the page, so classic hides it
   here, as deals.css does for its next-only parts (UX sweep 2). */
.v4-app .v4-conv .v4-conv-next-count{display:none;}

.v4-app .v4-conv-chip{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-tint);border-radius:6px;padding:2px 7px;flex:none;}
/* On the selected row's grey the faint accent tint left accent text at 4.0:1 (UX sweep 2 N23); the panel color keeps it above 4.5:1. */
.v4-app .v4-conv-row[data-on="true"] :is(.v4-conv-avatar,.v4-conv-chip){background:var(--panel);}

.v4-app .v4-conv-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;}

.v4-app .v4-conv-empty-icon{width:56px;height:56px;border-radius:18px;background:var(--accent-tint);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;}

.v4-app .v4-conv-msg-row{display:flex;}
.v4-app .v4-conv-msg-row[data-inbound="true"]{justify-content:flex-start;}
.v4-app .v4-conv-msg-row[data-inbound="false"]{justify-content:flex-end;}

.v4-app .v4-conv-bubble{max-width:70%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;position:relative;}
.v4-app .v4-conv-bubble[data-inbound="true"]{background:var(--panel);border:1px solid var(--line);color:var(--fg);}
.v4-app .v4-conv-bubble[data-inbound="false"]{background:var(--accent);color:var(--on-accent);}
.v4-app .v4-conv-bubble-time{display:block;font-size:10px;opacity:.65;margin-top:4px;font-family:var(--font);}

.v4-app .v4-conv-suggestion{background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:12px;padding:10px 12px;margin-bottom:10px;}
.v4-app .v4-conv-accept{margin-top:8px;font-size:12px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:9px;padding:6px 11px;cursor:pointer;}

.v4-app .v4-conv-suggest-btn{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--accent-ink);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:9px;padding:6px 11px;cursor:pointer;}
.v4-app .v4-conv-suggest-btn:disabled{opacity:.6;cursor:default;}

.v4-app .v4-conv-input{flex:1;resize:none;border:1px solid var(--line);outline:none;background:var(--panel-2,var(--panel));border-radius:12px;padding:11px 13px;font-size:13.5px;color:var(--fg);font-family:inherit;max-height:120px;line-height:1.4;}
.v4-app .v4-conv-send{width:40px;height:40px;flex:none;border-radius:12px;border:none;background:var(--accent);color:var(--on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.v4-app .v4-conv-send:disabled{opacity:.5;cursor:default;}

.v4-app .v4-conv-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:none;}
.v4-app .v4-conv-summary{background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:16px;padding:18px 20px;margin-top:14px;}
.v4-app .v4-conv-turn{display:flex;align-items:baseline;gap:10px;padding:7px 6px;border-radius:8px;}
.v4-app .v4-conv-turn-speaker{font-size:11px;font-weight:700;color:var(--fg-3);text-transform:uppercase;flex:none;width:64px;}
.v4-app .v4-conv-turn-text{font-size:13px;line-height:1.5;flex:1;}

.v4-app .v4-conv-gated-btn{font-size:12px;font-weight:600;color:var(--fg-3);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 13px;cursor:not-allowed;}

.v4-app .v4-conv-staged{background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:12px;padding:10px 12px;margin-top:6px;}
.v4-app .v4-conv-withdraw{margin-top:8px;font-size:11.5px;font-weight:650;color:var(--fg-2);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 11px;cursor:pointer;}
/* LIVE-STEER (ff.live_call_steer): the live call's transcript, whisper box and the 3-second "about to act" hold. */
.v4-app .v4-conv-steer{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.v4-app .v4-conv-steer-hold{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:var(--accent-tint);border:1px solid var(--accent-line);color:var(--accent-ink);font-size:13px}
.v4-app .v4-conv-steer-stop{flex:none;min-height:36px;padding:0 16px;border-radius:9px;border:none;background:var(--fg);color:var(--panel);font-weight:700;font-size:13px;cursor:pointer}
.v4-app .v4-conv-steer-turns{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:13px;line-height:1.45}
.v4-app .v4-conv-steer-turn b{font-weight:700;margin-right:4px}
.v4-app .v4-conv-steer-turn[data-role=manager] b{color:var(--accent-ink)}
.v4-app .v4-conv-steer-label{display:block;font-size:12px;color:var(--fg-2)}
.v4-app .v4-conv-steer-label textarea{display:block;width:100%;margin-top:4px;min-height:52px}
.v4-app .v4-conv-steer-note{font-size:12px;color:var(--fg-3)}
.v4-app .v4-conv-steer-log{margin:0;padding-left:16px;font-size:12px;color:var(--fg-2)}
.v4-app .v4-conv-steer-log span{color:var(--fg-3)}
.v4-app .v4-conv-steer-error{font-size:12px;color:var(--fg)}
.v4-app .v4-conv-steer button:disabled{opacity:.5;cursor:not-allowed}
.v4-app .v4-conv-withdraw:disabled{opacity:.6;cursor:default;}

.v4-app .v4-conv-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);border-radius:10px;padding:10px 16px;font-size:12.5px;box-shadow:none;z-index:40;}
.v4-app .v4-conv-toast[data-kind="error"]{background:var(--cf-surface);color:var(--cf-text);}

.v4-inbox-workspace{display:flex;flex-direction:column;height:calc(100vh - 64px);min-height:0}.v4-inbox-workspace>.v4-conv{flex:1;height:auto!important;min-height:260px}.v4-inbox-connections{flex:none;max-height:48vh;overflow:auto;padding:0 22px;border-bottom:1px solid var(--line)}.v4-inbox-address{display:grid;gap:6px;margin:0 20px 12px;font-size:11px;color:var(--fg-2)}.v4-inbox-address select{min-width:0;width:100%;box-sizing:border-box;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:9px;padding:9px;font:inherit}.v4-inbox-address select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Keep the exact handback review readable without pushing the conversation away. */
.v4-app .v4-conv-owner{flex:none;max-height:65vh;overflow:auto;padding:12px 24px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}
.v4-app .v4-conv-owner button{margin:4px 4px 4px 0;min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--fg);font:inherit;cursor:pointer}
.v4-app .v4-conv-owner button:disabled{opacity:.6;cursor:default}
.v4-app .v4-conv-owner button.v4-conv-accept{background:var(--fg);color:var(--panel);border-color:transparent;font-weight:650}
.v4-app .v4-handoff-review{margin-top:12px;overflow-wrap:anywhere}
.v4-app .v4-handoff-review p{margin:4px 0 10px}
.v4-app .v4-handoff-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:12px 0;padding:12px;background:var(--panel-2,var(--panel));border:1px solid var(--line);border-radius:12px}
.v4-app .v4-handoff-directions p{margin:3px 0;white-space:pre-wrap;color:var(--fg-2)}
.v4-app .v4-handoff-message{display:grid;gap:6px;font-weight:600}
.v4-app .v4-handoff-message textarea{box-sizing:border-box;width:100%;min-height:80px;font-weight:400;resize:vertical}
.v4-app .v4-conv-owner :is(button,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.v4-app .v4-handoff-review [role="status"]{margin-top:8px;color:var(--fg-2)}
@media(max-width:600px){.v4-app .v4-handoff-directions{grid-template-columns:1fr}.v4-app .v4-conv-owner{padding:12px}.v4-app .v4-conv-owner button{min-height:44px}}

.v4-app .v4-conv-back{display:none}
@media(max-width:767px){
 .v4-app .v4-inbox-workspace>.v4-conv{flex-direction:column}
 .v4-app .v4-conv-list{width:100%!important;min-height:0;flex:1!important}
 .v4-app .v4-conv-thread{width:100%;min-height:0}
 .v4-app .v4-conv[data-thread-open="true"][data-list-open="false"]>.v4-conv-list{display:none}
 .v4-app .v4-conv[data-thread-open="false"]>.v4-conv-thread,.v4-app .v4-conv[data-list-open="true"]>.v4-conv-thread{display:none!important}
 .v4-app .v4-conv-back{display:block;align-self:flex-start;min-height:44px;margin:8px 12px;flex:none}
}

/* v4 "deals" page — scoped entirely under .v4-app .v4-page-deals so it cannot leak into the
   classic desktop, preview or mobile UIs. Uses its own local custom properties rather than the
   shell's theme vars (owned by the shell lane) so this page renders sensibly on its own. */
.v4-app .v4-page-deals{
  --d-bg:#fff; --d-panel:#fff; --d-panel-2:#fafafc; --d-line:#e3e3e6; --d-line-soft:#eee;
  --d-fg:#1d1d1f; --d-fg-2:#6d6d72; --d-fg-3:#6e6e73; --d-chip:#f2f2f5; --d-hover:#f2f2f4;
  --d-accent:#0066cc; --d-accent-tint:#eef5fc; --d-accent-line:rgba(0,102,204,.25); --d-on-accent:#fff;
  --d-shadow:rgba(20,20,30,.06); --d-bad:#b3261e; --d-bad-tint:rgba(179,38,30,.08);
  padding:28px 34px 60px; color:var(--d-fg); font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  position:relative;
}
/* Dark follows the workspace theme (the shell's data-theme), not the computer's setting. */
.v4-app[data-theme=dark] .v4-page-deals{
    --d-bg:#000; --d-panel:#1c1c1e; --d-panel-2:#242426; --d-line:rgba(255,255,255,.12); --d-line-soft:rgba(255,255,255,.07);
    --d-fg:#f5f5f7; --d-fg-2:#a1a1a6; --d-fg-3:#98989d; --d-chip:rgba(255,255,255,.08); --d-hover:rgba(255,255,255,.06);
    --d-accent:#2997ff; --d-accent-tint:rgba(41,151,255,.14); --d-accent-line:rgba(41,151,255,.32); --d-on-accent:#000;
    --d-shadow:rgba(0,0,0,.4); --d-bad:#ff6961; --d-bad-tint:rgba(255,105,97,.14);
}
.v4-app .v4-page-deals *{box-sizing:border-box;}
/* The next look's title and glance (zz-next-deals.css shows them there). The template's hidden attribute does not reach the
   page, so classic hides them here, as automations.css does for its next-only parts (UX sweep 2 N22). */
.v4-app .v4-page-deals :is(.deals-next-title,.deals-next-glance){display:none;}
.v4-app .v4-page-deals button{font:inherit;cursor:pointer;}
.v4-app .v4-page-deals input,.v4-app .v4-page-deals select{font:inherit;color:var(--d-fg);background:var(--d-panel-2);border:1px solid var(--d-line);border-radius:8px;padding:8px 10px;width:100%;}

.v4-app .v4-page-deals .deals-hero{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap;}
.v4-app .v4-page-deals .deals-hero-main{min-width:260px;}
.v4-app .v4-page-deals .deals-eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--d-fg-3);}
.v4-app .v4-page-deals .deals-eyebrow-sm{display:block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--d-fg-3);}
.v4-app .v4-page-deals .deals-hero-num{font-size:56px;font-weight:650;letter-spacing:-.03em;line-height:1;margin-top:8px;}
.v4-app .v4-page-deals .deals-hero-line{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--d-fg-2);flex-wrap:wrap;}
.v4-app .v4-page-deals .deals-dot{width:3px;height:3px;border-radius:50%;background:var(--d-fg-3);}
.v4-app .v4-page-deals .deals-live-dot{width:7px;height:7px;border-radius:50%;background:var(--d-accent);}
.v4-app .v4-page-deals .deals-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-left:auto;}
.v4-app .v4-page-deals .deals-seg-track{display:flex;background:var(--d-chip);border-radius:11px;padding:3px;gap:2px;}
.v4-app .v4-page-deals .deals-seg{border:none;background:none;color:var(--d-fg-2);font-size:12px;font-weight:600;padding:7px 13px;border-radius:8px;}
.v4-app .v4-page-deals .deals-seg-active{background:var(--d-panel);color:var(--d-fg);box-shadow:none;}
.v4-app .v4-page-deals .deals-new-btn{background:var(--d-accent);color:var(--d-on-accent);border:none;border-radius:9px;padding:9px 15px;font-weight:650;font-size:12.5px;}

.v4-app .v4-page-deals .deals-banner{margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--d-chip);color:var(--d-fg-2);font-size:12.5px;}
.v4-app .v4-page-deals .deals-banner-error{background:var(--d-bad-tint);color:var(--d-bad);}
.v4-app .v4-page-deals .deals-linklike{background:none;border:none;color:inherit;text-decoration:underline;font-weight:650;padding:0;margin-left:6px;}

.v4-app .v4-page-deals .deals-toolbar{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap;}
.v4-app .v4-page-deals .deals-chips{display:flex;gap:6px;flex-wrap:wrap;}
.v4-app .v4-page-deals .deals-chip{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 12px;border-radius:9px;border:1px solid var(--d-line);background:var(--d-panel);color:var(--d-fg-2);}
.v4-app .v4-page-deals .deals-chip-active{background:var(--d-fg);color:var(--d-bg);border-color:transparent;}
.v4-app .v4-page-deals .deals-chip-count{font-size:10px;}
.v4-app .v4-page-deals .deals-sort{margin-left:auto;display:flex;align-items:center;gap:8px;}
.v4-app .v4-page-deals .deals-sort-label{font-size:12px;color:var(--d-fg-3);}
.v4-app .v4-page-deals .deals-sortbtn{background:none;border:none;color:var(--d-fg-3);font-size:12px;font-weight:600;padding:5px 10px;border-radius:7px;}
.v4-app .v4-page-deals .deals-sortbtn-active{background:var(--d-panel);color:var(--d-fg);box-shadow:none;}

.v4-app .v4-page-deals .deals-board{display:flex;gap:14px;margin-top:18px;overflow-x:auto;padding-bottom:8px;}
.v4-app .v4-page-deals .deals-col{width:260px;flex:none;display:flex;flex-direction:column;}
.v4-app .v4-page-deals .deals-col-head{display:flex;align-items:center;gap:8px;padding:0 2px 10px;font-size:12.5px;font-weight:700;}
.v4-app .v4-page-deals .deals-col-count{font-size:11px;color:var(--d-fg-3);background:var(--d-chip);border-radius:20px;padding:2px 8px;}
.v4-app .v4-page-deals .deals-col-sum{margin-left:auto;font-size:11.5px;color:var(--d-fg-2);}
.v4-app .v4-page-deals .deals-col-body{display:flex;flex-direction:column;gap:10px;min-height:40px;}

.v4-app .v4-page-deals .deals-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:14px;padding:13px 14px;box-shadow:none;}
.v4-app .v4-page-deals .deals-card-hot{border-color:var(--d-accent-line);}
.v4-app .v4-page-deals .deals-card-top{display:flex;align-items:center;gap:9px;}
.v4-app .v4-page-deals .deals-avatar{width:30px;height:30px;border-radius:9px;background:var(--d-chip);color:var(--d-fg-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none;}
.v4-app .v4-page-deals .deals-avatar-sm{width:26px;height:26px;font-size:11px;}
.v4-app .v4-page-deals .deals-avatar-lg{width:40px;height:40px;border-radius:12px;font-size:14px;}
.v4-app .v4-page-deals .deals-card-title{min-width:0;flex:1;}
.v4-app .v4-page-deals .deals-card-name{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v4-app .v4-page-deals .deals-card-seg{font-size:11px;color:var(--d-fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v4-app .v4-page-deals .deals-hot{font-size:8px;font-weight:700;color:var(--d-on-accent);background:var(--d-accent);border-radius:5px;padding:2px 6px;letter-spacing:.04em;flex:none;}
.v4-app .v4-page-deals .deals-hot-sm{font-size:7px;padding:1px 5px;}
.v4-app .v4-page-deals .deals-card-mid{display:flex;align-items:center;gap:8px;margin-top:11px;}
.v4-app .v4-page-deals .deals-card-value{font-size:16px;font-weight:650;letter-spacing:-.01em;}
.v4-app .v4-page-deals .deals-card-owner{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--d-fg-2);}
.v4-app .v4-page-deals .deals-owner-dot{width:6px;height:6px;border-radius:50%;background:var(--d-fg-3);flex:none;}
.v4-app .v4-page-deals .deals-card-bottom{margin-top:11px;padding-top:10px;border-top:1px solid var(--d-line-soft);display:flex;align-items:center;gap:8px;}
.v4-app .v4-page-deals .deals-approved-dot{width:15px;height:15px;border-radius:50%;background:var(--d-accent);color:var(--d-on-accent);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex:none;}
.v4-app .v4-page-deals .deals-card-next{font-size:11.5px;color:var(--d-fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.v4-app .v4-page-deals .deals-card-ago{font-size:10px;color:var(--d-fg-3);flex:none;}
.v4-app .v4-page-deals .deals-timeline-prob{margin-left:auto;font-size:10.5px;color:var(--d-accent);font-weight:650;}

.v4-app .v4-page-deals .deals-table{margin-top:16px;background:var(--d-panel);border:1px solid var(--d-line);border-radius:14px;overflow:hidden;}
.v4-app .v4-page-deals .deals-table-head,.v4-app .v4-page-deals .deals-table-row{display:grid;grid-template-columns:minmax(220px,1.8fr) 140px 110px 140px minmax(170px,1.4fr) 66px;align-items:center;gap:10px;padding:12px 18px;}
.v4-app .v4-page-deals .deals-table-head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--d-fg-3);background:var(--d-panel-2);border-bottom:1px solid var(--d-line);}
.v4-app .v4-page-deals .deals-table-row{border-bottom:1px solid var(--d-line-soft);}
.v4-app .v4-page-deals .deals-table-row:hover{background:var(--d-hover);}
.v4-app .v4-page-deals .deals-table-deal{display:flex;align-items:center;gap:10px;min-width:0;}
.v4-app .v4-page-deals .deals-table-namewrap{min-width:0;}
.v4-app .v4-page-deals .deals-table-name{font-size:12.5px;font-weight:650;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v4-app .v4-page-deals .deals-table-value{font-size:12.5px;font-weight:650;}
.v4-app .v4-page-deals .deals-table-next{font-size:12px;color:var(--d-fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v4-app .v4-page-deals .deals-right{text-align:right;}

.v4-app .v4-page-deals .deals-forecast{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:20px;}
.v4-app .v4-page-deals .deals-forecast-side{display:flex;flex-direction:column;gap:16px;}
.v4-app .v4-page-deals .deals-panel{background:var(--d-panel);border:1px solid var(--d-line);border-radius:16px;padding:22px 24px;}
.v4-app .v4-page-deals .deals-panel-accent{background:var(--d-accent-tint);border-color:var(--d-accent-line);}
.v4-app .v4-page-deals .deals-panel-title{font-size:12.5px;font-weight:700;}
.v4-app .v4-page-deals .deals-panel-note{font-size:12px;color:var(--d-fg-3);margin-top:2px;}
.v4-app .v4-page-deals .deals-forecast-total{font-size:36px;font-weight:650;letter-spacing:-.02em;margin-top:8px;}
.v4-app .v4-page-deals .deals-forecast-rows{display:flex;flex-direction:column;gap:16px;margin-top:22px;}
.v4-app .v4-page-deals .deals-forecast-row-head{display:flex;align-items:baseline;gap:8px;margin-bottom:7px;font-size:12px;flex-wrap:wrap;}
.v4-app .v4-page-deals .deals-forecast-label{font-weight:650;font-size:12.5px;}
.v4-app .v4-page-deals .deals-forecast-meta{color:var(--d-fg-3);}
.v4-app .v4-page-deals .deals-forecast-w{margin-left:auto;font-weight:650;}
.v4-app .v4-page-deals .deals-bar-track{height:7px;background:var(--d-chip);border-radius:4px;overflow:hidden;}
.v4-app .v4-page-deals .deals-bar-track-lg{height:9px;margin-top:12px;}
.v4-app .v4-page-deals .deals-bar-fill{height:100%;background:var(--d-accent);border-radius:4px;}
.v4-app .v4-page-deals .deals-target-row{display:flex;align-items:baseline;gap:8px;margin-top:12px;}
.v4-app .v4-page-deals .deals-target-num{font-size:24px;font-weight:650;}
.v4-app .v4-page-deals .deals-set-target{margin-top:12px;}

.v4-app .v4-page-deals .deals-scrim{position:fixed;inset:0;background:color-mix(in srgb,var(--cf-surface) 35%,transparent);z-index:55;opacity:0;pointer-events:none;transition:opacity 120ms ease;}
.v4-app .v4-page-deals .deals-scrim-open{opacity:1;pointer-events:auto;}
.v4-app .v4-page-deals .deals-drawer{position:fixed;top:0;right:0;height:100vh;width:440px;max-width:92vw;background:var(--d-panel);border-left:1px solid var(--d-line);box-shadow:none;z-index:60;display:flex;flex-direction:column;transform:translateX(103%);transition:transform 120ms cubic-bezier(.32,.72,0,1);}
.v4-app .v4-page-deals .deals-drawer-open{transform:translateX(0);}
.v4-app .v4-page-deals .deals-drawer-head{flex:none;padding:20px 22px 16px;border-bottom:1px solid var(--d-line);}
.v4-app .v4-page-deals .deals-drawer-top{display:flex;align-items:center;gap:11px;}
.v4-app .v4-page-deals .deals-drawer-titlewrap{flex:1;min-width:0;}
.v4-app .v4-page-deals .deals-drawer-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:7px;}
.v4-app .v4-page-deals .deals-close-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--d-line);background:var(--d-panel);color:var(--d-fg-2);}
.v4-app .v4-page-deals .deals-drawer-value-row{display:flex;align-items:flex-end;gap:18px;margin-top:18px;}
.v4-app .v4-page-deals .deals-drawer-value{font-size:26px;font-weight:650;margin-top:4px;}
.v4-app .v4-page-deals .deals-stepper-wrap{flex:1;}
.v4-app .v4-page-deals .deals-stepper-head{display:flex;justify-content:space-between;font-size:10.5px;color:var(--d-fg-3);margin-bottom:6px;}
.v4-app .v4-page-deals .deals-stepper{display:flex;gap:4px;}
.v4-app .v4-page-deals .deals-step{flex:1;cursor:pointer;text-align:center;}
.v4-app .v4-page-deals .deals-step-bar{height:5px;border-radius:3px;background:var(--d-line);}
.v4-app .v4-page-deals .deals-step-bar-past{background:var(--d-fg);}
.v4-app .v4-page-deals .deals-step-bar-active{background:var(--d-accent);}
.v4-app .v4-page-deals .deals-step-label{display:block;font-size:8px;margin-top:4px;color:var(--d-fg-3);}
.v4-app .v4-page-deals .deals-step-label-active{color:var(--d-fg);font-weight:700;}
.v4-app .v4-page-deals .deals-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:18px 22px;}
.v4-app .v4-page-deals .deals-owned-row{display:flex;align-items:center;gap:10px;padding:11px 13px;background:var(--d-panel-2);border:1px solid var(--d-line);border-radius:11px;}
.v4-app .v4-page-deals .deals-owned-name{font-size:12.5px;font-weight:650;}
.v4-app .v4-page-deals .deals-section-label{font-size:10.5px;color:var(--d-fg-3);text-transform:uppercase;letter-spacing:.08em;font-weight:650;margin:20px 0 8px;}
.v4-app .v4-page-deals .deals-timeline-list{position:relative;}
.v4-app .v4-page-deals .deals-timeline-item{padding:8px 0;border-bottom:1px solid var(--d-line-soft);}
.v4-app .v4-page-deals .deals-timeline-text{font-size:12.5px;}
.v4-app .v4-page-deals .deals-timeline-meta{font-size:10.5px;color:var(--d-fg-3);margin-top:2px;}
.v4-app .v4-page-deals .deals-draft-box{background:var(--d-panel-2);border:1px solid var(--d-line);border-radius:12px;padding:13px 15px;font-size:12.5px;line-height:1.55;color:var(--d-fg-2);white-space:pre-wrap;}
.v4-app .v4-page-deals .deals-why-box{margin-top:9px;padding:10px 12px;background:var(--d-accent-tint);border:1px solid var(--d-accent-line);border-radius:10px;font-size:11.5px;line-height:1.5;}
.v4-app .v4-page-deals .deals-inline-error{margin-top:9px;font-size:12px;color:var(--d-bad);}
.v4-app .v4-page-deals .deals-inline-notice{margin-top:9px;font-size:12px;color:var(--d-accent);}
.v4-app .v4-page-deals .deals-drawer-foot{flex:none;padding:14px 22px;border-top:1px solid var(--d-line);display:flex;gap:8px;flex-wrap:wrap;}
.v4-app .v4-page-deals .deals-won-banner{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:650;color:var(--d-accent);background:var(--d-accent-tint);border:1px solid var(--d-accent-line);border-radius:11px;padding:12px;}

.v4-app .v4-page-deals .deals-primary-btn,.v4-app .v4-page-deals .deals-secondary-btn,.v4-app .v4-page-deals .deals-ghost-btn{border-radius:10px;padding:11px 16px;font-size:12.5px;font-weight:650;border:1px solid transparent;}
.v4-app .v4-page-deals .deals-primary-btn{background:var(--d-accent);color:var(--d-on-accent);flex:1;}
.v4-app .v4-page-deals .deals-secondary-btn{background:var(--d-panel-2);color:var(--d-fg);border-color:var(--d-line);}
.v4-app .v4-page-deals .deals-ghost-btn{background:var(--d-panel);color:var(--d-fg-2);border-color:var(--d-line);}

.v4-app .v4-page-deals .deals-modal{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 120ms ease;}
.v4-app .v4-page-deals .deals-modal-open{opacity:1;pointer-events:auto;}
.v4-app .v4-page-deals .deals-modal form{width:420px;max-width:92vw;max-height:86vh;overflow-y:auto;background:var(--d-panel);border:1px solid var(--d-line);border-radius:18px;padding:24px 26px;box-shadow:none;}
.v4-app .v4-page-deals .deals-modal-title{font-size:15px;font-weight:700;margin-bottom:16px;}
.v4-app .v4-page-deals .deals-field{display:block;font-size:11.5px;font-weight:600;color:var(--d-fg-2);margin-top:12px;}
.v4-app .v4-page-deals .deals-field input,.v4-app .v4-page-deals .deals-field select{margin-top:5px;}
.v4-app .v4-page-deals .deals-field-row{display:flex;gap:10px;}
.v4-app .v4-page-deals .deals-field-row .deals-field{flex:1;}
.v4-app .v4-page-deals .deals-modal-foot{display:flex;gap:9px;margin-top:20px;}

/* Raise-invoice block in the won-deal drawer footer. No payment is taken here: this shows the
   invoice crm_invoice_from_deal raised for the amount the deal was won at. */
.deals-invoice-block{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:8px;}
.deals-invoice-row{display:flex;align-items:baseline;gap:10px;}
.deals-invoice-amount{font-size:15px;font-weight:700;letter-spacing:-.01em;}
.deals-invoice-status{font-size:11.5px;font-weight:600;color:var(--fg-3, var(--cf-muted));}
.deals-invoice-desc{font-size:11.5px;color:var(--fg-2, var(--cf-text));}
.deals-invoice-note{font-size:11.5px;color:var(--fg-3, var(--cf-muted));line-height:1.45;}
.v4-app .v4-page-deals .deals-conflict-note{font-size:12.5px;color:var(--d-fg3,var(--fg-3));margin:0 0 12px;}
.v4-app .v4-page-deals .deals-conflict .deals-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.v4-app .v4-page-deals .deals-conflict .deals-ghost-btn[aria-pressed="true"]{outline:2px solid var(--d-accent,currentColor);}

/* Agent computer panel on the Fleet page (fleet-vm-computer-model.js; default off). Shell tokens only, so the light and dark themes follow data-theme. */
.v4-app .fl-ac-pill{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:650;padding:6px 12px;border-radius:100px;background:var(--chip);color:var(--fg);max-width:100%;}
.v4-app .fl-ac-pill-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--fg-3);}
.v4-app .fl-ac-pill[data-tone="working"] .fl-ac-pill-dot,.v4-app .fl-ac-pill[data-tone="verifying"] .fl-ac-pill-dot{background:var(--accent);}
.v4-app .fl-ac-pill[data-tone="queued"] .fl-ac-pill-dot,.v4-app .fl-ac-pill[data-tone="starting"] .fl-ac-pill-dot{background:var(--fg-2);}
.v4-app .fl-ac-pill[data-tone="needs_you"]{background:var(--accent-tint);box-shadow:none;}
.v4-app .fl-ac-pill[data-tone="needs_you"] .fl-ac-pill-dot{background:var(--danger);}
.v4-app .fl-ac-screen{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel-2);aspect-ratio:16/10;display:flex;}
.v4-app .fl-ac-screen[data-control="owner"]{border-color:var(--accent);box-shadow:none;}
.v4-app .fl-ac-frame{flex:1;width:100%;height:100%;border:0;display:block;background:var(--cf-canvas);}
.v4-app .fl-ac-noframe{margin:auto;padding:16px;font-size:12.5px;color:var(--fg-3);text-align:center;}
.v4-app .fl-ac-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.v4-app .fl-ac-controls .fl-note{margin-top:14px;}
.v4-app .fl-ac-stop{color:var(--danger);}
.v4-app .fl-ac-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;}
.v4-app .fl-tabpane.fl-ac .fl-ac-split>.fl-card{margin-top:16px;}/* beats fleet.css's .fl-tabpane .fl-card:first-child, which loads after this file */
.v4-app .fl-ac-list{list-style:none;margin:10px 0 0;padding:0;}
.v4-app .fl-ac-receipt,.v4-app .fl-ac-login{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line-soft);}
.v4-app .fl-ac-receipt-main,.v4-app .fl-ac-login-main{flex:1;min-width:0;}
.v4-app .fl-ac-receipt-title,.v4-app .fl-ac-login-name{font-size:13px;font-weight:600;overflow-wrap:anywhere;}
.v4-app .fl-ac-receipt-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--fg-3);margin-top:3px;}
.v4-app .fl-ac-receipt-status{font-weight:650;color:var(--fg-2);}
.v4-app .fl-ac-verified{color:var(--accent-ink);}
.v4-app .fl-ac-failed,.v4-app .fl-ac-timed_out{color:var(--danger);}
.v4-app .fl-ac-proof{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.v4-app .fl-ac-thumb{width:64px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line);flex:none;}
.v4-app .fl-ac-login-site{font-size:11.5px;color:var(--fg-3);margin-top:2px;}
.v4-app .fl-ac-form{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);}
.v4-app .fl-ac-form label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--fg-2);}
.v4-app .fl-ac-form input{font-size:13px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg);min-width:0;}
.v4-app .fl-ac-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.v4-app .fl-ac-form .fl-btn-primary{margin-top:0;}
@media (max-width:760px){
  .v4-app .fl-ac-split{grid-template-columns:minmax(0,1fr);gap:0;}
  .v4-app .fl-ac-screen{aspect-ratio:4/3;}
}

.v4-app .fl-page{padding:44px 44px 60px;max-width:980px;}
.v4-app .fl-status{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--fg-3);text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.v4-app .fl-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}
.v4-app .fl-head h1{font-size:38px;font-weight:800;letter-spacing:-.035em;margin:12px 0 0;}
.v4-app .fl-lede{font-size:15px;color:var(--fg-2);margin-top:10px;max-width:640px;line-height:1.5;}
.v4-app .fl-error{font-size:12.5px;color:var(--danger);margin-top:10px;}
.v4-app .fl-note{font-size:12px;color:var(--fg-3);margin-top:8px;}
.v4-app .fl-empty{font-size:12.5px;color:var(--fg-3);padding:8px 0;}
.v4-app .fl-tabs{display:flex;gap:0;margin-top:26px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.v4-app .fl-tab{font-size:13px;font-weight:650;padding:11px 16px;border:none;background:none;color:var(--fg-2);cursor:pointer;border-bottom:2px solid transparent;}
.v4-app .fl-tab-on{color:var(--fg);border-bottom-color:var(--fg);}
.v4-app .fl-tab-badge{font-family:var(--font);font-size:10.5px;font-weight:700;color:var(--on-accent);background:var(--accent);border-radius:100px;padding:2px 7px;margin-left:6px;}
.v4-app .fl-tabpane{margin-top:24px;}
.v4-app .fl-card{margin-top:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:none;}
.v4-app .fl-tabpane .fl-card:first-child{margin-top:0;}
.v4-app .fl-card-title{font-size:15px;font-weight:750;letter-spacing:-.01em;}
.v4-app .fl-card-sub{font-size:12.5px;color:var(--fg-3);margin-top:4px;line-height:1.5;}
.v4-app .fl-row-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.v4-app .fl-learn-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--fg-3);margin-top:14px;}
.v4-app .fl-learn-day{font-family:var(--font);font-weight:650;color:var(--fg-2);}
.v4-app .fl-bar{height:8px;border-radius:100px;background:var(--seg-off);overflow:hidden;margin-top:6px;}
.v4-app .fl-bar-fill{height:100%;background:var(--accent);}
.v4-app .fl-learn-note{font-size:12px;color:var(--fg-3);margin-top:10px;}
.v4-app .fl-armed{margin-top:14px;font-size:13px;color:var(--fg-2);background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:12px;padding:12px 14px;}
.v4-app .fl-btn-primary{font-size:12.5px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:10px;padding:10px 16px;cursor:pointer;margin-top:14px;}
.v4-app .fl-btn-primary[disabled]{opacity:.55;cursor:not-allowed;}
.v4-app .fl-btn-ghost{font-size:12.5px;font-weight:600;color:var(--fg-2);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 15px;cursor:pointer;}
.v4-app .fl-btn-ghost[disabled]{opacity:.55;cursor:not-allowed;}
.v4-app .fl-confirm{margin-top:14px;background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:12px;padding:14px 16px;font-size:13px;}
.v4-app .fl-confirm-actions{display:flex;gap:8px;margin-top:10px;}
.v4-app .fl-confirm-inline{display:flex;align-items:center;gap:8px;font-size:12.5px;}
.v4-app .fl-cap-grid{margin-top:14px;display:flex;flex-direction:column;gap:2px;}
.v4-app .fl-cap-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line-soft);}
.v4-app .fl-cap-label{font-size:13.5px;font-weight:650;}
.v4-app .fl-cap-note{font-size:11.5px;color:var(--fg-3);margin-top:2px;}
.v4-app .fl-cap-count{font-family:var(--font);font-size:12.5px;color:var(--fg-2);background:var(--chip);border-radius:100px;padding:4px 10px;flex:none;}
.v4-app .fl-gated-row{display:flex;align-items:center;gap:10px;margin-top:12px;}
.v4-app .fl-pill{font-family:var(--font);font-size:11px;font-weight:650;padding:4px 10px;border-radius:100px;background:var(--chip);color:var(--fg-2);}
.v4-app .fl-money-sums{display:flex;gap:20px;margin-top:14px;}
.v4-app .fl-money-value{font-family:var(--font);font-size:22px;font-weight:600;}
.v4-app .fl-money-label{font-size:11.5px;color:var(--fg-3);}
.v4-app .fl-money-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line-soft);flex-wrap:wrap;}
.v4-app .fl-money-main{flex:1;min-width:180px;}
.v4-app .fl-money-what{font-size:13px;font-weight:650;}
.v4-app .fl-money-when{font-size:11px;color:var(--fg-3);}
.v4-app .fl-money-amount{font-family:var(--font);font-size:13.5px;font-weight:600;}
.v4-app .fl-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px;}
.v4-app .fl-grid2 .fl-card{margin-top:0;}
.v4-app .fl-channel-row,.v4-app .fl-rail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft);}
.v4-app .fl-channel-label,.v4-app .fl-rail-label{font-size:13px;font-weight:650;}
.v4-app .fl-channel-note,.v4-app .fl-rail-desc{font-size:11.5px;color:var(--fg-3);margin-top:2px;}
.v4-app .fl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;}
.v4-app .fl-stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;}
.v4-app .fl-stat-value{font-family:var(--font);font-size:22px;font-weight:650;}
.v4-app .fl-stat-label{font-size:11.5px;color:var(--fg-3);margin-top:4px;}
.v4-app .fl-dial-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line-soft);}
.v4-app .fl-dial-name{font-size:13.5px;font-weight:650;}
.v4-app .fl-dial-company{font-size:11.5px;color:var(--fg-3);}
.v4-app .fl-dial-phone{font-family:var(--font);font-size:12.5px;color:var(--fg-2);}
.v4-app .fl-need-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line-soft);flex-wrap:wrap;}
.v4-app .fl-need-main{flex:1;min-width:220px;}
.v4-app .fl-need-kind{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);}
.v4-app .fl-need-summary{font-size:13.5px;font-weight:650;margin-top:2px;}
.v4-app .fl-need-when{font-size:11px;color:var(--fg-3);margin-top:2px;}
.v4-app .fl-need-actions{display:flex;gap:8px;}
.v4-app .fl-prop-row{padding:14px 0;border-top:1px solid var(--line-soft);}
.v4-app .fl-prop-name{font-size:14px;font-weight:700;}
.v4-app .fl-prop-field{font-size:12.5px;color:var(--fg-2);margin-top:4px;line-height:1.5;}
.v4-app .fl-prop-actions{display:flex;gap:8px;margin-top:10px;}
.v4-app .fl-dial-list{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;margin-top:8px;padding:10px 13px;border:1px solid var(--line-soft);border-radius:11px;background:var(--panel-2);color:var(--fg);cursor:pointer;font:inherit;}
.v4-app .fl-dial-list-on{background:var(--accent-tint);border-color:var(--accent-line);}
.v4-app .fl-dial-panel{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);}
.v4-app .fl-dial-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;}
.v4-app .fl-dial-card{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);}
.v4-app .fl-dial-card .fl-dial-phone{font-size:22px;font-weight:750;letter-spacing:-.01em;margin-top:4px;}
.v4-app .fl-dial-note{width:100%;font:inherit;font-size:13px;margin-top:12px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--fg);}
.v4-app .fl-dial-outcomes{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.v4-app .fl-outcome-stop{border-color:var(--cf-border);color:var(--cf-negative);}
/* W3 calling lane: the live-call banner and the "Anna dials" control. */
.v4-app .fl-live{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);}
.v4-app .fl-live-head{font-size:12.5px;font-weight:600;}
.v4-app .fl-live-sid{font-size:11px;color:var(--fg-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:2px;overflow-wrap:anywhere;}
.v4-app .fl-live-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.v4-app .fl-whisper{width:100%;margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--bg-1);color:var(--fg-1);}
.v4-app .fl-anna-dial{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;}

/* UI-NEXT: the new blocks stay hidden here, so classic renders exactly as before. zz-next-fleet.css shows
   them under the new look's switch; its rules are more specific than this one, so they need no !important. */
.v4-app :is(.fl-n-headmeta,.fl-n-rules,.fl-n-did,.fl-n-wait){display:none}

.v4-app .forms-page{padding:38px 44px 60px;}
.v4-app .forms-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.v4-app .forms-head-text{flex:1;min-width:240px;}
.v4-app .forms-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .forms-sub{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .forms-btn-primary{font-size:13px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .forms-btn-ghost{font-size:12.5px;font-weight:650;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 12px;cursor:pointer;}
.v4-app .forms-btn-ghost:disabled{opacity:.5;cursor:default;}
.v4-app .forms-alert{color:var(--cf-negative);font-size:13px;margin-top:14px;}
.v4-app .forms-notice{color:var(--accent-ink);font-size:13px;margin-top:14px;}
.v4-app .forms-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:20px;box-shadow:none;}
.v4-app .forms-editor-title{font-size:18px;font-weight:750;margin:0 0 14px;}
.v4-app .forms-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.v4-app .forms-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--fg-3);}
.v4-app .forms-field-inline{flex-direction:row;align-items:center;gap:8px;}
.v4-app .forms-field[data-wide="true"]{grid-column:1/-1;}
.v4-app .forms-field input,.v4-app .forms-field select,.v4-app .forms-field textarea{font:inherit;font-size:13.5px;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);}
.v4-app .forms-questions{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft);}
.v4-app .forms-question{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0;background:var(--panel-2);}
.v4-app .forms-question legend{font-size:12px;font-weight:650;color:var(--fg-3);padding:0 4px;}
.v4-app .forms-question-actions{display:flex;gap:8px;margin-top:10px;}
.v4-app .forms-muted{font-size:12px;color:var(--fg-3);}
.v4-app .forms-actions{display:flex;gap:10px;margin-top:18px;}
.v4-app .forms-row{display:flex;align-items:center;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line-soft);}
.v4-app .forms-row-icon{width:36px;height:36px;border-radius:10px;background:var(--chip);color:var(--fg-2);display:flex;align-items:center;justify-content:center;flex:none;}
.v4-app .forms-row-name{flex:1;min-width:0;display:flex;flex-direction:column;}
.v4-app .forms-row-name span{font-size:13.5px;font-weight:650;}
.v4-app .forms-row-name small{font-size:11.5px;color:var(--fg-3);}
.v4-app .forms-row-stat{text-align:right;display:flex;flex-direction:column;width:90px;}
.v4-app .forms-row-stat span{font-family:var(--font);font-size:15px;font-weight:600;}
.v4-app .forms-row-stat small{font-size:10.5px;color:var(--fg-3);}
.v4-app .forms-row-actions{display:flex;gap:8px;}
.v4-app .forms-share{padding:0 22px 16px;font-size:12px;}
.v4-app .forms-share code{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:inline-block;word-break:break-all;}
.v4-app .forms-empty{padding:16px 22px;}

.v4-app .funnels-page{padding:38px 44px 60px;}
.v4-app .funnels-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.v4-app .funnels-head-text{flex:1;min-width:240px;}
.v4-app .funnels-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .funnels-sub{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .funnels-btn-primary{font-size:13px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .funnels-btn-ghost{font-size:12.5px;font-weight:650;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;}
.v4-app .funnels-alert{color:var(--cf-negative);font-size:13px;margin-top:14px;}
.v4-app .funnels-notice{color:var(--accent-ink);font-size:13px;margin-top:14px;}
.v4-app .funnels-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:20px;box-shadow:none;}
.v4-app .funnels-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.v4-app .funnels-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--fg-3);}
.v4-app .funnels-field[data-wide="true"]{grid-column:1/-1;}
.v4-app .funnels-field input,.v4-app .funnels-field textarea{font:inherit;font-size:13.5px;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);}
.v4-app .funnels-actions{display:flex;gap:10px;margin-top:18px;}
.v4-app .funnels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:26px;}
.v4-app .funnels-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:none;}
.v4-app .funnels-card-name{font-size:16px;font-weight:700;letter-spacing:-.01em;}
.v4-app .funnels-card-slug{font-size:12px;color:var(--fg-3);margin-top:2px;}
.v4-app .funnels-card-steps{font-size:12px;color:var(--fg-3);margin-top:8px;}
.v4-app .funnels-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);}
.v4-app .funnels-muted{font-size:12px;color:var(--fg-3);}
.v4-app .funnels-empty{margin-top:26px;}

/* v4 "home" page. Scoped under .v4-app; owned only by the home page (src/v4/pages/home.*). */
@keyframes v4-home-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes v4-home-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes v4-home-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.v4-app .v4-home-page { padding: 44px 44px 60px; }
.v4-app .v4-home-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 36px; }
.v4-app .v4-home-tile { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; box-shadow: none; }
.v4-app .v4-home-tile-accent { background: var(--accent-tint); border: 1px solid var(--accent-line); border-radius: 16px; padding: 18px 20px; }
.v4-app .v4-home-tile-label { font-size: 12px; color: var(--fg-3); }
.v4-app .v4-home-tile-value { font-family: var(--font); font-size: 29px; font-weight: 600; letter-spacing: -.02em; margin-top: 8px; display: flex; align-items: center; gap: 8px; }
.v4-app .v4-home-tile-sub { font-size: 11.5px; color: var(--fg-3); margin-top: 4px; }
.v4-app .v4-home-panel { margin-top: 22px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 8px 8px 10px; box-shadow: none; }
.v4-app .v4-home-panel-head { display: flex; align-items: center; gap: 8px; padding: 12px 16px 10px; }
.v4-app .v4-home-row { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 11px; cursor: pointer; transition: background 120ms; }
.v4-app .v4-home-row:hover { background: var(--hover); }
.v4-app .v4-home-avatar { width: 30px; height: 30px; border-radius: 9px; background: var(--fg); color: var(--bg); display: flex; align-items: center; justify-content: center; font-family: var(--font); font-size: 11px; font-weight: 700; flex: none; }
.v4-app .v4-home-insight { display: flex; align-items: center; gap: 16px; margin-top: 22px; background: var(--cf-surface); border: 1px solid var(--accent-line); border-radius: 18px; padding: 20px 24px; flex-wrap: wrap; }

/* P3-5 (UX sweep 4): a "New …" form (new campaign, form, funnel, post, plan, segment, invoice or person, and the
   matching edit forms) used to open inline above the page's own list and push it down (layout shift 0.06-0.37). It now
   opens as a sheet over the page: the content behind stays exactly where it was. The form element is the dialog
   (role="dialog", aria-modal, data-v4-dialog="open", its Cancel marked data-v4-dialog-cancel), so the shell's page-dialog
   handling applies: focus moves in, Tab stays inside, Esc presses Cancel, the page behind is inert, and focus returns
   to the button that opened it (src/v4/shell-model.js V4Dialog). The page still owns open and close; markup only. The
   person editor keeps its own form tag (UX sweep 5 U17), so there the sheet wrapper carries the dialog attributes. */
.v4-app .v4-new-sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:max(24px,6vh) 20px 24px;background:var(--gb-scrim,var(--sheet-scrim,color-mix(in srgb,var(--cf-canvas) 40%,transparent)));overflow-y:auto;overscroll-behavior:contain}
.v4-app .v4-new-sheet > :is(.v4-new-sheet__panel,.v4-people-editor){box-sizing:border-box;width:100%;max-width:720px;margin:0!important;flex:none;max-height:none;background:var(--gb-raised,var(--panel));color:var(--gb-ink,var(--fg));border:1px solid var(--line);border-radius:var(--gb-r-lg,18px);box-shadow:none}
@media (max-width:560px){.v4-app .v4-new-sheet{padding:12px 8px;align-items:flex-end}.v4-app .v4-new-sheet > :is(.v4-new-sheet__panel,.v4-people-editor){border-radius:18px 18px 0 0}}

/* Payments page. Layout is inline per the ported v4 markup (see payments.html); every
   var(--token, fallback) carries its own fallback so the page reads correctly whether or
   not the shell lane's .v4-app tokens have landed yet — this file intentionally does not
   redeclare shared tokens, to avoid overriding the shell's real design tokens. */
.v4-app .v4-payments{min-height:100%;}

/* The open-invoice panel. Nothing in it takes a payment: the link is the business's own, the
   ask is staged in Approvals, and recording writes down what a person saw arrive elsewhere. */
.v4-app .v4-payments .pay-panel{margin-top:18px;background:var(--panel, var(--cf-surface));border:1px solid var(--line, var(--cf-border));border-radius:16px;padding:18px 22px 20px;box-shadow:none;}
.v4-app .v4-payments .pay-panel-head{display:flex;align-items:flex-start;gap:12px;}
.v4-app .v4-payments .pay-panel-title{font-size:15.5px;font-weight:700;letter-spacing:-.01em;flex:1;}
.v4-app .v4-payments .pay-panel-sub{font-size:11.5px;color:var(--fg-3, var(--cf-muted));margin-top:3px;}
.v4-app .v4-payments .pay-panel-section{margin-top:16px;border-top:1px solid var(--line-soft, var(--cf-border));padding-top:14px;}
.v4-app .v4-payments .pay-panel-label{font-size:12.5px;font-weight:700;}
.v4-app .v4-payments .pay-panel-hint{font-size:11.5px;color:var(--fg-3, var(--cf-muted));margin-top:3px;line-height:1.45;}
.v4-app .v4-payments .pay-panel-row{display:flex;align-items:center;gap:9px;margin-top:9px;flex-wrap:wrap;}
.v4-app .v4-payments .pay-input{flex:1;min-width:170px;font-family:inherit;font-size:12.5px;padding:8px 10px;border-radius:8px;border:1px solid var(--line, var(--cf-border));background:var(--panel-2, var(--cf-surface));color:var(--fg, var(--cf-text));}
.v4-app .v4-payments .pay-input-narrow{flex:none;min-width:0;width:120px;}
.v4-app .v4-payments .pay-record-amount{font-size:13px;font-weight:700;flex:none;}
.v4-app .v4-payments .pay-staged-row{background:var(--panel-2, var(--cf-surface));border-radius:9px;padding:8px 11px;}
.v4-app .v4-payments .pay-staged-label{flex:1;font-size:11.5px;font-weight:600;color:var(--fg-2, var(--cf-text));}
.v4-app .v4-payments .pay-primary-btn{flex:none;font-family:inherit;font-size:12.5px;font-weight:650;color:var(--on-accent, var(--cf-text));background:var(--accent, var(--cf-surface));border:none;border-radius:9px;padding:9px 15px;cursor:pointer;}
.v4-app .v4-payments .pay-secondary-btn{flex:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--fg-2, var(--cf-text));background:var(--panel-2, var(--cf-surface));border:1px solid var(--line, var(--cf-border));border-radius:9px;padding:9px 15px;cursor:pointer;}
.v4-app .v4-payments .pay-ghost-btn{flex:none;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--fg-3, var(--cf-muted));background:none;border:1px solid var(--line, var(--cf-border));border-radius:8px;padding:6px 11px;cursor:pointer;}
.v4-app .v4-payments .pay-error{font-size:11.5px;color:var(--cf-negative);margin-top:8px;}

.pay-door-link{font-family:inherit;font-size:12.5px;font-weight:650;color:var(--accent-ink, var(--cf-positive));text-decoration:underline;word-break:break-all;}

/* UI-NEXT: the new blocks stay hidden and the new wrappers stay layout-neutral here, so classic renders exactly
   as before. zz-next-payments.css lays them out under the new look's switch; its rules are more specific than
   these, so they need no !important. */
.v4-app :is(.pay-n-new-title,.pay-n-flow,.pay-n-table-head,.pay-n-agent,.pay-n-wait){display:none}
.v4-app :is(.pay-n-top,.pay-n-work,.pay-n-coll,.pay-n-risk){display:contents}
/* QA F7: while the first read is in flight the figures show a dash (payments-model.js). The skeleton bar for
   the next look is in zz-next-payments.css; the theme pass would drop its background here. */

/* v4 People page — scoped under .v4-app so nothing else is touched. */
.v4-app .v4-people-page{padding:40px 44px 60px;}
.v4-app .v4-people-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.v4-app .v4-people-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .v4-people-subtitle{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .v4-people-actions{display:flex;gap:10px;align-items:center;}
.v4-app .v4-people-search{display:flex;gap:8px;}
.v4-app .v4-people-notice{color:var(--accent-ink);}
.v4-app .v4-people-empty{margin-top:20px;padding:24px;border:1px dashed var(--line);border-radius:14px;color:var(--fg-3);}
.v4-app .v4-people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:26px;}
.v4-app .v4-people-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:none;display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform 120ms,box-shadow 120ms;}
.v4-app .v4-people-card:hover{transform:translateY(-2px);box-shadow:none;}
.v4-app .v4-people-avatar{width:36px;height:36px;border-radius:50%;background:var(--chip);color:var(--fg-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none;}
.v4-app .v4-people-card-name{min-width:0;flex:1;}
.v4-app .v4-people-card-title{font-size:13.5px;font-weight:650;}
.v4-app .v4-people-card-role{font-size:11.5px;color:var(--fg-3);}
/* UX sweep 5 U15: a person row is a real button (keyboard and screen readers reach it); it keeps the row look. */
.v4-app button.v4-people-card{width:100%;margin:0;font:inherit;color:inherit;text-align:left}
.v4-app .v4-people-card-name>:is(.v4-people-card-title,.v4-people-card-role){display:block}
.v4-app .v4-people-detail{margin-top:20px;}
.v4-app .v4-people-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px;}
.v4-app .v4-people-deals,.v4-app .v4-people-timeline{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.v4-app .v4-people-deals li,.v4-app .v4-people-timeline li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:12.5px;}
.v4-app .v4-people-gated{font-size:11.5px;color:var(--fg-3);margin:6px 0;}
.v4-app .v4-people-token{margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--chip);display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.v4-app .v4-people-token code{font-size:12px;word-break:break-all;user-select:all;}

.v4-app .planning-page{padding:38px 44px 60px;}
.v4-app .planning-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.v4-app .planning-head-text{flex:1;min-width:240px;}
.v4-app .planning-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .planning-sub{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .planning-tabs{display:flex;gap:8px;flex:none;}
.v4-app .planning-tab{font-size:13px;font-weight:650;color:var(--fg-2);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 14px;cursor:pointer;}
.v4-app .planning-tab[data-on="true"]{background:var(--accent);border-color:transparent;color:var(--on-accent);}
.v4-app .planning-gated{font-size:12.5px;line-height:1.6;color:var(--fg-3);background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-top:18px;}
.v4-app .planning-tab-body{margin-top:8px;}
.v4-app .planning-alert{color:var(--cf-negative);font-size:13px;margin-top:14px;}
.v4-app .planning-notice{color:var(--accent-ink);font-size:13px;margin-top:14px;}
.v4-app .planning-toolbar{display:flex;justify-content:flex-end;margin-top:16px;}
.v4-app .planning-btn-primary{font-size:13px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .planning-btn-ghost{font-size:13px;font-weight:650;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .planning-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:16px;box-shadow:none;}
.v4-app .planning-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.v4-app .planning-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--fg-3);}
.v4-app .planning-field[data-wide="true"]{grid-column:1/-1;}
.v4-app .planning-field input,.v4-app .planning-field select,.v4-app .planning-field textarea{font:inherit;font-size:13.5px;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);}
.v4-app .planning-actions{display:flex;gap:10px;margin-top:18px;}
.v4-app .planning-row{padding:12px 4px;border-bottom:1px solid var(--line-soft);font-size:13.5px;font-weight:600;cursor:pointer;}
.v4-app .planning-row[data-on="true"]{color:var(--accent-ink);}
.v4-app .planning-muted{font-size:12px;color:var(--fg-3);margin-top:8px;}
.v4-app .planning-empty{padding:6px 4px 0;}
.v4-app .planning-scenario-title{font-size:14px;font-weight:700;margin-bottom:12px;}
.v4-app .planning-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.v4-app .planning-scenario-cell{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.v4-app .planning-scenario-value{font-family:var(--font);font-size:18px;font-weight:600;}
.v4-app .planning-scenario-label{font-size:11px;color:var(--fg-3);margin-top:4px;}
.v4-app .planning-table-head{display:grid;grid-template-columns:minmax(160px,2fr) 130px 130px 110px 120px;gap:10px;padding:11px 4px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;}
.v4-app .planning-table-row{display:grid;grid-template-columns:minmax(160px,2fr) 130px 130px 110px 120px;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line-soft);font-size:13px;align-items:center;}
.v4-app .planning-row-name{font-weight:650;}

/* GTM board — the ported go-to-market planner (native DC, no external script). */
.planning-board{display:flex;flex-direction:column;gap:14px}
.planning-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.planning-board-title{font:600 15px/1.3 inherit}
.planning-board-head-actions{display:flex;align-items:center;gap:10px}
.planning-board-dirty{font-size:12px;color:var(--v4-warn,var(--cf-negative))}
.planning-board-grid{display:grid;grid-template-columns:1fr minmax(180px,.8fr) 1fr;gap:16px;align-items:start}
.planning-board-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.planning-board-col-head{font:600 11px/1 inherit;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.planning-board-col-hub{justify-content:center;padding-top:26px}
.planning-board-item{display:flex;align-items:stretch;gap:6px}
.planning-board-card,.planning-board-hub{flex:1;min-width:0;text-align:left;padding:10px 12px;border:1px solid var(--v4-line,color-mix(in srgb,var(--cf-border) 12%,transparent));border-radius:10px;background:var(--v4-surface-2,color-mix(in srgb,var(--cf-text) 3%,transparent));cursor:pointer}
.planning-board-card.is-on,.planning-board-hub.is-on{border-color:var(--v4-accent,var(--cf-border));box-shadow:none}
.planning-board-card-label{font:600 13px/1.35 inherit}
.planning-board-card-value{font-size:12px;opacity:.7;margin-top:2px;overflow-wrap:anywhere}
.planning-board-card-status{font-size:11px;margin-top:4px;opacity:.75}
.planning-board-card[data-status="live"] .planning-board-card-status{color:var(--v4-ok,var(--cf-positive))}
.planning-board-card[data-status="attn"] .planning-board-card-status{color:var(--v4-danger,var(--cf-negative))}
.planning-board-move{display:flex;flex-direction:column;gap:3px}
.planning-board-move button{width:24px;flex:1;border:1px solid var(--v4-line,color-mix(in srgb,var(--cf-border) 12%,transparent));border-radius:6px;background:none;color:inherit;cursor:pointer;font-size:11px;line-height:1}
.planning-board-move button[disabled]{opacity:.3;cursor:default}
.planning-board-add{align-self:stretch}
.planning-board-editor{border-top:1px solid var(--v4-line,color-mix(in srgb,var(--cf-border) 12%,transparent));padding-top:14px;display:flex;flex-direction:column;gap:12px}
.planning-btn-danger{border:1px solid var(--v4-danger,var(--cf-border));color:var(--v4-danger,var(--cf-negative));background:none;border-radius:8px;padding:8px 14px;cursor:pointer}
/* Targeting map canvas — blocked by img-src, stated plainly rather than rendered broken. */
.planning-map-off{display:flex;flex-direction:column;gap:8px}
.planning-map-off-title{font:600 14px/1.3 inherit}
.planning-map-off-body{font-size:13px;opacity:.8;margin:0}
.planning-map-off code{font-size:12px}
@media (max-width:900px){.planning-board-grid{grid-template-columns:1fr}.planning-board-col-hub{padding-top:0}}

/* Targeting map — Leaflet 1.9.4 over OSM tiles when window.L is present, table when not.
   Only SVG vector layers are used (circleMarker/circle), so leaflet.css's url(images/…)
   rules for the default marker and the layers control are never exercised and no image
   asset beyond the tiles themselves is requested. */
.planning-map{display:flex;flex-direction:column;gap:12px}
.planning-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.planning-map-title{font:600 14px/1.3 inherit}
.planning-map-note{margin:4px 0 0;font-size:12px}
.planning-map-canvas{height:320px;border-radius:10px;overflow:hidden;background:var(--v4-sunk,color-mix(in srgb,var(--cf-text) 4%,transparent));border:1px solid var(--v4-line,color-mix(in srgb,var(--cf-border) 12%,transparent))}
.planning-map-canvas .leaflet-container{height:100%;background:transparent;font:inherit}
/* The canvas is on the page with the map so Leaflet can draw into it; until Leaflet has (or when it cannot load), the
   territory list below is the whole map and no empty box shows. */
.planning-map-canvas:not(.leaflet-container){display:none}
.planning-map-pin{fill:var(--v4-accent,#6ea8fe);fill-opacity:.85;stroke:var(--cf-muted);stroke-width:1.5}
.planning-map-pin.is-on{fill:var(--v4-good,#5fd08a);fill-opacity:1;stroke-width:2}
.planning-map-radius{fill:var(--v4-accent,#6ea8fe);fill-opacity:.12;stroke:var(--v4-accent,#6ea8fe);stroke-opacity:.5;stroke-width:1}
.planning-map-radius.is-on{fill-opacity:.22}
.planning-map-blocked{margin:0;font-size:12px;line-height:1.5;padding:10px 12px;border-radius:8px;border:1px solid var(--v4-warn,var(--cf-border));color:var(--v4-warn,var(--cf-negative))}
.planning-map-table .planning-map-row{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:8px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--v4-line,color-mix(in srgb,var(--cf-border) 8%,transparent));color:inherit;font:inherit;padding:10px 0;cursor:pointer}
.planning-map-table .planning-map-row.is-on{background:var(--v4-sunk,color-mix(in srgb,var(--cf-text) 6%,transparent))}
.planning-map-coords{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.planning-map-actions{align-items:center;gap:12px}
@media (max-width:900px){.planning-map-coords{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-map-table .planning-map-row{grid-template-columns:1fr 1fr}}

/* v4 platform page — scoped under .v4-app per the v4 build contract. */
.v4-app .platform-tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:none;}
.v4-app .platform-tile-label{font-size:12px;color:var(--fg-3);}
.v4-app .platform-tile-value{font-family:var(--font);font-size:29px;font-weight:600;margin-top:8px;}
.v4-app .platform-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px 18px;box-shadow:none;cursor:pointer;}
.v4-app .platform-banner-bad{margin-top:16px;background:color-mix(in srgb,var(--cf-surface) 10%,transparent);border:1px solid color-mix(in srgb,var(--cf-border) 28%,transparent);color:var(--cf-negative);border-radius:12px;padding:12px 16px;font-size:13px;}

/* v4 "reporting" page. Scoped under .v4-app; owned only by the reporting page (src/v4/pages/reporting.*). */
.v4-app .v4-reporting-page { padding: 38px 44px 60px; }
.v4-app .v4-reporting-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.v4-app .v4-reporting-tile { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; box-shadow: none; }
.v4-app .v4-reporting-tile-label { font-size: 12px; color: var(--fg-3); }
.v4-app .v4-reporting-tile-value { font-family: var(--font); font-size: 27px; font-weight: 600; margin-top: 8px; }
.v4-app .v4-reporting-tile-delta { font-size: 11.5px; color: var(--accent-ink); font-weight: 600; margin-top: 4px; }
.v4-app .v4-reporting-section { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; padding: 24px 26px; box-shadow: none; }
.v4-app .v4-reporting-row { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line-soft); }
.v4-app .v4-reporting-avatar { width: 28px; height: 28px; border-radius: 8px; background: var(--fg); color: var(--bg); display: flex; align-items: center; justify-content: center; font-family: var(--font); font-size: 10px; font-weight: 700; flex: none; }
.v4-app .v4-reporting-empty { font-size: 12.5px; color: var(--fg-3); padding: 8px 0; }

/* UI-NEXT: the new blocks stay hidden here, so classic renders exactly as before. zz-next-reporting.css shows
   them under the new look's switch; its rules are more specific than this one, so they need no !important. */
.v4-app :is(.rep-n-period,.rep-n-ai,.rep-n-revenue,.rep-n-goal){display:none}

/* Reputation page. Layout is inline per the ported v4 markup (see reputation.html); every
   var(--token, fallback) carries its own fallback so the page reads correctly whether or
   not the shell lane's .v4-app tokens have landed yet — this file intentionally does not
   redeclare shared tokens, to avoid overriding the shell's real design tokens. */
.v4-app .v4-reputation{min-height:100%;}
/* QA F12: a review source that cannot be connected yet reads as unavailable, not as an active button. */
.v4-app .v4-reputation .rep-connect[data-soon="true"]{opacity:.75;cursor:default!important}

/* FIELD-SYNC-01: Settings > Connections > Scheduling and job software (settings-sync-field-model.js). Paints only with the
   v4 tokens (--panel, --line, --fg*, --accent, --danger), which the next look re-points at its gb palette, so light, dark
   and next all follow the workspace theme. Rows wrap at phone width; every control is at least 44px tall. */
.v4-app .fsync{--fsync-ok:#1b7a3a;--fsync-warn:#8a5a00;margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--fg);min-width:0;overflow-wrap:anywhere}
.v4-app[data-theme="dark"] .fsync{--fsync-ok:#30d158;--fsync-warn:#ffb340}
.v4-app[data-ui=next] .fsync{--fsync-ok:var(--gb-sage-ink);--fsync-warn:var(--gb-ember-ink)}
.v4-app .fsync h2{margin:0;font-size:17px;font-weight:750}
.v4-app .fsync p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-3)}
.v4-app .fsync-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px}
.v4-app .fsync-head__text{flex:1 1 260px;min-width:0}
.v4-app .fsync-sub{margin:20px 0 8px;font-size:13px;font-weight:700;color:var(--fg)}
.v4-app .fsync-listhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:20px}
.v4-app .fsync-listhead .fsync-sub{margin:0}
.v4-app .fsync-list{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.v4-app .fsync-row{padding:12px 14px;border-top:1px solid var(--line-soft,var(--line));min-width:0}
.v4-app .fsync-row:first-child{border-top:0}
.v4-app .fsync-row__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.v4-app .fsync-row__main{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}
.v4-app .fsync-row__main strong{font-size:13.5px;font-weight:650;color:var(--fg)}
.v4-app .fsync-meta{font-size:12px;line-height:1.45;color:var(--fg-3)}
.v4-app .fsync-meta:empty{display:none}
.v4-app .fsync-badge{flex:none;font-size:11.5px;font-weight:650;line-height:1.3;padding:4px 10px;border-radius:100px;background:var(--chip,var(--panel-2));color:var(--fg-2)}
.v4-app .fsync-badge[data-state="connected"]{color:var(--fsync-ok);background:color-mix(in srgb,var(--fsync-ok) 12%,transparent)}
.v4-app .fsync-badge[data-state="ready"]{color:var(--fg);box-shadow:none}
.v4-app .fsync-badge:is([data-state="paused"],[data-state="error"]){color:var(--fsync-warn);background:color-mix(in srgb,var(--fsync-warn) 12%,transparent)}
.v4-app .fsync-btn{flex:none;min-height:44px;min-width:44px;padding:9px 14px;font:inherit;font-size:12.5px;font-weight:650;color:var(--fg);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;cursor:pointer}
.v4-app .fsync-btn--primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}
.v4-app .fsync-btn--danger{color:var(--cf-text);background:var(--danger);border-color:var(--danger)}
.v4-app .fsync-btn--quiet{background:transparent;color:var(--fg-2)}
.v4-app .fsync-btn:disabled{opacity:.55;cursor:default}
.v4-app .fsync-link{min-height:44px;padding:0 2px;font:inherit;font-size:12.5px;font-weight:650;color:var(--accent-ink);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.v4-app .fsync-hint{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;padding:10px 12px;border-radius:10px;font-size:12.5px;line-height:1.45;color:var(--fg);background:color-mix(in srgb,var(--fsync-warn) 10%,transparent)}
.v4-app .fsync-hint>span{flex:1 1 220px;min-width:0}
.v4-app .fsync-form{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);min-width:0}
.v4-app .fsync-form .fsync-meta{display:block;margin:0 0 4px}
.v4-app .fsync-field{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:12px;font-weight:600;color:var(--fg);min-width:0}
.v4-app .fsync-field input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;font:inherit;font-size:16px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:9px}
.v4-app .fsync-search{margin-top:10px}
.v4-app .fsync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v4-app .fsync-actions--end{justify-content:flex-end;margin-top:8px}
.v4-app .fsync-toggles:empty{display:none}
.v4-app .fsync-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 0;margin-top:10px;border-top:1px solid var(--line-soft,var(--line))}
.v4-app .fsync-toggle__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--fg)}
.v4-app .fsync-toggle__text small{font-size:12px;line-height:1.45;color:var(--fg-3)}
.v4-app .fsync-switch{position:relative;flex:none;display:inline-flex;align-items:center;width:52px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.v4-app .fsync-switch::before{content:"";position:absolute;left:2px;top:50%;width:48px;height:28px;margin-top:-14px;border-radius:14px;background:var(--seg-off);transition:background 120ms}
.v4-app .fsync-switch__knob{position:absolute;left:4px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--cf-surface);box-shadow:none;transition:transform 120ms}
.v4-app .fsync-switch[aria-checked="true"]::before{background:var(--fsync-ok)}
.v4-app .fsync-switch[aria-checked="true"] .fsync-switch__knob{transform:translateX(20px)}
.v4-app .fsync-switch__state{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.v4-app .fsync-switch:disabled{opacity:.55;cursor:default}
.v4-app .fsync-confirm{flex:1 1 100%;padding:10px 12px;border:1px solid var(--danger);border-radius:10px;font-size:12.5px;line-height:1.45;color:var(--fg)}
.v4-app .fsync-confirm .fsync-actions{margin-top:8px}
.v4-app .fsync .fsync-error{color:var(--danger)}
.v4-app .fsync .fsync-success{color:var(--fsync-ok)}
.v4-app .fsync :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.v4-app .fsync-import{margin-top:10px;padding:10px 0 0;border-top:1px solid var(--line-soft,var(--line))}
.v4-app .fsync-runs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.v4-app .fsync-run{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}
.v4-app .fsync-run__name{flex:0 0 76px;font-size:12.5px;font-weight:650;color:var(--fg)}
.v4-app .fsync-run__error{flex:1 1 100%;color:var(--fsync-warn)}
.v4-app .fsync-badge[data-state="done"]{color:var(--fsync-ok);background:color-mix(in srgb,var(--fsync-ok) 12%,transparent)}
.v4-app .fsync-badge[data-state="failed"]{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}
.v4-app .fsync-area{width:100%;box-sizing:border-box;min-height:96px;padding:10px 12px;font:inherit;font-size:16px;line-height:1.45;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:9px;resize:vertical}
.v4-app .fsync-note{font-size:12.5px;color:var(--fg-3)}
.v4-app .fsync :is(button,input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:480px){.v4-app .fsync{padding:16px 14px}.v4-app .fsync-row__top>.fsync-btn{flex:1 1 100%}.v4-app .fsync-form .fsync-actions .fsync-btn{flex:1 1 calc(50% - 8px)}}

/* v4 Settings page — scoped under .v4-app. Layout and copy live inline (ported from the v4
   mockup); this file only carries the handful of rules inline styles can't express. */
.v4-app .v4-settings input::placeholder,
.v4-app .v4-settings textarea::placeholder { color: var(--fg-3); opacity: .8; }
.v4-app .v4-settings a { transition: border-color 120ms; }
.v4-app .v4-settings button:disabled { cursor: default; opacity: .55; }

.agent-voice-settings{margin-top:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.avs-heading,.avs-footer,.avs-transfer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.avs-heading h2{font-size:24px;letter-spacing:-.02em;margin:5px 0 8px}.avs-eyebrow{font-size:10px;font-weight:750;letter-spacing:.13em;color:var(--accent)}
.agent-voice-settings p{font-size:13px;line-height:1.6;color:var(--fg-3);margin:6px 0}.agent-voice-settings h3{font-size:15px;margin:0 0 12px}
.agent-voice-settings fieldset{border:0;padding:0;margin:0;min-width:0}.avs-section{padding:23px 0;border-bottom:1px solid var(--line)}
.avs-control-help{font-size:12px;font-weight:400;line-height:1.5;color:var(--fg-3)}
.cf-shell.cf-shell.cf-shell .backend-settings>.settings-section-tabs.settings-mobile-tabs,.settings-mobile-tabs{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;min-width:0;border-bottom:1px solid var(--line);padding:0 0 6px;margin:0 0 16px}.settings-mobile-tabs button{flex:none;min-height:44px;min-width:44px;padding:10px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--fg-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.settings-mobile-tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}.settings-mobile-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.backend-settings>[data-settings-active="false"]{display:none!important}.backend-settings>[data-settings-active="true"]{min-width:0}
.avs-advanced{padding:12px 0 23px;border-bottom:1px solid var(--line)}.avs-advanced>summary{box-sizing:border-box;min-height:44px;padding:12px 0;cursor:pointer;font-size:13px;font-weight:650}.avs-advanced>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.avs-advanced[open]>.avs-controls{margin-top:17px}.avs-pronunciations{margin-top:23px}
.avs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}.agent-voice-settings label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650}
.agent-voice-settings input,.agent-voice-settings textarea,.agent-voice-settings select{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--bg);color:var(--fg);font:inherit;font-size:13px}
.agent-voice-settings textarea{resize:vertical;line-height:1.5}.avs-greeting{margin-top:18px}.avs-line{display:flex;flex-direction:column;gap:7px;font-size:12px}.avs-line strong{font-size:16px}.avs-line small,.avs-transfer small{color:var(--fg-3)}
.avs-voices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.avs-voice{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);cursor:pointer;text-align:left}
.avs-voice[aria-pressed="true"]{border-color:var(--accent);box-shadow:none}.avs-wave{font-size:18px;letter-spacing:3px;color:var(--accent)}.avs-voice>span:last-child{font-size:11px;color:var(--fg-3)}
.avs-transfer{padding:20px 0}.avs-transfer h3{margin-bottom:5px}.avs-transfer a{font-size:12px;color:var(--fg-2)}.avs-footer{padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--fg-3)}
.avs-save,.avs-secondary{border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-weight:650;font-size:12px;cursor:pointer;background:var(--bg);color:var(--fg)}.avs-save{background:var(--accent);color:var(--cf-text);border-color:var(--accent)}
.avs-error,.avs-success{padding:12px;border:1px solid var(--line);border-radius:9px}.avs-error{color:var(--danger,var(--cf-negative))}.avs-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.avs-presets{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.avs-preset-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.avs-preset-actions>span{font-size:11px;color:var(--fg-3);flex:1}.avs-delete-review{margin-top:12px;padding:12px;border:1px solid var(--danger,var(--cf-border));border-radius:9px}.avs-delete-review button{margin:8px 8px 0 0}.avs-recovery{border-top:1px solid var(--line);padding:18px 0}.avs-recovery summary{cursor:pointer;font-size:13px;font-weight:650}.avs-recovery label{flex:1;min-width:180px}.agent-voice-settings button:disabled{opacity:.5;cursor:default}.avs-success{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.cf-shell.cf-shell.cf-shell .backend-settings>.settings-section-tabs{flex-wrap:wrap;overflow:visible;gap:4px}.settings-hub{margin:0 0 20px;padding:0;color:var(--fg)}.settings-hub h2{font-size:17px;margin:0 0 6px}.settings-hub p{font-size:12px;color:var(--fg-3);line-height:1.5;margin:5px 0}.settings-hub-search{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin:0 0 16px}.settings-hub input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--bg);color:var(--fg);font:inherit}.settings-hub-groups{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.settings-hub-groups button{background:var(--bg);color:var(--fg-2);border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:12px;cursor:pointer}.settings-hub-groups button[aria-pressed="true"]{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.settings-hub-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.settings-hub-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg);min-width:0}.settings-hub-card-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--fg-3)}.settings-hub-pin{border:0;background:transparent;color:var(--accent);font-size:20px;cursor:pointer;padding:4px}.settings-hub-open{display:flex;flex-direction:column;gap:9px;width:100%;text-align:left;border:0;padding:8px 0;background:transparent;color:var(--fg);cursor:pointer}.settings-hub-open strong{font-size:14px}.settings-hub-open span{font-size:12px;line-height:1.5;color:var(--fg-2)}.settings-hub-open small{font-size:10px;line-height:1.5;color:var(--fg-3)}.settings-hub button:focus-visible,.agent-voice-settings button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.action-confirmation{position:fixed;bottom:var(--crm-confirmation-clearance,72px);left:50%;transform:translateX(-50%);z-index:2000;display:flex;align-items:flex-start;gap:16px;max-width:min(620px,calc(100vw - 40px));box-sizing:border-box;padding:14px 18px;background:var(--panel);color:var(--fg);border:1px solid var(--accent);border-radius:12px;box-shadow:none}.action-confirmation>div{display:flex;flex-direction:column;gap:5px}.action-confirmation strong{font-size:12px}.action-confirmation span{font-size:12px;line-height:1.5}.action-confirmation button{min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;font-size:20px;color:var(--fg);cursor:pointer;padding:0 3px}.action-confirmation[data-kind="error"]{border-color:var(--danger,var(--cf-border))}@media(max-width:1000px){.settings-hub-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.settings-hub-cards{grid-template-columns:1fr}.action-confirmation{bottom:var(--crm-confirmation-clearance,198px);width:calc(100vw - 32px)}}
@media(max-width:720px){.agent-voice-settings{padding:18px}.avs-grid{grid-template-columns:1fr}.avs-voices{grid-template-columns:repeat(2,minmax(0,1fr))}.avs-save{width:100%}}

.avs-voice-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.avs-voice-card[data-selected="true"]{border-color:var(--accent);box-shadow:none}.avs-voice-card .avs-voice{width:100%;border:0;border-radius:0;box-shadow:none}.avs-demo{display:block;margin:0 12px 12px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}.avs-demo:hover{border-color:var(--accent)}.avs-demo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.agent-voice-settings .avs-toggle{flex-direction:row;align-items:center;min-height:44px}.agent-voice-settings .avs-toggle input{width:20px;height:20px;margin:0;flex-shrink:0}

/* T055 Fields settings: wraps at phone width, 44px touch targets, visible keyboard focus. */
.fld-panel .fld-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.fld-panel .fld-main{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.fld-panel .fld-meta{display:block;font-size:12px;color:var(--fg-3);margin-top:3px}
.fld-panel .fld-actions{display:flex;flex-wrap:wrap;gap:8px}.fld-panel .fld-actions button{min-height:44px;min-width:44px}
.fld-panel .fld-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;min-width:0}.fld-panel .fld-box h3{margin:0 0 8px;font-size:14px}
.fld-panel .fld-label{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:12px;font-weight:600}
.fld-panel .fld-label input,.fld-panel .fld-label select,.fld-panel .fld-label textarea{width:100%;box-sizing:border-box;min-height:44px;font:inherit;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--bg);color:var(--fg)}
.fld-panel .fld-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px}.fld-panel .fld-check input{width:20px;height:20px;margin:0;flex-shrink:0}
.fld-panel .fld-roles{border:0;padding:0;margin:10px 0;min-width:0}.fld-panel .fld-roles legend{font-size:12px;font-weight:600;padding:0}
.fld-panel .fld-error{color:var(--danger,var(--cf-negative))}
.fld-panel button:focus-visible,.fld-panel input:focus-visible,.fld-panel select:focus-visible,.fld-panel textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:480px){.fld-panel .fld-actions{width:100%}.fld-panel .fld-actions button{flex:1 1 calc(50% - 8px)}}

/* F16: one calm summary when several Settings reads fail (settings-zz-load-issues-model.js). Neutral panel, no alarm colour;
   the listed sections' own alerts are hidden while the summary carries them, and each section keeps its own retry button. */
.v4-app .settings-load-issues{margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--fg)}
.v4-app .settings-load-issues__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.v4-app .settings-load-issues__text{flex:1 1 240px;min-width:0}
.v4-app .settings-load-issues h2{margin:0;font-size:15px;font-weight:700}
.v4-app .settings-load-issues p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-3)}
.v4-app .settings-load-issues .secondary-button{flex:none;min-height:36px;padding:7px 14px;font:inherit;font-size:12.5px;font-weight:650;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:9px;cursor:pointer}
.v4-app .settings-load-issues__details{margin-top:10px}
.v4-app .settings-load-issues__details>summary{min-height:36px;display:flex;align-items:center;font-size:12.5px;font-weight:650;color:var(--fg-2);cursor:pointer}
.v4-app .settings-load-issues__details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.v4-app .settings-load-issues ul{list-style:none;margin:6px 0 0;padding:0}
.v4-app .settings-load-issues li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}
.v4-app .settings-load-issues li>div:first-child{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12.5px}
.v4-app .settings-load-issues li span{color:var(--fg-3);line-height:1.45}
.v4-app .settings-load-issues__actions{display:flex;align-items:center;gap:12px;flex:none}
.v4-app .settings-load-issues__actions a{font-size:12.5px;font-weight:650;color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.v4-app .v4-settings[data-load-issues~="voice"] .avs-error,
.v4-app .v4-settings[data-load-issues~="readiness"] .settings-readiness-error,
.v4-app .v4-settings[data-load-issues~="booking"] #booking-settings .backend-alert,
.v4-app .v4-settings[data-load-issues~="owner"] .owner-phone-panel>.op-error[role="alert"],
.v4-app .v4-settings[data-load-issues~="spend"] .settings-spend-error,
.v4-app .v4-settings[data-load-issues~="support"] .settings-support-error{display:none}
.v4-app .settings-load-issues{margin-bottom:18px}
.v4-app .settings-load-issues__details>summary{list-style:none;gap:6px}
.v4-app .settings-load-issues__details>summary::-webkit-details-marker{display:none}
.v4-app .settings-load-issues__details>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform 120ms}
.v4-app .settings-load-issues__details[open]>summary::before{transform:rotate(45deg)}
/* P2-8 (sweep 4): a closed <details> only skips its content (content-visibility), so the item rows kept boxes stacked over
   the glance cards and the Phone card below, and a point test there found "Try again" or "Go to …" under them. Closed, the
   list takes no box at all; open, it is in the flow as before and pushes what follows down. */
.v4-app .settings-load-issues__details:not([open])>ul{display:none}
/* P2-7 (UX sweep 4): a Settings button whose work starts after the next frame shows at once that it is opening. */
.v4-app .v4-settings [data-settings-opening]{opacity:.6;cursor:progress}

/* The section links wrap on desktop and tablet so all of them stay in view; as one scrolling row, 5 of 13 sat off-screen
   with nothing to say so (UX sweep 2 N20). Phones keep the scrolling row. */
@media (min-width: 761px) { .v4-app .v4-settings-tabs { flex-wrap: wrap; row-gap: 8px; } }
/* S6 (sweep 3): the placeholder while the first reads are out (settingsWaiting). The body's sections stay mounted but are
   not drawn, so they and the load-issue summary appear together; the status line is read out but takes no room. */
.v4-app .v4-settings[data-settings-wait=true] .v4-settings-body>:not(.settings-wait){display:none!important}
.v4-app .settings-wait{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.v4-app .settings-wait .settings-wait-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.v4-app .settings-wait .settings-wait-block{height:140px;border-radius:14px;background:var(--panel-2,color-mix(in srgb,var(--cf-surface) 12%,transparent))}
.v4-app .settings-wait .settings-wait-block:nth-of-type(2){height:260px}
.v4-app .settings-wait .settings-wait-block:nth-of-type(3){height:480px}
/* Spending today (Plan & billing): read-only meters that wrap at phone width. Level colours hold in light and dark; fills and link use text colours because the shell's --accent is a pale tint on .v4-main. */
.v4-app .settings-spend{--spend-warn:#8a5a00;min-width:0;overflow-wrap:anywhere}
.v4-app[data-theme="dark"] .settings-spend{--spend-warn:#ffb340}
.v4-app .settings-spend-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.v4-app .settings-spend-head h3{margin:0;font-size:15px;font-weight:700}
.v4-app .settings-spend-head button{min-height:44px;min-width:44px}
.v4-app .settings-spend p{font-size:12.5px;line-height:1.5;color:var(--fg-3);margin:6px 0 0}
.v4-app .settings-spend .settings-spend-live:empty{margin:0}
.v4-app .settings-spend .settings-spend-error{color:var(--danger)}
.v4-app .settings-spend-meters{list-style:none;margin:10px 0 0;padding:0}
.v4-app .settings-spend-meter{padding:12px 0;border-bottom:1px solid var(--line-soft);min-width:0}
.v4-app .settings-spend-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;font-size:13px;color:var(--fg)}
.v4-app .settings-spend-row strong{font-weight:650;font-variant-numeric:tabular-nums}
.v4-app .settings-spend progress{display:block;width:100%;height:6px;margin:8px 0 0;border:0;border-radius:6px;overflow:hidden;-webkit-appearance:none;appearance:none;background:var(--seg-off);color:var(--fg-2)}
.v4-app .settings-spend progress::-webkit-progress-bar{background:var(--seg-off);border-radius:6px}
.v4-app .settings-spend progress::-webkit-progress-value{background:var(--fg-2);border-radius:6px}
.v4-app .settings-spend progress::-moz-progress-bar{background:var(--fg-2);border-radius:6px}
.v4-app .settings-spend-meter[data-level="warning"] progress::-webkit-progress-value{background:var(--spend-warn)}
.v4-app .settings-spend-meter[data-level="warning"] progress::-moz-progress-bar{background:var(--spend-warn)}
.v4-app .settings-spend-meter[data-level="reached"] progress::-webkit-progress-value{background:var(--danger)}
.v4-app .settings-spend-meter[data-level="reached"] progress::-moz-progress-bar{background:var(--danger)}
.v4-app .settings-spend-meter:is([data-level="warning"],[data-level="paused"]) .settings-spend-status{color:var(--spend-warn);font-weight:600}
.v4-app .settings-spend-meter[data-level="reached"] .settings-spend-status{color:var(--danger);font-weight:600}
.v4-app .settings-spend .settings-spend-fine{font-size:11.5px}
.v4-app .settings-spend .settings-spend-link{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.v4-app .staff-admin-tabs{display:flex;flex-wrap:wrap;gap:4px}.v4-app .staff-admin-tabs button{min-height:44px;min-width:44px;padding:10px 12px}

/* Onboarding wizard overlay. Layout is inline per the ported v4 markup (see setup.html); this
   file intentionally does not redeclare shared tokens, to avoid overriding the shell's real
   design tokens. */
.v4-app .v4-setup{pointer-events:auto;}

/* v4 Signature page — scoped under .v4-app so nothing else is touched. */
.v4-app .v4-signature-page{padding:40px 44px 60px;}
.v4-app .v4-signature-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .v4-signature-subtitle{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .v4-signature-hint{color:var(--fg-3);margin-top:14px;}
.v4-app .v4-signature-note{color:var(--fg-3);font-size:12px;}
.v4-app .v4-signature-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:22px;}
.v4-app .v4-signature-kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:none;}
.v4-app .v4-signature-kpi-value{font-size:26px;font-weight:800;letter-spacing:-.02em;}
.v4-app .v4-signature-kpi-label{font-size:12px;color:var(--fg-3);margin-top:4px;}
.v4-app .v4-signature-today,.v4-app .v4-signature-features{margin-top:28px;}
.v4-app .v4-signature-appointments{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.v4-app .v4-signature-appointments li{display:flex;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:13px;}
.v4-app .v4-signature-appt-time{font-family:var(--font);font-weight:650;width:80px;flex:none;}
.v4-app .v4-signature-appt-status{margin-left:auto;color:var(--fg-3);font-size:11.5px;}
.v4-app .v4-signature-features input{margin-top:10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;width:100%;max-width:360px;}
.v4-app .v4-signature-feature-list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;}
.v4-app .v4-signature-feature-list li{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:12.5px;background:var(--panel);}

.v4-app .social-page{padding:38px 44px 60px;}
.v4-app .social-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.v4-app .social-head-text{flex:1;min-width:240px;}
.v4-app .social-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;}
.v4-app .social-sub{font-size:14px;color:var(--fg-3);margin-top:6px;}
.v4-app .social-head-actions{display:flex;gap:10px;}
.v4-app .social-btn-primary{font-size:13px;font-weight:650;color:var(--on-accent);background:var(--accent);border:none;border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .social-btn-primary:disabled{opacity:.5;cursor:default;}
.v4-app .social-btn-ghost{font-size:13px;font-weight:650;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 16px;cursor:pointer;}
.v4-app .social-btn-ghost:disabled{opacity:.5;cursor:default;}
.v4-app .social-alert{color:var(--cf-negative);font-size:13px;margin-top:14px;}
.v4-app .social-notice{color:var(--accent-ink);font-size:13px;margin-top:14px;}
.v4-app .social-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:20px;box-shadow:none;}
.v4-app .social-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.v4-app .social-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--fg-3);}
.v4-app .social-field[data-wide="true"]{grid-column:1/-1;}
.v4-app .social-field input,.v4-app .social-field select,.v4-app .social-field textarea{font:inherit;font-size:13.5px;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);}
.v4-app .social-actions{display:flex;gap:10px;margin-top:18px;}
.v4-app .social-group{margin-top:26px;}
.v4-app .social-group-label{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin-bottom:10px;}
.v4-app .social-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.v4-app .social-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:none;}
.v4-app .social-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:650;}
.v4-app .social-when{font-family:var(--font);font-size:10.5px;color:var(--fg-3);font-weight:400;}
.v4-app .social-card-body{font-size:13px;line-height:1.5;color:var(--fg-2);margin-top:12px;white-space:pre-wrap;}
.v4-app .social-card-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);}
.v4-app .social-row-actions{display:flex;gap:8px;flex-wrap:wrap;}
.v4-app .social-row-actions .social-btn-primary,.v4-app .social-row-actions .social-btn-ghost{padding:8px 12px;font-size:12px;border-radius:9px;}
.v4-app .social-status{font-size:11px;font-weight:650;color:var(--fg-3);text-transform:capitalize;}
.v4-app .social-muted{font-size:12px;color:var(--fg-3);}
.v4-app .social-empty{margin-top:26px;}

.simple-toggle{border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 21%,transparent));background:var(--panel,color-mix(in srgb,var(--cf-text) 4%,transparent));color:var(--ink,var(--fg,var(--cf-text)));border-radius:999px;padding:9px 13px;font:inherit;font-size:12px;line-height:1.3;cursor:pointer;white-space:nowrap}
.simple-toggle[aria-pressed=true]{border-color:var(--cf-border);background:color-mix(in srgb,var(--cf-text) 10%,transparent)}
.simple-toggle:focus-visible,.simple-utility:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}
.simple-mobile-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 9%,transparent)}
.simple-utility{color:var(--ink,var(--cf-text));font:inherit;font-size:12px;border:0;background:transparent;padding:9px 3px;cursor:pointer}
.simple-utility b{display:inline-block;min-width:18px;padding:2px 4px;margin-left:3px;border-radius:10px;background:color-mix(in srgb,var(--cf-text) 14%,transparent);font-size:11px}
.simple-appearance{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px;border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 15%,transparent));border-radius:18px;margin:16px 0}
.simple-appearance h3{margin:0 0 5px;font-size:15px}.simple-appearance p{margin:0;color:var(--fg-3,var(--cf-muted));font-size:13px;line-height:1.5}
.simple-mode-options{display:flex;gap:6px}.voice-note{margin:8px 24px;font-size:12px;line-height:1.5;color:var(--fg-3,var(--cf-muted))}
.voice-interim{margin:4px 24px;color:var(--ink,var(--cf-text));font-size:14px;font-style:italic}.assistant-controls [aria-pressed=true]{color:var(--cf-negative);box-shadow:none}
.simple-search-tools{padding:14px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.simple-search-tools>span{font-size:12px;color:var(--cf-muted)}
.simple-operating{display:flex;flex-wrap:wrap;gap:8px 14px;min-width:0;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink,var(--fg));font-size:12px}
.simple-operating legend{padding:0 4px}.simple-operating label{display:flex;align-items:center;gap:7px;min-height:32px;cursor:pointer}.simple-operating input{accent-color:var(--accent-ink,var(--accent));margin:0;width:auto;min-height:0}
.simple-operating input:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:760px){[data-screen="simple-mode"] .phone-header{flex-wrap:wrap}.simple-operating{flex-basis:100%;width:100%;box-sizing:border-box}}
@media(max-width:760px){.header-actions .simple-toggle{font-size:11px;padding:8px}.simple-mobile-controls .simple-toggle{font-size:11px}.simple-mobile-controls{flex-wrap:wrap}.voice-note{margin:8px 18px}.simple-appearance{padding:16px}}

.anna-result-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;white-space:normal}.anna-result-links:empty{display:none}.anna-result-links a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 24%,transparent));border-radius:8px;color:inherit;font-size:12px;font-weight:600;text-decoration:none}.anna-result-links a:hover{background:var(--hover,color-mix(in srgb,var(--cf-text) 10%,transparent))}.anna-result-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Keep the relocated Settings reachable in the compact Simple workspace. */
.simple-compact-controls{display:none}
@media(max-width:760px){.simple-compact-controls{display:flex}}

/* One desktop navigation preference, shared by Simple and Full View. */
.sidebar-brand-mark{display:none}
.sidebar-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin-top:12px;padding:9px 11px;border:1px solid var(--line2,var(--line));border-radius:10px;background:transparent;color:var(--ink3,var(--fg-2));font:inherit;font-size:12px;text-align:left;flex:none}
.sidebar-toggle:hover{background:var(--hover);color:var(--ink,var(--fg))}
.sidebar-toggle svg,.sidebar-account>svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sidebar-toggle:focus-visible,.sidebar-account:focus-visible{outline:2px solid var(--accent-ink,var(--accent));outline-offset:3px}
.sidebar-account{display:flex;align-items:center;gap:10px}.sidebar-account>svg{display:none}
.v4-sidebar{min-height:0;min-width:0;transition:width 120ms ease,padding 120ms ease!important}
.v4-sidebar .sidebar-link{border:0;width:100%;min-height:40px;text-align:left;line-height:1.4}
.v4-sidebar .sidebar-link>svg{flex:none}
.v4-sidebar .sidebar-workspace{border:0;background:transparent;color:inherit;text-align:left;font:inherit;flex:none}
.v4-sidebar .sidebar-user{border:0;padding:0;cursor:pointer;font-family:inherit}
@media(min-width:761px){
  .app-shell[data-sidebar-collapsed]{transition:grid-template-columns 120ms ease,padding-right 120ms cubic-bezier(.22,1,.36,1)}
  .app-shell[data-sidebar-collapsed="true"],.app-shell[data-sidebar-collapsed="true"][data-anna-open="true"][data-anna-view="dock"]{grid-template-columns:72px minmax(0,1fr)}
  .app-shell[data-sidebar-collapsed="true"]>.sidebar{padding:14px 10px 12px}
  [data-sidebar-collapsed="true"] .sidebar-toggle{justify-content:center;padding:9px;gap:0}
  [data-sidebar-collapsed="true"] .sidebar-toggle>span{display:none}
  [data-sidebar-collapsed="true"] .sidebar-toggle-arrow{transform:rotate(180deg);transform-origin:13.5px 12px}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .brand{justify-content:center;min-height:44px;margin:0 0 12px;padding:4px 0}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .brand .frosted-wordmark{display:none}
  .app-shell[data-sidebar-collapsed="true"] .sidebar-brand-mark{display:flex;align-items:center;justify-content:center}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .restoration-brand{font-size:10px;max-width:48px;overflow:hidden}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .restoration-brand img{max-width:36px;max-height:36px;object-fit:contain}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .workspace-switch{justify-content:center;padding:6px 0;margin-bottom:8px;border-color:transparent;background:transparent}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .workspace-switch>span:nth-child(2),.app-shell[data-sidebar-collapsed="true"] .sidebar .workspace-switch>svg{display:none}
  .app-shell[data-sidebar-collapsed="true"] .sidebar :is(.nav-item,.nav-search,.anna-presence,.sidebar-account){justify-content:center;min-height:44px;width:100%;padding:10px 0;gap:0!important;position:relative}
  .app-shell[data-sidebar-collapsed="true"] .sidebar :is(.nav-item,.nav-search)>svg{width:20px;height:20px}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .nav-item>span:not(.nav-badge),.app-shell[data-sidebar-collapsed="true"] .sidebar .nav-search>span,.app-shell[data-sidebar-collapsed="true"] .sidebar kbd,.app-shell[data-sidebar-collapsed="true"] .sidebar .nav-group>.eyebrow,.app-shell[data-sidebar-collapsed="true"] .sidebar .anna-presence>span:nth-child(2),.app-shell[data-sidebar-collapsed="true"] .sidebar .sidebar-account>span{display:none}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .sidebar-account>svg{display:block}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .nav-group{margin-top:12px;padding-top:10px;border-top:1px solid var(--line2)}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .nav-badge{position:absolute;top:2px;right:0;min-width:14px;font-size:9px;line-height:15px;padding:0 2px;flex:none}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .nav-item[aria-current="page"]:before{left:-10px}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .sidebar-bottom{padding-top:8px}
  .app-shell[data-sidebar-collapsed="true"] .sidebar .anna-presence>.status-dot{position:absolute;right:6px;bottom:8px}
  /* The v4 sidebar's width and padding are inline styles in src/v4/shell.html, and the desktop presentation theme removes
     !important from sidebar sizes, so a rule cannot override them: the collapsed sidebar stayed 250px with its labels gone
     (UX sweep 2 N4). The inline styles read these properties instead, so the sidebar follows the panel width (--nav-width,
     which the resize handle sits on) and narrows when collapsed. The next look's rail sets its own width (!important). */
  .v4-app[data-sidebar-collapsed]{--v4-sidebar-w:var(--nav-width,250px)}
  .v4-app[data-sidebar-collapsed="true"]{--v4-sidebar-pad:14px 7px 12px}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-workspace{justify-content:center;gap:0!important;padding:7px 0}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-workspace>div,.v4-app[data-sidebar-collapsed="true"] .sidebar-workspace>svg,.v4-app[data-sidebar-collapsed="true"] .sidebar-search>span,.v4-app[data-sidebar-collapsed="true"] .sidebar-link>span:first-of-type,.v4-app[data-sidebar-collapsed="true"] .sidebar-user-name{display:none!important}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-search,.v4-app[data-sidebar-collapsed="true"] .sidebar-link{justify-content:center!important;gap:0!important;min-height:44px;padding:10px 0}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-link{position:relative}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-link>span:not(:first-of-type){position:absolute;top:0;right:0;font-size:9px!important;padding:0 3px;gap:2px!important}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-link>svg,.v4-app[data-sidebar-collapsed="true"] .sidebar-search>svg{width:20px;height:20px}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-group-label{font-size:0!important;padding:0;margin:14px 5px 8px;border-top:1px solid var(--line)}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-user-area{flex-direction:column;gap:12px!important}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-user-area>button{margin-left:0}
  .v4-app[data-sidebar-collapsed="true"] .sidebar-user-menu{left:58px!important;right:auto!important;bottom:0!important;width:230px}
}
@media(max-width:760px){.sidebar-toggle{display:none}}
@media(prefers-reduced-motion:reduce){.app-shell,.v4-sidebar{transition:none!important}}
[data-motion="false"] .v4-sidebar{transition:none!important}

/* Business-task directory: the complete catalog, disclosed one group at a time. */
.tools-guide{max-width:1120px;margin:0 auto 40px}
.guide-find{display:flex;align-items:flex-end;gap:16px;margin:4px 0 30px}
.guide-find form{flex:1;min-width:0}.guide-find label{display:block;font-size:13px;color:var(--ink2);margin-bottom:8px}
.guide-find form>div{display:flex;align-items:center;gap:10px;border:1px solid var(--line3);border-radius:12px;background:var(--btn);padding:0 14px;min-height:48px}
.guide-find form>div:focus-within{outline:2px solid var(--accent-ink);outline-offset:2px}
.guide-find input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;padding:14px 0;outline:none}
.guide-find input::placeholder{color:var(--ink3);opacity:1}.guide-find>.secondary-button{min-height:48px;white-space:nowrap}
.guide-shortcuts{margin-bottom:32px}.guide-shortcuts header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.guide-shortcuts h2,.guide-browse-title h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.02em}
.guide-shortcuts header p,.guide-help{font-size:12px;color:var(--ink3);margin:0;line-height:1.6}
.guide-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.guide-shortcut{display:flex;align-items:center;min-width:0;border:1px solid var(--line2);border-radius:12px;background:var(--btn);box-shadow:none}
.guide-shortcut>a{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:16px 12px 16px 16px;color:var(--ink);text-decoration:none;flex:1;min-width:0;font-size:13px;font-weight:550;border-radius:12px}
.guide-shortcut>a>span{color:var(--ink3)}.guide-pin{display:flex;justify-content:center;align-items:center;width:40px;height:40px;flex:none;margin-right:4px;border:0;background:transparent;color:var(--ink3);border-radius:8px}
.guide-pin svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.guide-pin[aria-pressed="true"]{color:var(--accent-ink)}.guide-pin[aria-pressed="true"] svg{fill:var(--accent-soft)}
.guide-pin:hover,.guide-shortcut>a:hover{background:var(--hover);color:var(--ink)}
.guide-browse-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px;gap:12px}.guide-browse-title>span{font-size:12px;color:var(--ink3)}
.guide-groups{display:grid;gap:10px}.guide-group{border:1px solid var(--line2);border-radius:14px;background:var(--btn);overflow:hidden}
.guide-group h3{margin:0}.guide-group h3>button{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;border:0;color:var(--ink);background:transparent;text-align:left;font:inherit}
.guide-group h3>button:hover{background:var(--hover)}.guide-group h3>button>span:first-child{flex:1;min-width:0}
.guide-group h3 strong{display:block;font-size:15px;font-weight:600;line-height:1.5}.guide-group h3 small{display:block;color:var(--ink3);font-size:12px;font-weight:400;line-height:1.6;margin-top:3px}
.guide-group-count{font-size:12px;color:var(--ink3);background:var(--hover);border-radius:6px;padding:2px 7px;font-weight:400}
.guide-group h3 svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform 120ms}.guide-group h3>button[aria-expanded="true"] svg{transform:rotate(180deg)}
.guide-tool-list{border-top:1px solid var(--line2);padding:4px 16px;background:var(--hover2)}
.guide-tool{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line2)}.guide-tool:last-child{border-bottom:0}
.guide-tool>a{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-width:0;padding:17px 8px;color:var(--ink);text-decoration:none;border-radius:8px}
.guide-tool>a:hover{background:var(--hover)}.guide-tool strong{display:block;font-size:14px;font-weight:550;line-height:1.5}.guide-tool small{display:block;margin-top:4px;color:var(--ink3);font-size:12px;line-height:1.6}.guide-tool>a>span:last-child{color:var(--ink3)}
.tools-guide :is(button,a):focus-visible{outline:2px solid var(--accent-ink);outline-offset:-3px}
.guide-empty{padding:24px 0}.guide-empty h2{font-size:16px;margin:0 0 8px}.guide-empty p{font-size:13px;color:var(--ink3);line-height:1.6}
.guide-record-search{margin-top:20px;font-size:13px}.guide-help{margin:12px 0}
/* Three quiet disclosure rows keep every existing page within reach. */
.sidebar .sidebar-categories{display:flex;flex-direction:column;flex:1;min-height:0;margin-top:17px;padding-block:2px 12px;overflow:hidden}
.sidebar .nav-group.nav-category{display:flex;flex-direction:column;flex:0 1 auto;min-height:44px;margin:0 0 5px;padding:0;border:0}
.nav-category-toggle{flex:none;display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink2);text-align:left;font:500 14px/1.35 Geist,system-ui;cursor:pointer;transition:background 120ms,color 120ms}
.nav-category-toggle>span{flex:1;min-width:0}
.nav-category-toggle:hover{background:var(--hover);color:var(--ink)}
.nav-category-toggle[data-active="true"]{color:var(--ink)}
.nav-category-icon{width:18px;height:18px;flex:none}
.nav-category-chevron{width:13px;height:13px;flex:none;color:var(--ink3);transition:transform 120ms ease}
.nav-category-toggle[aria-expanded="true"] .nav-category-chevron{transform:rotate(90deg)}
.nav-category-items{flex:0 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;margin:3px 8px 13px 21px;padding-left:12px;border-left:1px solid var(--line2)}
.sidebar .nav-category-items .nav-item{min-height:38px;padding:9px 10px;font-size:13px;margin:2px 0}
.nav-category-items .nav-item>svg{display:none}
.sidebar .nav-category-items .nav-item[aria-current="page"]{background:var(--hover);color:var(--ink)}
.sidebar .nav-category-items .nav-item[aria-current="page"]:before{left:-13px;height:19px;box-shadow:none;background:var(--accent-ink,var(--cf-surface))}
.nav-category-toggle:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}
.sidebar .sidebar-bottom{flex:none;padding-top:10px}
.sidebar .anna-presence small{margin-top:3px}
@media(min-width:761px){
 .app-shell[data-sidebar-collapsed="true"] .nav-category-toggle{justify-content:center;padding:11px 0;position:relative}
 .app-shell[data-sidebar-collapsed="true"] .nav-category-toggle>span,.app-shell[data-sidebar-collapsed="true"] .nav-category-items{display:none}
 .app-shell[data-sidebar-collapsed="true"] .nav-category-chevron{position:absolute;right:0;width:9px;height:9px;transform:none}
 .app-shell[data-sidebar-collapsed="true"] .sidebar .nav-group.nav-category{display:flex;flex-direction:column;flex:0 1 auto;min-height:44px;margin:0 0 5px;padding:0;border:0}
}
@media(prefers-reduced-motion:reduce){.nav-category-toggle,.nav-category-chevron{transition:none}}
@media(max-width:760px){.guide-find{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:24px}.guide-find input{font-size:16px}.guide-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-shortcut>a{padding:14px 6px 14px 12px;font-size:12px;gap:5px}.guide-group h3>button{padding:15px 14px;gap:10px}.guide-tool-list{padding:4px 8px}.guide-pin{width:38px;height:44px}.guide-shortcuts header{gap:6px}}

/* The phone preview remains narrow even when the outer browser is desktop-sized. */
.mobile-app .guide-find{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:24px}
.mobile-app .guide-find input{font-size:16px}
/* The phone header is a grid and Home normally fixes its height. Give the
   opt-in control its own row so it cannot cover the workspace utilities. */
.mobile-app[data-screen="simple-mode"] .phone-content .phone-header{height:auto;min-height:67px}
.mobile-app[data-screen="simple-mode"] .phone-content .phone-header .simple-operating{grid-column:1/-1;grid-row:3;margin-top:8px;width:100%;box-sizing:border-box}
.mobile-app[data-screen="simple-mode"] .simple-mobile-controls{display:flex}
@media(max-width:760px){
 /* The existing Cloudflare presentation repeats its shell class three times;
    this opt-in header rule must also outrank its fixed 54px height. */
 .app-shell.app-shell.app-shell[data-screen="simple-mode"] .workspace-header{height:auto;min-height:54px;flex-wrap:wrap}
 .app-shell[data-screen="simple-mode"] .workspace-header>.simple-operating{flex:0 0 100%;width:100%;margin:8px 0;box-sizing:border-box}
}

/* Shared dock. The CRM retains its own palette; Anna uses the reference's quiet canvas. */
.v4-app .ask-fab{background:var(--panel);color:var(--fg);border-color:var(--line)}
.v4-app .ask-fab:hover{border-color:var(--accent-line)}
[data-anna-open]{--anna-width:440px;transition:padding-right 120ms cubic-bezier(.22,1,.36,1)}
[data-anna-open="true"][data-anna-view="dock"]{padding-right:min(var(--anna-width),58vw)}
.anna-sidechat{--ac-bg:var(--cf-canvas);--ac-panel:var(--cf-field);--ac-line:var(--cf-border);--ac-text:var(--cf-text);--ac-muted:var(--cf-muted);--ac-accent:var(--cf-focus);position:fixed;inset:0 0 0 auto;width:min(var(--anna-width,440px),58vw);height:100dvh;z-index:78;display:flex;flex-direction:column;background:var(--ac-bg);color:var(--ac-text);border-left:1px solid var(--ac-line);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;transform:translateX(101%);visibility:hidden;transition:transform 120ms cubic-bezier(.22,1,.36,1),width 120ms cubic-bezier(.22,1,.36,1),visibility 120ms;isolation:isolate;text-align:left}
.anna-sidechat[data-open="true"]{transform:translateX(0);visibility:visible}.anna-sidechat[data-view="full"]{width:100vw;border-left:0;z-index:99}
.anna-sidechat *{box-sizing:border-box}.anna-sidechat button,.anna-sidechat textarea{font:inherit;color:inherit}.anna-sidechat button{cursor:pointer}.anna-sidechat button:disabled{opacity:.38;cursor:default}.anna-sidechat button:focus-visible,.anna-sidechat a:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}.anna-sidechat a{color:var(--cf-focus)}.anna-sidechat svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.anna-resize{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3;touch-action:none}.anna-resize:hover,.anna-resize:focus-visible{background:color-mix(in srgb,var(--cf-text) 31%,transparent)}.anna-sidechat[data-view="full"] .anna-resize{display:none}
.anna-chat-header{height:62px;flex:none;display:flex;align-items:center;gap:5px;padding:0 17px;border-bottom:1px solid var(--ac-line);background:var(--ac-bg);z-index:2}.anna-title{flex:1;min-width:0;border:0;background:none;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500!important;padding:8px 0}.anna-title span{margin-left:7px;color:var(--ac-muted)}
.anna-icon{border:0;border-radius:6px;background:transparent;min-width:28px;height:30px;padding:5px;display:inline-flex;align-items:center;justify-content:center;color:var(--ac-muted);line-height:1;font-size:18px!important}.anna-icon:hover{background:color-mix(in srgb,var(--cf-text) 5%,transparent);color:var(--cf-text)}.anna-icon[aria-pressed="true"]{color:var(--ac-accent)}
.anna-chat-body{min-height:0;flex:1;display:flex;flex-direction:column;background-image:var(--cf-surface);background-size:13px 13px}.anna-sidechat .conversation{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:17px 17px 28px;display:flex;flex-direction:column;gap:22px;scrollbar-gutter:stable;overscroll-behavior:contain}.anna-sidechat[data-view="full"] .conversation,.anna-sidechat[data-view="full"] .anna-compose-area{width:100%;max-width:880px;align-self:center}.anna-sidechat[data-view="full"] .anna-chat-header{padding-left:max(20px,calc((100vw - 850px)/2));padding-right:max(20px,calc((100vw - 850px)/2))}
.anna-help-strip{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ac-line);background:var(--ac-bg);border-radius:12px;padding:10px 12px;font-size:12px}.anna-help-strip button{padding:4px 9px;border:1px solid var(--ac-line);border-radius:6px;background:none;font-size:12px}
.anna-welcome{margin:auto;width:100%;padding:26px 20px 14px;text-align:center}.anna-welcome-mark{display:flex;justify-content:center;align-items:center;min-height:110px;margin-bottom:17px;animation:anna-float 5s ease-in-out infinite}.anna-welcome-mark>.am{width:80px;height:80px;perspective:600px;contain-intrinsic-size:80px 80px}.anna-welcome-mark .am-face{width:100%;height:100%}.anna-welcome h2{font-size:18px;line-height:1.4;letter-spacing:-.02em;margin:0 0 8px;font-weight:600;color:var(--ac-text)}.anna-welcome p{color:var(--ac-muted);font-size:14px;margin:0 0 35px}.anna-starters{display:flex;flex-direction:column;gap:8px;max-width:360px;margin:0 auto}.anna-starters button{display:flex;align-items:center;gap:12px;border:1px solid var(--cf-border);border-radius:11px;padding:10px 12px;background:var(--cf-surface);text-align:left;transition:border-color 120ms,transform 120ms}.anna-starters button:hover{border-color:var(--cf-border);transform:translateX(3px)}.anna-starter-icon{width:31px;height:34px;display:grid;place-items:center;background:var(--cf-surface);border-radius:7px;color:var(--ac-muted);flex:none}.anna-starters strong,.anna-starters small{display:block;font-weight:400;font-size:12px;line-height:1.5}.anna-starters small{color:var(--ac-muted);font-size:11px}
.anna-message{width:100%;animation:anna-message-in .22s ease-out}.anna-message-card{border:1px solid var(--ac-line);border-radius:14px;padding:14px 15px;background:var(--cf-surface);overflow-wrap:anywhere}.anna-author{display:block;color:var(--ac-accent);font-weight:600;margin-bottom:6px;font-size:13px}.anna-message p{white-space:pre-wrap;margin:0;line-height:1.65;color:var(--ac-text);font-size:13px}.anna-message[data-speaker="owner"]{display:flex;justify-content:flex-end}.anna-message[data-speaker="owner"] .anna-message-card{max-width:90%;background:var(--cf-surface);border-color:transparent;border-radius:15px;padding:11px 14px}.anna-message details{margin-top:8px;font-size:12px}.anna-message summary{color:var(--ac-muted);cursor:pointer}.anna-message details p{margin-top:10px}.anna-reply-actions{display:flex;align-items:center;gap:4px;margin:6px 0 -8px}.anna-text{padding:4px 5px;background:none;border:0;color:var(--ac-muted);font-size:11px!important}.anna-text:hover{color:var(--ac-text);text-decoration:underline}.anna-sidechat .anna-result-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.anna-sidechat .anna-result-links:empty{display:none}.anna-sidechat .anna-result-links a{font-size:12px;background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:3px}
.anna-working{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ac-accent);min-height:30px}.anna-working>span:last-child{animation:anna-thinking 1.8s ease-in-out infinite}
.anna-compose-area{flex:none;padding:0 15px max(10px,env(safe-area-inset-bottom));position:relative}.anna-context-row{display:flex;gap:8px;justify-content:space-between;align-items:center;margin:0 3px 7px;color:var(--ac-muted);font-size:10px}.anna-context-row a{color:var(--ac-muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-context-row button{border:0;background:none;font-size:10px!important;color:var(--ac-muted);padding:3px}
.anna-composer{border:1px solid var(--cf-border);background:var(--ac-panel);border-radius:18px;padding:12px 12px 9px;box-shadow:none;transition:border-color 120ms,box-shadow 120ms}.anna-composer:focus-within{border-color:var(--cf-border);box-shadow:none}.anna-composer textarea{width:100%;min-height:50px;max-height:140px;resize:none;background:none;border:0;outline:none;padding:2px 2px 10px;font-size:13px;line-height:1.5;box-shadow:none}.anna-composer textarea::placeholder{color:var(--cf-muted);font-size:12px}.anna-composer-controls{display:flex;align-items:center;gap:2px}.anna-control-spacer{flex:1}.anna-chat-modes{display:flex;align-items:center;margin-right:3px}.anna-chat-modes>button{font-size:11px!important;border:1px solid var(--ac-line);background:none;border-radius:20px;padding:4px 8px;white-space:nowrap}.anna-modes-menu{bottom:100%;left:15px;width:270px;margin-bottom:6px}.anna-modes-menu>strong{display:block;padding:6px 9px}.anna-modes-menu>button{display:block;width:100%}.anna-modes-menu>button[aria-pressed="true"]{background:color-mix(in srgb,var(--cf-text) 11%,transparent)}.anna-send{background:var(--cf-primary);border:1px solid var(--cf-border);border-radius:50%;width:31px;height:31px;display:grid;place-items:center;padding:5px;color:var(--cf-on-primary);margin-left:3px}.anna-send:hover:not(:disabled){background:var(--cf-primary)}.anna-attached{display:flex;gap:6px;flex-wrap:wrap}.anna-attached>span{display:flex;gap:6px;align-items:center;border:1px solid var(--cf-border);border-radius:6px;background:color-mix(in srgb,var(--cf-text) 8%,transparent);padding:2px 6px;color:var(--cf-focus);font-size:11px;margin-bottom:8px;max-width:100%;overflow-wrap:anywhere}.anna-attached button{border:0;background:none;font-size:14px;padding:0 2px}.anna-compose-foot{display:flex;justify-content:space-between;gap:7px;color:var(--cf-muted);font-size:9px;margin:6px 3px 0}.anna-status{margin:7px 2px 0;color:var(--ac-muted);font-size:11px}
.anna-popover{position:absolute;z-index:8;background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:13px;box-shadow:none;color:var(--ac-text);padding:10px;font-size:12px}.anna-popover strong{font-size:12px;font-weight:600}.anna-popover p{font-size:11px;color:var(--ac-muted);line-height:1.55;padding:4px 8px}.anna-popover button{background:none;border:0;text-align:left;border-radius:7px;padding:9px;color:var(--ac-text)}.anna-popover button:hover{background:color-mix(in srgb,var(--cf-text) 4%,transparent)}.anna-history{top:56px;left:12px;right:12px;max-height:55vh;overflow:auto}.anna-history>strong{display:block;padding:7px 9px;color:var(--ac-muted)}.anna-history>button{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anna-picker{left:15px;right:15px;bottom:100%;margin-bottom:5px;max-height:min(380px,54dvh);overflow:auto}.anna-picker header{display:flex;justify-content:space-between;align-items:center;padding:0 6px 7px}.anna-picker [role="option"]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.anna-picker [role="option"][aria-selected="true"]{background:color-mix(in srgb,var(--cf-text) 11%,transparent)}.anna-picker strong,.anna-picker small{display:block}.anna-picker small{font-size:10px;color:var(--ac-muted);margin-top:2px}.anna-picker footer{color:var(--ac-muted);font-size:10px;padding:9px 7px 1px;border-top:1px solid var(--ac-line);margin-top:7px}.anna-permissions{bottom:100%;right:15px;left:15px;margin-bottom:6px;padding:16px}.anna-permissions>button{display:block;width:100%}.anna-permissions>small{color:var(--ac-muted);font-size:10px}
@keyframes anna-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes anna-thinking{0%,100%{opacity:.55}50%{opacity:1}}@keyframes anna-message-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Narrow desktop panes still support simultaneous CRM work and Anna. */
@media(max-width:1100px) and (min-width:761px){
  .app-shell[data-anna-open="true"][data-anna-view="dock"]{grid-template-columns:132px minmax(0,1fr)}
  .app-shell[data-anna-open="true"][data-anna-view="dock"]>.sidebar{padding:20px 8px 12px}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .sidebar :is(.nav-item,.nav-search){gap:7px;padding:9px 6px;font-size:12px;white-space:normal}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .sidebar :is(.nav-item,.nav-search)>svg{width:17px;flex:none}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .sidebar :is(kbd,.workspace-switch>svg,.workspace-switch small,.anna-presence small,.status-dot){display:none}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .workspace-switch{gap:6px;padding:7px;font-size:11px;overflow:hidden}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .workspace-switch>span:nth-child(2){min-width:0;overflow:hidden}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .workspace-switch strong{font-size:11px;overflow:hidden;text-overflow:ellipsis}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .workspace-header{padding:12px;gap:8px;height:auto;min-height:64px;flex-wrap:wrap}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .header-actions{flex-wrap:wrap;gap:6px}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .header-actions :is(.desktop-install-button,.edition-link){display:none}
  .app-shell[data-anna-open="true"][data-anna-view="dock"] .breadcrumb>span{display:none}
  .v4-app[data-anna-open="true"][data-anna-view="dock"]>[data-screen-label="Sidebar"]{width:140px!important;padding:12px 7px!important}
  .v4-app[data-anna-open="true"][data-anna-view="dock"]>[data-screen-label="Sidebar"]>button{padding:9px 6px!important;gap:6px!important}
  .v4-app[data-anna-open="true"][data-anna-view="dock"]>[data-screen-label="Sidebar"]>button>span:last-child{display:none}
  [data-anna-open="true"][data-anna-view="dock"] .universal-search{padding:22px 16px 70px}
  [data-anna-open="true"][data-anna-view="dock"] .universal-search>header{display:block}
  [data-anna-open="true"][data-anna-view="dock"] .universal-search>header>button{margin-top:14px}
  [data-anna-open="true"][data-anna-view="dock"] .universal-search h1{font-size:25px}
  [data-anna-open="true"][data-anna-view="dock"] .search-result{gap:8px;padding:14px 5px}
  [data-anna-open="true"][data-anna-view="dock"] :is(.backend-record-layout,.backend-record-layout:has(.backend-inspector),.crm-record-layout,.crm-inbox-layout,.crm-detail-columns,.crm-form-grid,.overview-layout,.overview-secondary,.lanes-grid,.restoration-report-grid){grid-template-columns:minmax(0,1fr)!important}
  [data-anna-open="true"][data-anna-view="dock"] .crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-anna-open="true"][data-anna-view="dock"] .crm-stats>div{min-width:0}
  [data-anna-open="true"][data-anna-view="dock"] :is(.crm-page,.home-page,.legacy-page){padding-inline:16px}
  [data-anna-open="true"][data-anna-view="dock"] .crm-panel{padding:16px}
  [data-anna-open="true"][data-anna-view="dock"] :is(.crm-page-header,.page-heading){flex-wrap:wrap}
  .anna-welcome{padding:15px 3px}.anna-composer-controls{gap:0}.anna-chat-modes{max-width:100px}
}
@media(max-width:760px){[data-anna-open="true"][data-anna-view="dock"]{padding-right:0}.anna-sidechat{width:100vw;height:100dvh;z-index:99}.anna-resize{display:none}.anna-chat-header{height:56px}.anna-welcome{padding:12px 16px}.anna-welcome-mark{min-height:90px}.anna-compose-foot{font-size:9px}.anna-sidechat .conversation{padding-top:12px}}
@media(prefers-reduced-motion:reduce){[data-anna-open],.anna-sidechat,.anna-sidechat *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The transformed phone device contains fixed panels, including desktop previews. */
.mobile-app .anna-sidechat{width:100%;height:100%;z-index:99}.anna-sidechat[data-view="full"] .anna-welcome{max-width:490px}

/* A compact spotlight illuminates the existing dot grid, matching the owner's reference. */
@property --ac-pointer-x{syntax:'<length-percentage>';inherits:true;initial-value:50%}
@property --ac-pointer-y{syntax:'<length-percentage>';inherits:true;initial-value:60%}
.anna-chat-body{position:relative;isolation:isolate;--ac-pointer-x:50%;--ac-pointer-y:60%}
.anna-chat-body::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:var(--cf-surface);
  background-size:160px 160px;background-repeat:no-repeat;
  background-position:calc(var(--ac-pointer-x) - 80px) calc(var(--ac-pointer-y) - 80px);
  -webkit-mask-image:radial-gradient(circle 80px at var(--ac-pointer-x) var(--ac-pointer-y),#000c 0%,#0009 28%,#0003 62%,transparent 100%),radial-gradient(circle,#000 .8px,transparent .9px);
  mask-image:radial-gradient(circle 80px at var(--ac-pointer-x) var(--ac-pointer-y),#000c 0%,#0009 28%,#0003 62%,transparent 100%),radial-gradient(circle,#000 .8px,transparent .9px);
  -webkit-mask-size:100% 100%,13px 13px;mask-size:100% 100%,13px 13px;
  -webkit-mask-repeat:no-repeat,repeat;mask-repeat:no-repeat,repeat;
  -webkit-mask-composite:source-in;mask-composite:intersect;
  transition:opacity 120ms ease-out}
.anna-chat-body[data-prism-active=true]{transition:--ac-pointer-x 120ms ease-out,--ac-pointer-y 120ms ease-out}
.anna-chat-body[data-prism-active=true]::before{opacity:1}
@media(prefers-reduced-motion:reduce),(forced-colors:active),(hover:none){.anna-chat-body::before{display:none}}
[data-motion=false] .anna-chat-body::before{display:none}

/* Conversation edit control, matching the owner's reference. */
.anna-chat-modes{position:relative;max-width:none}
.anna-chat-modes>.anna-mode-trigger{display:inline-flex;align-items:center;gap:6px;font-size:12px!important;padding:4px 9px;color:var(--cf-muted);border-color:var(--cf-border);line-height:1.35}
.anna-mode-trigger svg{width:14px;height:14px}
.anna-chat-modes>.anna-modes-menu{bottom:calc(100% + 8px);left:-1px;width:320px;max-width:min(calc(100vw - 58px),calc(var(--anna-width,440px) - 58px));margin:0;padding:6px;border:1px solid var(--cf-border);border-radius:22px;background:var(--cf-surface);box-shadow:none}
.anna-modes-menu>.anna-mode-option{display:flex;align-items:center;gap:11px;width:100%;min-height:54px;padding:7px 11px;border-radius:15px;text-align:left;background:transparent;color:var(--cf-text)}
.anna-modes-menu>.anna-mode-option[aria-checked="true"],.anna-modes-menu>.anna-mode-option:hover{background:var(--cf-surface)}
.anna-mode-option>svg{width:19px;height:19px;color:var(--cf-muted);stroke-width:1.65}
.anna-mode-option[aria-checked="true"]>svg{color:var(--cf-negative)}
.anna-mode-option>span{min-width:0}
.anna-mode-option strong,.anna-mode-option small{display:block;font-weight:400;line-height:1.25}
.anna-mode-option strong{font-size:15px}
.anna-mode-option small{font-size:13px;color:var(--cf-muted);margin-top:2px}
.anna-edit-review{margin-top:12px;padding:13px;border:1px solid var(--cf-border);border-radius:12px;background:color-mix(in srgb,var(--cf-text) 2%,transparent)}
.anna-edit-review>strong{display:block;font-size:13px;font-weight:500}
.anna-edit-review dl{margin:10px 0;max-height:230px;overflow:auto;font-size:12px}
.anna-edit-review dl>div+div{margin-top:9px}.anna-edit-review dt{text-transform:capitalize;color:var(--ac-muted)}
.anna-edit-review dd{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ac-text)}
.anna-edit-decisions{display:flex;gap:7px;margin-top:10px}.anna-edit-decisions button{border:1px solid var(--cf-border);border-radius:7px;background:var(--cf-surface);padding:6px 9px;font-size:12px}
.anna-edit-decisions button:first-child{background:var(--cf-surface);border-color:var(--cf-border);color:var(--cf-text)}
.anna-edit-review .anna-edit-outcome{font-size:11px;color:var(--ac-muted)}
@media(max-width:390px){.anna-chat-modes>.anna-modes-menu{width:292px}.anna-mode-option strong{font-size:14px}.anna-mode-option small{font-size:12px}}
/* Conversation voice sits beside the owner's work; it never covers the CRM. */
.anna-voice-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.anna-voice-entry>span{font-size:11px;color:var(--ac-muted);text-align:right}.anna-talk{border:1px solid var(--ac-line);border-radius:999px;background:var(--ac-panel);color:var(--ac-text);padding:9px 13px;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.anna-talk:hover{border-color:var(--cf-border);background:var(--cf-surface)}.anna-talk:disabled{opacity:.5;cursor:default}.anna-voice-session{padding:14px;margin-bottom:12px;border:1px solid var(--ac-line);border-radius:18px;background:var(--ac-panel)}.anna-voice-status{display:flex;align-items:center;gap:12px}.anna-voice-status strong{display:block;font-size:13px;color:var(--ac-text)}.anna-voice-status small{display:block;margin-top:4px;color:var(--ac-muted);font-size:12px;line-height:1.5}.anna-voice-orb{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--ac-text);font-size:24px;background:var(--cf-surface)}.anna-voice-orb[data-phase="listening"],.anna-voice-orb[data-phase="speaking"]{animation:anna-voice-breathe 1.8s ease-in-out infinite}.anna-voice-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.anna-voice-controls button,.anna-question button{font:inherit;font-size:12px;border:1px solid var(--ac-line);border-radius:10px;padding:9px 12px;background:var(--ac-panel);color:var(--ac-text);cursor:pointer;min-height:38px}.anna-voice-controls button:hover,.anna-question button:hover{border-color:var(--cf-border)}.anna-question{margin:14px 0 8px;padding-top:12px;border-top:1px solid var(--ac-line)}.anna-question>strong{font-size:13px;line-height:1.5}.anna-question>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.anna-question>small{display:block;color:var(--ac-muted);font-size:11px;margin-top:9px}.anna-question button:disabled{opacity:.5;cursor:default}@keyframes anna-voice-breathe{50%{box-shadow:none;transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.anna-voice-orb{animation:none!important}}[data-motion="false"] .anna-voice-orb{animation:none!important}@media(max-width:400px){.anna-voice-entry>span{max-width:120px}.anna-voice-controls button,.anna-question button{min-height:44px}}

.anna-drafting p{white-space:pre-wrap}.anna-writing-cursor{display:inline-block;width:5px;height:13px;margin-top:6px;background:var(--ac-accent);border-radius:3px;animation:anna-cursor 1s ease-in-out infinite}@keyframes anna-cursor{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.anna-writing-cursor{animation:none}}

.anna-history{max-height:min(65vh,600px);overflow:auto}.anna-history .anna-history-row{display:flex;gap:16px;justify-content:space-between;align-items:center}.anna-history-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anna-history-row small{flex-shrink:0;opacity:.65}.anna-sync{display:flex;gap:8px;padding:0 20px 8px;font-size:11px;color:var(--muted,var(--cf-muted));align-items:center}.anna-sync button,.anna-load-older{background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;padding:4px 8px;font:inherit}.anna-load-older{margin:8px auto;display:block}

.anna-mobile-history{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit}.anna-mobile-history svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* T006 F5: AI Ledger reads are owner/admin-only; plain members see a notice instead of a misleading empty list. */
.ledger-member-note{margin:8px 0;padding:8px 12px;border-radius:8px;font-size:13px;background:var(--cf-surface);color:var(--cf-negative)}
/* Desktop side chat: the Focus picker and the message box sit outside .anna-composer, so they need their own base styles. */
.anna-work-focus{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cf-muted);padding:8px 16px}
.anna-work-focus select{font:inherit;font-size:12px;color:inherit;background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:999px;padding:4px 10px}
.anna-sidechat textarea{width:calc(100% - 32px);margin:0 16px;min-height:50px;max-height:140px;resize:none;background:none;border:0;outline:none;padding:2px 2px 10px;font-size:13px;line-height:1.5;color:inherit}
/* ff.chat.inline_reply (default off): replies in the built-in transcript. The GPT Business look restyles these in
   src/v4/pages/zz-next-inline-reply.css; this is the plain classic version. */
.anna-fallback-log>p.is-replyable{position:relative;touch-action:pan-y;transform:translateX(var(--anna-swipe,0px));transition:transform 120ms ease}
.anna-fallback-log>p.is-replyable[data-swipe]{transition:none}
.anna-fallback-log>p[data-flash=true]{outline:2px solid currentColor;outline-offset:3px}
.anna-fallback-log .anna-swipe-hint{display:none}
.anna-fallback-log>p[data-swipe]>.anna-swipe-hint{display:inline-grid;position:absolute;left:calc(-1 * var(--anna-swipe,0px));top:50%;margin-top:-12px}
.anna-fallback-log :is(.anna-swipe-hint,.anna-reply-action,.anna-reply-chip-cancel) svg,.anna-reply-menu svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.anna-fallback-log>p>.anna-reply-action{margin-inline-start:8px;padding:2px;border:0;background:transparent;color:inherit;opacity:.6;cursor:pointer;vertical-align:middle}
.anna-fallback-log>.anna-reply-quote{display:flex;flex-direction:column;align-self:flex-start;max-width:72%;margin:0 0 -4px 24px;padding:6px 10px;border:0;border-inline-start:2px solid currentColor;border-radius:8px;background:color-mix(in srgb,var(--cf-surface) 12%,transparent);color:inherit;opacity:.8;text-align:start;font-size:13px;cursor:pointer}
.anna-fallback-log>.anna-reply-quote[data-side=user]{align-self:flex-end;margin:0 24px -4px 0}
.anna-reply-quote-who{font-size:11px;font-weight:600}
.anna-reply-quote-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.anna-fallback-log>.anna-reply-count{align-self:flex-start;padding:0 6px;border:0;background:transparent;color:inherit;opacity:.7;font-size:12px;cursor:pointer}
.anna-fallback-log>.anna-reply-count[data-side=user]{align-self:flex-end}
.anna-reply-chip{display:flex;align-items:center;gap:8px;margin:0 0 6px;padding:6px 8px 6px 10px;border-inline-start:3px solid currentColor;border-radius:8px;background:color-mix(in srgb,var(--cf-surface) 12%,transparent)}
.anna-reply-chip-body{display:flex;flex-direction:column;flex:1;min-width:0}
.anna-reply-chip-body small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anna-reply-chip-cancel{border:0;background:transparent;color:inherit;cursor:pointer}
.anna-reply-menu-scrim{position:fixed;inset:0;z-index:49;border:0;background:transparent}
.anna-reply-menu{position:fixed;z-index:50;display:flex;flex-direction:column;min-width:160px;padding:4px;border-radius:10px;background:Canvas;color:CanvasText;box-shadow:none}
.anna-reply-menu button{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}
.anna-reply-menu button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--cf-surface) 15%,transparent)}
.anna-fallback-log:has(>.anna-reply-rails){position:relative;isolation:isolate}
.anna-fallback-log>.anna-reply-rails{position:absolute;top:0;left:0;width:100%;z-index:-1;pointer-events:none;opacity:.45}
.anna-fallback-log>.anna-reply-rails path{fill:none;stroke:currentColor;stroke-width:1.5}
/* ff.chat.ck_look: ChatKit's widgets in the built-in transcript (src/chat-widgets.mjs), classic look */
.anna-ck-widgets{display:flex;flex-direction:column;gap:8px}
.anna-ck-widgets .cw-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--cf-border) 12%,transparent);border-radius:12px}
.anna-ck-widgets .cw-col{display:flex;flex-direction:column;gap:6px}
.anna-ck-widgets .cw-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.anna-ck-widgets .cw-row[data-justify=between]{justify-content:space-between}
.anna-ck-widgets .cw-text,.anna-ck-widgets .cw-title,.anna-ck-widgets .cw-caption{margin:0}
.anna-ck-widgets .cw-caption{font-size:12px;opacity:.7}
.anna-ck-widgets .cw-text[data-weight=strong],.anna-ck-widgets .cw-title{font-weight:600}
.anna-ck-widgets .cw-bar{height:8px;border-radius:4px;background:color-mix(in srgb,var(--cf-canvas) 10%,transparent);overflow:hidden}
.anna-ck-widgets .cw-bar>span{display:block;height:100%;background:var(--cf-surface)}
.anna-sidechat .anna-attach-input{display:none!important}
/* ff.chat.reactions: classic look equivalents of src/v4/pages/zz-next-chat-reactions.css */
.anna-fallback-log>p>.anna-tapback{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-inline-start:6px;padding:0 4px;border-radius:12px;background:color-mix(in srgb,var(--cf-surface) 15%,transparent);font-size:14px;vertical-align:middle}
.anna-fallback-log>p>.anna-react-action{margin-inline-start:6px;padding:2px;border:0;background:transparent;color:inherit;opacity:.6;cursor:pointer;vertical-align:middle}
.anna-fallback-log>p>.anna-react-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.anna-reply-menu>.anna-tapbacks{display:flex;gap:2px;padding-bottom:4px}
.anna-reply-menu>.anna-tapbacks>button{justify-content:center;width:36px;padding:0;font-size:18px}
.anna-reply-menu>.anna-tapbacks>button[aria-checked=true]{background:color-mix(in srgb,var(--cf-text) 25%,transparent)}
/* ff.chat.ck_look: the day line and the Manager's name over each turn, classic look */
.anna-fallback-log>.anna-day-line{text-align:center;font-size:12px;opacity:.7}
.anna-fallback-log>.anna-turn-author{display:flex;gap:6px;font-size:13px;opacity:.8}
.anna-fallback-log>.anna-turn-author>.orb{display:none}
.anna-fallback-composer .anna-offrecord-chip{display:flex;align-items:center;gap:6px;margin:0 6px 6px;font-size:12px;opacity:.8}
.anna-fallback-composer .anna-offrecord-chip svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}

/* ff.chat.pins: retained private source messages, with explicit pending/refusal states. */
.anna-sidechat .anna-pins{flex:none;width:calc(100% - 32px);max-width:788px;max-height:min(38dvh,320px);overflow:auto;overscroll-behavior:contain;margin:8px auto 0;padding:8px 12px;border:1px solid var(--gb-hair,var(--ac-line));border-radius:12px;background:var(--gb-surface,var(--ac-bg));color:var(--gb-ink,var(--ac-text));font-size:13px}
.anna-sidechat[data-look=ck] .anna-pins{max-width:728px}
.anna-pins>header,.anna-pin-line{display:flex;align-items:center;gap:8px;min-width:0}.anna-pins>header>small{margin-inline-start:auto;flex:none;color:var(--gb-ink-3,var(--ac-muted));font-size:11px}
.anna-sidechat .anna-pins button{border:0;background:transparent;color:inherit;font:inherit;text-align:start;min-height:44px;cursor:pointer}.anna-sidechat .anna-pins button:disabled{cursor:default;opacity:.5}
.anna-pins-toggle{display:flex;align-items:center;gap:8px;padding:4px 0;min-width:0}.anna-pins-toggle strong{font-weight:600}.anna-pins-toggle svg{width:16px;height:16px}
.anna-pinned-message{border-top:1px solid var(--gb-hair,var(--ac-line))}.anna-pin-preview{display:flex;flex:1;flex-direction:column;min-width:0;gap:2px;padding:8px 0}.anna-pin-preview>b{color:var(--gb-ink-2,var(--ac-muted));font-size:11px;font-weight:500}.anna-pin-preview>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.anna-sidechat .anna-pin-unpin{display:grid;place-items:center;flex:none;width:44px;padding:8px}.anna-pin-unpin svg{width:15px;height:15px}.anna-pinned-message[data-pending=true]{opacity:.65}
.anna-pins .anna-pin-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;max-height:180px;overflow:auto;margin:4px 0 8px}.anna-sidechat .anna-pin-jump,.anna-sidechat .anna-pins-more{padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.anna-pins-status,.anna-pins-error{margin:4px 0;font-size:12px;color:var(--gb-ink-2,var(--ac-muted));overflow-wrap:anywhere}.anna-pins-error button{padding:0 6px;text-decoration:underline;text-underline-offset:3px}
.anna-fallback-log>p>.anna-pin-menu-action{margin-inline-start:4px;min-width:32px;min-height:32px;vertical-align:middle;border:0;border-radius:6px;background:transparent;color:inherit;opacity:.65}.anna-pin-menu-action svg{width:16px;height:16px;fill:currentColor;stroke:none}
@media(max-width:600px){.anna-sidechat .anna-pins{width:calc(100% - 20px);padding-inline:10px;max-height:32dvh}.anna-fallback-log>p>.anna-pin-menu-action{min-width:44px;min-height:44px}}

/* The streamed card retains its identity when its final actions arrive. */
.anna-message[data-streamed="true"]{animation:none}

.universal-search{width:100%;max-width:1100px;margin:auto;padding:38px 36px 90px;overflow-y:auto;color:var(--fg,var(--ink))}.universal-search>header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.universal-search h1{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 10px;font-weight:550}.universal-search p{color:var(--fg-2,var(--ink3));font-size:13px;margin:0}.universal-search-form{display:flex;gap:10px;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--panel,var(--card));margin-bottom:25px}.universal-search-form:focus-within{border-color:var(--cf-border);box-shadow:none}.universal-search-form input{flex:1;min-width:0;padding:11px;border:0;outline:none;background:none;color:inherit;font:inherit;font-size:14px}.universal-search-form button{border:0;background:var(--cf-surface);color:var(--cf-text);border-radius:8px;padding:8px 15px;font:inherit;font-size:12px;cursor:pointer}.search-result-group{margin:22px 0 30px}.search-result-group>header{display:flex;align-items:center;justify-content:space-between}.search-result-group h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2,var(--ink3));font-weight:600;margin:0 0 9px}.search-result{display:flex;gap:14px;align-items:center;padding:15px 11px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none!important;border-radius:5px}.search-result:hover,.search-result:focus-visible{background:var(--hover);outline:1px solid color-mix(in srgb,var(--cf-border) 33%,transparent)}.search-result>span:nth-child(2){flex:1;min-width:0}.search-result strong,.search-result small{display:block;overflow-wrap:anywhere}.search-result strong{font-size:14px;font-weight:550}.search-result small{font-size:11px;color:var(--fg-2,var(--ink3));margin-top:4px}.search-kind{font-size:9px;color:var(--fg-2,var(--ink3));border:1px solid var(--line);padding:4px 6px;border-radius:4px;width:49px;text-align:center}.search-caption{padding:9px 2px!important;font-size:12px!important}.search-empty{padding:45px 5px}.search-empty h2{font-size:20px}.search-highlight{outline:3px solid var(--cf-border);outline-offset:5px;box-shadow:none;border-radius:9px;scroll-margin-block:100px}.search-appearance-controls{display:flex;gap:7px;margin:13px 0}.search-appearance-controls button{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 17px;border-radius:8px;cursor:pointer}.search-appearance-controls button[aria-pressed="true"]{border-color:var(--cf-border);background:color-mix(in srgb,var(--cf-text) 8%,transparent)}@media(max-width:760px){.universal-search{padding:24px 16px 110px}.universal-search>header{display:block}.universal-search>header>button{margin-top:15px}.universal-search h1{font-size:25px}.universal-search-form input{font-size:16px}}

.search-record-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;font-size:12px;color:var(--ink3);border-bottom:1px solid var(--line)}.search-record-banner button{background:none;border:0;color:var(--accent-ink);font:inherit;cursor:pointer}

/* Shared readable surfaces. Text and its surface always follow the same theme. */
.app-shell {
  --readable-surface:linear-gradient(140deg,#22262e,#13161c);
  --muted-surface:#1b2028;
  --field-edge:#707b8e;
}
.app-shell[data-zwt=light] {
  --readable-surface:linear-gradient(140deg,#fff,#edf1f7);
  --muted-surface:#edf1f7;
  --field-edge:#8792a4;
  --mute:var(--cf-subtle);
  --faint:var(--cf-subtle);
  --violet-ink:#6756a9;
  --sky-ink:#305f93;
}
.app-shell .backend-approvals .backend-approval-card,
.app-shell .backend-modal {
  color:var(--ink);
  background:var(--cf-surface);
  border:1px solid var(--polish-edge);
  box-shadow:none;
}
.app-shell :is(.backend-live-connect,.backend-approval-card h2,.backend-recommendation strong) {color:var(--ink)}
.app-shell :is(.backend-modal p,.backend-row small,.backend-row time,.backend-row-end i,
  .backend-inspector dt,.backend-confirm dt,.backend-pagination,.backend-empty p,
  .backend-tool-grid p,.backend-tool-arrow,.backend-mode-grid span,.backend-position,
  .backend-recommendation small,.backend-card-foot,.backend-approvals>footer,
  .backend-clear p,.backend-loading,.backend-typing) {color:var(--ink2)}
.app-shell .backend-recommendation {background:var(--cf-surface);border-color:var(--line3)}
.app-shell .backend-alert {color:var(--amber-ink);border-color:var(--amber-ink);background:var(--amber-soft)}
.app-shell .backend-alert p {color:inherit}
.app-shell .backend-ceiling-refusal {color:var(--sky-ink);background:var(--inset);border-color:var(--sky-ink)}
.app-shell .crm-error {color:var(--red-ink)}
.app-shell .restoration-notice {color:var(--green-ink)}

/* Search remains a local filter; the global search is always one click away. */
.backend-search {flex-wrap:wrap}
.backend-search label {min-width:160px}
.backend-search label>span {display:block;font-size:12px;color:var(--ink2);margin-bottom:7px}
.backend-search>button {align-self:flex-end;min-height:46px}
.app-shell .backend-search input {background:var(--btn);color:var(--ink);border-color:var(--field-edge)}
.backend-search-scope {display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:-8px 0 22px;font-size:12px;color:var(--ink2)}
.backend-search-scope button {font:inherit;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:3px 0;cursor:pointer}
.app-shell :is(.backend-search input,.activity-stream-controls input)::placeholder {color:var(--ink3);opacity:1}
.app-shell :is(.backend-search input,.activity-stream-controls input):focus-visible {outline:2px solid var(--accent-ink);outline-offset:3px}
.app-shell .activity-stream-controls label {border-color:var(--field-edge)}

/* Status colors are semantic text, not the decorative pastel channel wires. */
.app-shell :is(.activity-heading h1>span,.activity-latest>span,.activity-latest b) {color:var(--accent-ink)}
.app-shell .activity-node:hover,.app-shell .activity-node[aria-pressed=true] {color:var(--ink)}
.app-shell .activity-node[aria-pressed=true] {outline:1px solid var(--accent-ink);outline-offset:3px}
.app-shell .activity-event-state {color:var(--ink2)}
.app-shell .activity-event-state[data-state=running] {color:var(--green-ink)}
.app-shell .activity-event-state[data-state=waiting] {color:var(--amber-ink)}
.app-shell .activity-event-state:is([data-state=error],[data-state=blocked]) {color:var(--red-ink)}
.app-shell .activity-error {color:var(--amber-ink);background:var(--amber-soft);border-color:var(--amber-ink)}
.app-shell .activity-map-loading {background:var(--screen);color:var(--ink2)}
.app-shell .activity-hub small {color:var(--cf-muted)}

.app-shell :is(.finance-view p,.finance-records small,.finance-usage,.finance-usage small,
  .growth-source,.growth-filters label,.growth-metrics span,.growth-metrics small,
  .growth-budget small,.growth-empty p,.growth-table thead th,.growth-plan-grid p,
  .growth-filter-panel summary,.growth-breakdown summary span,.growth-breakdown p,
  .growth-breakdown small,.growth-breakdown dt,.anna-playbooks small) {color:var(--ink2)}
.app-shell .growth-tabs button {color:var(--ink2);background:var(--btn);border-color:var(--line3)}
.app-shell .growth-tabs button[aria-pressed=true] {color:var(--on-primary);background:var(--primary)}
.app-shell .growth-filters :is(input,select) {color:var(--ink);background:var(--btn);border-color:var(--field-edge);color-scheme:inherit}
.app-shell .growth-workspace a {color:var(--accent-ink)}
.app-shell .growth-workspace a.primary-button {color:var(--on-primary)}
.app-shell :is(.anna-run-state,.anna-scope>span,.anna-step-list>li[data-done=true]>.anna-step-number) {color:var(--green-ink)}
.app-shell :is(.anna-tabs>button>span,.anna-run-state[data-attention=true],.anna-exception strong,.biz-record-row small[data-alert=true]) {color:var(--amber-ink)}
.app-shell .anna-proof>button {color:var(--accent-ink)}

/* Preserve Anna's independent dark canvas inside either CRM theme. */
.anna-sidechat .anna-working {color:var(--ac-accent)}
.anna-sidechat .anna-composer textarea::placeholder,.anna-sidechat .anna-compose-foot {color:var(--ac-muted)}

/* The v4 shell has separate tokens; strengthen its small secondary text too. */
.v4-app:not([data-theme=dark]) {--fg-2:var(--cf-muted);--fg-3:var(--cf-subtle)}
.v4-app[data-theme=dark] {--fg-3:var(--cf-subtle)}

/* Keep long approval explanations scrollable on short phone screens. */
.app-shell.mobile-app .backend-approvals .backend-approval-card {flex:0 0 auto;overflow:visible}
.app-shell.mobile-app .backend-approval-facts {flex:none;overflow:visible}
.app-shell.mobile-app .backend-approval-card .backend-card-foot {display:block}
@media(max-width:760px) {
  .backend-search-scope {line-height:1.6}
  .app-shell .backend-approvals .backend-approval-card {padding:20px}
}

/* GPT Business: luminous optical edges and spectral refraction.
   Decorative layers never replace the opaque surface behind business content. */
:is(.app-shell,.v4-app) {
  --optic-spectrum:linear-gradient(112deg,#ffc2a6 0%,#fff1bc 18%,#b3f6d8 37%,#9be3ff 55%,#bfb0ff 74%,#f4b8e5 91%,#fff 100%);
  --optic-rim:linear-gradient(135deg,#fff 0%,#c9ecff9c 17%,#a2a5e765 36%,#fff9 50%,#f5c6ec70 72%,#fff9 92%);
  --optic-surface:linear-gradient(150deg,#202632,#141922 64%,#191f2b);
  --optic-canvas:radial-gradient(ellipse at 90% -10%,#788dc218,transparent 42%),radial-gradient(ellipse at 0% 100%,#8671bc0e,transparent 45%),#0d1118;
  --optic-chrome:linear-gradient(155deg,#222936,#121821 65%,#1b2230);
  --optic-well:#151b25;
  --optic-edge:#e2f0ff6e;
  --optic-shadow:inset 0 1px 1px #fff4,inset 1px 0 0 #d5eaff13,inset 0 -1px 1px #adc9ff12,0 8px 24px #0003,0 0 18px #acbaff09;
  --optic-focus:#b9a7ff;
  --optic-ray-opacity:.5;
}
.app-shell[data-zwt=light],.v4-app:not([data-theme=dark]) {
  --optic-rim:linear-gradient(135deg,#fff 0%,#b7ddeb 20%,#d4c9f0 36%,#fff 49%,#efd1e6 72%,#fff 95%);
  --optic-surface:linear-gradient(150deg,#fff,#fdfdff 59%,#f2f6fb);
  --optic-canvas:radial-gradient(ellipse at 90% 0%,#d8f2ff82,transparent 40%),radial-gradient(ellipse at 3% 95%,#ede4fb5c,transparent 46%),#f6f8fc;
  --optic-chrome:linear-gradient(155deg,#fff,#f7f9fd 62%,#eef3fb);
  --optic-well:#fff;
  --optic-edge:#fff;
  --optic-shadow:inset 0 2px 1px #fff,inset 1px 0 0 #fff,0 0 0 1px #96a9c514,0 10px 30px #58739c0d,0 1px 5px #58739c0a;
  --optic-focus:#62509d;
  --optic-ray-opacity:.85;
}

/* Pearl chrome carries the light; data and controls keep their existing geometry. */
.app-shell {background:var(--cf-surface)}
.app-shell .app-stage,.app-shell.mobile-app .phone-content {background:var(--cf-surface)}
.app-shell>.sidebar,.v4-app>[data-screen-label=Sidebar] {background:var(--cf-surface);box-shadow:none}
.app-shell .workspace-header,.app-shell .phone-header,.v4-app .v4-workspace-header {
  position:relative;background:var(--cf-surface);
  box-shadow:none;
}
.v4-app .v4-main {background:var(--cf-surface)}
.app-shell .workspace-header:after,.app-shell .phone-header:after,.v4-app .v4-workspace-header:after {
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;
  pointer-events:none;background:var(--cf-surface);opacity:var(--optic-ray-opacity);
}
.app-shell .nav-item[aria-current=page] {
  background:var(--cf-surface);
  box-shadow:none;
}
.app-shell[data-zwt=light] .nav-item[aria-current=page] {background:var(--cf-surface)}
.app-shell .nav-item[aria-current=page]:before {background:var(--cf-surface);box-shadow:none}
.app-shell .simple-appearance p {color:var(--ink2)}

/* Neutral panels receive a glass-cut rim. Semantic alerts keep their own colors. */
.app-shell :is(.crm-panel,.receipt-list,.customer-list,.customer-detail,.receipt-inspector,.simple-appearance,.decision-panel,.schedule-panel),
.v4-app :is(.v4-home-tile,.v4-home-panel,.v4-home-insight,.simple-appearance) {
  border:1px solid transparent;
  background:var(--cf-surface);
  box-shadow:none;
}
.app-shell .backend-approvals .backend-approval-card,.app-shell .backend-modal {
  background:var(--cf-surface);
  border:1px solid transparent;box-shadow:none;
}
.app-shell :is(.primary-button,.secondary-button,.workspace-switch),
.v4-app>[data-screen-label=Sidebar]>button {
  box-shadow:none;
}
.app-shell[data-zwt=light] :is(.secondary-button,.workspace-switch) {background:var(--cf-surface);box-shadow:none}

/* The composer gets the strongest refraction so Anna stays easy to find. */
.app-shell :is(.home-composer,.phone-ask.original-composer,.assistant-form) {
  border:1px solid transparent;
  background:var(--cf-surface);
  box-shadow:none;
}
.app-shell :is(.home-composer,.phone-ask.original-composer,.assistant-form):focus-within {
  outline:2px solid var(--optic-focus);outline-offset:3px;
}
.app-shell .home-composer:before {background:var(--cf-surface);opacity:.85}
.app-shell :is(.prism-home-card,.desktop-anna-stage) {border-color:color-mix(in srgb,var(--cf-border) 42%,transparent);box-shadow:none}
.app-shell .prism-rim {opacity:.88}

/* Anna retains her independent dark canvas with a luminous rim and spectrum edge. */
.anna-sidechat {
  --optic-spectrum:linear-gradient(112deg,#ffd8bf,#fff0bb 19%,#bbf1dd 38%,#afe6ff 55%,#c1b4ff 74%,#edbce2 94%);
  border-left-color:color-mix(in srgb,var(--cf-border) 42%,transparent);box-shadow:none;
}
.anna-sidechat .anna-chat-header {position:relative;background:var(--cf-surface);border-bottom-color:color-mix(in srgb,var(--cf-border) 13%,transparent)}
.anna-sidechat .anna-chat-header:after {content:'';position:absolute;left:17px;right:17px;bottom:-1px;height:2px;pointer-events:none;background:var(--cf-surface);opacity:.8}
.anna-sidechat .anna-composer {
  border:1px solid transparent;
  background:var(--cf-surface);
  box-shadow:none;
}
.anna-sidechat .anna-composer:focus-within {outline:2px solid var(--cf-border);outline-offset:3px}
.anna-sidechat .anna-welcome-mark {filter:drop-shadow(0 0 15px #e0eaff33)}
.anna-sidechat .anna-message-card {box-shadow:none}

/* A single gentle reveal, only on decorative header lines. No animated blur. */
@keyframes optic-line-reveal {from{opacity:0;transform:scaleX(.45)}to{opacity:var(--optic-ray-opacity,.8);transform:scaleX(1)}}
.app-shell .workspace-header:after,.app-shell .phone-header:after,.v4-app .v4-workspace-header:after,.anna-sidechat .anna-chat-header:after {
  transform-origin:left;animation:optic-line-reveal 1.4s cubic-bezier(.2,.7,.2,1) both;
}
@media(prefers-reduced-motion:reduce) {
  .app-shell .workspace-header:after,.app-shell .phone-header:after,.v4-app .v4-workspace-header:after,.anna-sidechat .anna-chat-header:after {animation:none;transform:none}
}
[data-motion=false] .workspace-header:after,[data-motion=false] .phone-header:after,[data-motion=false] .anna-chat-header:after,
[data-visible=false] .workspace-header:after,[data-visible=false] .phone-header:after,[data-visible=false] .anna-chat-header:after {animation:none;transform:none}

/* Dark is a true black canvas. Raised cards retain their readable separation. */
.app-shell[data-zwt=dark],.v4-app[data-theme=dark] {
  --board:var(--cf-canvas);--screen:var(--cf-canvas);--bg:var(--cf-canvas);
  --optic-canvas:#000;--optic-chrome:#000;
  background:var(--cf-canvas);color-scheme:dark;
}
body:has(.app-shell[data-zwt=dark]),body:has(.v4-app[data-theme=dark]) {background:var(--cf-canvas)}

/* Every appearance control reads the same saved choice, including narrow layouts. */
.appearance-options {display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:14px;background:var(--seg)}
.appearance-options>button {flex:1 1 auto;padding:7px 10px}
.appearance-options>button[aria-checked=true] {background:var(--knob,var(--btn));box-shadow:none}
.appearance-options>button:focus-visible {outline:2px solid var(--accent-ink);outline-offset:2px}
.search-appearance-controls {flex-wrap:wrap}

/* Native glass samples the real desktop in both windowed and transparent full-screen modes. */
html[data-desktop-transparency],html[data-desktop-transparency] body {background:transparent!important}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] {
  --board:transparent;--screen:transparent;--bg:transparent;
  --optic-canvas:transparent;
  --optic-chrome:rgba(18,18,20,calc(.94 - var(--workspace-transparency,.55) * .18));
  --card:rgba(20,20,23,calc(.98 - var(--workspace-transparency,.55) * .22));
  --optic-surface:var(--card);
  --panel:var(--card);--panel-2:rgba(26,26,29,calc(.98 - var(--workspace-transparency,.55) * .22));--sidebar:var(--optic-chrome);
  --optic-edge:#d9eaff55;--card-border:#d9eaff42;
  --ink:#f4f6fc;--ink2:#c7d0e0;--ink3:#b6c0d4;--mute:#acb8ce;--faint:#a3afc5;
  --fg:#f4f6fc;--fg-2:#c7d0e0;--fg-3:#b6c0d4;
  --btn:#111827;--inset:#0c111d;--cut:#0b101a;
  --glass:#ffffff0c;--seg:#080d18c9;--knob:#344258;--chip:#101827;
  --line:#dce7ff29;--line2:#dce7ff29;--line3:#dce7ff45;
  background:rgba(10,10,12,calc(.94 - var(--workspace-transparency,.55) * .86));
  background-attachment:fixed;
}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] :is(.workspace-main,.v4-main,.app-stage,.phone-content) {background:transparent}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] :is(.sidebar,[data-screen-label=Sidebar],.workspace-header,.v4-workspace-header,.phone-header) {
  background:var(--optic-chrome)!important;
  -webkit-backdrop-filter:blur(24px) saturate(120%);backdrop-filter:blur(24px) saturate(120%);
}
html[data-desktop-transparency] .app-shell[data-appearance=Transparency] :is(.crm-panel,.receipt-list,.customer-list,.customer-detail,.receipt-inspector,.simple-appearance,.decision-panel,.schedule-panel,.glass-card),
html[data-desktop-transparency] .v4-app[data-appearance=Transparency] :is(.v4-home-tile,.v4-home-panel,.v4-home-insight,.simple-appearance) {
  background:var(--card)!important;border:1px solid var(--card-border)!important;
  -webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);
  box-shadow:inset 0 1px #e8f3ff30,0 10px 28px #0003;
}
html[data-desktop-transparency] .app-shell[data-appearance=Transparency] .backend-modal {background:#0b101a!important;backdrop-filter:none}
html[data-desktop-transparency] .v4-app[data-appearance=Transparency] :is(input,textarea,select) {background-color:#0c111d;color:var(--fg)}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] .ask-fab {background:#0c111d;color:#f4f6fc}

/* Keep the theme usable when transparency is unavailable or reduced by the OS. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] {
    --optic-chrome:#0a101c;--card:linear-gradient(#111b2b,#0b111e);--panel:#111b2b;--panel-2:#0b111e;
  }
}
@media(prefers-reduced-transparency:reduce) {
  html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] {
    --optic-chrome:#080b12;--card:linear-gradient(#111722,#0b1018);--panel:#111722;--panel-2:#0b1018;
  }
  html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] :is(.sidebar,[data-screen-label=Sidebar],.workspace-header,.v4-workspace-header,.phone-header,.crm-panel,.simple-appearance,.decision-panel,.schedule-panel,.glass-card,.v4-home-tile,.v4-home-panel,.v4-home-insight) {
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
}

.workspace-transparency{flex-basis:100%;width:100%;max-width:600px;padding-top:18px;border-top:1px solid var(--line);margin-top:8px}
.transparency-heading,.transparency-scale{display:flex;align-items:center;justify-content:space-between;gap:16px}
.transparency-heading{font-size:13px;font-weight:600}.transparency-heading output{font-variant-numeric:tabular-nums;color:var(--ink2,var(--fg-2))}
.workspace-transparency input[type=range]{display:block;width:100%;height:30px;margin:10px 0 2px;padding:0;accent-color:#96bbff;cursor:pointer;background:transparent}
.workspace-transparency input[type=range]:focus-visible{outline:2px solid var(--cf-border);outline-offset:4px;border-radius:6px}
.transparency-scale{font-size:11px;color:var(--ink3,var(--fg-3))}.workspace-transparency p{font-size:12px!important;line-height:1.5;margin:12px 0 0!important;color:var(--ink3,var(--fg-3))}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] .mv-card{background:var(--card)}

.workspace-appearance-error{flex-basis:100%;color:var(--ink2,var(--fg-2));font-size:13px;line-height:1.5;margin:8px 0 0}

/* Keep small labels legible even over a white desktop at maximum transparency. */
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Transparency] :is(.work-heading,.mv-head,.mv-footer){background:var(--card);border-radius:16px;padding:18px 20px}

/* Preserved classic Frosted option: fixed original surfaces, independent of the scale. */
/* Native window glass: AppKit blends the actual desktop behind the window.
   No wallpaper, screen capture or colored substitute is drawn by the app. */
html[data-desktop-transparency],html[data-desktop-transparency] body {background:transparent!important}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] {
  --board:transparent;--screen:transparent;--bg:transparent;
  --optic-canvas:transparent;
  --optic-chrome:rgba(18,18,20,.38);
  --card:rgba(20,20,23,.58);
  --optic-surface:var(--card);
  --panel:rgba(20,20,23,.58);--panel-2:rgba(26,26,29,.68);--sidebar:rgba(18,18,20,.38);
  --optic-edge:#d9eaff55;--card-border:#d9eaff42;
  --ink:#f4f6fc;--ink2:#c7d0e0;--ink3:#b6c0d4;--mute:#acb8ce;--faint:#a3afc5;
  --fg:#f4f6fc;--fg-2:#c7d0e0;--fg-3:#b6c0d4;
  --btn:#111827;--inset:#0c111d;--cut:#0b101a;
  --glass:#ffffff0c;--seg:#080d18c9;--knob:#344258;--chip:#101827;
  --line:#dce7ff29;--line2:#dce7ff29;--line3:#dce7ff45;
  background:rgba(10,10,12,.14);
  background-attachment:fixed;
}


html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] :is(.workspace-main,.v4-main,.app-stage,.phone-content) {background:transparent}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] :is(.sidebar,[data-screen-label=Sidebar],.workspace-header,.v4-workspace-header,.phone-header) {
  background:var(--optic-chrome)!important;
  -webkit-backdrop-filter:blur(24px) saturate(120%);backdrop-filter:blur(24px) saturate(120%);
}
html[data-desktop-transparency] .app-shell[data-appearance=Frosted] :is(.crm-panel,.receipt-list,.customer-list,.customer-detail,.receipt-inspector,.simple-appearance,.decision-panel,.schedule-panel,.glass-card),
html[data-desktop-transparency] .v4-app[data-appearance=Frosted] :is(.v4-home-tile,.v4-home-panel,.v4-home-insight,.simple-appearance) {
  background:var(--card)!important;border:1px solid var(--card-border)!important;
  -webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);
  box-shadow:inset 0 1px #e8f3ff30,0 10px 28px #0003;
}
html[data-desktop-transparency] .app-shell[data-appearance=Frosted] .backend-modal {background:#0b101a!important;backdrop-filter:none}
html[data-desktop-transparency] .v4-app[data-appearance=Frosted] :is(input,textarea,select) {background-color:#0c111d;color:var(--fg)}
html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] .ask-fab {background:#0c111d;color:#f4f6fc}

/* Keep the theme usable when transparency is unavailable or reduced by the OS. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] {
    --optic-chrome:#0a101c;--card:linear-gradient(#111b2b,#0b111e);--panel:#111b2b;--panel-2:#0b111e;
  }
}
@media(prefers-reduced-transparency:reduce) {
  html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] {
    --optic-chrome:#080b12;--card:linear-gradient(#111722,#0b1018);--panel:#111722;--panel-2:#0b1018;
  }
  html[data-desktop-transparency] :is(.app-shell,.v4-app)[data-appearance=Frosted] :is(.sidebar,[data-screen-label=Sidebar],.workspace-header,.v4-workspace-header,.phone-header,.crm-panel,.simple-appearance,.decision-panel,.schedule-panel,.glass-card,.v4-home-tile,.v4-home-panel,.v4-home-insight) {
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
}

/* Business content stays readable over any desktop. Chrome retains the selected
   glass and the Transparency slider; changing the wallpaper cannot wash out data. */
html[data-desktop-transparency] :is(.app-shell,.v4-app):is([data-appearance=Frosted],[data-appearance=Transparency])
 :is(.layout-record-list,.restoration-inspector,.restoration-editor,.backend-inspector,.backend-editor,
 .crm-panel,.receipt-list,.receipt-inspector,.customer-list,.customer-detail,.decision-panel,.schedule-panel,
 .home-view-card:not(.home-view-presence),.home-view-metrics,.mv-card,.crm-column,.crm-deal-card) {
  background:#141922!important;
  --layout-surface:#141922;
  -webkit-backdrop-filter:none;backdrop-filter:none;
}

/* A brief prism celebration leaves the CRM interactive and never takes focus. QA sweep 3 (S3): the card is placed where
   it covers no control (celebration-model.js winPick; bottom-right until then); only the card itself takes clicks. */
.win-celebration {position:fixed;inset:0;z-index:1500;pointer-events:none;color:var(--cf-text);font-family:inherit}
.win-confetti {position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.win-receipt {position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:min(380px,calc(100vw - 32px));max-height:min(46vh,360px);overflow:auto;box-sizing:border-box;padding:18px 44px 16px 20px;border:1px solid color-mix(in srgb,var(--cf-border) 53%,transparent);border-radius:18px;background:var(--cf-surface);box-shadow:none;pointer-events:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
.win-receipt strong {display:block;font-size:17px;font-weight:600;line-height:1.4}
.win-receipt p {margin:5px 0 8px;font-size:13px;color:var(--cf-text);line-height:1.5}
.win-receipt a {display:block;color:var(--cf-text);font-size:13px;line-height:1.65;text-decoration:underline;text-underline-offset:3px;padding:3px 0;overflow-wrap:anywhere}
.win-receipt button {position:absolute;top:9px;right:9px;width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--cf-text);font:22px/1 inherit;cursor:pointer;border-radius:8px}
.win-receipt :is(button,a,summary):focus-visible {outline:2px solid var(--cf-border);outline-offset:3px}
.win-receipt details {max-height:45vh;overflow:auto;font-size:13px;margin-top:6px}
.win-receipt summary {cursor:pointer;padding:5px 0;color:var(--cf-text)}
@media(max-width:760px){.win-receipt{width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){.win-confetti{display:none}}

/* Home alone owns this height budget; details open above it in a native dialog. */
.home-view-tabs{display:flex;flex:none;gap:3px;padding:4px;background:var(--seg);border:1px solid var(--line2);border-radius:24px}
.home-view-tabs button{font:inherit;font-size:13px;min-height:38px;padding:8px 17px;border:1px solid transparent;border-radius:20px;color:var(--ink3);background:none;white-space:nowrap;cursor:pointer}
.home-view-tabs button[aria-selected=true]{color:var(--ink);background:var(--card);border-color:var(--line2);box-shadow:none}
.home-closer-panel{min-height:0;min-width:0;height:100%;container:home-charts / size}
.home-chart-empty{color:var(--ink3);padding:24px;font-size:15px}
@media(max-width:600px){.home-view-heading h1{font-size:18px!important}.home-view-tabs button{font-size:12px;padding:6px 10px;min-height:34px}.home-view-tabs{padding:3px}}
.app-shell .screen-body:has(>.home-viewport){container:home-space / size;overflow-x:clip;overflow-y:auto;display:block;height:100%;min-height:0}
/* #3736: a control scrolled or focused into view keeps a little room from the scroll box's edge; flush against it, the 1.2 zoom of
   large text rounded the scroll short and clipped the last row's button by a fraction of a pixel. */
.app-shell .screen-body:has(>.home-viewport){scroll-padding-block:8px}
.app-shell .home-viewport{height:100%;width:100%;max-width:1600px;min-height:0;box-sizing:border-box;margin:0 auto;padding:20px 28px 12px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 32px;gap:14px;color:var(--ink)}
.home-viewport :is(button,section,div,header){min-width:0}
.home-view-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-view-heading h1{margin:0;font-size:clamp(22px,3cqw,34px);font-weight:500;line-height:1.2;letter-spacing:-.04em}.home-view-heading p{margin:6px 0 0;font-size:13px;color:var(--ink3);line-height:1.4}.home-view-heading .text-button{min-height:40px}
.home-view-grid{display:grid;min-height:0;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:minmax(100px,1fr) 124px minmax(118px,1fr);gap:14px}
.home-view-card{border:1px solid var(--line2);border-radius:18px;background:var(--card);box-shadow:none;min-height:0;padding:16px;display:flex;flex-direction:column;gap:8px;position:relative}
.home-view-card>header,.home-view-summary>header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}.home-viewport h2{margin:0;font-size:15px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.home-view-presence{grid-column:1;grid-row:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;isolation:isolate;background:var(--cf-canvas);color:var(--cf-text);overflow:hidden}.home-view-signal{position:absolute;inset:0;z-index:-1;opacity:.45;pointer-events:none}.home-view-signal img{width:100%;height:100%;object-fit:cover;object-position:70% 55%;opacity:.7}.home-view-signal:after{content:'';position:absolute;inset:0;background:var(--cf-surface)}
.home-view-presence-copy{display:grid;gap:10px;min-width:0}.home-view-presence .eyebrow{font-size:10px;color:var(--cf-text);letter-spacing:.12em}.home-view-presence h2{font-size:clamp(20px,3cqw,32px);white-space:pre-line;font-weight:450;line-height:1.12;letter-spacing:-.035em}.home-view-status{display:flex;align-items:center;gap:8px;min-height:36px;border:0;background:none;padding:0;color:var(--cf-text);font:inherit;font-size:12px;text-align:left}.home-view-status strong{font-weight:500}.home-view-status>span{color:var(--cf-text);margin-left:8px;white-space:nowrap}
.home-view-orb{border:0;background:none;padding:8px;flex:none;display:grid;place-items:center;width:100px;height:100px;filter:drop-shadow(0 0 14px #dfd8ff35)}
.home-view-orb .am{width:min(64px,100%)!important;height:auto!important;aspect-ratio:1}
.home-view-summary{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:8px;min-height:0}.home-view-summary>header{height:28px}.home-view-summary>header .text-button{min-height:32px}.home-view-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-height:0;border:1px solid var(--line2);border-radius:16px;background:var(--card)}
.home-view-metrics>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;background:none;border:0;border-radius:14px;text-align:left;padding:8px 14px;color:var(--ink);font:inherit}.home-view-metrics>button+button{border-left:1px solid var(--line2);border-top-left-radius:0;border-bottom-left-radius:0}.home-view-metrics>button>span{font-size:12px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-view-metrics strong{font-size:26px;font-weight:500;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.home-view-metrics small{font-size:11px;line-height:1.25;color:var(--ink3);width:100%;display:flex;justify-content:space-between;gap:4px}
.home-view-approvals .count-badge{color:var(--amber-ink);background:var(--amber-soft);border-color:var(--line2)}
.home-view-approvals{grid-column:2;grid-row:1/3}.home-view-decision{color:var(--ink);font:inherit;font-size:17px;line-height:1.35;text-align:left;background:none;border:0;padding:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-view-decision-why{font-size:13px;line-height:1.45;color:var(--ink3);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-view-decision-actions{display:flex;gap:8px;margin-top:auto}.home-view-decision-actions>button{min-height:40px;flex:1}.home-view-clear{margin:auto 0;font-size:15px;line-height:1.5}.home-view-clear>span{color:var(--green-ink);margin-right:5px}
.home-view-all{display:flex;align-items:center;justify-content:space-between;min-height:36px;margin-top:auto;border:0;border-top:1px solid var(--line2);padding:8px 0 0;background:none;color:var(--ink2);font:inherit;font-size:12px;text-align:left}
.home-view-schedule{grid-column:2;grid-row:3}.home-view-next{display:flex;flex-direction:column;gap:4px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;padding:0;min-height:44px}.home-view-next strong{font-size:15px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-view-next span,.home-view-next small{font-size:12px;color:var(--ink3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-view-activity{grid-column:1;grid-row:3}.home-view-receipts{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));flex:1;min-height:0}.home-view-receipts>button{display:flex;align-items:center;gap:8px;min-height:0;padding:4px 0;border:0;background:none;color:var(--ink);text-align:left;font:inherit}.home-view-receipts>button+button{border-top:1px solid var(--line2)}.home-view-receipt-icon{width:24px;height:24px;flex:none;display:grid;place-items:center}.home-view-receipt-icon svg{width:16px;height:16px}
.home-view-receipts>button>span:nth-child(2){flex:1;min-width:0}.home-view-receipts strong,.home-view-receipts small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.home-view-receipts strong{font-size:13px;font-weight:500}.home-view-receipts small{font-size:12px;color:var(--ink3)}.home-view-receipts time{font-size:11px;color:var(--ink3);white-space:nowrap}.home-view-receipts>p{font-size:13px;color:var(--ink3);margin:8px 0}
.home-view-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0;padding-right:150px}.home-view-footer>span{font-size:11px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-view-footer>button{min-height:32px}.mobile-app .home-view-footer,.app-shell[data-anna-open=true] .home-view-footer{padding-right:0}
.home-view-metrics>button:hover,.home-view-receipts>button:hover{background:var(--hover)}.home-viewport button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.home-summary-dialog{box-sizing:border-box;width:min(760px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line2);border-radius:20px;background:var(--screen);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:none}.home-summary-dialog::backdrop{background:color-mix(in srgb,var(--cf-surface) 44%,transparent);backdrop-filter:none}.home-summary-dialog .crm-panel{margin:0;border:0;box-shadow:none;background:var(--screen);border-radius:0;padding:20px}.home-summary-dialog header{position:sticky;top:-20px;z-index:1;background:var(--screen);padding-block:8px;border-bottom:1px solid var(--line2)}.home-summary-dialog header>button{min-height:44px;padding-inline:10px}.home-summary-dialog header h2{font-size:22px}
/* Container queries account for side-menu width and Anna's open dock. */
@container home-space (max-width:640px){
 .app-shell .home-viewport{padding:12px 16px 6px;gap:10px;grid-template-rows:auto minmax(0,1fr) 30px}.home-view-heading h1{font-size:24px}.home-view-heading p{display:none}.home-view-heading>.text-button{font-size:11px}
 .home-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(78px,1fr) 110px minmax(132px,1fr) 92px;gap:10px}.home-view-presence{grid-column:1/3;grid-row:1}.home-view-presence h2{font-size:24px;white-space:normal}.home-view-presence-copy{gap:4px}.home-view-presence .eyebrow{display:none}.home-view-orb{width:76px;height:76px;padding:0}
 .home-view-summary{grid-column:1/3;grid-row:2}.home-view-summary h2{font-size:13px}.home-view-metrics>button{padding:7px 10px}.home-view-metrics strong{font-size:25px}.home-view-metrics small{display:none}.home-view-approvals{grid-column:1;grid-row:3}.home-view-schedule{grid-column:2;grid-row:3}.home-view-card{padding:12px;gap:6px;border-radius:16px}.home-viewport h2{font-size:14px}.home-view-presence h2{font-size:23px}
 .home-view-decision{font-size:14px;padding:0}.home-view-decision-why{display:none}.home-view-decision-actions{gap:4px}.home-view-decision-actions>button{min-height:34px;padding-inline:8px;font-size:12px}.home-view-clear{font-size:13px}.home-view-all{font-size:12px;min-height:32px;padding-top:6px}.home-view-next strong{font-size:14px}.home-view-next span,.home-view-next small{font-size:11px}
 .home-view-activity{grid-column:1/3;grid-row:4;padding:8px 12px;gap:0}.home-view-activity>header{min-height:26px}.home-view-receipts{grid-template-rows:minmax(0,1fr)}.home-view-receipts>button:nth-child(n+2){display:none}.home-view-receipts>button{min-height:38px}.home-view-receipts strong{font-size:12px}.home-view-receipts small{font-size:11px}.home-view-footer{padding-right:0}.home-view-footer>span{max-width:60%}
}
@container home-space (max-height:600px){
 .app-shell .home-viewport{padding-block:10px 4px;gap:8px}.home-view-heading p{display:none}.home-view-grid{gap:10px}.home-view-presence h2{font-size:24px;white-space:normal}.home-view-presence-copy{gap:4px}.home-view-presence .eyebrow{display:none}.home-view-card{padding:10px;gap:6px}.home-view-receipts small{display:none}
}
@container home-space (max-width:640px) and (max-height:570px){
 .home-view-grid{grid-template-rows:minmax(64px,1fr) 98px minmax(132px,1fr) 70px;gap:8px}.home-view-activity{padding:6px 10px}.home-view-activity>header{min-height:24px}.home-view-presence h2{font-size:20px}.home-view-orb{width:58px;height:58px}.home-view-orb .am{width:48px!important;height:48px!important}.home-view-metrics small{display:none}.home-view-presence .home-view-status{min-height:30px;font-size:11px}
}
/* A short landscape workspace uses columns rather than stacking the whole dashboard. */
@container home-space (min-width:550px) and (max-height:400px){
 .app-shell .home-viewport{padding:6px 12px 2px;gap:4px;grid-template-rows:30px minmax(0,1fr) 26px}.home-view-heading h1{font-size:20px}.home-view-heading>.text-button{min-height:28px}
 .home-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:54px minmax(96px,1fr) 56px;gap:6px}.home-view-presence{grid-column:1;grid-row:1;padding:6px 10px}.home-view-presence h2{font-size:17px}.home-view-status{min-height:22px;font-size:11px}.home-view-status>span{display:none}.home-view-orb{width:36px;height:36px}.home-view-orb .am{width:32px!important;height:32px!important}
 .home-view-summary{grid-column:2;grid-row:1;gap:0}.home-view-summary>header{height:18px}.home-view-summary h2{font-size:11px}.home-view-summary>header .text-button{font-size:10px;min-height:20px;padding:0}.home-view-metrics{border-radius:10px}.home-view-metrics>button{padding:3px 7px;flex-direction:row;align-items:center;justify-content:space-between;gap:3px}.home-view-metrics>button>span{font-size:10px}.home-view-metrics strong{font-size:18px}.home-view-metrics small{display:none}
 .home-view-approvals{grid-column:1;grid-row:2;padding:8px 10px;gap:3px}.home-view-schedule{grid-column:2;grid-row:2;padding:8px 10px;gap:3px}.home-viewport h2{font-size:12px}.home-view-decision{font-size:12px;-webkit-line-clamp:1}.home-view-decision-why{display:none}.home-view-clear{font-size:12px}.home-view-decision-actions{margin-top:0}.home-view-decision-actions>button{min-height:28px;font-size:11px}.home-view-next{min-height:30px;gap:2px}.home-view-next strong{font-size:12px;-webkit-line-clamp:1}.home-view-next span{font-size:10px}.home-view-next small{display:none}.home-view-all{min-height:26px;padding-top:3px;font-size:11px}
 .home-view-activity{grid-column:1/3;grid-row:3;padding:4px 10px;gap:0}.home-view-activity>header{min-height:20px}.home-view-receipts{grid-template-rows:minmax(0,1fr)}.home-view-receipts>button{min-height:24px}.home-view-receipts>button:nth-child(n+2),.home-view-receipts small{display:none}.home-view-receipts strong{font-size:11px}.home-view-footer{padding-right:0}.home-view-footer>button{min-height:26px;font-size:11px}
}
/* The phone's Home composer takes one row. Other screen composers stay unchanged. */
.mobile-app:has(.home-viewport) .phone-ask.original-composer{flex-direction:row;align-items:center;padding:4px 6px;margin-block:4px 6px;gap:4px}.mobile-app:has(.home-viewport) .original-composer>textarea{flex:1;width:0;min-width:0;height:40px;min-height:40px;max-height:40px;padding-block:9px}.mobile-app:has(.home-viewport) .composer-controls{height:40px}
@media(max-height:500px) and (orientation:landscape){
 .mobile-app:has(.home-viewport) .phone-header{min-height:40px;padding-block:0}.mobile-app:has(.home-viewport) .phone-header small{display:none}.mobile-app:has(.home-viewport) .simple-mobile-controls{display:none}.mobile-app:has(.home-viewport) .phone-ask.original-composer{position:absolute;right:12px;bottom:0;width:190px;height:40px;margin:0;z-index:2}.mobile-app:has(.home-viewport) .phone-nav{padding-block:2px}.mobile-app:has(.home-viewport) .phone-nav button{min-height:36px}.mobile-app:has(.home-viewport) .home-view-footer{padding-right:200px}
}
/* Phone-width cards use labels and numbers; the whole tile still opens its explanation. */
@container home-space (max-width:460px){
 .home-view-metrics small{display:none}.home-view-presence h2{font-size:20px}.home-view-presence .home-view-status{min-height:30px;font-size:11px}.home-view-presence .home-view-status>span{margin-left:0}.home-view-next span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@container home-space (max-width:549px) and (max-height:500px){
 .app-shell .home-viewport{padding:6px 12px 2px;gap:6px;grid-template-rows:32px minmax(0,1fr) 26px}.home-view-heading h1{font-size:21px}.home-view-heading>.text-button{min-height:30px}
 .home-view-grid{grid-template-rows:56px 82px minmax(126px,1fr) 58px;gap:6px}.home-view-presence{padding:6px 10px}.home-view-presence h2{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-view-presence .home-view-status{min-height:22px}.home-view-orb{width:36px;height:36px}.home-view-orb .am{width:32px!important;height:32px!important}.home-view-summary{gap:4px}.home-view-summary>header{height:24px}.home-view-summary h2{font-size:12px}.home-view-metrics strong{font-size:23px}
 .home-view-card{padding:8px;gap:4px}.home-view-activity{padding:4px 10px;gap:0}.home-view-activity>header{min-height:22px}.home-view-receipts>button{min-height:26px}.home-view-decision{-webkit-line-clamp:1;font-size:13px}.home-view-decision-actions>button{min-height:30px}.home-view-all{min-height:28px;padding-top:4px}.home-view-next small{display:none}.home-view-footer>button{min-height:26px}
}
.mobile-app:has(.home-viewport) .phone-header{height:64px;min-height:64px;flex-wrap:nowrap;padding:8px 16px;gap:8px}
.mobile-app:has(.home-viewport) .phone-header>div{display:none}
.mobile-app:has(.home-viewport) .phone-brand{width:auto;max-width:200px;min-width:0;flex:1;display:flex;margin-right:auto}
.mobile-app:has(.home-viewport) .phone-brand img{max-width:100%;height:auto}
.mobile-app:has(.home-viewport) .simple-mobile-controls{min-height:36px;height:36px;flex:none;padding:2px 16px}
.mobile-app:has(.home-viewport) .simple-mobile-controls button{min-height:30px}
.app-shell:not(.mobile-app):has(.ask-fab) .home-view-footer{padding-right:178px}
@media(max-height:500px) and (orientation:landscape){.mobile-app:has(.home-viewport) .phone-header{height:40px;min-height:40px;padding-block:0}.mobile-app:has(.home-viewport) .simple-mobile-controls{display:none}}
/* Keep controls inside their card boundaries, including their focus target. */
.home-view-summary>header{height:32px}
@container home-space (max-width:549px) and (max-height:500px){
 .home-view-grid{grid-template-rows:56px 94px minmax(126px,1fr) 66px}.home-view-summary>header{height:32px}.home-view-metrics>button{padding:4px 8px;gap:2px}.home-view-activity>header .text-button{min-height:24px;height:24px;padding-block:1px}
}
@container home-space (max-width:549px) and (max-height:410px){
 .app-shell .home-viewport{padding:4px 10px;gap:4px;grid-template-rows:28px minmax(0,1fr) 24px}.home-view-heading h1{font-size:19px}.home-view-heading>.text-button{min-height:28px;font-size:10px}
 .home-view-grid{grid-template-rows:44px 76px minmax(94px,1fr) 48px;gap:4px}.home-view-presence{padding:2px 8px}.home-view-presence-copy{gap:0}.home-view-presence h2{font-size:16px}.home-view-presence .home-view-status{font-size:10px;min-height:20px}.home-view-orb{width:32px;height:32px}
 .home-view-summary{gap:2px}.home-view-summary>header{height:24px}.home-view-summary>header .text-button{min-height:24px;height:24px;padding:0}.home-view-metrics>button{padding:2px 7px}.home-view-metrics strong{font-size:22px}.home-view-metrics>button>span{font-size:11px}
 .home-view-approvals,.home-view-schedule{padding:6px 8px;gap:3px}.home-view-decision-actions{display:none}.home-view-decision{font-size:12px}.home-view-next{min-height:30px;gap:2px}.home-view-next strong{font-size:12px;-webkit-line-clamp:1}.home-view-next span{-webkit-line-clamp:1;font-size:10px}.home-viewport h2{font-size:12px}.home-view-clear{font-size:12px}.home-view-all{font-size:11px;min-height:26px;padding-top:3px}
 .home-view-activity{padding:2px 8px}.home-view-activity>header{min-height:20px;height:20px}.home-view-activity>header .text-button{min-height:20px;height:20px;font-size:11px;padding:0}.home-view-receipts>button{min-height:22px;padding:0}.home-view-receipt-icon{height:20px}.home-view-receipts strong{font-size:11px}.home-view-footer>button{min-height:24px;font-size:11px}
}
@container home-space (min-width:550px) and (max-height:400px){
 .home-view-grid{grid-template-rows:48px minmax(92px,1fr) 48px}.home-view-summary>header{height:20px}.home-view-summary>header .text-button{min-height:20px;height:20px}.home-view-metrics>button{padding:1px 6px;gap:3px}.home-view-metrics>button>span{font-size:10px}.home-view-metrics strong{font-size:17px}.home-view-presence-copy{gap:0}.home-view-presence{padding-block:2px}.home-view-presence .home-view-status{min-height:20px}.home-view-decision-actions{display:none}.home-view-activity{padding:2px 10px}.home-view-activity>header{height:20px;min-height:20px}.home-view-activity>header .text-button{min-height:20px;height:20px;padding:0}.home-view-receipts>button{min-height:22px;padding:0}.home-view-receipt-icon{height:20px}
}
/* A phone rotated sideways stays an app, rather than becoming a framed desktop preview. */
@media(max-height:500px) and (orientation:landscape){
 .mobile-app:has(.home-viewport){height:100dvh;overflow:hidden}
 .mobile-app:has(.home-viewport) .mobile-preview{display:block;min-height:0;height:100%;padding:0}
 .mobile-app:has(.home-viewport) .phone-introduction,.mobile-app:has(.home-viewport) .real-phone-frame,.mobile-app:has(.home-viewport) .phone-hardware{display:none}
 .mobile-app:has(.home-viewport) .phone-frame{width:100%;height:100%;zoom:1!important}
 .mobile-app:has(.home-viewport) .phone-frame .phone-device{position:relative;inset:0;width:100%;height:100%;min-height:0;max-width:none;border:0;border-radius:0;box-shadow:none}
 .mobile-app:has(.home-viewport) .phone-nav:after{display:none}
}
/* Installed iPhones keep content clear of the notch and screen edges. */
.mobile-app:has(.home-viewport) .phone-header{height:calc(64px + env(safe-area-inset-top));min-height:calc(64px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.mobile-app .home-viewport{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
@media(max-height:500px) and (orientation:landscape){.mobile-app:has(.home-viewport) .phone-header{height:calc(40px + env(safe-area-inset-top));min-height:calc(40px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}}
@media(max-height:500px) and (orientation:landscape){
 .mobile-app .home-viewport{grid-template-rows:28px minmax(0,1fr) 50px}
 .mobile-app:has(.home-viewport) .phone-ask.original-composer{height:44px;min-height:44px;box-sizing:border-box;padding:2px 4px;bottom:3px}
 .mobile-app:has(.home-viewport) .original-composer>textarea{height:36px;min-height:36px;max-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px;line-height:20px;font-size:14px}
 .mobile-app:has(.home-viewport) .composer-controls,.mobile-app:has(.home-viewport) .composer-send{height:36px;width:36px}
}

/* Anna's decoration has a reserved column even when the dock narrows Home. */
.home-view-presence{gap:16px}.home-view-presence-copy{flex:1;min-width:0;overflow-wrap:anywhere}.home-view-orb{position:relative;inset:auto;transform:none;max-width:26%;box-sizing:border-box}.home-view-presence h2{max-width:100%}.home-view-status{flex-wrap:wrap}.home-view-orb .am{max-width:100%!important}

/* W33: at 200% text zoom the heading and its action wrap instead of squeezing the title to nothing. */
.home-view-heading{flex-wrap:wrap}.home-view-heading>div{flex:1 1 auto;min-width:min-content}

/* T056: the phone footer needs room for both actions and the checked-at text.
   A fixed row and a single flex line clipped these at 320 CSS pixels. */
@media(max-width:460px){
 .mobile-app:has(.home-viewport) .home-viewport{display:flex;flex-direction:column;flex:none;height:auto;min-height:100%;gap:6px}
 .mobile-app:has(.home-viewport) :is(.home-view-heading,.home-view-grid,.home-view-footer){flex:none}
 /* #3736: Analytics (.home-closer-panel) is a size container, so its height:100% of this auto-height column was 0 and
    the tab drew nothing on a phone. It takes the room left under the heading, and never less than a usable chart. */
 .mobile-app:has(.home-viewport) .home-closer-panel{flex:1 0 0;height:auto;min-height:320px}
 .mobile-app .home-view-footer{flex-wrap:wrap;gap:6px 10px;padding-right:0}
 .mobile-app:has(.home-viewport) .home-view-grid{grid-template-rows:auto;height:auto}
 .mobile-app:has(.home-viewport) .home-view-grid>section{min-height:0}
 /* The decorative activity wires draw 14px past the phone shell at 320-460px, so the phone map drops them. */
 .mobile-app:has(.home-viewport) .activity-wires{display:none}
 .mobile-app .home-view-footer>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
}
/* Sweep 2 N7: in the single-column phone Home (max-width 460px, rows auto, sections min-height 0) the map's circuit is
   flex:1 with no height of its own, so it collapsed to 0px and every node, the hub and the header text drew on one line.
   Give the phone circuit its own height; the nodes keep their percentage positions inside it. Below 281px of Home
   (200% zoom) workspace-upgrade.css lists the nodes in one column instead, at their own height. */
@media(max-width:460px){@container home-space (min-width:281px){
 .mobile-app:has(.home-viewport) .home-view-map .activity-circuit{flex:none;height:320px}
}}
/* A short phone (700px tall or less, such as 375 × 667) cannot hold N7's map and the rest of Home on one screen: the
   other cards, heading and footer already take about 353px of the 363px that 375 × 667 leaves between the header and the
   ask bar, and the circuit's fourteen channels need about 280px to stay legible. There the map card steps aside so Home
   fits without scrolling; the AI Ledger tab stays in the tab bar. Taller phones keep the 320px map. */
@media(max-width:460px) and (max-height:700px){
 .mobile-app:has(.home-viewport) .home-view-map{display:none}
}

.owner-controls{scroll-margin-top:18px}.owner-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.owner-controls h2,.owner-controls h3,.owner-activation-dialog h2{margin:0}.owner-controls-heading .eyebrow{display:block;margin-bottom:8px}.owner-rules-body{margin-top:20px;border-top:1px solid var(--line2);padding-top:20px}.owner-controls :is(p,small),.owner-activation-dialog p{line-height:1.55}.owner-rule-status{font-size:13px;padding:12px;border-radius:10px;background:var(--hover);color:var(--ink2)}.owner-rule-success{color:var(--green-ink);padding:12px;border:1px solid var(--line2);border-radius:10px}.owner-rule-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:18px 0}.owner-rule-summary>div{min-width:0}.owner-rule-summary dt{font-size:12px;color:var(--ink3);margin-bottom:4px}.owner-rule-summary dd{font-size:15px;color:var(--ink);margin:0;overflow-wrap:anywhere}.owner-controls fieldset{min-width:0;border:0;border-top:1px solid var(--line2);padding:20px 0;margin:0}.owner-controls legend{padding-right:12px;font-size:17px;font-weight:550;color:var(--ink)}.owner-rule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.owner-rule-fields label{display:grid;gap:7px;font-size:14px;min-width:0}.owner-rule-fields :is(input,select){min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--line2);border-radius:10px;padding:12px;background:var(--screen);color:var(--ink);font:inherit}.owner-rule-fields small{color:var(--ink3);font-size:12px}.owner-rule-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.owner-rule-checks label,.owner-check,.owner-activation-consent label{display:flex!important;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:var(--ink)}.owner-controls input[type=checkbox],.owner-activation-dialog input[type=checkbox]{flex:none;appearance:auto;width:24px;height:24px;margin:2px 0;accent-color:var(--accent-ink)}.owner-rule-days{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.owner-rule-days label{display:flex;align-items:center;gap:6px}.owner-save-warning,.owner-activation-warning{background:var(--hover);border:1px solid var(--line2);border-left:3px solid var(--amber-ink);padding:16px;border-radius:12px;margin:16px 0;color:var(--ink)}.owner-rule-guardrails{margin:24px 0;padding:16px;border:1px solid var(--line2);border-radius:12px}.owner-rule-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.owner-rule-links article{padding:16px;border:1px solid var(--line2);border-radius:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.owner-rule-links h4{margin:0;font-size:15px;color:var(--ink)}.owner-rule-links p{font-size:13px;color:var(--ink3);margin:0 0 6px}.owner-rule-links button{margin-top:auto;min-height:40px}.owner-activation-dialog{width:min(700px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);box-sizing:border-box;padding:0;border:1px solid var(--line2);border-radius:20px;background:var(--screen);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:none}.owner-activation-dialog::backdrop{background:color-mix(in srgb,var(--cf-canvas) 65%,transparent);backdrop-filter:none}.owner-activation-content{padding:24px}.owner-activation-content>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.owner-activation-dialog h2{font-size:28px;line-height:1.18;letter-spacing:-.025em;margin:14px 0 22px}.owner-activation-dialog h3{font-size:16px}.owner-activation-warning p{margin-bottom:0}.owner-activation-consent{display:grid;gap:18px;border-top:1px solid var(--line2);padding-top:20px;margin-top:20px}.owner-activation-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:14px;position:sticky;bottom:-24px;background:var(--screen);padding-bottom:12px}.owner-disclosure-version{font-size:12px;color:var(--ink3)}.owner-disclosure-version a{color:var(--accent-ink)}
@media(max-width:600px){.owner-rule-fields,.owner-rule-links{grid-template-columns:1fr}.owner-rule-checks{grid-template-columns:1fr}.owner-activation-content{padding:18px}.owner-activation-dialog h2{font-size:25px}.owner-activation-dialog footer{bottom:-18px;flex-direction:column}.owner-activation-dialog footer>button{width:100%;min-height:44px}.owner-rule-summary{gap:14px;font-size:13px}}

.teach-workspace{width:100%;max-width:1120px;margin:0 auto;min-width:0;color:var(--ink)}
.teach-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 22px}
.teach-heading-copy{min-width:0}.teach-heading .eyebrow{font-size:11px;letter-spacing:.13em;color:var(--ink2)}
.teach-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.045em;margin:10px 0 12px}.teach-heading p{max-width:620px;color:var(--ink2);line-height:1.55;margin:0}
.teach-mark{width:100px;height:100px;flex:0 0 100px;display:grid;place-items:center;background:var(--cf-surface);border:1px solid var(--line3);border-radius:28px}
.teach-mark .am{width:72px!important;height:72px!important}
.teach-status{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;margin-bottom:16px;color:var(--ink2);font-size:13px}.teach-status>span{display:flex;align-items:center;gap:8px}.teach-status>span:before{content:'';width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor}.teach-status>span[data-dirty="true"]{color:var(--ink)}
.teach-status-actions{display:flex;align-items:center;gap:18px}.teach-status-actions .primary-button{min-height:44px;white-space:nowrap}
.teach-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:6px;margin-bottom:24px;border:1px solid var(--line3);border-radius:17px;background:var(--card);position:relative}
.teach-tabs:before{content:'';position:absolute;top:-1px;left:12%;right:12%;height:1px;background:var(--cf-surface);pointer-events:none}
.teach-tabs button{min-height:52px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink2);font:inherit;font-size:13px;font-weight:550;padding:10px 12px;cursor:pointer;line-height:1.35}
.teach-tabs button:hover{color:var(--ink);background:var(--hover)}
.teach-tabs button[aria-selected="true"]{color:var(--ink);background:var(--cf-surface);border-color:var(--line3);box-shadow:none}
.teach-workspace :is(button,input,textarea,select):focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}
.teach-panel{min-width:0}.teach-panel form{margin:0}.teach-section-heading{margin:4px 0 24px}.teach-section-heading h2{font-size:24px;letter-spacing:-.025em;line-height:1.25;margin:0 0 8px}.teach-section-heading p{color:var(--ink2);line-height:1.55;margin:0;max-width:740px}
.teach-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teach-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0}.teach-field>span{font-size:15px;font-weight:600;color:var(--ink)}.teach-field small{font-size:13px;color:var(--ink2);line-height:1.5;min-height:39px}.teach-field[data-short="true"]{grid-column:1/-1}.teach-field[data-short="true"] :is(input,select){max-width:520px}
.teach-workspace .teach-field :is(input,textarea,select){box-sizing:border-box;min-width:0;width:100%;min-height:48px;margin:0;padding:13px 15px;border:1px solid var(--line3);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;line-height:1.6;box-shadow:none}
.teach-workspace .teach-field textarea{resize:vertical;min-height:132px}.teach-field :is(input,textarea,select)::placeholder{color:var(--ink2);opacity:.8}.teach-workspace :disabled{cursor:default;opacity:.55}
.teach-answers{display:grid;gap:18px}.teach-answer{min-width:0;margin:0;padding:20px;display:grid;gap:18px;border:1px solid var(--line3);border-radius:16px;background:var(--card)}.teach-answer legend{font-size:13px;padding:0 8px;color:var(--ink2)}.teach-answer .text-button{justify-self:start}.teach-add{margin-top:18px;min-height:46px}.teach-add span{font-size:20px;margin-right:5px}
.teach-note,.teach-loading{padding:16px 20px;border:1px solid var(--line3);border-radius:12px;color:var(--ink2);line-height:1.6;margin:0 0 20px;background:var(--card)}
.teach-save{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:22px 0 8px;border-top:1px solid var(--line3)}.teach-save strong{font-size:13px;font-weight:550}.teach-save p{font-size:12px;color:var(--ink2);margin:5px 0 0;line-height:1.5}.teach-save-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.teach-save .primary-button{min-height:46px;min-width:132px}.teach-save .text-button{min-height:44px}
.teach-workspace .owner-controls{margin:0}.teach-workspace .owner-controls-heading{flex-wrap:wrap;gap:16px}.teach-workspace .owner-rule-links{min-width:0}
@media(max-width:850px){.teach-fields{grid-template-columns:1fr}.teach-field small{min-height:0}.teach-field[data-short="true"] :is(input,select){max-width:none}.teach-heading{gap:16px}.teach-mark{width:76px;height:76px;flex-basis:76px;border-radius:22px}.teach-mark .am{max-width:60px;max-height:60px}.teach-tabs button{padding:9px 6px;font-size:12px}.teach-save{align-items:flex-start;flex-direction:column}.teach-save-actions{align-self:stretch;justify-content:flex-end}}
@media(max-width:520px){.teach-heading{align-items:flex-start;padding-top:0}.teach-heading h1{font-size:32px}.teach-heading p{font-size:14px}.teach-heading .eyebrow{font-size:9px}.teach-mark{width:52px;height:64px;flex-basis:52px;border:0;background:none}.teach-mark .am{max-width:50px;max-height:58px}.teach-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:22px}.teach-tabs button{min-height:48px;font-size:12px}.teach-section-heading h2{font-size:22px}.teach-section-heading p{font-size:14px}.teach-answer{padding:16px}.teach-status{font-size:12px;align-items:flex-start;flex-direction:column}.teach-status-actions{width:100%;justify-content:flex-end;gap:14px}.teach-save-actions .primary-button{flex:1}.teach-workspace .teach-field :is(input,textarea,select){font-size:16px}}

.teach-answer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.teach-answer-heading button{min-height:44px;flex-shrink:0;white-space:nowrap}@media(max-width:650px){.teach-answer-heading{flex-direction:column;gap:16px}}

.teach-more{position:relative}.teach-more summary{cursor:pointer;list-style:none;min-height:44px;min-width:32px;display:grid;place-items:center;letter-spacing:2px}.teach-more summary::-webkit-details-marker{display:none}.teach-more>button{position:absolute;z-index:3;top:100%;left:0;min-width:160px;padding:14px;border:1px solid var(--line3);border-radius:10px;background:var(--screen);color:var(--ink);font:inherit;text-align:left;box-shadow:none}.teach-more summary:focus-visible{outline:2px solid var(--cf-border);outline-offset:2px}

.business-workflow form{display:grid;gap:22px}.business-workflow>.crm-actions{margin-bottom:22px;align-items:end}.business-workflow fieldset>p{color:var(--ink2);font-size:14px;line-height:1.6;margin:0}.workflow-step{display:grid;gap:16px;padding:18px 0;border-top:1px solid var(--line3)}.workflow-step h3{margin:0;font-size:16px}.workflow-step .teach-field[data-short="true"]{grid-column:auto}.business-workflow .teach-save{margin-top:0}.business-workflow .owner-check{line-height:1.5;gap:10px}.business-workflow .teach-save .owner-check{margin-top:16px;font-size:13px}@media(max-width:520px){.teach-tabs button:last-child{grid-column:1/-1}.workflow-step .teach-fields{grid-template-columns:1fr}.business-workflow .teach-save-actions{flex-wrap:wrap}}

.workflow-impact{display:grid;gap:12px;margin-bottom:18px}.workflow-impact-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.workflow-impact-list li{font-size:14px;line-height:1.5}.workflow-impact p{margin:0;font-size:14px;line-height:1.6;color:var(--ink2)}

/* Room to write, visible focus, and optional topic cards. */
.teach-fields{grid-template-columns:1fr}.teach-field small{min-height:0}.teach-workspace .teach-field textarea{min-height:190px;max-height:70vh;resize:vertical;font-size:16px;line-height:1.65}.teach-field[data-short="true"] :is(input,select){max-width:720px}.teach-workspace .teach-field :is(input,textarea,select):focus{border-color:var(--cf-border);box-shadow:none}.teach-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.teach-suggestions button{min-height:40px;padding:8px 12px;font-size:13px}.teach-tabs{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.teach-voice-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:0 0 20px;border:1px solid var(--line3);border-radius:14px;background:var(--card)}.teach-voice-status p{color:var(--ink2);line-height:1.5;margin:5px 0 0;font-size:13px}.teach-voice-status button{min-height:44px;white-space:nowrap}.teach-voice-status[data-state="failed"]{border-color:var(--cf-border)}.teach-save{position:sticky;bottom:0;background:var(--screen);padding:18px 0;z-index:2}@media(max-width:520px){.teach-voice-status{align-items:flex-start;flex-direction:column}.teach-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.teach-workspace .teach-field textarea{min-height:176px}}
.teach-save{display:grid;grid-template-columns:minmax(0,1fr) auto}.teach-save>div{min-width:0}@media(max-width:850px){.teach-save{grid-template-columns:1fr}}@media(max-width:520px){.teach-save{gap:8px;padding:10px 0}.teach-save p{display:none}.teach-save strong{font-size:12px}}
/* Keep the persistent chat launcher clear of the editor's primary action. */
@media(min-width:851px){.teach-save{bottom:64px}}

/* Shared business-work layouts. Local surfaces keep their existing actions and data. */
.restoration-workspace{--layout-surface:var(--card,#101114);--layout-border:var(--line3,#ffffff24);--layout-text:var(--ink,#f4f4f7);--layout-muted:var(--ink2,#b8bbc5);max-width:1440px;width:100%;min-width:0;margin:0 auto;padding:30px 32px 108px;color:var(--layout-text);box-sizing:border-box;container-type:inline-size;container-name:crm-work}
.restoration-workspace .layout-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:0 0 24px;border-bottom:1px solid var(--layout-border);position:relative}
.layout-heading:after{content:'';position:absolute;bottom:-1px;left:0;width:min(280px,50%);height:1px;pointer-events:none;background:var(--cf-surface)}
.layout-heading-copy{min-width:0;flex:1}.layout-eyebrow{display:block;color:var(--layout-muted);font-size:10px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px}
.layout-heading-copy>.text-button{display:none}.restoration-workspace .layout-heading h1{font-size:clamp(28px,3vw,38px);font-weight:610;letter-spacing:-.045em;line-height:1.15;margin:0 0 10px}.restoration-workspace .layout-heading p{font-size:14px;line-height:1.6;max-width:660px;color:var(--layout-muted);margin:0}
.restoration-workspace .layout-heading>.crm-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin:0;flex-shrink:0}
.restoration-workspace :is(.primary-button,.secondary-button){min-height:42px;border-radius:10px;font-size:13px;font-weight:550;line-height:1.3;padding:11px 16px;box-sizing:border-box}
.restoration-workspace .primary-button{box-shadow:none}.restoration-workspace .secondary-button{box-shadow:none}
.layout-options{position:relative;color:var(--layout-muted);z-index:7}.layout-options>summary{display:grid;place-items:center;list-style:none;cursor:pointer;width:42px;min-height:42px;border:1px solid var(--layout-border);border-radius:10px;font-size:18px;letter-spacing:2px;background:var(--layout-surface)}.layout-options>summary::-webkit-details-marker{display:none}.layout-options[open]>summary,.layout-options>summary:hover{color:var(--layout-text);background:var(--hover)}
.layout-options>div{position:absolute;right:0;top:calc(100% + 7px);min-width:190px;border:1px solid var(--layout-border);background:var(--screen,var(--cf-surface));border-radius:12px;padding:5px;box-shadow:none}.layout-options button{display:block;border:0;width:100%;min-height:40px;text-align:left;border-radius:7px;padding:10px 12px;color:var(--layout-text);background:transparent;font:inherit;font-size:13px;cursor:pointer}.layout-options button:hover{background:var(--hover)}
.layout-neighbors{display:flex;align-items:center;flex-wrap:wrap;gap:7px 18px;margin:16px 0 26px;min-height:24px;font-size:12px}.layout-neighbors>span{color:var(--layout-muted);font-size:11px}.layout-neighbors a{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--layout-muted);min-height:28px}.layout-neighbors a:hover{color:var(--layout-text)}.layout-neighbors a>span{font-size:14px}.layout-neighbors a>span[aria-hidden=true]{opacity:.65}
.restoration-workspace .layout-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px;margin:22px 0 18px;border:1px solid var(--layout-border);border-radius:14px;background:var(--layout-surface)}
.restoration-workspace .layout-toolbar .backend-search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;flex-wrap:wrap;margin:0}.restoration-workspace .layout-toolbar .backend-search label{flex:1 1 170px;min-width:80px;max-width:420px;margin:0}.restoration-workspace .layout-toolbar .backend-search input{box-sizing:border-box;height:40px;border-radius:9px;background:var(--screen,var(--cf-canvas));border:1px solid var(--layout-border);font-size:13px;padding:0 13px;color:var(--layout-text)}.restoration-workspace .layout-toolbar .backend-search button{min-height:40px;padding:9px 13px}.layout-count{font-size:11px;color:var(--layout-muted);white-space:nowrap;padding:0 6px;font-variant-numeric:tabular-nums}
.restoration-workspace .layout-toolbar .crm-segment{width:auto;min-width:0;display:flex;gap:3px;padding:3px;margin:0;border:0;border-radius:9px;background:var(--screen,var(--cf-canvas));box-shadow:none;overflow:visible}.layout-toolbar .crm-segment button{min-height:34px;border-radius:7px;padding:7px 11px;font-size:12px}.layout-toolbar .crm-segment button[aria-pressed=true]{background:var(--hover);box-shadow:none;color:var(--layout-text)}
.restoration-workspace .backend-record-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin:0;align-items:start}.restoration-workspace .backend-record-layout:has(.restoration-inspector),.restoration-workspace .backend-record-layout:has(.layout-selection-hint){grid-template-columns:minmax(0,1fr) minmax(290px,.68fr)}
.restoration-workspace .layout-record-list{border:1px solid var(--layout-border);border-radius:15px;background:var(--layout-surface);overflow:hidden;min-width:0}.layout-record-list:empty{display:none}.layout-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--layout-border);font-size:11px;font-weight:550;color:var(--layout-muted);background:var(--cf-surface);letter-spacing:.025em}
.restoration-workspace .layout-record-list .backend-row{border:0;border-bottom:1px solid var(--layout-border);border-radius:0;background:transparent;box-shadow:none;margin:0}.restoration-workspace .layout-record-list .backend-row:last-child{border-bottom:0}.restoration-workspace .layout-record-list .backend-row>button{display:flex;align-items:center;width:100%;padding:17px 18px;gap:14px;border-radius:0;min-height:92px;transition:background 120ms ease}
.restoration-workspace .layout-record-list .backend-row>button:hover{background:var(--hover)}.restoration-workspace .layout-record-list .backend-row>button[aria-pressed=true]{background:var(--cf-surface);box-shadow:none;border-radius:0}
.layout-avatar{display:grid!important;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid var(--layout-border);border-radius:11px;background:var(--cf-surface);font-size:11px!important;font-weight:650;letter-spacing:.025em;color:var(--layout-text)}
.layout-record-copy{min-width:0;flex:1}.restoration-workspace .layout-record-list .backend-row strong{font-size:14px;font-weight:570;line-height:1.35}.restoration-workspace .layout-record-list .backend-row small{font-size:12px;color:var(--layout-muted);line-height:1.45;margin-top:4px;max-height:2.9em}.restoration-workspace .layout-record-list .backend-row time{font-size:10px;color:var(--layout-muted);opacity:.8;margin-top:6px;font-variant-numeric:tabular-nums}
.restoration-workspace .layout-record-list .backend-row-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:32%;flex-shrink:0}.layout-record-list .backend-row-end>b:empty,.layout-record-list .crm-badge:empty{display:none}.layout-record-list .backend-row-end>b{font-size:13px;font-weight:550;overflow-wrap:anywhere}.layout-record-list .crm-badge{font-size:10px;border:1px solid var(--layout-border);border-radius:6px;background:transparent;color:var(--layout-muted);padding:4px 7px;line-height:1.4;text-align:right}.layout-row-arrow{display:none!important}
.layout-selection-hint{position:sticky;top:20px;min-width:0;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:46px 26px;min-height:270px;border:1px dashed var(--layout-border);border-radius:16px;background:var(--cf-surface);box-sizing:border-box}.layout-selection-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;border:1px solid var(--layout-border);color:var(--layout-muted);font-size:20px;margin-bottom:20px}.layout-selection-hint h2{font-size:16px;letter-spacing:-.02em;font-weight:550;margin:0 0 10px}.layout-selection-hint p{font-size:13px;line-height:1.7;color:var(--layout-muted);max-width:260px;margin:0}
.restoration-workspace .restoration-inspector{padding:24px;margin:0;border:1px solid var(--layout-border);border-radius:16px;background:var(--layout-surface);position:sticky;top:16px;max-height:calc(100dvh - 136px);overflow:auto;box-shadow:none;min-width:0;scrollbar-width:thin;scrollbar-color:var(--layout-border) transparent}.restoration-inspector>.crm-panel-title{margin-bottom:18px}.restoration-inspector>.crm-panel-title .eyebrow{font-size:9px;letter-spacing:.13em;color:var(--layout-muted)}.restoration-workspace .restoration-inspector>h2{font-size:24px;letter-spacing:-.035em;line-height:1.25;margin:0 0 18px;overflow-wrap:anywhere}.restoration-inspector>.crm-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.restoration-inspector>.crm-actions:empty{display:none}.restoration-inspector nav.crm-actions{padding:12px 0;border-top:1px solid var(--layout-border);border-bottom:1px solid var(--layout-border)}
.restoration-workspace .restoration-inspector dl{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:0;margin:22px 0 0;font-size:12px;line-height:1.7}.restoration-inspector dt,.restoration-inspector dd{padding:10px 0;border-top:1px solid var(--layout-border);min-width:0;margin:0;overflow-wrap:anywhere}.restoration-inspector dt{color:var(--layout-muted);font-size:11px;padding-right:16px}.restoration-inspector dd{color:var(--layout-text);white-space:pre-wrap}
.restoration-workspace .layout-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:300px;box-sizing:border-box;padding:38px 24px;margin:20px 0;border:1px solid var(--layout-border);border-radius:18px;background:var(--cf-surface);box-shadow:none}.layout-empty h2{font-size:24px;font-weight:570;letter-spacing:-.035em;line-height:1.3;max-width:560px;margin:18px 0 10px}.layout-empty p{font-size:14px;line-height:1.7;color:var(--layout-muted);max-width:490px;margin:0}.layout-empty>.crm-actions{justify-content:center;gap:10px;flex-wrap:wrap;margin:22px 0 0}
.layout-empty-art{height:58px;width:74px;position:relative;flex:none}.layout-empty-art>span{position:absolute;width:44px;height:48px;border:1px solid var(--layout-border);border-radius:9px;background:var(--layout-surface);box-shadow:none}.layout-empty-art>span:first-child{left:0;top:8px;transform:rotate(-13deg)}.layout-empty-art>span:nth-child(2){right:0;top:8px;transform:rotate(13deg)}.layout-empty-art>span:last-child{left:15px;top:0;background:var(--cf-surface)}.layout-empty-art>span:last-child:after{content:'';position:absolute;top:15px;left:11px;width:21px;height:1px;background:var(--cf-surface);box-shadow:none}
.restoration-workspace .crm-board{display:flex;gap:14px;overflow-x:auto;align-items:stretch;padding:3px 2px 16px;margin:20px 0;scrollbar-width:thin;scrollbar-color:var(--layout-border) transparent}.restoration-workspace .crm-board .crm-column{flex:0 0 264px;width:264px;box-sizing:border-box;padding:14px;background:var(--layout-surface);border:1px solid var(--layout-border);border-radius:14px;min-height:230px}.crm-board .crm-column>header{border-bottom:1px solid var(--layout-border);padding:2px 0 14px;margin:0 0 14px}.crm-board .crm-column>header>small{font-size:10px;color:var(--layout-muted);display:block;margin-bottom:6px}.crm-board .crm-column h2{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:570;margin:0 0 8px}.crm-board .crm-column h2>span{min-width:22px;text-align:center;padding:3px 6px;border:1px solid var(--layout-border);border-radius:6px;font-size:10px;font-weight:500}.crm-board .crm-column>header>strong{font-size:11px;color:var(--layout-muted);font-weight:450}.layout-stage-empty{color:var(--layout-muted);font-size:12px;text-align:center;border:1px dashed var(--layout-border);border-radius:9px;padding:30px 12px;margin:0}.restoration-workspace .crm-deal-card{width:100%;min-width:0;border:1px solid var(--layout-border);border-radius:10px;padding:15px;background:var(--screen);color:var(--layout-text);margin:0 0 10px;box-shadow:none}.crm-deal-card>strong{font-size:14px}.crm-deal-card>small{color:var(--layout-muted);font-size:11px}.crm-deal-card>b{font-size:13px;margin-top:12px}
.restoration-workspace .restoration-editor{padding:26px;max-width:100%;border-radius:16px;border:1px solid var(--layout-border);background:var(--layout-surface);margin:20px 0}.restoration-editor>.crm-panel-title>h2{font-size:23px;letter-spacing:-.03em}.restoration-editor .crm-form-grid{gap:20px;margin:22px 0}.restoration-editor .crm-field>span{font-size:13px;line-height:1.5;font-weight:550}.restoration-editor .crm-field :is(input:not([type=checkbox]),textarea,select){border-radius:10px;border:1px solid var(--layout-border);background:var(--screen);min-height:43px;font-size:14px;padding:11px 12px;box-sizing:border-box;max-width:100%;color:var(--layout-text)}.restoration-editor .crm-field textarea{min-height:110px;line-height:1.6}.restoration-editor fieldset>.crm-actions:last-child{padding-top:20px;margin-top:24px;border-top:1px solid var(--layout-border)}
.restoration-workspace>.backend-pagination{padding-top:18px;margin-top:18px;border-top:1px solid var(--layout-border);font-size:12px;color:var(--layout-muted);gap:12px}.restoration-workspace .backend-pagination .secondary-button{font-size:12px;min-height:38px;padding:9px 12px}
.restoration-workspace .restoration-calendar{gap:8px}.restoration-workspace .restoration-calendar section{background:var(--layout-surface);border-color:var(--layout-border);border-radius:12px}.restoration-calendar section>h3{color:var(--layout-muted);font-size:11px}.restoration-calendar button{border-color:var(--layout-border);background:var(--hover);border-radius:8px}.restoration-calendar button:focus-visible{outline-offset:1px}
.restoration-workspace :is(button,a,summary,input,textarea,select):focus-visible{outline:2px solid var(--accent-ink,var(--cf-border));outline-offset:3px}.restoration-workspace .backend-row>button:focus-visible{outline-offset:-3px}.restoration-workspace :disabled{cursor:default;opacity:.5}
@container crm-work (max-width:860px){.restoration-workspace .backend-record-layout:has(.layout-selection-hint){grid-template-columns:1fr}.layout-selection-hint{display:none}.restoration-workspace .backend-record-layout:has(.restoration-inspector){grid-template-columns:minmax(0,1fr) minmax(280px,1fr)}.restoration-workspace .layout-heading{gap:16px}.restoration-workspace .layout-heading h1{font-size:30px}}
@container crm-work (max-width:650px){.restoration-workspace .backend-record-layout:has(.restoration-inspector){display:flex;flex-direction:column}.restoration-workspace .restoration-inspector{order:-1;width:100%;box-sizing:border-box;position:static;max-height:none}.layout-record-list{width:100%}.restoration-workspace .layout-heading{align-items:flex-start;flex-wrap:wrap}.restoration-workspace .layout-heading>.crm-actions{margin:0 0 0 auto}.restoration-workspace .layout-toolbar{gap:12px}.restoration-workspace .layout-toolbar .crm-segment{flex-wrap:wrap}.restoration-workspace .layout-toolbar .backend-search{min-width:0;flex-basis:100%}.layout-count{margin-left:auto}.restoration-workspace .crm-form-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.restoration-workspace,.mobile-app .restoration-workspace{padding:22px 16px 120px}.restoration-workspace .layout-heading h1{font-size:29px}.restoration-workspace .layout-heading p{font-size:13px}.layout-eyebrow{font-size:9px}.layout-neighbors{margin:12px 0 18px;gap:5px 14px}.restoration-workspace .layout-record-list .backend-row>button{padding:15px 13px;gap:10px;min-height:94px}.layout-avatar{flex-basis:31px;width:31px;height:34px;border-radius:9px;font-size:10px!important}.layout-list-heading{padding:11px 14px}.restoration-workspace .layout-record-list .backend-row strong{font-size:13px}.layout-record-list .backend-row-end{max-width:28%}.layout-record-list .crm-badge{font-size:9px}.restoration-workspace .layout-empty{min-height:285px;padding:30px 20px}.layout-empty h2{font-size:23px}.layout-empty p{font-size:13px}.restoration-workspace .restoration-editor{padding:19px}.restoration-workspace .restoration-inspector{padding:20px}.restoration-workspace .restoration-calendar{grid-template-columns:repeat(7,minmax(138px,1fr))}.mobile-app .backend-record-layout .layout-record-list{order:0}.mobile-app .restoration-workspace .restoration-inspector{order:-1}}
@media(prefers-reduced-motion:reduce){.restoration-workspace .layout-record-list .backend-row>button{transition:none}}

/* A grouped list needs one outline, not the global glass rim on every row. */
.restoration-workspace .layout-record-list .backend-row{border:0;border-bottom:1px solid var(--layout-border);box-shadow:none;background:transparent}
.restoration-workspace .layout-record-list .backend-row:last-child{border-bottom:0}
.restoration-workspace:has(.crm-board .crm-column) .layout-empty{min-height:0;padding:18px 22px;align-items:flex-start;text-align:left;position:relative}
.restoration-workspace:has(.crm-board .crm-column) .layout-empty-art,.restoration-workspace:has(.crm-board .crm-column) .layout-empty>.crm-actions{display:none}
.restoration-workspace:has(.crm-board .crm-column) .layout-empty h2{font-size:16px;margin:0 0 5px}
.restoration-workspace:has(.crm-board .crm-column) .layout-empty p{font-size:12px;max-width:660px}

@container crm-work (min-width:480px){.restoration-workspace .restoration-editor .crm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.restoration-workspace .restoration-editor .crm-field{min-width:0}.restoration-editor .crm-field>small{font-size:11px;line-height:1.5}

.workflow-editor{border-top:1px solid var(--layout-border);padding-top:22px;margin-top:22px}.workflow-editor>h3{font-size:19px;margin:0 0 8px}.workflow-editor>p,.workflow-advanced>p{font-size:13px;line-height:1.6;color:var(--muted)}.workflow-advanced{border:1px solid var(--layout-border);border-radius:12px;padding:15px 18px;margin:20px 0}.workflow-advanced>summary{cursor:pointer;font-size:13px;font-weight:550}.workflow-advanced .crm-field{margin-top:18px}.workflow-condition-summary{padding:16px;border-radius:12px;background:var(--screen)}.workflow-condition-summary h4{margin:0 0 10px;font-size:13px}.workflow-condition-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.workflow-condition-summary dt{color:var(--muted)}.workflow-condition-summary dd{margin:0;overflow-wrap:anywhere}

/* Receipt facts grow with their content; paired dt/dd rows cannot overlap. */
.restoration-workspace .restoration-inspector dl{display:block;overflow-wrap:anywhere}.restoration-inspector dl>dt{display:block;margin:20px 0 5px;line-height:1.5}.restoration-inspector dl>dd{display:block;min-width:0;margin:0;padding:0 0 16px;border-bottom:1px solid var(--line,color-mix(in srgb,var(--cf-border) 13%,transparent));line-height:1.65;white-space:pre-wrap}.restoration-inspector .crm-actions{gap:8px;flex-wrap:wrap}.restoration-inspector .crm-actions a{max-width:100%;white-space:normal;text-align:left}.update-row small{display:block;margin-top:5px;line-height:1.5;color:var(--muted,var(--cf-muted))}

.layout-unread-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--accent-ink,var(--cf-surface));box-shadow:none}

.attention-bell{position:relative;flex-shrink:0}.attention-count{position:absolute;top:-4px;right:-8px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border-radius:12px;background:var(--cf-surface);color:var(--cf-text);font:700 10px/1 system-ui;box-shadow:none}.attention-settings{scroll-margin-top:100px}.attention-profile-form{display:grid;gap:16px;max-width:620px}.attention-profile-form .crm-field{display:grid;gap:8px}.attention-profile-form input{width:100%;min-height:44px;box-sizing:border-box}.attention-profile-form button{justify-self:start}.attention-profile-form p{margin:0}.attention-profile-form small{font-weight:400;opacity:.75;margin-left:6px}.attention-note{font-size:13px;color:var(--text-secondary,var(--cf-muted))}.attention-sharing{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.attention-sharing>div{padding:18px;border:1px solid color-mix(in srgb,var(--cf-border) 27%,transparent);border-radius:14px}.attention-sharing p{margin:8px 0 0;font-size:14px;line-height:1.6}.attention-team{list-style:none;padding:0;margin:8px 0}.attention-team li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid color-mix(in srgb,var(--cf-border) 20%,transparent)}.attention-team small{display:block;margin-top:5px;overflow-wrap:anywhere}.attention-team li>span{font-size:13px;white-space:nowrap}.attention-profile-intro{border-block:1px solid color-mix(in srgb,var(--cf-border) 27%,transparent);padding:20px 0;margin:20px 0}.attention-profile-intro h3{margin:0 0 6px}.attention-profile-intro>p{margin:0 0 18px}.attention-toast{position:fixed;z-index:1200;right:24px;top:88px;width:min(340px,calc(100vw - 32px));box-sizing:border-box;padding:22px 38px 20px 22px;background:var(--cf-surface);color:var(--cf-text);border:1px solid color-mix(in srgb,var(--cf-border) 33%,transparent);border-radius:18px;box-shadow:none;backdrop-filter:none;font:14px/1.5 system-ui;overflow:hidden}.attention-toast:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:var(--cf-surface)}.attention-toast strong{font-size:16px}.attention-toast p{color:var(--cf-muted);margin:8px 0 12px}.attention-toast a{display:block;color:var(--cf-focus);text-underline-offset:4px;padding:5px 0}.attention-toast>button{position:absolute;top:10px;right:10px;width:27px;height:27px;border:0;border-radius:50%;background:color-mix(in srgb,var(--cf-text) 8%,transparent);color:var(--cf-text);cursor:pointer;font-size:18px}.attention-toast a:focus-visible,.attention-toast button:focus-visible{outline:2px solid var(--cf-border);outline-offset:3px}
.mobile-app .phone-content .phone-header{grid-template-columns:32px minmax(0,1fr) 36px 36px 36px}.mobile-app .phone-content .phone-header .attention-bell{grid-column:4;grid-row:1;width:36px;min-width:36px}.mobile-app .phone-content .phone-header .phone-avatar{grid-column:5;grid-row:1}
@keyframes attention-arrival{0%,100%{transform:translateY(0)}25%{transform:translateY(-5px)}55%{transform:translateY(2px)}75%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:no-preference){.app-shell:not([data-motion="false"])[data-attention-pulse~="notifications"] [data-attention="notifications"],.app-shell:not([data-motion="false"])[data-attention-pulse~="approvals"] [data-attention="approvals"]{animation:attention-arrival .8s ease both;filter:drop-shadow(0 0 7px #c0b5ff88)}}
@media(max-width:600px){.attention-toast{top:76px;right:16px}.attention-sharing{grid-template-columns:1fr;gap:10px}.attention-team li{align-items:flex-start;gap:10px}.phone-header .attention-bell{width:32px;min-width:32px}.phone-header .attention-count{right:-3px;top:-2px;font-size:9px;min-width:16px;height:16px}.attention-settings .crm-panel-title{flex-wrap:wrap;gap:12px}}

/* Supporting Settings text must retain normal-text contrast in every theme. */
.attention-profile-form small{color:var(--fg,var(--ink,var(--cf-text)));opacity:1}

/* Settings titles and navigation controls must fit the phone shell at 320 CSS px. */
@media(max-width:600px){.backend-settings .crm-panel-title{flex-wrap:wrap;gap:12px}.backend-settings .crm-panel-title>.secondary-button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}}

/* A fixed-height stage: the information moves, the workspace never does. */
.workspace-header.activity-header{gap:18px;isolation:isolate;overflow:visible}
.header-activity-main{border:0;background:transparent;text-align:left;font:inherit;display:flex;align-items:center;gap:16px;flex:1;min-width:0;color:inherit;border-radius:9px;padding:5px 4px;cursor:pointer;height:calc(100% - 12px)}
.header-activity-main:disabled{cursor:progress;opacity:.7}
.header-live-menu{position:relative;flex:none;font-size:11px;color:var(--ink2)}
.header-live-menu summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:8px 4px;border-radius:7px}
.header-live-menu summary::-webkit-details-marker{display:none}
.header-live-menu summary i{width:5px;height:5px;border-radius:50%;background:var(--cf-surface);box-shadow:none}
.header-live-menu summary:focus-visible{outline:2px solid var(--accent-ink)}
.header-live-items{position:absolute;right:0;top:calc(100% + 15px);width:min(330px,70vw);max-height:55vh;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel,var(--cf-surface));box-shadow:none;z-index:80;backdrop-filter:none}
.header-live-items p{margin:0 7px 8px;font-size:10px;color:var(--ink3)}
.header-live-items button{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:10px 7px;border-radius:7px;cursor:pointer;font:inherit;line-height:1.5}
.header-action-origin{display:flex;align-items:center;gap:14px;padding:8px 24px;border-bottom:1px solid var(--line2);font-size:11px;color:var(--ink3);min-width:0;flex:none}
.header-action-origin>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.header-action-origin button{flex:none;background:none;border:0;color:var(--ink2);font:inherit;cursor:pointer;padding:5px}
.header-action-origin .header-origin-close{margin-left:auto;font-size:17px}
.header-action-origin button:focus-visible{outline:2px solid var(--accent-ink);border-radius:4px}
.header-activity{position:relative;display:flex;align-items:center;gap:16px;flex:1;min-width:0;height:100%}
.header-activity::before{content:"";position:absolute;z-index:-1;inset:0 -14px;pointer-events:none;background:var(--cf-surface);opacity:.8}
.header-activity-mark{flex:none;display:grid;place-items:center;width:36px;height:42px;filter:drop-shadow(0 2px 12px #adc9ff38)}
.header-activity-copy{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1;gap:4px}
.header-activity-label{font-size:9px;line-height:1;letter-spacing:.15em;font-weight:600;color:var(--ink3);text-transform:uppercase}
.header-activity-message{display:flex;align-items:baseline;gap:16px;min-width:0}
.header-activity-message strong{font-size:14px;font-weight:550;letter-spacing:-.018em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}
.header-activity-message small{font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.header-activity time{font-size:10px;color:var(--ink3);white-space:nowrap;font-variant-numeric:tabular-nums}
.header-activity-link{display:flex;align-items:center;gap:7px;flex:none;border:0;background:none;color:var(--ink2);font-size:11px;padding:10px 4px;cursor:pointer}
.header-activity-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.header-activity-pause{width:28px;height:32px;flex:none;display:grid;place-items:center;border:0;background:transparent;border-radius:7px;color:var(--ink3);cursor:pointer}
.header-activity-pause svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.header-activity :is(button):hover{color:var(--ink);background:var(--hover)}
.header-activity :is(button):focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.header-activity[data-tone=approval] .header-activity-label,.header-activity[data-tone=attention] .header-activity-label{color:var(--warn,var(--cf-warning))}
/* Light: the amber label darkens to keep 4.5:1 on the light strip. */
[data-zwt=light] .header-activity:is([data-tone=approval],[data-tone=attention]) .header-activity-label{color:var(--cf-negative)}
.header-activity[data-tone=approval]::before{background:var(--cf-surface)}
.header-activity[data-current=true] .header-activity-copy{animation:header-arrive .85s cubic-bezier(.16,1,.3,1) both}
.header-activity[data-current=true]::after{content:"";position:absolute;bottom:0;left:0;width:50%;height:1px;background:var(--cf-surface);transform:translateX(-110%);animation:header-light 2.6s cubic-bezier(.2,.6,.3,1) both;pointer-events:none}
.activity-header .header-actions{flex:none;margin-left:0;padding-left:13px;border-left:1px solid var(--line2)}
.activity-header .header-actions .attention-bell{display:grid!important;overflow:visible}
.nav-category-toggle .nav-category-count{flex:0 0 auto;font-size:11px;line-height:18px;min-width:22px;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:650;border-radius:6px;background:color-mix(in srgb,var(--cf-text) 13%,transparent);color:var(--warn,var(--cf-warning));border:1px solid color-mix(in srgb,var(--cf-border) 17%,transparent);padding:0 5px;margin-left:auto}
.nav-category-toggle:has(.nav-category-count) .nav-category-chevron{margin-left:0}
.header-utility-list{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
@keyframes header-arrive{from{opacity:0;transform:translateY(9px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes header-light{to{transform:translateX(220%);opacity:0}}
@media(max-width:1250px){.header-activity-message{display:block}.header-activity-message small{display:none}.header-activity time{display:none}}
@media(max-width:760px){.workspace-header.activity-header{padding-inline:14px;gap:9px}.header-activity{gap:8px}.header-activity-mark{width:25px}.header-activity-mark svg{width:24px;height:24px}.header-activity-message strong{font-size:12px}.header-activity-label{font-size:8px}.header-activity-link span{display:none}.header-activity-link{padding:8px 0}.header-activity-pause{width:24px}.activity-header .header-actions{padding-left:5px}.header-activity-message strong{display:block}}
@media(min-width:761px){.app-shell[data-sidebar-collapsed=true] .nav-category-toggle .nav-category-count{display:block;position:absolute;top:1px;right:0;min-width:17px;padding:0 2px;font-size:9px;line-height:15px;z-index:1}.app-shell[data-sidebar-collapsed=true] .nav-category-toggle:has(.nav-category-count) .nav-category-chevron{bottom:2px;top:auto}}
.app-shell[data-motion=false] .header-activity::after,.app-shell[data-motion=false] .header-activity-copy{animation:none!important}
@media(prefers-reduced-motion:reduce){.header-activity::after,.header-activity-copy{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}}

.navigation-resize,.anna-reopen-edge{display:none}
@media(min-width:761px){
  .app-shell:not(.mobile-app)[data-sidebar-collapsed],.app-shell:not(.mobile-app)[data-sidebar-collapsed][data-anna-open="true"][data-anna-view="dock"]{grid-template-columns:var(--nav-width,244px) minmax(0,1fr)}
  .v4-app[data-sidebar-collapsed]>.v4-sidebar,.v4-app[data-sidebar-collapsed][data-anna-open="true"][data-anna-view="dock"]>.v4-sidebar{width:var(--nav-width,250px)}
  .navigation-resize,.anna-reopen-edge{display:block;position:fixed;top:0;bottom:0;width:10px;z-index:79;cursor:col-resize;touch-action:none;outline:none}
  .navigation-resize{left:calc(var(--nav-width,244px) - 5px)}
  .anna-reopen-edge{right:0;width:9px}
  .navigation-resize:before,.anna-reopen-edge:before,.anna-resize:before{content:'';position:absolute;inset:0 4px;background:var(--line3,color-mix(in srgb,var(--cf-text) 21%,transparent));transition:background 120ms,box-shadow 120ms}
  .anna-reopen-edge:before{inset:0 0 0 7px;background:color-mix(in srgb,var(--cf-text) 35%,transparent)}
  :is(.navigation-resize,.anna-reopen-edge,.anna-resize):is(:hover,:focus-visible):before{background:var(--cf-surface);box-shadow:none}
  .anna-resize{left:-5px;width:10px;background:transparent}
  [data-panel-dragging="left"], [data-panel-dragging="right"], [data-panel-dragging="left"] *, [data-panel-dragging="right"] *{cursor:col-resize!important;user-select:none!important}
  [data-panel-dragging="left"], [data-panel-dragging="right"], [data-panel-dragging="left"] .anna-sidechat, [data-panel-dragging="right"] .anna-sidechat{transition:none!important}
  [data-panel-dragging="left"]>.v4-sidebar,[data-panel-dragging="right"]>.v4-sidebar{transition:none!important}
  .anna-sidechat[data-drag-narrow="true"]>:not(.anna-resize){visibility:hidden;pointer-events:none}
  .app-shell:not(.mobile-app)>.sidebar{min-width:0;overflow-x:clip}
  .app-shell:not(.mobile-app)>.sidebar .brand img{max-width:100%;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){.navigation-resize:before,.anna-reopen-edge:before,.anna-resize:before{transition:none}}

.feature-requests{max-width:1320px;margin:auto;color:var(--ink)}
.feature-intro{padding:clamp(8px,2vw,28px) 0 28px;max-width:770px}
.feature-eyebrow{font-size:11px;letter-spacing:.14em;color:var(--ink2)}
.feature-intro h1{font-size:clamp(28px,3.2vw,46px);line-height:1.1;letter-spacing:-.035em;margin:16px 0}
.feature-intro>p{font-size:17px;line-height:1.65;max-width:650px;color:var(--ink2)}
.feature-promise{display:inline-flex;gap:10px;align-items:center;font-size:13px;margin-top:18px}.feature-promise>span,.feature-empty>span{font-size:26px;background:var(--cf-surface);background-clip:text;color:transparent}
.feature-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
.feature-card{min-width:0;border:1px solid var(--line3);border-radius:22px;padding:clamp(20px,2.3vw,32px);background:var(--inset);position:relative}
.feature-card::before{content:'';position:absolute;top:-1px;left:24px;right:24px;height:1px;background:var(--cf-surface);opacity:.8}
.feature-card h2{font-size:21px;margin:0 0 8px;letter-spacing:-.025em}.feature-card>p,.feature-history header p,.feature-note{color:var(--ink2);line-height:1.6;font-size:14px;margin:0 0 22px}
.feature-card form{display:grid;gap:19px}.feature-card .crm-field{display:grid;gap:8px;min-width:0;font-size:14px}.feature-card input,.feature-card textarea{width:100%;box-sizing:border-box;min-width:0;border:1px solid var(--line3);border-radius:10px;background:var(--board);color:inherit;font:inherit;line-height:1.5;padding:12px 14px}.feature-card textarea{resize:vertical}.feature-card input:focus,.feature-card textarea:focus{outline:2px solid var(--cf-border);outline-offset:2px}.feature-card small{font-size:12px;color:var(--ink2);font-weight:400}.feature-note{font-size:12px;margin:0}.feature-card .primary-button{justify-content:space-between;display:flex;gap:16px;width:100%;min-height:46px}
.feature-history header{display:flex;justify-content:space-between;align-items:start;gap:14px}.feature-empty{padding:32px 0;text-align:center}.feature-empty h3{font-size:16px;margin:10px 0}.feature-empty p{font-size:14px;line-height:1.6;color:var(--ink2)}
.feature-receipt{padding:18px;margin-top:20px;border-radius:12px;border:1px solid var(--cf-border);background:color-mix(in srgb,var(--cf-text) 8%,transparent)}.feature-receipt p{margin:8px 0;font-size:14px}.feature-receipt a,.feature-request a,.feature-history>a{color:inherit;text-underline-offset:4px}
.feature-request{border-top:1px solid var(--line3);padding:22px 0;overflow-wrap:anywhere}.feature-request-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--ink2)}.feature-status{border:1px solid var(--line3);padding:4px 8px;border-radius:20px}.feature-request h3{font-size:16px;line-height:1.5;margin:14px 0}.feature-request details{font-size:13px}.feature-request details p{white-space:pre-wrap;line-height:1.65}.feature-request summary{cursor:pointer;color:var(--ink2)}
@media(max-width:1050px){.feature-grid{grid-template-columns:1fr}.feature-intro{padding-top:8px}}@media(max-width:760px){.feature-intro>p{font-size:15px}.feature-card{border-radius:16px}.feature-grid{gap:18px}}

.pipeline-customize{color:var(--ink);margin:16px 0 24px}.pipeline-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;padding:16px 0;border-top:1px solid var(--line3);border-bottom:1px solid var(--line3)}.pipeline-toolbar>label{display:grid;gap:7px;min-width:180px;font-size:12px;color:var(--ink2)}.pipeline-toolbar select,.pipeline-editor input:not([type=checkbox]),.pipeline-editor select,.pipeline-editor textarea{background:var(--board);color:var(--ink);border:1px solid var(--line3);border-radius:9px;font:inherit;padding:10px 12px;min-width:0;width:100%;box-sizing:border-box}.pipeline-toolbar .crm-actions{gap:9px}.pipeline-notice{padding:12px 16px;border:1px solid var(--green-ink);border-radius:10px;line-height:1.6}.pipeline-notice a{color:inherit}.pipeline-editor{margin:20px 0;background:var(--inset);border:1px solid var(--line3);border-radius:20px;padding:clamp(16px,2.5vw,28px)}.pipeline-editor>header{display:flex;justify-content:space-between;align-items:start;gap:16px}.pipeline-editor h2{margin:8px 0;font-size:25px;letter-spacing:-.035em}.pipeline-editor p,.pipeline-hint{color:var(--ink2);font-size:13px;line-height:1.6}.pipeline-name{display:grid;grid-template-columns:minmax(180px,1fr) 1fr;gap:20px;align-items:center;margin:22px 0}.pipeline-editor .crm-field{display:grid;gap:7px;min-width:0;font-size:12px;color:var(--ink2)}.pipeline-editor input:focus,.pipeline-editor textarea:focus,.pipeline-editor select:focus{outline:2px solid var(--cf-border);outline-offset:2px}.pipeline-stage-list{display:grid;gap:12px;margin-bottom:16px}.pipeline-stage-editor{border:1px solid var(--line3);border-left:3px solid var(--stage-color);border-radius:14px;padding:16px;background:var(--board);transition:border-color 120ms}.pipeline-stage-editor[data-drop-target=true],.crm-column[data-drop-target=true],.deals-col[data-drop-target=true]{outline:2px solid var(--cf-border);outline-offset:3px}.pipeline-stage-editor[data-dragging=true]{opacity:.55}.pipeline-stage-main{display:flex;align-items:center;gap:12px}.pipeline-stage-name{flex:1}.pipeline-grip{touch-action:none;cursor:grab;user-select:none;border:1px solid var(--line3);border-radius:8px;color:var(--ink2);background:transparent;min-width:32px;height:36px;font-size:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pipeline-grip:active{cursor:grabbing}.pipeline-order-buttons{display:flex;gap:4px}.pipeline-order-buttons button{background:var(--inset);border:1px solid var(--line3);border-radius:8px;color:var(--ink);height:32px;width:32px;font-size:16px}.pipeline-stage-options{display:grid;grid-template-columns:1.4fr 1fr 65px;gap:12px;margin:15px 0}.pipeline-editor input[type=color]{padding:3px;height:39px}.pipeline-guidance{font-size:13px}.pipeline-guidance summary{cursor:pointer;color:var(--ink2);padding:8px 0}.pipeline-guidance .crm-field{margin:10px 0}.pipeline-editor textarea{resize:vertical;line-height:1.5}.pipeline-stage-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.pipeline-stage-editor>footer small{font-size:11px;color:var(--ink2)}.pipeline-stage-editor>footer>div{display:flex;gap:12px}.pipeline-save{display:flex;align-items:center;gap:25px;justify-content:space-between;border-top:1px solid var(--line3);margin-top:24px;padding-top:20px}.pipeline-save>div{max-width:600px}.pipeline-save strong{font-size:14px}.pipeline-save button{flex-shrink:0}.pipeline-stage-controls{display:flex;gap:8px;align-items:center;margin:8px 0}.pipeline-stage-controls .text-button{font-size:12px}.pipeline-stage-controls .pipeline-grip{font-size:20px;min-width:28px;height:28px}.crm-column>header,.deals-col-head{border-top:2px solid var(--stage-color,transparent)}
.workflow-step-controls{display:flex;align-items:center;gap:8px;margin:12px 0}.workflow-step-controls button{min-width:36px;min-height:36px}.workflow-step[data-workflow-drop=true]{outline:2px solid var(--cf-border);outline-offset:3px}
@media(max-width:760px){.pipeline-toolbar{align-items:stretch}.pipeline-toolbar>label,.pipeline-toolbar>.crm-actions{width:100%}.pipeline-name{grid-template-columns:1fr;gap:12px}.pipeline-stage-editor{padding:12px}.pipeline-stage-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 50px;gap:8px}.pipeline-stage-main{gap:8px}.pipeline-order-buttons{flex-direction:column}.pipeline-save{align-items:stretch;flex-direction:column;gap:8px}.pipeline-save button{width:100%}.pipeline-editor>header{flex-direction:column}.pipeline-stage-editor>footer{align-items:start;flex-direction:column}}

.customer-lifecycle{color:var(--ink);max-width:1050px}.customer-lifecycle h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.035em;margin:10px 0}.customer-lifecycle p,.customer-journey-record p,.lifecycle-caption{font-size:13px;line-height:1.65;color:var(--ink2)}.customer-lifecycle fieldset,.customer-journey-record fieldset{margin:24px 0;padding:24px;border:1px solid var(--line3);border-radius:16px;min-width:0;background:var(--inset)}.customer-lifecycle legend,.customer-journey-record legend{font-weight:600;padding:0 8px}.customer-lifecycle input,.customer-lifecycle select,.customer-lifecycle textarea,.customer-journey-record select,.customer-journey-record textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--board);border:1px solid var(--line3);border-radius:9px;padding:12px}.customer-lifecycle input[type=checkbox]{width:auto}.customer-lifecycle input:focus,.customer-lifecycle textarea:focus,.customer-lifecycle select:focus{outline:2px solid var(--cf-border);outline-offset:2px}.lifecycle-step{padding:20px 0;border-bottom:1px solid var(--line3)}.lifecycle-step>header,.lifecycle-cards article>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.lifecycle-step header button{border:1px solid var(--line3);border-radius:8px;color:var(--ink);background:var(--board);padding:7px 12px;margin-left:6px}.lifecycle-cards{display:grid;gap:14px;margin:20px 0}.lifecycle-cards article,.lifecycle-google{border:1px solid var(--line3);border-radius:16px;padding:20px;background:var(--inset)}.customer-journey-record{margin:20px 0;padding:20px 0;border-block:1px solid var(--line3);min-width:0}.customer-journey-record h3{font-size:20px}.customer-journey-record details{margin:14px 0}.customer-journey-record summary{cursor:pointer;font-size:14px;font-weight:600;padding:8px 0}.lifecycle-history-item{padding:14px 0;border-bottom:1px solid var(--line3);display:grid;gap:5px}.lifecycle-history-item a{color:var(--ink);overflow-wrap:anywhere}.lifecycle-history-item p{margin:2px 0}.lifecycle-history-item small{color:var(--ink2);font-size:11px}.lifecycle-caption{font-size:11px}.customer-lifecycle [role=alert],.customer-journey-record [role=alert]{border:1px solid var(--cf-border);border-radius:10px;padding:14px}@media(max-width:650px){.customer-lifecycle fieldset,.customer-journey-record fieldset{padding:16px}.customer-lifecycle .teach-save{display:block}.customer-lifecycle .teach-save button{margin-top:12px;width:100%}.lifecycle-cards article>header{display:block}}

/* GPT Business chart instruments. Opaque plot planes preserve native glass legibility. */
.metric-visuals{--mv-surface:#171b24;--mv-raised:#202633;--mv-ink:#f1f4fa;--mv-muted:#b4bfd3;--mv-line:#c7d6ff1c;--mv-blue:#9cc6ff;--mv-violet:#c5b5fb;--mv-track:#c7d6ff12;container-type:inline-size;clear:both;width:100%;min-width:0;margin:26px 0 22px;color:var(--mv-ink)}
[data-zwt=light] .metric-visuals,.v4-app:not([data-theme=dark]) .metric-visuals,.light .metric-visuals,[data-appearance=light] .metric-visuals{--mv-surface:#fff;--mv-raised:#f2f5fa;--mv-ink:#192239;--mv-muted:#58657d;--mv-line:#203e6b1a;--mv-blue:#2d63b8;--mv-violet:#7556b5;--mv-track:#2447750b}
.mv-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.mv-eyebrow{display:block;font-size:10px;letter-spacing:.16em;color:var(--mv-muted);margin-bottom:9px}.mv-header h2{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:0}.mv-header p,.mv-card header p{font-size:12px;line-height:1.6;color:var(--mv-muted);margin:8px 0 0}.mv-actions{display:flex;gap:8px;flex-wrap:wrap}.mv-button,.mv-explore{font:inherit;border:1px solid var(--mv-line);color:var(--mv-ink);background:var(--mv-raised);border-radius:10px;padding:9px 12px;min-height:38px;cursor:pointer;line-height:1.3}.mv-button{font-size:12px}.mv-explore{font-size:11px;white-space:nowrap;flex-shrink:0}.metric-visuals button:focus-visible,.metric-visuals input:focus-visible,.metric-visuals select:focus-visible{outline:2px solid var(--mv-blue);outline-offset:4px}.metric-visuals button:disabled{opacity:.5;cursor:default}.mv-controls{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-bottom:16px;color:var(--mv-muted);font-size:12px}.mv-controls label{display:flex;align-items:center;gap:8px}.mv-controls select{font:inherit;background:var(--mv-raised);color:var(--mv-ink);border:1px solid var(--mv-line);border-radius:9px;min-height:37px;max-width:200px;padding:6px 8px}.mv-controls>span{flex:1;min-width:180px;line-height:1.6}.mv-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:17px;align-items:stretch}.mv-card{grid-column:span 6;border:1px solid var(--mv-line);border-radius:23px;min-width:0;padding:23px;background:var(--mv-surface);box-shadow:none;overflow:hidden;position:relative}.mv-card[data-size=hero]{grid-column:span 8}.mv-card[data-size=small]{grid-column:span 4}.mv-card header{display:flex;justify-content:space-between;gap:10px;align-items:start}.mv-card h3{font-size:17px;font-weight:500;letter-spacing:-.35px;line-height:1.4;margin:6px 0 0}.mv-source{font-size:10px;letter-spacing:.03em;color:var(--mv-muted)}.mv-value{display:block;font-size:clamp(28px,3.7cqw,43px);font-weight:450;letter-spacing:-1.2px;line-height:1.15;margin-top:23px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mv-change,.mv-quality{font-size:12px;line-height:1.6;margin:9px 0 0;color:var(--mv-muted)}.mv-quality{font-size:11px;margin-top:4px}.mv-plot{position:relative;height:208px;margin-top:24px;padding-bottom:24px}.mv-canvas{position:absolute;left:60px;right:0;top:0;height:184px}.mv-canvas>svg{width:100%;height:100%;overflow:visible}.mv-gridline{stroke:var(--mv-line);stroke-width:1;vector-effect:non-scaling-stroke}.mv-zero{stroke:var(--mv-line);stroke-width:1.5;vector-effect:non-scaling-stroke}.mv-line{stroke:var(--mv-blue);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mv-line-halo{stroke:var(--mv-blue);stroke-width:8;opacity:.08;fill:none;filter:blur(4px);vector-effect:non-scaling-stroke}.mv-point{fill:var(--mv-blue);vector-effect:non-scaling-stroke}.mv-axis-y{position:absolute;left:0;top:0;width:53px;height:184px;font-size:11px;color:var(--mv-muted);font-variant-numeric:tabular-nums}.mv-axis-y span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}.mv-axis-x{position:absolute;top:100%;left:0;right:0;height:24px;color:var(--mv-muted);font-size:11px}.mv-axis-x span{position:absolute;top:7px;white-space:nowrap;transform:translateX(-50%)}.mv-axis-x span[data-edge=start]{transform:none}.mv-axis-x span[data-edge=end]{transform:translateX(-100%)}.mv-readout{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:11px 13px;border-radius:11px;background:var(--mv-raised);color:var(--mv-muted);font-size:12px;line-height:1.6;margin:15px 0 0}.mv-readout strong{font-weight:500;color:var(--mv-ink);font-variant-numeric:tabular-nums;text-align:right}.mv-scrubber{display:block;width:100%;height:28px;margin:4px 0 0;accent-color:var(--mv-blue);cursor:ew-resize}.mv-bars{display:grid;gap:18px;margin-top:27px}.mv-bars>button,.mv-bars>div{background:none;border:0;color:var(--mv-ink);width:100%;padding:0;text-align:left;min-height:40px;font:inherit;cursor:pointer}.mv-bars>button>span,.mv-bars>div>span{display:flex;justify-content:space-between;gap:13px;font-size:12px;line-height:1.5;margin-bottom:9px}.mv-bars strong{font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.mv-track{height:8px;background:var(--mv-track);display:block;border-radius:4px;overflow:hidden}.mv-track b{display:block;height:100%;background:var(--mv-blue);border-radius:4px}.mv-track b[data-negative=true]{background:var(--mv-violet)}.mv-bars button[aria-pressed=true]{color:var(--mv-blue)}.mv-bullet{position:relative;background:var(--mv-track);height:12px;border-radius:4px;margin-top:38px}.mv-bullet>span{display:block;height:100%;border-radius:4px;background:var(--mv-violet)}.mv-bullet>i{position:absolute;top:-6px;height:24px;width:2px;background:var(--mv-ink)}.mv-bullet-labels{display:flex;justify-content:space-between;margin-top:12px;color:var(--mv-muted);font-size:11px}.mv-denominator{font-size:12px;color:var(--mv-muted);margin-top:20px}.mv-comparison>div:first-child .mv-track b{background:var(--mv-violet)}.mv-foot{border-top:1px solid var(--mv-line);padding-top:15px;margin:20px 0 0;color:var(--mv-muted);font-size:12px;line-height:1.7}.mv-empty{padding:24px 0 16px;min-height:80px;font-size:12px;line-height:1.7;color:var(--mv-muted)}.mv-empty>span{display:block;font-size:32px;color:var(--mv-blue);opacity:.5}.mv-target{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--mv-line);padding-top:15px;margin-top:18px;font-size:11px;color:var(--mv-muted)}.mv-target strong{font-weight:500;color:var(--mv-ink)}.mv-status,.mv-alert{font-size:12px;color:var(--mv-muted);line-height:1.6}.mv-alert{padding:14px;background:var(--mv-raised);border-radius:10px}.mv-footer{font-size:11px;color:var(--mv-muted);margin:15px 0 0;line-height:1.6}.mv-retention{margin-top:17px}.mv-cohort-scroll{overflow-x:auto;margin-top:24px}.mv-cohort-scroll table{border-spacing:5px;width:100%;min-width:490px}.mv-cohort-scroll th{font-size:12px;text-align:left;color:var(--mv-muted);font-weight:500;min-width:66px;line-height:1.5}.mv-cohort-scroll th small{display:block;font-size:11px;font-weight:400;margin-top:4px}.mv-cohort-scroll td{padding:0}.mv-cohort-scroll button{border:1px solid var(--mv-line);border-radius:7px;min-height:45px;min-width:47px;width:100%;font:inherit;font-size:12px;color:var(--mv-ink);background:color-mix(in srgb,var(--mv-blue) var(--mv-intensity),var(--mv-surface));font-variant-numeric:tabular-nums;cursor:pointer}.mv-cohort-scroll button[data-dark=true]{color:var(--cf-text)}.mv-dialog{width:min(760px,calc(100vw - 28px));max-height:85vh;overflow:auto;background:var(--mv-surface);color:var(--mv-ink);border:1px solid var(--mv-line);border-radius:23px;padding:26px;box-shadow:none}.mv-dialog::backdrop{background:color-mix(in srgb,var(--cf-surface) 67%,transparent);backdrop-filter:none}.mv-dialog header{display:flex;align-items:start;justify-content:space-between;gap:15px}.mv-dialog h2{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:0}.mv-dialog p{font-size:13px;line-height:1.8;color:var(--mv-muted)}.mv-detail-facts{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--mv-muted);margin:20px 0}.mv-detail-facts strong{display:block;font-weight:500;color:var(--mv-ink);margin-top:6px}.mv-table-scroll{overflow:auto;max-height:360px;margin:20px 0}.mv-table-scroll table{width:100%;border-collapse:collapse;font-size:12px}.mv-table-scroll caption{text-align:left;color:var(--mv-muted);line-height:1.6;margin-bottom:12px}.mv-table-scroll th,.mv-table-scroll td{padding:11px 8px;border-bottom:1px solid var(--mv-line);text-align:left;font-weight:400}.mv-table-scroll td:last-child{text-align:right;font-variant-numeric:tabular-nums}.mv-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;color:var(--mv-muted);margin-top:20px}.metric-visuals button,.mv-line{transition:background 120ms ease,opacity 120ms ease}.mv-header h2{color:var(--mv-ink)}
@container(max-width:800px){.mv-card[data-size=hero]{grid-column:span 12}.mv-card[data-size=small]{grid-column:span 6}.mv-card{padding:20px}.mv-value{font-size:32px}.mv-header{align-items:start}.mv-header h2{font-size:24px}}
@container(max-width:520px){.mv-card,.mv-card[data-size=small],.mv-card[data-size=hero]{grid-column:span 12;padding:18px;border-radius:18px}.mv-header{display:block}.mv-actions{margin-top:14px}.mv-header h2{font-size:23px}.mv-plot{height:188px}.mv-canvas,.mv-axis-y{height:164px}.mv-controls label{flex:1;min-width:140px}.mv-controls select{min-width:0;max-width:170px;font-size:16px}.mv-value{font-size:34px}.mv-card header{gap:8px}.mv-explore{padding:8px}.mv-source{font-size:11px}.mv-cohort-scroll th{font-size:11px}.mv-dialog{padding:18px}.mv-dialog footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.metric-visuals *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


.mv-home-select{display:none}
.home-closer-panel .mv-header{display:flex}.home-closer-panel .mv-actions{margin-top:0;flex:none}.home-closer-panel .mv-header>div:first-child{min-width:0}.home-closer-panel .mv-header p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Home dedicates one viewport to the selected chart; all exact values remain in Explore. */
.home-closer-panel .metric-visuals{height:100%;margin:0;display:flex;flex-direction:column;min-height:0;container-type:normal}
.home-closer-panel .mv-header{margin:0 0 10px;flex:none}.home-closer-panel .mv-header h2,.home-closer-panel .mv-eyebrow,.home-closer-panel .mv-collapse{display:none}.home-closer-panel .mv-header p{margin:0;font-size:11px}.home-closer-panel .mv-button{min-height:34px;padding:6px 10px}
.home-closer-panel .mv-controls{margin-bottom:12px;flex:none;gap:10px}.home-closer-panel .mv-controls>span{font-size:11px;min-width:120px}.home-closer-panel .mv-controls select{min-height:34px}
.home-closer-panel .mv-focus-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.7fr);gap:16px;flex:1;min-height:0}
.mv-home-picker{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:10px;min-height:0}.mv-home-picker button{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:0;text-align:left;padding:14px 18px;border:1px solid var(--mv-line);border-radius:18px;background:var(--mv-surface);color:var(--mv-ink);font:inherit;cursor:pointer}.mv-home-picker button[aria-pressed=true]{border-color:var(--mv-blue);background:var(--mv-raised);box-shadow:none}.mv-home-picker span{font-size:12px;line-height:1.4}.mv-home-picker strong{font-size:25px;letter-spacing:-.7px;font-weight:500;line-height:1.2}.mv-home-picker small{font-size:11px;color:var(--mv-muted);line-height:1.4}
.home-closer-panel .mv-grid{display:flex;min-height:0;min-width:0}.home-closer-panel .mv-card{width:100%;padding:20px;display:flex;flex-direction:column;min-height:0}.home-closer-panel .mv-card header{flex:none}.home-closer-panel .mv-value{font-size:clamp(28px,4cqw,44px);margin-top:12px}.home-closer-panel .mv-change{margin-top:5px}.home-closer-panel .mv-quality:empty{display:none}.home-closer-panel .mv-plot{flex:1;min-height:60px;height:auto;margin-top:20px;margin-bottom:4px;padding-bottom:22px}.home-closer-panel .mv-canvas,.home-closer-panel .mv-axis-y{height:calc(100% - 24px)}.home-closer-panel .mv-readout{min-height:30px;margin-top:8px;padding:6px 10px;flex:none}.home-closer-panel .mv-scrubber{flex:none;margin:2px 0;height:24px}.home-closer-panel .mv-foot{font-size:11px;line-height:1.5;padding-top:10px;margin-top:10px;flex:none}.home-closer-panel .mv-footer{font-size:10px;margin:8px 0 0}.home-closer-panel .mv-target{margin-top:8px;padding-top:8px}.home-closer-panel .mv-empty{margin:auto 0;min-height:0;padding:10px 0}.home-closer-panel .mv-bars{margin-block:20px;gap:14px}.home-closer-panel .mv-bullet{margin-top:32px;flex:none}.home-closer-panel .mv-status,.home-closer-panel .mv-alert{margin:0 0 8px;flex:none}.home-closer-panel .mv-alert{padding:8px;font-size:11px}
@container home-charts (max-height:500px){.home-closer-panel .mv-card{padding:14px}.home-closer-panel .mv-header{display:none}.home-closer-panel .mv-controls{margin-bottom:8px}.home-closer-panel .mv-value{margin-top:8px;font-size:30px}.home-closer-panel .mv-foot{display:none}.home-closer-panel .mv-plot{margin-top:16px}.mv-home-picker small{display:none}.mv-home-picker button{padding:10px 14px}.home-closer-panel .mv-quality{font-size:10px;line-height:1.4}.home-closer-panel .mv-denominator{margin-top:12px}.home-closer-panel .mv-bars{margin-block:15px;gap:10px}}
@container home-charts (max-width:650px){.home-closer-panel .mv-focus-layout{display:flex;flex-direction:column;gap:8px}.mv-home-picker{display:none}.mv-home-select{display:flex;align-items:center;gap:10px;color:var(--mv-muted);font-size:12px;flex:none}.mv-home-select select{flex:1;min-width:0;max-width:100%;font:inherit;font-size:14px;min-height:36px;padding:6px 8px;border:1px solid var(--mv-line);border-radius:9px;color:var(--mv-ink);background:var(--mv-raised)}.home-closer-panel .mv-grid{flex:1}.home-closer-panel .mv-controls>span{display:none}.home-closer-panel .mv-controls label{flex:1;min-width:0;font-size:11px;gap:5px}.home-closer-panel .mv-controls select{font-size:13px;max-width:100%;min-width:0}.home-closer-panel .mv-card h3{font-size:16px}.home-closer-panel .mv-source{font-size:10px}.home-closer-panel .mv-value{font-size:28px}.home-closer-panel .mv-footer{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@container home-charts (max-height:330px){.home-closer-panel .mv-card{padding:10px}.home-closer-panel .mv-value{font-size:24px;margin-top:4px}.home-closer-panel .mv-change{font-size:10px;line-height:1.3}.home-closer-panel .mv-quality{display:none}.home-closer-panel .mv-plot{min-height:38px;margin-top:10px}.home-closer-panel .mv-readout{min-height:24px;padding-block:2px;font-size:11px}.home-closer-panel .mv-source{display:none}.home-closer-panel .mv-footer{display:none}.home-closer-panel .mv-bullet{margin-top:18px}.home-closer-panel .mv-explore{min-height:30px;padding:5px 8px}.mv-home-picker strong{font-size:21px}}
.mv-track{position:relative}.mv-track b{position:absolute;top:0}.mv-bar-zero{position:absolute;top:0;height:100%;width:1px;background:var(--mv-ink);z-index:1}.mv-crosshair{stroke:var(--mv-muted);stroke-width:1;stroke-dasharray:3 5;opacity:.45;vector-effect:non-scaling-stroke}.mv-selected-point{fill:var(--mv-surface);stroke:var(--mv-blue);stroke-width:2;vector-effect:non-scaling-stroke}
.mv-scrubber{appearance:none;-webkit-appearance:none;background:transparent}.mv-scrubber::-webkit-slider-runnable-track{height:3px;border:0;border-radius:2px;background:var(--mv-line)}.mv-scrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;border-radius:50%;border:2px solid var(--mv-surface);background:var(--mv-blue);margin-top:-5px;box-shadow:none}.mv-scrubber::-moz-range-track{height:3px;background:var(--mv-line);border:0}.mv-scrubber::-moz-range-thumb{width:11px;height:11px;border:2px solid var(--mv-surface);background:var(--mv-blue);border-radius:50%}
/* Paired supporting cards finish each four-card composition without an empty column. */
.mv-grid:has(>.mv-card:nth-child(4):last-child)>.mv-card:nth-child(n+3){grid-column:span 6}
@container(max-width:520px){.mv-grid:has(>.mv-card:nth-child(4):last-child)>.mv-card:nth-child(n+3){grid-column:span 12}}

/* Operational pages retain their work surface; one quiet summary lives beside it. */
.mv-page-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;min-width:0}
.mv-page-layout[data-has-chart=true]{grid-template-columns:minmax(0,1fr) 228px}
.mv-page-main{min-width:0}.mv-page-rail{min-width:0;position:sticky;top:18px}.mv-page-layout[data-has-chart=false]>.mv-page-rail{display:none}
.metric-visuals[data-compact=true]{margin:0;width:100%;clear:none;container-type:normal}
.mv-summary{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;padding:18px;text-align:left;font:inherit;color:var(--mv-ink);background:var(--mv-surface);border:1px solid var(--mv-line);border-radius:18px;cursor:pointer;transition:border-color 120ms,background 120ms}
.mv-summary:hover{border-color:var(--mv-blue);background:var(--mv-raised)}.mv-summary-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:13px;line-height:1.45}.mv-summary-heading i{font-style:normal;color:var(--mv-muted)}.mv-summary-value{font-size:28px;font-weight:500;line-height:1.15;letter-spacing:-.7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mv-summary small{color:var(--mv-muted);font-size:11px;line-height:1.45}.mv-summary-period{font-size:10px!important}.mv-summary-trend{display:block;width:100%;height:48px;overflow:visible;margin:3px 0}.mv-summary-trend .mv-line{stroke-width:1.7}.mv-summary-rate{height:5px;background:var(--mv-track);border-radius:5px;overflow:hidden;margin:12px 0}.mv-summary-rate i{display:block;height:100%;background:var(--mv-blue)}.mv-summary-bars{display:grid;gap:5px;min-height:30px}.mv-summary-bars i{display:block;height:5px;background:var(--mv-blue);border-radius:3px}.mv-summary-link{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--mv-blue);border-top:1px solid var(--mv-line);padding-top:11px;margin-top:3px}.activity-side>.metric-visuals{margin-bottom:20px}
.mv-topics{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.mv-topics button{font:inherit;font-size:12px;color:var(--mv-muted);border:1px solid var(--mv-line);border-radius:9px;padding:8px 12px;background:transparent;cursor:pointer}.mv-topics button[aria-pressed=true]{background:var(--mv-raised);color:var(--mv-ink);border-color:var(--mv-blue)}.mv-topic-title{font-size:25px;font-weight:500;margin:0 0 22px}
.mv-compact-layout[data-home=true]{display:grid;grid-template-columns:minmax(0,1fr) 228px;align-items:start;gap:28px;height:100%}.mv-home-brief{min-width:0}.mv-home-brief h2{font-size:clamp(22px,3vw,34px);font-weight:500;margin:0 0 12px;letter-spacing:-.7px}.mv-home-brief>p{font-size:13px;color:var(--mv-muted);line-height:1.7;max-width:460px;margin:0 0 24px}.mv-home-links{display:grid;gap:12px}.mv-home-links button{font:inherit;color:var(--mv-ink);background:var(--mv-surface);border:1px solid var(--mv-line);border-radius:15px;text-align:left;padding:17px 20px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;cursor:pointer}.mv-home-links button>span{font-size:13px}.mv-home-links button>strong{font-weight:500;font-size:20px;grid-column:2;grid-row:1/3;align-self:center}.mv-home-links button>small{font-size:11px;color:var(--mv-muted)}.mv-home-links i{font-style:normal;color:var(--mv-muted)}
.ledger-view-description{font-size:13px;color:var(--muted,var(--cf-muted));line-height:1.6;margin:0 28px 18px}.autonomy-workspace>.work-heading{margin-bottom:24px}.autonomy-workspace .owner-controls{margin-top:0}.settings-workspace-heading{margin:0 0 24px}.settings-related-links{margin-top:24px}
@media(max-width:1100px){.mv-page-layout[data-has-chart=true]{grid-template-columns:minmax(0,1fr) 188px;gap:18px}.mv-summary{padding:14px}.mv-compact-layout[data-home=true]{grid-template-columns:minmax(0,1fr) 200px;gap:20px}}
@media(max-width:900px){.mv-page-layout[data-has-chart=true]{display:flex;flex-direction:column;gap:18px}.mv-page-main{width:100%}.mv-page-rail{position:static;order:-1;width:100%}.mv-page-rail .mv-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:12px 16px}.mv-page-rail .mv-summary-value{grid-column:2;grid-row:1/3;font-size:24px;align-self:center}.mv-page-rail .mv-summary-trend,.mv-page-rail .mv-summary-rate,.mv-page-rail .mv-summary-bars{display:none}.mv-page-rail .mv-summary-link{grid-column:1/-1;padding-top:7px;margin:0}.mv-page-rail .mv-summary small{font-size:10px}.mv-page-rail .mv-summary-period{grid-column:1}.mv-compact-layout[data-home=true]{grid-template-columns:minmax(0,1fr) 180px;gap:16px}.mv-home-links button{padding:12px}.mv-home-brief>p{margin-bottom:16px}}
@media(max-width:600px){.mv-compact-layout[data-home=true]{grid-template-columns:1fr;gap:12px;height:auto}.mv-home-brief .mv-eyebrow,.mv-home-brief h2,.mv-home-brief>p{display:none}.mv-home-links{gap:7px}.mv-home-links button{padding:10px 12px;gap:4px 8px}.mv-home-links button>strong{font-size:17px}.mv-compact-layout[data-home=true]>.mv-summary{display:grid;grid-template-columns:1fr auto;padding:12px;gap:5px 10px}.mv-compact-layout[data-home=true] .mv-summary-value{grid-column:2;grid-row:1/3;align-self:center;font-size:24px}.mv-compact-layout[data-home=true] .mv-summary-trend{grid-column:1/-1;height:34px}.mv-compact-layout[data-home=true] .mv-summary-link{grid-column:1/-1;padding-top:6px}.mv-compact-layout[data-home=true] .mv-summary-period{font-size:9px!important}.ledger-view-description{margin:0 12px 14px}}
@media(max-height:740px){.mv-home-brief>p{margin-bottom:12px}.mv-home-links{gap:8px}.mv-home-links button{padding:12px 15px}}
@media(max-width:600px) and (max-height:760px){.mv-home-links{gap:6px}.mv-home-links button{padding:8px 10px}.mv-compact-layout[data-home=true]{gap:10px}.mv-compact-layout[data-home=true] .mv-summary-trend{height:28px}}
/* S6 (sweep 3): on a phone the summary above a page gives its value its own row. Beside the heading the value's column
   took the width of whatever it showed, so "…" turning into the real number re-wrapped the heading and pushed the whole
   page down (Reputation and Campaigns at 360). Same rule as Reporting's (zz-next-reporting.css, sweep 2). */
@media(max-width:600px){.mv-page-rail .mv-summary{grid-template-columns:minmax(0,1fr)}.mv-page-rail .mv-summary-value{grid-column:1;grid-row:auto;align-self:start}}

.wu-dialog{color:var(--cf-text);background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:24px;padding:0;width:min(730px,calc(100vw - 32px));max-height:min(780px,calc(100dvh - 32px));box-shadow:none;overflow:auto}
.wu-dialog::backdrop{background:color-mix(in srgb,var(--cf-surface) 65%,transparent);backdrop-filter:none}
.wu-heading{display:flex;justify-content:space-between;align-items:center;padding:28px 30px 20px;gap:20px}.wu-heading h2{font-size:clamp(23px,4vw,31px);line-height:1.15;letter-spacing:-.025em;margin:8px 0}.wu-eyebrow{font-size:11px;letter-spacing:.18em;color:var(--cf-muted);margin:0}.wu-heading>button{border:0;background:transparent;font-size:28px!important;min-width:44px;min-height:44px}.wu-tabs{display:flex;gap:4px;margin:0 24px;padding:5px;background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:14px}.wu-tabs button{flex:1;border:0;min-height:42px}.wu-tabs button[aria-pressed=true]{background:var(--cf-surface);color:var(--cf-text);box-shadow:none}.wu-body{padding:22px 30px 30px}.wu-body p{font-size:14px;line-height:1.6;color:var(--cf-text)}.wu-dialog button,.wu-dialog input,.wu-dialog select{font:inherit;color:inherit}.wu-dialog button{background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:9px;padding:9px 13px;cursor:pointer;font-size:13px}.wu-dialog button:disabled{opacity:.55;cursor:wait}.wu-dialog :focus-visible,.wu-page-views :focus-visible{outline:3px solid var(--cf-border);outline-offset:3px}.wu-settings{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.wu-settings label,.wu-view-form>label:not(.wu-check){display:grid;gap:10px;font-size:14px}.wu-dialog select,.wu-dialog input:not([type=checkbox]){background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:9px;padding:12px;min-width:0}.wu-check{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.6}.wu-check input{width:18px;height:18px;accent-color:#b9a7f1;flex:none}.wu-body .wu-secondary{color:var(--cf-muted);font-size:13px}.wu-help{border-top:1px solid var(--cf-border);padding-top:20px;margin-top:28px}.wu-help h3,.wu-row h3{font-size:15px;margin:0 0 5px}.wu-help p{font-size:13px}.wu-row{display:flex;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid var(--cf-border)}.wu-row>div{flex:1;min-width:0}.wu-row h3{overflow-wrap:anywhere}.wu-row p{font-size:12px;margin:0}.wu-empty{padding:28px 0}.wu-view-form{display:grid;gap:16px;padding:18px;background:var(--cf-surface);border:1px solid var(--cf-border);border-radius:14px;margin:20px 0}.wu-view-form>button{justify-self:start}.wu-error{border-left:3px solid var(--cf-border);padding:10px 14px;background:var(--cf-surface);color:var(--cf-warning)}.wu-sync{min-height:20px;font-size:12px!important;color:var(--cf-text);margin-top:24px}.wu-page-views{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.wu-page-views button{border:1px solid var(--panel-border,var(--cf-border));background:var(--surface,var(--cf-surface));border-radius:20px;padding:6px 12px;color:var(--text,var(--cf-text));font:inherit;font-size:12px}.wu-page-views:empty{display:none}
html[data-density=compact] .work-table td,html[data-density=compact] .work-table th,html[data-density=compact] .restoration-table td,html[data-density=compact] .restoration-table th{padding-top:8px;padding-bottom:8px}html[data-density=compact] .work-card{padding:16px}html[data-text-size="110"] .workspace-main,html[data-text-size="110"] .phone-content{zoom:1.1}html[data-text-size="120"] .workspace-main,html[data-text-size="120"] .phone-content{zoom:1.2}
@media(max-width:600px){.wu-heading{padding:20px}.wu-body{padding:18px 20px}.wu-tabs{margin:0 14px}.wu-tabs button{padding:8px 5px;font-size:12px}.wu-row{flex-wrap:wrap}.wu-row>div{flex-basis:100%}.wu-settings{grid-template-columns:1fr}}
@media(prefers-reduced-transparency:reduce){.wu-dialog::backdrop{backdrop-filter:none;background:var(--cf-surface)}}
@media(prefers-contrast:more){.wu-dialog{border-color:var(--cf-border)}.wu-body p{color:var(--cf-text)}.wu-dialog button{border-color:var(--cf-border)}}

.wb-filters,.wb-quick{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.wb-filters button{font:inherit;font-size:13px;padding:9px 15px;border:1px solid var(--line,var(--cf-border));border-radius:20px;background:transparent;color:inherit;cursor:pointer}.wb-filters button[aria-pressed=true]{background:var(--cf-surface);color:var(--cf-text);border-color:var(--cf-border)}.wb-change-review{padding:16px;margin:16px 0;border:1px solid var(--line,var(--cf-border));border-radius:12px}.wb-change-review summary{cursor:pointer;font-weight:600}.wb-change-review table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;margin:15px 0}.wb-change-review th,.wb-change-review td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line,var(--cf-border));vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}.wb-change-review th:first-child{width:24%}.mv-page-layout:has(.restoration-inspector),.mv-page-layout:has(.backend-inspector){grid-template-columns:minmax(0,1fr)}.mv-page-layout:has(.restoration-inspector)>.mv-page-rail,.mv-page-layout:has(.backend-inspector)>.mv-page-rail{display:none}

/* Desktop record details now sit beside the page layout, inside its workspace.
   Reserve the detail pane by applying the same rail rule used by inline inspectors. */
.restoration-workspace:has(.restoration-inspector) .mv-page-layout{grid-template-columns:minmax(0,1fr)}
.restoration-workspace:has(.restoration-inspector) .mv-page-layout>.mv-page-rail{display:none}

.wu-source{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:12px!important}.wu-tabs{flex-wrap:wrap}.wu-tabs button{white-space:nowrap}

.wl-row{padding:18px 0;border-bottom:1px solid var(--cf-border)}.wl-row>a{color:var(--cf-text);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.wl-row p{margin:8px 0}.wl-row small{color:var(--cf-muted)}.wl-dialog .crm-field{display:grid;gap:10px}.wl-dialog .wb-quick{align-items:center}.customer-journey-record .lifecycle-history-item>time{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.customer-journey-record .lifecycle-history-item>p{overflow-wrap:anywhere}

html[data-density=compact] .layout-record-list .backend-row>button{padding-block:9px;min-height:66px;gap:10px}html[data-density=compact] .layout-record-list .backend-row small{margin-top:2px}html[data-density=compact] .layout-record-list .backend-row time{margin-top:3px}html[data-density=compact] .layout-record-list .layout-avatar{width:32px;height:32px;flex-basis:32px}html[data-text-size="110"] .v4-main{zoom:1.1}html[data-text-size="120"] .v4-main{zoom:1.2}
@media(prefers-contrast:more){.app-shell .restoration-editor,.app-shell .restoration-inspector,.app-shell .layout-record-list,.app-shell .backend-approval-card{background:var(--cf-surface);color:var(--cf-text);border-color:var(--cf-border)}.app-shell .layout-record-copy small,.app-shell .layout-record-copy time{color:var(--cf-text)}}

.nc-toolbar{margin:12px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line,var(--cf-border))}.nc-toolbar p,.nc-snooze p{font-size:13px;line-height:1.6;color:var(--muted,var(--cf-text));margin:8px 0}.nc-snooze{padding:16px 0;border-block:1px solid var(--line,var(--cf-border));margin:20px 0}.nc-zone{display:grid;gap:10px;font-size:14px}.nc-toolbar [role=alert]{color:var(--cf-negative)}.nc-snooze button{min-height:40px}

/* Insets keep the keyboard ring visible inside clipped cards and sidebars. */
.app-shell :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
 outline:3px solid var(--optic-focus,var(--cf-border));outline-offset:-3px;
}
.app-shell[data-zwt=light] .layout-record-list time{opacity:1}

/* Normal-size Home remains one screen. Enlarged text can reflow instead of
   shrinking labels or clipping actions to meet the default height budget. */
html:is([data-text-size="110"],[data-text-size="120"]) .app-shell .screen-body:has(>.home-viewport) {
 overflow-y:auto;overflow-x:hidden;container-type:inline-size;
}
html:is([data-text-size="110"],[data-text-size="120"]) .app-shell .home-viewport {
 display:flex;flex-direction:column;height:auto;min-height:100%;min-width:0;padding-bottom:20px;
}
html:is([data-text-size="110"],[data-text-size="120"]) .home-view-grid {
 flex:none;grid-template-rows:minmax(150px,auto) 150px minmax(160px,auto);
}
html:is([data-text-size="110"],[data-text-size="120"]) .home-view-card {min-height:0}
html:is([data-text-size="110"],[data-text-size="120"]) :is(.home-view-heading,.home-view-footer) {flex:none;flex-wrap:wrap;min-width:0}
@container home-space (max-width:640px){
 html:is([data-text-size="110"],[data-text-size="120"]) .home-view-grid {
  grid-template-rows:minmax(110px,auto) 150px minmax(180px,auto) 120px;
 }
}
@container home-space (max-width:460px){
 html:is([data-text-size="110"],[data-text-size="120"]) .home-view-grid {
  grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(140px,auto);
 }
 html:is([data-text-size="110"],[data-text-size="120"]) .home-view-grid>section {grid-column:auto;grid-row:auto}
 html:is([data-text-size="110"],[data-text-size="120"]) .home-view-heading>div {flex:1 1 100%}
}

.call-transcript,.contact-call-history{margin:20px 0;padding-top:18px;border-top:1px solid var(--line,color-mix(in srgb,var(--cf-border) 15%,transparent));color:var(--fg,var(--text,var(--cf-text)));min-width:0}
.call-transcript>header,.contact-call-history>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.call-transcript h3,.contact-call-history h3{font-size:16px;margin:0}.call-transcript p,.contact-call-history p{line-height:1.65;overflow-wrap:anywhere;font-size:13px}
.call-transcript-meta{font-size:12px!important;opacity:.75}.call-transcript-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0 6px}.call-transcript-toolbar label{display:grid;gap:6px;flex:1;min-width:160px;font-size:12px}.call-transcript-toolbar input{width:100%;min-width:0;padding:10px 12px;color:inherit;background:var(--bg-raised,color-mix(in srgb,var(--cf-surface) 8%,transparent));border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 30%,transparent));border-radius:9px;font:inherit}.call-transcript button{white-space:normal}
.call-transcript-turns{list-style:none;padding:0;margin:14px 0;display:grid;gap:12px}.call-transcript-turns li{padding:13px 14px;border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 25%,transparent));border-left:3px solid var(--accent-ink,var(--cf-border));border-radius:10px;background:var(--bg-raised,color-mix(in srgb,var(--cf-surface) 4%,transparent));min-width:0}.call-transcript-turns li[data-speaker="caller"]{border-left-color:var(--cf-border)}.call-transcript-speaker{display:flex;align-items:center;gap:10px;font-size:12px}.call-transcript-speaker time{margin-left:auto;opacity:.7;font-variant-numeric:tabular-nums}.call-transcript-speaker small{opacity:.7}.call-transcript-turns p{white-space:pre-wrap;margin:7px 0 0!important;line-height:1.7!important;max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important}.call-transcript mark{background:var(--cf-surface);color:var(--cf-text);border-radius:2px}
.contact-call-history ul{list-style:none;padding:0;margin:12px 0}.contact-call-history li{border-bottom:1px solid var(--line,color-mix(in srgb,var(--cf-border) 20%,transparent));padding:12px 0}.contact-call-history a{color:var(--accent-ink,var(--cf-focus));font-size:13px;line-height:1.6}.contact-call-history li p{margin:5px 0 0;opacity:.8}.contact-call-history nav{display:flex;gap:12px;justify-content:space-between}.call-transcript-empty{padding:12px;border:1px solid var(--line,color-mix(in srgb,var(--cf-border) 25%,transparent));border-radius:10px}
@media(max-width:600px){.call-transcript-toolbar{align-items:stretch}.call-transcript-toolbar label{flex-basis:100%}.call-transcript-turns li{padding:11px}.call-transcript-speaker{flex-wrap:wrap}}

.call-transcript-summary{margin:14px 0;font-size:13px}.call-transcript-summary summary{cursor:pointer;font-weight:600}.call-transcript-summary p{white-space:pre-wrap}

/* Smoked glass, a silver bevel, and restrained spectral light. No JS animation loop. */
 .app-shell,.mobile-app,.v4-app{--prism-rim:conic-gradient(from 125deg,#82b9ec80,#ad94da60,#eb8faf70,#edc77c65,#8ed6ab80,#8cbded80);--prism-glass:linear-gradient(145deg,#1a1d23fa 0%,#0b0d12fa 44%,#080a0dfc 100%);--flow-ink:#edf0f7;--flow-muted:#a3aabb}
:is(.app-shell,.v4-app) :is(.home-view-card,.home-view-metrics,.crm-panel,.backend-panel,.activity-stream,.activity-detail,.mv-card,.mv-summary,.teach-card,.backend-list,.crm-deal-card,.crm-stats>div,.guide-group,.guide-shortcut,.anna-run-card,.teach-answer,.oc-card,.attention-card,.v4-card,.v4-panel,.ap-card,.automations-card,.br-card,.campaigns-panel,.command-card,.deals-card,.deals-panel,.fl-card,.fl-dial-card,.fl-dial-panel,.forms-panel,.funnels-card,.funnels-panel,.pay-panel,.planning-panel,.platform-card,.social-card,.social-panel,.restoration-card,.restoration-table-wrap,.crm-table-wrap,.workspace-panel,.analytics-card,.chart-card),
.mobile-app :is(.home-view-card,.home-view-metrics,.crm-panel,.backend-panel,.activity-stream,.activity-detail,.mv-card,.mv-summary,.teach-card,.backend-list,.crm-deal-card,.crm-stats>div,.guide-group,.guide-shortcut,.anna-run-card,.teach-answer,.oc-card,.attention-card,.v4-card,.v4-panel,.ap-card,.automations-card,.br-card,.campaigns-panel,.command-card,.deals-card,.deals-panel,.fl-card,.fl-dial-card,.fl-dial-panel,.forms-panel,.funnels-card,.funnels-panel,.pay-panel,.planning-panel,.platform-card,.social-card,.social-panel,.restoration-card,.restoration-table-wrap,.crm-table-wrap,.workspace-panel,.analytics-card,.chart-card){
 border:1px solid transparent;border-radius:18px;background:var(--cf-surface);
 box-shadow:none;
 transition:box-shadow 120ms ease,border-color 120ms ease;}
@media(hover:hover){
 :is(.app-shell,.v4-app) :is(.home-view-card,.home-view-metrics,.crm-panel,.backend-panel,.activity-stream,.activity-detail,.mv-card,.mv-summary,.teach-card,.backend-list,.crm-deal-card,.crm-stats>div,.guide-group,.guide-shortcut,.anna-run-card,.teach-answer,.oc-card,.attention-card,.v4-card,.v4-panel,.ap-card,.automations-card,.br-card,.campaigns-panel,.command-card,.deals-card,.deals-panel,.fl-card,.fl-dial-card,.fl-dial-panel,.forms-panel,.funnels-card,.funnels-panel,.pay-panel,.planning-panel,.platform-card,.social-card,.social-panel,.restoration-card,.restoration-table-wrap,.crm-table-wrap,.workspace-panel,.analytics-card,.chart-card):hover{box-shadow:none;}
}
:is(.app-shell,.v4-app) :is(.home-view-card,.home-view-metrics,.crm-panel,.teach-answer,.activity-stream):focus-within{box-shadow:none}
.app-shell .screen-body{background:var(--cf-surface)}
.app-shell .home-viewport{padding:18px 24px 8px;gap:12px;max-width:1680px}
.app-shell .home-view-grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);grid-template-rows:minmax(150px,1fr) minmax(125px,.8fr) minmax(148px,.82fr);gap:14px}
.app-shell .home-view-map{grid-column:1;grid-row:1/3;padding:16px 18px 12px;gap:7px;display:flex;flex-direction:column;min-height:0;overflow:visible;isolation:isolate;background:var(--cf-surface)}
.home-view-map>header{position:relative;z-index:2}.home-view-map>header>div{display:grid;gap:5px}.home-view-map .eyebrow{font-size:9px;letter-spacing:.15em;color:var(--cf-muted)}.home-view-map h2{font-size:19px;letter-spacing:-.03em}
.home-map-status{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--cf-muted);min-height:20px}.home-map-sync{margin-left:auto;font:9px 'Geist Mono',monospace;color:var(--cf-muted);white-space:nowrap}.home-map-caption{display:flex;justify-content:space-between;gap:10px;color:var(--cf-muted);font-size:10px;line-height:1.5;flex:none}
.home-view-map .activity-circuit{flex:1;height:auto;min-height:0;margin:0;background:var(--cf-surface);background-size:auto,20px 20px}
.home-view-map .activity-node{width:24%;min-width:0;max-width:none;min-height:38px;height:12.5%;padding:5px 10px;transform:translate(0,-50%);border:1px solid color-mix(in srgb,var(--cf-border) 22%,transparent);border-radius:9px;background:var(--cf-surface);box-shadow:none;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:2px;transition:border-color 120ms,box-shadow 120ms,background 120ms}
.home-view-map .activity-node[data-side=right]{transform:translate(-100%,-50%);text-align:left;padding:5px 10px}
.home-view-map .activity-node-name{font-size:12px;line-height:1.2;font-weight:550}.home-view-map .activity-node small{font:9px 'Geist Mono',monospace;margin:0;line-height:1.2;color:var(--cf-muted)}
.home-view-map .activity-node-pin{left:auto;right:-3px;top:calc(50% - 3px);bottom:auto;width:5px;height:5px;box-shadow:none;opacity:.35}.home-view-map .activity-node[data-side=right] .activity-node-pin{left:-3px;right:auto}
.home-view-map .activity-node[data-state=running]{border-color:color-mix(in srgb,var(--flow-color) 65%,color-mix(in srgb,var(--cf-border) 7%,transparent));box-shadow:none}
.home-view-map .activity-node[data-state=running] .activity-node-pin{opacity:1;box-shadow:none}
.home-view-map .activity-node:hover,.home-view-map .activity-node:focus-visible{border-color:var(--flow-color);background:var(--cf-surface);box-shadow:none;color:var(--cf-text)}
.home-view-map .activity-hub{width:10%;min-width:58px;min-height:70px;height:23%;padding:5px 2px;border-radius:12px;box-shadow:none}.home-view-map .activity-hub-spark img{width:27px;height:27px}.home-view-map .activity-hub strong{font-size:10px;margin-top:4px}.home-view-map .activity-hub small{font-size:8px;margin-top:4px;max-width:90%;white-space:normal;text-align:center}.home-view-map .activity-chip-rim{opacity:.13}
.home-view-map .activity-wire-base{stroke:color-mix(in srgb,var(--cf-muted) 9%,transparent);stroke-width:1.4}.home-view-map .activity-wire-color{opacity:.12;stroke-width:1.6}.home-view-map .activity-wire-halo{opacity:0;filter:blur(3px);stroke-width:6}.home-view-map .activity-wires g[data-state=running] .activity-wire-color{opacity:.95;stroke-width:2.1}.home-view-map .activity-wires g[data-state=running] .activity-wire-halo{opacity:.28}.home-view-map .activity-wire-comet{stroke-width:2;filter:none}.home-view-map[data-motion=false] .activity-wire-comet{display:none}
.app-shell .home-view-summary{grid-column:1;grid-row:3;gap:8px}.app-shell .home-view-summary>header{height:24px}.app-shell .home-view-metrics{border-radius:16px}.app-shell .home-view-metrics>button{padding:10px 17px;gap:5px}.app-shell .home-view-metrics strong{font-size:32px;font-weight:450}.app-shell .home-view-metrics small{font-size:11px;max-width:100%}
.app-shell .home-view-approvals{grid-column:2;grid-row:1}.app-shell .home-view-schedule{grid-column:2;grid-row:2}.app-shell .home-view-activity{grid-column:2;grid-row:3}.app-shell .home-view-card:not(.home-view-map){padding:16px;gap:8px}.app-shell .home-view-decision{font-size:16px}.app-shell .home-view-clear{font-size:14px}.app-shell .home-view-receipts{grid-template-rows:repeat(2,minmax(0,1fr))}.app-shell .home-view-receipts>button{min-height:0;gap:7px}.app-shell .home-view-receipts time{font-size:9px;white-space:normal;max-width:65px;text-align:right}.app-shell .home-view-receipts strong{font-size:12px}.app-shell .home-view-receipts small{font-size:11px}.app-shell .home-view-receipt-icon{width:19px}
/* A single readable ledger; detailed history remains a secondary view. */
.app-shell .activity-heading{margin-bottom:14px}.app-shell .activity-heading h1{font-size:30px;letter-spacing:-.045em}.app-shell .activity-heading p{font-size:13px}.app-shell .activity-stream{margin-top:0;padding:18px 20px 10px}.app-shell .activity-stream>header{margin-bottom:10px}.app-shell .activity-stream h2{font-size:19px}.app-shell .activity-stream .eyebrow{font-size:9px;letter-spacing:.12em}.app-shell .activity-stream-controls{margin-bottom:10px}.app-shell .activity-event{grid-template-columns:110px 6px minmax(0,1fr) 70px 105px 12px;gap:12px;padding:12px 4px;min-height:72px}.app-shell .activity-event>time{font-size:10px;white-space:normal;line-height:1.6}.call-log-duration{display:block;color:var(--cf-text);font-size:10px;line-height:1.5}.app-shell .activity-event-copy strong{font-size:13px;font-weight:550;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-shell .activity-event-copy small{font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden}.app-shell .activity-event-state{white-space:normal;font-size:10px}.app-shell .activity-inspect{font-size:10px}.app-shell .activity-detail{padding:20px}.app-shell .activity-detail h2{font-size:21px}
/* Dense tools keep generous targets while avoiding oversized containers. */
:is(.app-shell,.v4-app) :is(.crm-panel,.restoration-card,.backend-panel){padding:clamp(14px,1.5vw,22px)}
:is(.app-shell,.v4-app) :is(.crm-panel,.restoration-card,.backend-panel) h2{letter-spacing:-.025em}:is(.app-shell,.v4-app) :is(.crm-table,.restoration-table) td{padding-block:12px}.app-shell .v4-conv-row{border-radius:10px}.app-shell .v4-conv-row:hover{background:color-mix(in srgb,var(--cf-text) 3%,transparent)}.app-shell .v4-conv-row[data-on=true]{box-shadow:none;background:color-mix(in srgb,var(--cf-text) 3%,transparent)}
@container home-space (max-width:700px){
 .app-shell .home-viewport{padding:10px 12px 4px;gap:8px;grid-template-rows:36px minmax(0,1fr) 26px}.app-shell .home-view-heading h1{font-size:22px}.app-shell .home-view-heading p{display:none}.app-shell .home-view-tabs button{min-height:30px;padding:5px 9px;font-size:11px}
 .app-shell .home-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(160px,1fr) 84px 126px 80px;gap:8px}
 .app-shell .home-view-map{grid-column:1/3;grid-row:1;padding:10px 12px 7px;gap:3px}.home-view-map .eyebrow{display:none}.home-view-map h2{font-size:15px}.home-view-map>header .text-button{font-size:11px;min-height:26px}.home-map-status{font-size:10px;min-height:14px}.home-map-sync{font-size:8px}.home-map-caption{font-size:9px}.home-map-caption>span:first-child{display:none}
 .home-view-map .activity-node{min-height:25px;padding:3px 7px}.home-view-map .activity-node[data-side=right]{padding:3px 7px}.home-view-map .activity-node-name{font-size:11px}.home-view-map .activity-node small{display:none}.home-view-map .activity-hub{min-width:44px;min-height:54px}.home-view-map .activity-hub-spark img{width:20px;height:20px}.home-view-map .activity-hub strong{font-size:8px}.home-view-map .activity-hub small{font-size:7px;margin-top:2px}
 .app-shell .home-view-summary{grid-column:1/3;grid-row:2;gap:3px}.app-shell .home-view-summary>header{height:22px}.app-shell .home-view-summary h2{font-size:12px}.app-shell .home-view-metrics>button{padding:5px 10px;gap:2px}.app-shell .home-view-metrics strong{font-size:23px}.app-shell .home-view-metrics small{display:none}
 .app-shell .home-view-approvals{grid-column:1;grid-row:3}.app-shell .home-view-schedule{grid-column:2;grid-row:3}.app-shell .home-view-card:not(.home-view-map){padding:10px 12px;gap:4px}.app-shell .home-viewport h2{font-size:13px}.app-shell .home-view-decision{font-size:13px;-webkit-line-clamp:1}.app-shell .home-view-decision-why{display:none}.app-shell .home-view-decision-actions{gap:4px;margin-top:auto}.app-shell .home-view-decision-actions>button{min-height:30px;font-size:11px;padding:4px 7px}.app-shell .home-view-clear{font-size:12px}.app-shell .home-view-all{min-height:26px;font-size:11px;padding-top:4px}.app-shell .home-view-next{min-height:30px;gap:3px}.app-shell .home-view-next strong{font-size:13px;-webkit-line-clamp:1}.app-shell .home-view-next span,.app-shell .home-view-next small{font-size:10px}
 .app-shell .home-view-activity{grid-column:1/3;grid-row:4}.app-shell .home-view-activity>header{min-height:22px}.app-shell .home-view-receipts{grid-template-rows:minmax(0,1fr)}.app-shell .home-view-receipts>button:nth-child(n+2){display:none}.app-shell .home-view-receipts>button{min-height:28px}.app-shell .home-view-receipts small{display:block;font-size:10px}.app-shell .home-view-receipts time{max-width:100px;white-space:nowrap}.app-shell .home-view-footer{padding-right:0;gap:5px}.app-shell .home-view-footer>button{font-size:10px;min-height:26px}.app-shell .home-view-footer>span{font-size:9px}
}
@container home-space (min-width:701px) and (max-height:580px){
 .app-shell .home-viewport{padding:8px 16px 4px;gap:8px;grid-template-rows:34px minmax(0,1fr) 26px}.app-shell .home-view-heading p{display:none}.app-shell .home-view-grid{grid-template-rows:minmax(120px,1fr) minmax(95px,.7fr) 116px;gap:10px}.app-shell .home-view-card:not(.home-view-map){padding:10px 14px;gap:5px}.app-shell .home-view-decision-why{display:none}.app-shell .home-view-map{padding:10px 14px}.home-view-map .eyebrow{display:none}.home-map-sync{display:none}.home-view-map .activity-node{min-height:28px}.home-view-map .activity-node small{display:none}.app-shell .home-view-receipts small{display:none}.app-shell .home-view-metrics strong{font-size:26px}.app-shell .home-view-next small{display:none}
}
@container home-space (max-width:700px) and (max-height:540px){
 .app-shell .home-viewport{padding:5px 10px 2px;gap:5px;grid-template-rows:32px minmax(0,1fr) 24px}.app-shell .home-view-grid{grid-template-rows:minmax(140px,1fr) 65px 104px 61px;gap:6px}.app-shell .home-view-map{padding:7px 9px 5px}.home-map-status{display:none}.home-map-caption{font-size:8px}.home-view-map .activity-node{min-height:22px;height:14%;padding:2px 6px}.home-view-map .activity-node-name{font-size:10px}.home-view-map .activity-hub{min-height:45px;min-width:40px}.home-view-map .activity-hub small{display:none}.app-shell .home-view-summary>header{height:18px}.app-shell .home-view-summary>header .text-button{font-size:10px;min-height:18px;padding:0}.app-shell .home-view-metrics strong{font-size:21px}.app-shell .home-view-metrics>button>span{font-size:10px}.app-shell .home-view-card:not(.home-view-map){padding:7px 10px;gap:3px}.app-shell .home-view-next small{display:none}.app-shell .home-view-activity>header{min-height:18px}.app-shell .home-view-receipts small{display:none}.app-shell .home-view-receipts>button{min-height:22px}.app-shell .home-view-receipts strong{font-size:11px}.app-shell .home-view-receipts time{font-size:8px}.app-shell .home-view-decision-actions>button{min-height:26px}.app-shell .home-view-all{min-height:23px}
}
@media(max-width:700px){
 .app-shell .activity-event{grid-template-columns:6px minmax(0,1fr) auto;gap:7px 10px;min-height:95px}.app-shell .activity-event>time{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:3px 8px;font-size:10px}.app-shell .activity-event-copy{grid-column:2;grid-row:1}.app-shell .activity-event-dot{grid-column:1;grid-row:1}.app-shell .activity-event-state{grid-column:3;grid-row:2;max-width:90px}.app-shell .activity-event-channel{display:none}.app-shell .activity-event>b{grid-column:3;grid-row:1}.app-shell .activity-stream{padding:14px 12px}.app-shell .activity-inspect{margin-bottom:7px}.app-shell .activity-heading h1{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.app-shell *,.app-shell *:before,.app-shell *:after{scroll-behavior:auto!important}.home-view-map .activity-wire-comet{display:none}:is(.app-shell,.v4-app) :is(.home-view-card,.home-view-metrics,.crm-panel,.backend-panel,.activity-stream,.activity-detail,.mv-card,.mv-summary,.teach-card,.backend-list,.crm-deal-card,.crm-stats>div,.guide-group,.guide-shortcut,.anna-run-card,.teach-answer,.oc-card,.v4-card,.v4-panel){transition:none!important}}
/* Small phones keep the whole dashboard, with compact summaries and six clear ports. */
@container home-space (max-width:700px){
 .home-view-map .activity-node{min-height:20px}.home-view-map .activity-node[data-side=right]{min-height:20px}
 /* Only the short compact greeting shows here, so it wraps at 200% zoom rather than being cut off (W33). */
 .app-shell .home-view-heading h1{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:18px}.app-shell .home-view-heading>div{min-width:0}
}
@container home-space (max-width:700px) and (max-height:540px){
 .app-shell .home-view-grid{grid-template-rows:minmax(198px,1fr) 52px 86px 45px}
 .app-shell .home-view-map{gap:2px}.home-view-map .activity-node{min-height:18px;height:12%;border-radius:6px}.home-view-map .activity-node[data-side=right]{min-height:18px}
 .home-view-map .activity-node-name{font-size:10px;line-height:1}.home-view-map .activity-hub{min-height:40px}
 .app-shell .home-view-metrics>button{flex-direction:row;align-items:center;justify-content:space-between;padding:2px 8px}.app-shell .home-view-metrics strong{font-size:20px;line-height:1}.app-shell .home-view-metrics>button>span{font-size:9px;white-space:normal;line-height:1.1}
 .app-shell .home-view-card:not(.home-view-map){padding:6px 9px;gap:2px}.app-shell .home-view-next{min-height:23px;gap:1px}.app-shell .home-view-next strong{font-size:12px}.app-shell .home-view-next span{font-size:9px}.app-shell .home-view-all{min-height:21px;padding-top:2px;font-size:10px}.app-shell .home-view-approvals:has(.home-view-decision) .home-view-all{display:none}.app-shell .home-view-decision-actions{margin-top:0}.app-shell .home-view-clear{font-size:11px}
 .app-shell .home-view-activity{padding:3px 9px;gap:0!important}.app-shell .home-view-activity>header{min-height:18px;height:18px}.app-shell .home-view-activity>header .text-button{min-height:18px;padding:0;font-size:10px}.app-shell .home-view-receipts>button{min-height:19px}.app-shell .home-view-receipts strong{font-size:10px}.app-shell .home-view-receipt-icon{height:16px;width:16px}.app-shell .home-view-receipts time{font-size:8px}
}
.mobile-app .phone-nav:has(>button:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.home-greeting-compact{display:none}
@container home-space (max-width:700px){.home-greeting-full{display:none}.home-greeting-compact{display:inline}}
.home-view-map .activity-wires g:not([data-state=running]) .activity-wire-color{opacity:.12;stroke-width:1.5}
.home-view-map .activity-wires g:not([data-state=running]) .activity-wire-halo{opacity:0}
.home-view-map .activity-wires path{stroke-linejoin:miter}
@container home-space (min-width:701px) and (max-height:400px){
 .app-shell .home-viewport{padding:3px 10px;gap:4px;grid-template-rows:26px minmax(0,1fr) 22px}.app-shell .home-view-heading h1{font-size:17px}.home-greeting-full{display:none}.home-greeting-compact{display:inline}.home-view-tabs{padding:2px}.home-view-tabs button{min-height:24px;padding:2px 9px;font-size:10px}
 .app-shell .home-view-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(64px,1fr) 52px 42px 37px;gap:5px}.app-shell .home-view-map{grid-column:1;grid-row:1/4;padding:7px 9px;gap:2px}.home-view-map .eyebrow,.home-map-status,.home-map-caption>span:first-child{display:none}.home-view-map h2{font-size:13px}.home-view-map>header .text-button{min-height:22px;font-size:10px}.home-map-caption{font-size:8px}.home-view-map .activity-node,.home-view-map .activity-node[data-side=right]{min-height:18px;padding:2px 6px;border-radius:6px}.home-view-map .activity-node-name{font-size:10px}.home-view-map .activity-node small{display:none}.home-view-map .activity-hub{min-width:40px;min-height:44px}.home-view-map .activity-hub small{display:none}.home-view-map .activity-hub-spark img{width:19px;height:19px}
 .app-shell .home-view-summary{grid-column:1/3;grid-row:4;gap:1px}.app-shell .home-view-summary>header{height:13px}.app-shell .home-view-summary>header h2,.app-shell .home-view-summary>header .text-button{font-size:9px;min-height:13px;padding:0}.app-shell .home-view-metrics>button{padding:1px 10px;flex-direction:row;align-items:center;justify-content:space-between}.app-shell .home-view-metrics>button>span{font-size:10px}.app-shell .home-view-metrics strong{font-size:17px}.app-shell .home-view-metrics small{display:none}
 .app-shell .home-view-approvals{grid-column:2;grid-row:1;padding:5px 9px;gap:2px!important}.app-shell .home-view-approvals h2{font-size:12px}.app-shell .home-view-approvals .count-badge{font-size:10px;min-height:14px;padding:1px 5px}.app-shell .home-view-clear{font-size:11px;margin:2px 0}.app-shell .home-view-decision{font-size:11px;-webkit-line-clamp:1;padding:0}.app-shell .home-view-decision-why{display:none}.app-shell .home-view-decision-actions{margin-top:auto;gap:5px}.app-shell .home-view-decision-actions>button{min-height:24px;font-size:10px;padding:2px 8px}.app-shell .home-view-approvals:has(.home-view-decision) .home-view-all{display:none}.app-shell .home-view-all{min-height:19px;font-size:10px;padding-top:2px}
 .app-shell .home-view-schedule{grid-column:2;grid-row:2;padding:5px 9px;display:grid;grid-template-columns:1fr auto;grid-template-rows:16px 20px;gap:2px!important}.app-shell .home-view-schedule header{grid-column:1;grid-row:1}.app-shell .home-view-schedule h2{font-size:12px}.app-shell .home-view-next{grid-column:1/3;grid-row:2;min-height:20px;flex-direction:row;align-items:center;justify-content:space-between;gap:4px}.app-shell .home-view-next strong{font-size:11px;-webkit-line-clamp:1}.app-shell .home-view-next span{font-size:9px}.app-shell .home-view-next small{display:none}.app-shell .home-view-schedule .home-view-all{grid-column:2;grid-row:1;border:0;margin:0;padding:0;min-height:16px;gap:6px}
 .app-shell .home-view-activity{grid-column:2;grid-row:3;padding:3px 9px;gap:0!important}.app-shell .home-view-activity>header{min-height:16px;height:16px}.app-shell .home-view-activity h2{font-size:11px}.app-shell .home-view-activity .text-button{min-height:16px;padding:0;font-size:10px}.app-shell .home-view-receipts{grid-template-rows:minmax(0,1fr)}.app-shell .home-view-receipts>button{min-height:18px}.app-shell .home-view-receipts>button:nth-child(n+2),.app-shell .home-view-receipts small{display:none}.app-shell .home-view-receipts strong{font-size:10px}.app-shell .home-view-receipts time{max-width:100px;font-size:8px}.app-shell .home-view-footer{padding-right:200px}.app-shell .home-view-footer>button{min-height:22px;font-size:10px}.app-shell .home-view-footer>span{font-size:8px}
}

/* Let the readable ledger take the full content width; retain its insight below. */
.app-shell .activity-page{padding-top:16px}.app-shell .activity-page .mv-page-layout{display:block}.app-shell .activity-page .mv-page-rail{margin-top:16px;max-width:380px}.app-shell .activity-page .activity-stream{width:100%;box-sizing:border-box}
@container home-space (min-width:701px) and (max-height:400px){
 .app-shell .home-viewport{grid-template-rows:26px minmax(0,1fr) 44px}.app-shell .home-view-grid{grid-template-rows:minmax(60px,1fr) 52px 42px 37px}
 .app-shell .home-view-approvals{padding:4px 9px;gap:1px!important}.app-shell .home-view-approvals>header{height:14px}.app-shell .home-view-decision{line-height:1.1}.app-shell .home-view-decision-actions{display:flex;min-height:22px}.app-shell .home-view-decision-actions>button{min-height:22px;line-height:1.1;padding:2px 8px}
}
@media(max-height:500px) and (orientation:landscape){
 .mobile-app:has(.home-viewport) .phone-ask :has(>textarea[data-anna-local-input]){display:flex;flex:1;min-width:0}
 .mobile-app:has(.home-viewport) .phone-ask textarea[data-anna-local-input]{width:100%;min-width:0;min-height:32px;height:32px;max-height:32px;padding:6px;line-height:20px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
}
@container home-space (min-width:701px) and (max-height:400px){
 .home-view-map .activity-node,.home-view-map .activity-node[data-side=right]{min-height:16px;height:12%;padding:1px 6px}.home-view-map .activity-node-name{line-height:1}
}

/* The alternative workspace shares the same surfaces; Light remains readable. */
.app-shell[data-zwt=light],.v4-app[data-theme=light]{--prism-glass:linear-gradient(145deg,#fffffff8,#f4f6fafc);--prism-rim:conic-gradient(from 125deg,#719dc385,#a486cc75,#d585a575,#c5a46075,#74b58c85,#719dc385)}
.app-shell[data-zwt=light] .screen-body{background:var(--screen)}
.app-shell[data-zwt=light] .home-view-map{--prism-glass:linear-gradient(145deg,#1a1d23fa,#080a0dfc);color:var(--cf-text)}.app-shell[data-zwt=light] .home-view-map .text-button{color:var(--cf-text)}

/* Keep the whole label and advanced summary easy to target on touch screens. */
.nc-preferences .wu-check,.nc-preferences button{min-height:44px}
.nc-preferences summary{box-sizing:border-box;min-height:44px;padding-block:10px;line-height:24px;cursor:pointer}

/* W33: at 200% text zoom the Settings heading action wraps below the title instead of leaving the screen. */
.settings-workspace-heading{flex-wrap:wrap}
.backend-settings .secondary-button{max-width:100%;white-space:normal}

/* A narrow Home needs a vertical channel list, including at 200% zoom.
   Keep every channel as a separate control and let the page grow vertically. */
.app-shell.mobile-app[data-home=true] .screen-body:has(>.home-viewport){display:block;overflow-x:clip;overflow-y:auto}
@container home-space (max-width:280px){
 .app-shell .home-viewport{height:auto;min-height:100%;grid-template-rows:auto auto auto}
 .app-shell .home-view-heading{flex-wrap:wrap}
 .app-shell .home-view-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-auto-rows:auto}
 .app-shell .home-view-grid>*{grid-column:1;grid-row:auto}
 .app-shell .home-view-map{min-height:0}
 .app-shell .home-view-map>header{flex-wrap:wrap}
 .app-shell .home-view-map .activity-circuit{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(32px,auto);gap:4px;flex:none;height:auto;min-height:0;margin:0;background:none}
 .app-shell .home-view-map .activity-wires{display:none}
 .app-shell .home-view-map .activity-node,.app-shell .home-view-map .activity-node[data-side=right]{position:static;transform:none;width:100%;height:auto;min-height:32px;max-width:none;padding:5px 8px;text-align:left}
 .app-shell .home-view-map .activity-node-pin{display:none}
 .app-shell .home-view-map .activity-hub{position:static;transform:none;order:-1;width:100%;height:auto;min-height:42px;padding:5px}
 .app-shell .home-view-metrics{grid-template-columns:minmax(0,1fr)}
 .app-shell .home-view-metrics>button+button{border-left:0;border-top:1px solid var(--line2)}
 .app-shell .home-view-footer{flex-wrap:wrap}
}

/* Phone: the AI Ledger "View all" link is at least 24x24 CSS px (WCAG 2.5.8); the compact desktop header rules above set it to 16px. */
@media(max-width:700px){.app-shell .home-view-card.home-view-activity>header{height:auto;min-height:24px}.app-shell .home-view-card.home-view-activity>header .text-button{min-height:24px;height:auto;padding:2px 4px}}

/* Agent computer step cards (ff:agent_computer page flag, default off; rendered by AgentComputerSteps.render in
   src/agent-computer-steps.mjs): one card per step the Manager took on its computer, under its reply. Text inherits the
   transcript's color in both themes (the --ac-* panel tokens when present); status hues are tints, never text colors. */
.ac-steps{margin:2px 0 14px;max-width:640px}
.ac-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ac-step{border:1px solid var(--ac-line,color-mix(in srgb,currentColor 16%,transparent));border-radius:12px;padding:10px 12px;background:var(--ac-panel,color-mix(in srgb,currentColor 4%,transparent));min-width:0;overflow:hidden}
.ac-step-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ac-muted,color-mix(in srgb,currentColor 65%,transparent));min-width:0}
.ac-step-icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ac-step-kind{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.ac-step-when{font-variant-numeric:tabular-nums}
.ac-step-status{margin-inline-start:auto;flex:none;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;color:var(--ac-text,currentColor);--ac-hue:#8a8f98;background:color-mix(in srgb,var(--ac-hue) 18%,transparent);border:1px solid color-mix(in srgb,var(--ac-hue) 55%,transparent)}
.ac-step[data-status=verified] .ac-step-status{--ac-hue:#2da44e}
.ac-step[data-status=failed] .ac-step-status{--ac-hue:#d1242f}
.ac-step[data-status=interrupted] .ac-step-status{--ac-hue:#d4a72c}
.ac-step[data-status=working] .ac-step-status{--ac-hue:#2f81f7}
.ac-step[data-status=failed]{border-color:color-mix(in srgb,var(--cf-border) 55%,transparent)}
.ac-step-title{margin:6px 0 0;font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.ac-step-action,.ac-step-detail,.ac-step-meta{margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--ac-muted,color-mix(in srgb,currentColor 65%,transparent))}
.ac-step-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ac-step-note{margin:6px 0 0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.ac-step-thumb{display:block;margin-top:8px;width:100%;max-width:320px;aspect-ratio:16/10;object-fit:cover;border-radius:8px;border:1px solid var(--ac-line,color-mix(in srgb,currentColor 16%,transparent))}
.ac-step-output{margin:8px 0 0;padding:8px 10px;max-height:180px;overflow:auto;border-radius:8px;background:color-mix(in srgb,currentColor 7%,transparent);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.ac-step-stderr{border-inline-start:3px solid var(--cf-border)}
.ac-step-meta{display:flex;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.ac-steps-open{margin-top:8px;min-height:36px;padding:0 14px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:600;cursor:pointer}

.booking-settings fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0;min-width:0}
.booking-settings legend{font-weight:650;padding:0 6px}.booking-day{border-bottom:1px solid var(--line);padding:12px 0}.booking-day h3{margin:0 0 8px}.booking-window{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:8px 0}.booking-window label{display:grid;gap:6px;max-width:160px}.booking-settings input{min-height:44px;max-width:100%;box-sizing:border-box}.booking-settings button{min-height:44px}.booking-review{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:16px}.booking-review p{overflow-wrap:anywhere}.booking-settings :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* W33: at 200% zoom a phone fieldset is narrower than this one-line action, so its label wraps instead of running off screen. */
.booking-settings fieldset>.text-button{max-width:100%;white-space:normal;text-align:left}
/* UX sweep 5 U18: the in-page confirm that replaced the browser's confirm box. */
.booking-confirm-overlay{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--cf-canvas) 40%,transparent)}
.booking-confirm{box-sizing:border-box;width:min(440px,100%);padding:20px;border-radius:16px;background:var(--panel,var(--cf-surface));color:var(--fg,inherit);border:1px solid var(--line);box-shadow:none}
.booking-confirm h3{margin:0 0 8px;font-size:16px}
.booking-confirm p{margin:0;line-height:1.5}
.booking-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}

.v4-app .br-book-text{font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 10px;color:var(--fg-2);}
.v4-app .br-book-heading{margin-top:20px;}

.agent-voice-settings{margin-top:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.avs-heading,.avs-footer,.avs-transfer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.avs-heading h2{font-size:24px;letter-spacing:-.02em;margin:5px 0 8px}.avs-eyebrow{font-size:10px;font-weight:750;letter-spacing:.13em;color:var(--accent)}
.agent-voice-settings p{font-size:13px;line-height:1.6;color:var(--fg-3);margin:6px 0}.agent-voice-settings h3{font-size:15px;margin:0 0 12px}
.agent-voice-settings fieldset{border:0;padding:0;margin:0;min-width:0}.avs-section{padding:23px 0;border-bottom:1px solid var(--line)}
.avs-control-help{font-size:12px;font-weight:400;line-height:1.5;color:var(--fg-3)}
.cf-shell.cf-shell.cf-shell .backend-settings>.settings-section-tabs.settings-mobile-tabs,.settings-mobile-tabs{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;min-width:0;border-bottom:1px solid var(--line);padding:0 0 6px;margin:0 0 16px}.settings-mobile-tabs button{flex:none;min-height:44px;min-width:44px;padding:10px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--fg-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.settings-mobile-tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}.settings-mobile-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.backend-settings>[data-settings-active="false"]{display:none!important}.backend-settings>[data-settings-active="true"]{min-width:0}
.avs-advanced{padding:12px 0 23px;border-bottom:1px solid var(--line)}.avs-advanced>summary{box-sizing:border-box;min-height:44px;padding:12px 0;cursor:pointer;font-size:13px;font-weight:650}.avs-advanced>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.avs-advanced[open]>.avs-controls{margin-top:17px}.avs-pronunciations{margin-top:23px}
.avs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}.agent-voice-settings label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650}
.agent-voice-settings input,.agent-voice-settings textarea,.agent-voice-settings select{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--bg);color:var(--fg);font:inherit;font-size:13px}
.agent-voice-settings textarea{resize:vertical;line-height:1.5}.avs-greeting{margin-top:18px}.avs-line{display:flex;flex-direction:column;gap:7px;font-size:12px}.avs-line strong{font-size:16px}.avs-line small,.avs-transfer small{color:var(--fg-3)}
.avs-voices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.avs-voice{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);cursor:pointer;text-align:left}
.avs-voice[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.avs-wave{font-size:18px;letter-spacing:3px;color:var(--accent)}.avs-voice>span:last-child{font-size:11px;color:var(--fg-3)}
.avs-transfer{padding:20px 0}.avs-transfer h3{margin-bottom:5px}.avs-transfer a{font-size:12px;color:var(--fg-2)}.avs-footer{padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--fg-3)}
.avs-save,.avs-secondary{border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-weight:650;font-size:12px;cursor:pointer;background:var(--bg);color:var(--fg)}.avs-save{background:var(--accent);color:white;border-color:var(--accent)}
.avs-error,.avs-success{padding:12px;border:1px solid var(--line);border-radius:9px}.avs-error{color:var(--danger,#dc6b6b)!important}.avs-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.avs-presets{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.avs-preset-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.avs-preset-actions>span{font-size:11px;color:var(--fg-3);flex:1}.avs-delete-review{margin-top:12px;padding:12px;border:1px solid var(--danger,#dc6b6b);border-radius:9px}.avs-delete-review button{margin:8px 8px 0 0}.avs-recovery{border-top:1px solid var(--line);padding:18px 0}.avs-recovery summary{cursor:pointer;font-size:13px;font-weight:650}.avs-recovery label{flex:1;min-width:180px}.agent-voice-settings button:disabled{opacity:.5;cursor:default}.avs-success{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.cf-shell.cf-shell.cf-shell .backend-settings>.settings-section-tabs{flex-wrap:wrap;overflow:visible;gap:4px}.settings-hub{margin:0 0 20px;padding:0;color:var(--fg)}.settings-hub h2{font-size:17px;margin:0 0 6px}.settings-hub p{font-size:12px;color:var(--fg-3);line-height:1.5;margin:5px 0}.settings-hub-search{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin:0 0 16px}.settings-hub input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--bg);color:var(--fg);font:inherit}.settings-hub-groups{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.settings-hub-groups button{background:var(--bg);color:var(--fg-2);border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:12px;cursor:pointer}.settings-hub-groups button[aria-pressed="true"]{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.settings-hub-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.settings-hub-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg);min-width:0}.settings-hub-card-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--fg-3)}.settings-hub-pin{border:0;background:transparent;color:var(--accent);font-size:20px;cursor:pointer;padding:4px}.settings-hub-open{display:flex;flex-direction:column;gap:9px;width:100%;text-align:left;border:0;padding:8px 0;background:transparent;color:var(--fg);cursor:pointer}.settings-hub-open strong{font-size:14px}.settings-hub-open span{font-size:12px;line-height:1.5;color:var(--fg-2)}.settings-hub-open small{font-size:10px;line-height:1.5;color:var(--fg-3)}.settings-hub button:focus-visible,.agent-voice-settings button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.action-confirmation{position:fixed;bottom:var(--crm-confirmation-clearance,72px);left:50%;transform:translateX(-50%);z-index:2000;display:flex;align-items:flex-start;gap:16px;max-width:min(620px,calc(100vw - 40px));box-sizing:border-box;padding:14px 18px;background:var(--panel);color:var(--fg);border:1px solid var(--accent);border-radius:12px;box-shadow:0 8px 30px #0003}.action-confirmation>div{display:flex;flex-direction:column;gap:5px}.action-confirmation strong{font-size:12px}.action-confirmation span{font-size:12px;line-height:1.5}.action-confirmation button{min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;font-size:20px;color:var(--fg);cursor:pointer;padding:0 3px}.action-confirmation[data-kind="error"]{border-color:var(--danger,#dc6b6b)}@media(max-width:1000px){.settings-hub-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.settings-hub-cards{grid-template-columns:1fr}.action-confirmation{bottom:var(--crm-confirmation-clearance,198px);width:calc(100vw - 32px)}}
@media(max-width:720px){.agent-voice-settings{padding:18px}.avs-grid{grid-template-columns:1fr}.avs-voices{grid-template-columns:repeat(2,minmax(0,1fr))}.avs-save{width:100%}}

.avs-voice-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.avs-voice-card[data-selected="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.avs-voice-card .avs-voice{width:100%;border:0;border-radius:0;box-shadow:none}.avs-demo{display:block;margin:0 12px 12px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}.avs-demo:hover{border-color:var(--accent)}.avs-demo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* The official OpenAI element lives inside the existing assistant dock. */
.anna-chatkit-controls{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);font-size:11px;flex-shrink:0}
.anna-chatkit-controls>span{margin-right:auto;color:var(--muted)}
.anna-chatkit-controls button{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--fg);padding:5px 8px;font:inherit;cursor:pointer}
.anna-chatkit-notice{margin:0;padding:8px 16px;font-size:12px;flex-shrink:0}
#anna-chatkit-root{display:none;min-height:0;flex:1;overflow:hidden}
#anna-chatkit-root[data-active="true"]{display:block}
.anna-chat-body[data-chatkit-hidden="true"]{display:none}

/* Conversation-first desktop layout, based on OpenAI's published Dots reference. */
.anna-dot-shell{display:flex;flex:1;min-height:0;position:relative;width:100%;margin:auto}
.anna-dot-shell:has(#anna-chatkit-root[data-active="false"]):not(:has(.anna-fallback-composer)){display:none}
/* Without ChatKit the history log sits above the composer; stacked, the log keeps its width instead of collapsing beside the full-width composer. */
.anna-dot-shell:has(.anna-fallback-log){flex-direction:column}
.anna-fallback-log{flex:1;min-height:0;overflow:auto;width:100%;max-width:820px;margin-inline:auto;padding:12px}
.anna-fallback-composer{display:flex;align-items:flex-end;gap:8px;padding:12px;margin:auto 0 0;width:100%;max-width:820px;margin-inline:auto}
.anna-fallback-composer .composer-controls{display:flex;align-items:flex-end;gap:8px;flex:1;min-width:0}
.anna-fallback-composer textarea{flex:1;min-width:0;resize:none}
.anna-dot-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:10px 24px;flex:none}
.anna-dot-toolbar>div{display:flex;align-items:center;gap:5px;flex:1}.anna-dot-toolbar>div:last-child{justify-content:flex-end}
.anna-dot-toolbar button{display:flex;align-items:center;gap:7px;min-height:34px;border:0;border-radius:9px;background:none;color:var(--ac-muted);padding:7px 9px;font-size:12px;white-space:nowrap}
.anna-dot-toolbar button:hover{background:var(--ac-panel);color:var(--ac-text)}.anna-dot-toolbar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.anna-dot-wordmark{font-size:12px;letter-spacing:.03em;color:var(--ac-muted)}
.anna-dot-identity{display:flex;align-items:center;flex-direction:column;gap:5px;padding:7px 24px 13px;flex:none;text-align:center}
.anna-dot-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#bdb5cc1f;margin-bottom:3px}.anna-dot-mark img{width:29px;height:29px;object-fit:contain}
.anna-dot-identity strong{font-size:17px;font-weight:500;letter-spacing:-.02em}.anna-dot-identity>span{font-size:11px;color:var(--ac-muted)}.anna-dot-identity small{font-size:10px;color:var(--ac-muted);min-height:15px}.anna-dot-identity button{border:0;background:none;color:var(--ac-accent);font-size:11px}
.anna-sidechat[data-chatkit-enabled="true"]>.anna-chat-header,.anna-sidechat[data-chatkit-enabled="true"]>.anna-sync{display:none}
.anna-sidechat[data-chatkit-enabled="true"][data-voice-active="false"] #anna-voice-header-root{display:none}
.anna-sidechat[data-chatkit-enabled="true"] .anna-dot-shell>#anna-chatkit-root{width:100%;max-width:820px;margin:0 auto;flex:1;min-width:0;min-height:0}
.anna-sidechat[data-chatkit-enabled="true"][data-view="dock"] .anna-dot-wordmark,.anna-sidechat[data-chatkit-enabled="true"][data-view="dock"] .anna-dot-toolbar button>span{display:none}
.anna-dot-footer{display:flex;justify-content:space-between;gap:12px;width:min(780px,100%);padding:0 20px 12px;align-self:center;color:var(--ac-muted);font-size:10px;flex:none}.anna-dot-footer button{font-size:10px;border:0;background:none;color:var(--ac-muted);padding:0}.anna-dot-footer button:hover{color:var(--ac-text)}
.anna-dot-review{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 auto 8px;padding:9px 14px;border:1px solid var(--ac-line);border-radius:12px;width:min(780px,calc(100% - 40px));font-size:12px}.anna-dot-review button{border:1px solid var(--ac-line);background:var(--ac-panel);padding:6px 10px;border-radius:8px;font-size:12px}
.anna-dot-business{position:absolute;right:16px;top:0;bottom:0;width:280px;z-index:10;display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:16px;box-shadow:0 14px 60px #0002;overflow:auto;animation:anna-message-in .2s ease-out}
.anna-dot-business header{display:flex;align-items:center;justify-content:space-between;font-size:14px}.anna-dot-business header button{border:0;background:none;font-size:23px;line-height:1;color:var(--ac-muted)}.anna-dot-business>p{font-size:12px;color:var(--ac-muted);margin:0;line-height:1.5}
.anna-dot-rules{position:relative;text-align:left;padding:13px;border:1px solid var(--ac-line);border-radius:12px;background:none}.anna-dot-rules strong{display:block;font-size:12px;font-weight:500}.anna-dot-rules small{display:block;font-size:10px;color:var(--ac-muted);margin-top:6px}.anna-dot-rules>span{position:absolute;right:12px;top:12px;color:var(--ac-muted)}
.anna-dot-tools{display:flex;flex-direction:column;gap:2px}.anna-dot-tools button{display:flex;justify-content:space-between;text-align:left;background:none;border:0;padding:10px 3px;font-size:12px;border-bottom:1px solid var(--ac-line)}.anna-dot-tools button>span{color:var(--ac-muted)}
.anna-dot-business footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}.anna-dot-business footer button{padding:10px 12px;border:1px solid var(--ac-line);border-radius:9px;background:none;font-size:11px}
@media(min-width:1200px){.anna-sidechat[data-view="full"] .anna-dot-shell:has(.anna-dot-business){padding-right:310px}}
@media(max-width:760px){.anna-dot-toolbar{padding:8px 12px;gap:8px}.anna-dot-wordmark,.anna-dot-toolbar button>span{display:none}.anna-dot-identity{padding:3px 20px 6px;gap:3px}.anna-dot-mark{width:36px;height:36px}.anna-dot-mark img{width:24px;height:24px}.anna-dot-identity strong{font-size:15px}.anna-dot-identity>span{display:none}.anna-dot-business{right:10px;width:min(300px,calc(100vw - 20px))}.anna-dot-footer>span{display:none}}
@media(prefers-reduced-motion:no-preference){.anna-sidechat[data-open="true"][data-view="full"][data-chatkit-enabled="true"]{animation:anna-dot-enter .32s cubic-bezier(.22,1,.36,1)}@keyframes anna-dot-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
.anna-sidechat[data-chatkit-enabled="true"]::before,.anna-sidechat[data-chatkit-enabled="true"]::after{display:none!important}
.anna-sidechat[data-chatkit-enabled="true"]{background:#212121!important;background-image:none!important;--ac-bg:#212121;--ac-panel:#292929;--ac-line:#ffffff16;--ac-text:#eeeeef;--ac-muted:#a2a2a8}
[data-appearance="Light"] .anna-sidechat[data-chatkit-enabled="true"],[data-zwt="light"] .anna-sidechat[data-chatkit-enabled="true"]{background:#fff!important;--ac-bg:#fff;--ac-panel:#f7f7f8;--ac-line:#00000014;--ac-text:#25262a;--ac-muted:#777780}

/* Call feedback stays visible alongside the native composer. */
.anna-dot-call{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 20px 10px;font-size:12px;flex-shrink:0}.anna-dot-call>span{color:var(--muted)}.anna-dot-call button{border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;padding:7px 12px;font:inherit;cursor:pointer}.anna-dot-call-note{max-width:680px;align-self:center;text-align:center;margin:0 20px 12px;color:var(--muted);font-size:12px;line-height:1.5;flex-shrink:0}.anna-dot-call button:focus-visible{outline:2px solid #b7aed0;outline-offset:3px}
.anna-sidechat[data-chatkit-enabled="true"] .anna-voice-carbon-host{display:none}

.anna-chatkit-label{display:block;text-align:center;color:var(--ac-muted);font-size:10px;padding:0 16px 6px;flex-shrink:0}
.anna-work-focus{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 16px;font-size:11px;flex-shrink:0;color:var(--ac-muted)}
.anna-work-focus select{font:inherit;background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:8px;color:var(--ac-text);padding:7px 26px 7px 9px;min-height:34px;max-width:160px}.anna-work-focus select:focus-visible{outline:2px solid #b7aed0;outline-offset:2px}.anna-work-focus select:disabled{opacity:.5}.anna-work-focus>span{font-size:10px}
@media(max-width:760px){.anna-work-focus>span{display:none}.anna-work-focus select{min-height:44px}.anna-work-focus{padding:4px 12px}}

/* Business rules stay inside the active conversation. */
.anna-conversation-rules{max-height:55vh;overflow:auto;border:1px solid var(--line);border-radius:16px;margin:12px;padding:18px;background:var(--surface)}
.anna-conversation-rules header{display:flex;align-items:center;justify-content:space-between;gap:12px}.anna-conversation-rules h3{margin:0}.anna-conversation-rules p{font-size:13px;line-height:1.5}.anna-conversation-rules fieldset{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px}.anna-conversation-rules button{padding:8px 12px;border-radius:10px}.anna-conversation-rules input,.anna-conversation-rules select{max-width:100%}.anna-conversation-rules .owner-rule-fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.anna-conversation-rules .owner-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0}
.anna-action-controls{margin-top:1.5rem;border-top:1px solid var(--line,rgba(127,127,127,.22));padding-top:1.2rem}
.anna-action-controls .bs-policy fieldset{display:grid;gap:.75rem;border:0;padding:0;margin:1rem 0}
.anna-action-controls .bs-policy label{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,1fr);gap:.6rem;align-items:center}
.anna-action-controls .bs-policy input,.anna-action-controls .bs-policy select,.conversation-action-catalog input{width:100%;min-width:0;padding:.6rem;border:1px solid var(--line,rgba(127,127,127,.3));border-radius:.5rem;background:transparent;color:inherit}
.anna-action-controls .bs-policy .bs-choice{display:flex;align-items:flex-start}.anna-action-controls .bs-policy .bs-choice input{width:auto;margin-top:.25rem}
.anna-action-controls button{margin:.4rem .5rem .4rem 0}
.conversation-action-catalog{margin-top:1.5rem}.conversation-action-list{display:grid;gap:.8rem;max-height:28rem;overflow:auto;overscroll-behavior:contain}
.conversation-action-list article{border:1px solid var(--line,rgba(127,127,127,.22));border-radius:.65rem;padding:.8rem}.conversation-action-list h4{margin:0 0 .25rem}.conversation-action-list code{display:block;font-size:.75rem;overflow-wrap:anywhere}.conversation-action-list p{font-size:.8rem;margin:.5rem 0 0}.conversation-action-lock{display:inline-block;font-size:.75rem;margin-top:.5rem;padding:.2rem .4rem;border-radius:.4rem;background:rgba(127,127,127,.12)}
@media(max-width:540px){.anna-action-controls .bs-policy label{grid-template-columns:1fr}.conversation-action-list{max-height:22rem}}
/* Owner-requested desktop chat sidebar over the existing private history. */
.anna-sidechat[data-chatkit-enabled="true"] .anna-chat-header,.anna-sidechat[data-chatkit-enabled="true"] .anna-sync,.anna-sidechat[data-chatkit-enabled="true"] .anna-work-focus{display:none}
.anna-chatkit-team{display:flex;flex-direction:column;gap:2px}.anna-chatkit-team button{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:none;color:inherit;font:inherit;font-size:13px;padding:9px 11px;cursor:pointer}.anna-chatkit-team button:hover,.anna-chatkit-team button[aria-pressed=true]{background:#303030}.anna-chatkit-sidebar .anna-chatkit-team-help{font-size:11px;line-height:1.5;padding:4px 11px 9px;margin:0;color:#8d8d8d}
.anna-chatkit-layout{display:flex;flex:1;min-height:0;min-width:0;width:100%;position:relative;overflow:hidden}.anna-chatkit-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;width:100%;overflow:hidden}
.anna-chatkit-sidebar{display:flex;flex-direction:column;flex:none;width:260px;min-height:0;background:#171717;color:var(--ac-text);padding:13px 10px 10px;font:13px/1.5 system-ui,sans-serif}.anna-chatkit-sidebar[data-open="false"]{display:none}.anna-chatkit-sidebar>header{display:flex;align-items:center;justify-content:space-between;margin:0 4px 17px;height:34px}.anna-chatkit-brand{display:grid;place-items:center;width:32px;height:32px;border:0;background:none;padding:5px}.anna-chatkit-brand img{width:24px;height:24px}.anna-chatkit-sidebar nav{display:flex;flex-direction:column;gap:2px}.anna-chatkit-sidebar nav>button{display:flex;align-items:center;gap:11px;min-height:37px;border:0;background:none;padding:8px 11px;border-radius:8px;text-align:left;font-size:12px;line-height:1.5}.anna-chatkit-sidebar nav>button:hover{background:#2a2a2a}.anna-chatkit-sidebar nav>button[aria-current="page"]{background:#303030}.anna-chatkit-sidebar nav svg{width:17px;height:17px;color:#bbb}.anna-chatkit-tools-toggle>small{margin-left:auto;color:#888}.anna-chatkit-sidebar-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-top:11px;scrollbar-width:thin}.anna-chatkit-sidebar-scroll h2{font-size:11px;font-weight:500;color:#929292;margin:14px 11px 7px}.anna-chatkit-sidebar .anna-chatkit-recents>button{display:block;min-height:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;width:100%}.anna-chatkit-sidebar .anna-chatkit-sidebar-tools{padding:0 0 4px 17px}.anna-chatkit-sidebar .anna-chatkit-sidebar-tools>button{font-size:11px;min-height:31px;color:#a9a9a9}.anna-chatkit-sidebar-scroll p{color:#999;font-size:11px;margin:9px 11px;line-height:1.6}.anna-chatkit-more{border:0;background:none;border-radius:8px;text-align:left;padding:9px 11px;font-size:11px;color:#999!important}.anna-chatkit-more:hover{background:#292929}.anna-chatkit-sidebar>footer{flex:none;padding-top:12px}.anna-chatkit-sidebar>footer>button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:9px;background:none;padding:9px;text-align:left}.anna-chatkit-sidebar>footer>button:hover{background:#292929}.anna-chatkit-account-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#343434;font-size:10px;flex:none}.anna-chatkit-sidebar footer strong{display:block;font-size:12px;font-weight:500}.anna-chatkit-sidebar footer small{display:block;font-size:10px;color:#929292}.anna-chatkit-sidebar footer>small{font-size:9px;text-align:center;margin-top:8px}.anna-chatkit-account-menu{margin-left:auto;color:#999;font-size:18px}
.anna-sidechat[data-view="dock"] .anna-chatkit-sidebar{position:absolute;inset:0 auto 0 0;z-index:21;width:min(280px,calc(100% - 42px));box-shadow:8px 0 25px #0004}.anna-chatkit-backdrop{position:absolute;inset:0;z-index:20;background:#0007;border:0;padding:0;width:100%;height:100%}
.anna-chatkit-search-layer{position:absolute;inset:0;z-index:30;display:flex;align-items:flex-start;justify-content:center;padding:clamp(24px,12vh,110px) 18px 24px}.anna-chatkit-search-backdrop{position:absolute;inset:0;background:#0008;border:0}.anna-chatkit-search{position:relative;width:min(560px,100%);max-height:75dvh;display:flex;flex-direction:column;background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:18px;box-shadow:0 25px 80px #0006;padding:19px;color:var(--ac-text)}.anna-chatkit-search header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.anna-chatkit-search h2{font-size:15px;font-weight:500;margin:0}.anna-chatkit-search input{border:1px solid var(--ac-line);border-radius:11px;background:var(--ac-bg);padding:12px;font:13px system-ui,sans-serif;color:inherit;width:100%;min-width:0}.anna-chatkit-search>p{color:var(--ac-muted);font-size:11px;margin:12px 0}.anna-chatkit-search-results{overflow:auto;min-height:0;overscroll-behavior:contain}.anna-chatkit-search-results>button{display:block;width:100%;border:0;border-radius:8px;background:none;text-align:left;padding:11px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-chatkit-search-results>button:hover,.anna-chatkit-search-results>button[aria-current="page"]{background:#ffffff0d}.anna-chatkit-search-results p{font-size:12px;color:var(--ac-muted);padding:9px}
.anna-sidechat[data-theme="light"] .anna-chatkit-sidebar,.v4-app[data-theme="light"] .anna-chatkit-sidebar,.app-shell[data-zwt="light"] .anna-chatkit-sidebar{background:#f6f6f6}.anna-sidechat[data-theme="light"] .anna-chatkit-sidebar nav>button:hover,.app-shell[data-zwt="light"] .anna-chatkit-sidebar nav>button:hover{background:#eaeaea}.app-shell[data-zwt="light"] .anna-chatkit-sidebar nav>button[aria-current="page"]{background:#e2e2e2}.app-shell[data-zwt="light"] .anna-chatkit-account-mark{background:#ddd}.app-shell[data-zwt="light"] .anna-chatkit-sidebar>footer>button:hover{background:#eaeaea}
@media(max-width:760px){.anna-chatkit-sidebar{position:absolute;inset:0 auto 0 0;z-index:21;width:min(280px,calc(100% - 42px));box-shadow:8px 0 25px #0004}.anna-chatkit-search-layer{padding-top:30px}.anna-chatkit-search{max-height:85dvh}.anna-chatkit-sidebar nav>button{min-height:42px}.anna-chatkit-sidebar .anna-chatkit-recents>button{min-height:39px}}
.anna-sidechat[data-chatkit-enabled="true"] .anna-voice-carbon-host{display:none}

.anna-chatkit-work-mode{display:flex;gap:4px;padding:3px;border:1px solid #333;border-radius:10px;margin:8px 12px 0}.anna-chatkit-work-mode button{flex:1;padding:7px 5px;font-size:11px;color:#aaa;background:transparent;border:0;border-radius:7px;cursor:pointer}.anna-chatkit-work-mode button[aria-pressed="true"]{background:#303030;color:#eee}.anna-chatkit-work-mode button:disabled{opacity:.5;cursor:default}
.anna-dot-toolbar .anna-dot-layout{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.anna-dot-layout svg{width:16px;height:16px}.anna-dot-layout span{font-size:12px}@media(max-width:1100px){.anna-dot-layout span{display:none}}

/* The native ChatKit conversation and every CRM workspace share these tokens.
   Semantic success/warning/error colors remain attached to their meaning. */
html,body{background:#000;font-family:system-ui,sans-serif}
.app-shell,.mobile-app,.v4-app,.app-shell:not([data-zwt=light]),.mobile-app:not([data-zwt=light]),.v4-app[data-theme=dark]{
  --font:system-ui,sans-serif;--board:#000;--screen:#000;--bg:#000;
  --card:#171717;--card-border:#303030;--card-sh:none;--card-sh-hi:none;
  --ink:#f0f0f0;--ink2:#b4b4b4;--ink3:#a0a0a0;--mute:#a0a0a0;--faint:#888;
  --board-ink:#f0f0f0;--board-soft:#a0a0a0;--fg:#f0f0f0;--fg-2:#b4b4b4;--fg-3:#a0a0a0;
  --line:#292929;--line2:#303030;--line3:#444;--line-soft:#242424;
  --primary:#9ccfff;--on-primary:#081624;--primary-sh:none;--press:none;
  --accent:#9ccfff;--accent-ink:#9ccfff;--accent-soft:#9ccfff16;
  --accent-tint:#9ccfff16;--accent-line:#9ccfff40;--on-accent:#081624;
  --violet-ink:#9ccfff;--sky-ink:#9ccfff;--glass:#171717;--glass-sh:none;
  --pill:#303030;--pill-sh:none;--inset:#171717;--inset-ring:#303030;
  --btn:#212121;--hover:#292929;--hover2:#242424;--seg:#303030;--track:#303030;
  --tab-bar:#171717;--tab-on:#9ccfff;--tab-line:#303030;--cut:#171717;
  --sidebar:#171717;--panel:#171717;--panel-2:#212121;--chip:#303030;
  --nav-active:#303030;--seg-off:#303030;--btn-bg:#9ccfff;--btn-fg:#081624;
  --readable-surface:#171717;--muted-surface:#212121;--field-edge:#555;
  --polish-edge:#303030;--polish-shadow:none;--polish-panel:#171717;
  --an-blue:#9ccfff;--an-purple:#b4b4b4;--an-muted:#a0a0a0;
  font-family:var(--font);font-size:15px;background:var(--board);color:var(--ink);
}
/* Some v4 page roots carry .v4-app too (automations, command, payments, platform, reputation). Without the theme on
   them they took the dark tokens above inside a Light workspace: #f0f0f0 recipe titles on #f7f7f7 (UX sweep 2 N23). */
.app-shell[data-zwt=light],.mobile-app[data-zwt=light],.v4-app[data-theme=light],.v4-app[data-theme=light] .v4-app{
  --board:#fff;--screen:#fff;--bg:#fff;--card:#f7f7f7;--card-border:#dedede;
  --ink:#1d1d1f;--ink2:#555;--ink3:#666;--mute:#666;--faint:#777;
  --board-ink:#1d1d1f;--board-soft:#666;--fg:#1d1d1f;--fg-2:#555;--fg-3:#666;
  --line:#dedede;--line2:#dedede;--line3:#bbb;--line-soft:#e8e8e8;
  --primary:#0066d6;--on-primary:#fff;--accent:#0066d6;--accent-ink:#0066d6;
  --accent-soft:#007aff0f;--accent-tint:#007aff0f;--accent-line:#007aff40;--on-accent:#fff;
  --violet-ink:#0066d6;--sky-ink:#0066d6;--glass:#f7f7f7;--pill:#ededed;
  --inset:#f7f7f7;--inset-ring:#dedede;--btn:#f7f7f7;--hover:#ededed;--hover2:#f3f3f3;
  --seg:#ededed;--track:#dedede;--tab-bar:#f7f7f7;--tab-on:#0066d6;--cut:#f7f7f7;
  --sidebar:#f7f7f7;--panel:#f7f7f7;--panel-2:#ededed;--chip:#ededed;
  --nav-active:#e5e5e5;--seg-off:#ededed;--btn-bg:#0066d6;--btn-fg:#fff;
  --readable-surface:#f7f7f7;--muted-surface:#ededed;--field-edge:#888;
  --polish-edge:#dedede;--polish-panel:#f7f7f7;--an-blue:#0066d6;--an-purple:#666;--an-muted:#666;
}
.app-shell :is(button,input,textarea,select),.mobile-app :is(button,input,textarea,select),.v4-app :is(button,input,textarea,select){font-family:inherit}
.app-shell :is(.workspace-main,.workspace-header,.crm-workspace,.crm-page,.analytics-workspace,.finance-view){background:var(--screen)}
.app-shell>.sidebar,.app-shell .mobile-nav{background:var(--sidebar);border-color:var(--line)}
.app-shell .sidebar :is(.nav-item,.nav-search,.workspace-switch){border-radius:10px;font-size:13px;font-weight:400}
.app-shell .nav-item[aria-current=page]{background:var(--nav-active);color:var(--ink)}
.app-shell :is(.crm-panel,.backend-modal,.backend-approval-card,.decision-panel,.schedule-panel,.trust-card,.finance-summary,.analytics-panel){background:var(--card);border-color:var(--line2);border-radius:16px;box-shadow:none}
.app-shell :is(.primary-button,.crm-primary,.backend-primary){background:var(--primary);color:var(--on-primary);border-color:transparent;border-radius:999px;box-shadow:none}
.app-shell :is(.secondary-button,.crm-secondary,.backend-secondary,.backend-search input){background:var(--btn);border-color:var(--line3);border-radius:12px;box-shadow:none}
.app-shell :is(input,textarea,select):focus-visible,.app-shell button:focus-visible,.v4-app :is(input,textarea,select,button):focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.analytics-workspace{--an-blue:var(--accent-ink);--an-purple:var(--ink2);--an-muted:var(--ink3)}
.anna-sidechat[data-chatkit-enabled=true]{--ac-bg:#000;--ac-panel:#303030;--ac-line:#303030;--ac-text:#f0f0f0;--ac-muted:#a0a0a0;--ac-accent:#9ccfff;background:#000!important;font-family:system-ui,sans-serif}
.anna-sidechat[data-chatkit-enabled=true] .anna-chatkit-sidebar{background:#171717;color:#f0f0f0}
.anna-sidechat[data-chatkit-enabled=true] :is(.anna-chatkit-team button[aria-pressed=true],.anna-chatkit-recents button[aria-current=page],.anna-chatkit-work-mode button[aria-pressed=true]){background:#303030;color:#f0f0f0}
.anna-sidechat[data-chatkit-enabled=true] :is(.anna-chatkit-search,.anna-dot-business){background:#171717;border-color:#303030;color:#f0f0f0}
.anna-sidechat[data-chatkit-enabled=true] .anna-dot-mark{background:#212121}
.app-shell[data-zwt=light] .anna-sidechat[data-chatkit-enabled=true],.mobile-app[data-zwt=light] .anna-sidechat[data-chatkit-enabled=true],.v4-app[data-theme=light] .anna-sidechat[data-chatkit-enabled=true]{--ac-bg:#fff;--ac-panel:#ededed;--ac-line:#dedede;--ac-text:#1d1d1f;--ac-muted:#666;--ac-accent:#0066d6;background:#fff!important}
.app-shell[data-zwt=light] .anna-chatkit-sidebar,.v4-app[data-theme=light] .anna-chatkit-sidebar{background:#f7f7f7!important;color:#1d1d1f!important}
.app-shell[data-zwt=light] .anna-sidechat :is(.anna-chatkit-team button[aria-pressed=true],.anna-chatkit-recents button[aria-current=page],.anna-chatkit-work-mode button[aria-pressed=true]),.v4-app[data-theme=light] .anna-sidechat :is(.anna-chatkit-team button[aria-pressed=true],.anna-chatkit-recents button[aria-current=page],.anna-chatkit-work-mode button[aria-pressed=true]){background:#e5e5e5;color:#1d1d1f}

/* The deployed cf-shell also supplies inline presentation tokens. Use its
   existing palette contract so newer CRM tools inherit the same chat theme. */
:root{
  --cf-canvas:#000!important;--cf-surface:#171717!important;--cf-field:#212121!important;
  --cf-hover:#303030!important;--cf-text:#f0f0f0!important;--cf-muted:#b4b4b4!important;
  --cf-subtle:#a0a0a0!important;--cf-border:#303030!important;--cf-strong:#444!important;
  --cf-primary:#9ccfff!important;--cf-on-primary:#081624!important;--cf-focus:#9ccfff!important;
}
:root[data-cf-theme=light]{
  --cf-canvas:#fff!important;--cf-surface:#f7f7f7!important;--cf-field:#ededed!important;
  --cf-hover:#e5e5e5!important;--cf-text:#1d1d1f!important;--cf-muted:#555!important;
  --cf-subtle:#666!important;--cf-border:#dedede!important;--cf-strong:#bbb!important;
  --cf-primary:#0066d6!important;--cf-on-primary:#fff!important;--cf-focus:#0066d6!important;
}
.cf-shell.app-shell{font-family:system-ui,sans-serif!important;font-size:15px!important}
.cf-shell.app-shell>.sidebar{background:var(--cf-surface)!important;--accent:#9ccfff}
.cf-shell.app-shell :is(.nav-item,.nav-search,.nav-category-toggle){font-family:system-ui,sans-serif!important;font-size:13px!important;font-weight:400!important;border-radius:10px!important}
.cf-shell.app-shell :is(.workspace-header,.crm-workspace,.analytics-workspace,.finance-view){font-family:system-ui,sans-serif}
.app-shell[data-anna-open=true] .cf-home-message{display:none}

/* Persistent conversation navigation and a quieter hierarchy for every tool.
   8 / 12 / 16 / 24 / 32 / 48 spacing; detail remains in existing tools. */
[data-chatkit-shell=true]{--ck-nav-space:260px;--ck-ease:cubic-bezier(.22,1,.36,1);--ac-text:var(--ink);--ac-muted:var(--ink3);--ac-panel:var(--card);--ac-line:var(--line2);--ac-bg:var(--screen)}
[data-chatkit-shell=true][data-chatkit-collapsed=true]{--ck-nav-space:0px}
.app-shell:not(.mobile-app)[data-chatkit-shell=true],.v4-app[data-chatkit-shell=true]{grid-template-columns:minmax(0,1fr)!important;padding-left:var(--ck-nav-space)!important;transition:padding-left .28s var(--ck-ease),padding-right .28s var(--ck-ease)}
[data-chatkit-shell=true]>.sidebar,[data-chatkit-shell=true]>.v4-sidebar,[data-chatkit-shell=true]>.navigation-resize{display:none!important}
[data-chatkit-shell=true] .navigation-resize,[data-chatkit-shell=true] .nav-reopen-edge{display:none!important}
[data-chatkit-shell=true]>.workspace-main,[data-chatkit-shell=true]>.v4-main{width:100%;min-width:0;margin:0}
[data-chatkit-shell=true][data-anna-open=true][data-anna-view=full]{padding-right:0!important}
[data-chatkit-shell=true] .anna-sidechat[data-view=full]{left:var(--ck-nav-space);right:0;width:calc(100% - var(--ck-nav-space));animation:none!important;border:0}
.ck-navigation-host{display:contents}
.ck-navigation-host>.anna-chatkit-sidebar{position:fixed;inset:0 auto 0 0;z-index:105;width:260px;height:100dvh;display:flex!important;color:var(--ink);background:var(--sidebar);box-shadow:none;transform:translateX(0);visibility:visible;transition:transform .28s cubic-bezier(.22,1,.36,1),visibility .28s;overflow:hidden}
.ck-navigation-host>.anna-chatkit-sidebar[data-open=false]{transform:translateX(-100%);visibility:hidden;pointer-events:none}
.ck-navigation-host>.anna-chatkit-backdrop{position:fixed;z-index:104;animation:ck-fade-in .18s ease-out}
.ck-navigation-host>.anna-chatkit-search-layer{position:fixed;z-index:115}
.ck-navigation-host :is(button,input,select){font-family:system-ui,sans-serif;color:inherit}
.ck-navigation-host .anna-chatkit-sidebar>header{margin-bottom:16px}
.ck-navigation-host .anna-chatkit-sidebar nav>button{min-height:40px;font-size:13px;padding:10px 12px;font-weight:400;transition:background .16s ease,color .16s ease}
.ck-navigation-host .anna-chatkit-sidebar :is(button:hover,button[aria-current=page],button[aria-pressed=true]){background:var(--nav-active);color:var(--ink)}
.ck-navigation-host .anna-chatkit-sidebar-scroll{padding-top:8px}
.ck-navigation-host .anna-chatkit-sidebar-tools{padding:0 0 12px}
.ck-navigation-host .anna-chatkit-sidebar-tools>input{width:calc(100% - 20px);margin:8px 10px 12px;border:1px solid var(--line2);background:var(--panel-2);border-radius:10px;min-height:38px;padding:8px 10px;font-size:12px;color:var(--ink)}
.ck-tool-heading,.ck-team-toggle{display:flex!important;align-items:center;justify-content:space-between;width:100%;gap:10px;border:0;border-radius:8px;padding:10px 12px;background:none;text-align:left;font-size:12px;font-weight:500!important;color:var(--ink2)!important;cursor:pointer}
.ck-tool-heading>span:last-child,.ck-team-toggle>span{transition:transform .22s var(--ck-ease)}
:is(.ck-tool-heading,.ck-team-toggle)[aria-expanded=true]>span:last-child{transform:rotate(180deg)}
.ck-tool-heading[data-active=true]{color:var(--ink)!important}
.ck-tool-items{padding:0 0 8px 14px;animation:ck-reveal .2s var(--ck-ease)}
.ck-tool-items>button{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:none;text-align:left;line-height:1.5;font-size:12px;min-height:36px;color:var(--ink2);cursor:pointer}
.ck-team-toggle{margin:8px 0 0}.ck-navigation-host .anna-chatkit-sidebar h2{margin:24px 12px 8px;color:var(--ink3);font-size:12px;letter-spacing:0}
.ck-navigation-host .anna-chatkit-sidebar>footer{border-top:1px solid var(--line);padding-top:8px}
.ck-navigation-host .anna-chatkit-sidebar>footer .ck-workspace-switch{font-size:12px;min-height:38px;justify-content:space-between;gap:8px;padding:8px 12px}.ck-workspace-switch>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-navigation-host .anna-chatkit-sidebar>footer .ck-theme-switch{font-size:11px;color:var(--ink3);justify-content:center;padding:4px;min-height:28px}
.ck-workspace-controls{position:fixed;z-index:81;top:10px;left:calc(var(--ck-nav-space) + 12px);display:flex;align-items:center;gap:4px;transition:left .28s var(--ck-ease)}
.ck-workspace-controls>button{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:0;border-radius:9px;background:var(--screen);color:var(--ink2);padding:8px;cursor:pointer;font-size:13px}
.ck-workspace-controls>button:hover{background:var(--hover)}.ck-workspace-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ck-workspace-controls .ck-open-chat{color:var(--accent-ink);padding-inline:10px}
[data-chatkit-shell=true] :is(.workspace-header,.v4-workspace-header){padding-left:116px!important;min-height:56px;gap:16px;background:var(--screen);border-bottom-color:var(--line-soft)}
/* Existing tabs, search, notifications, charts and every record action survive. */
[data-chatkit-shell=true] :is(.work-page,.crm-workspace,.analytics-workspace,.finance-view,.home-page){width:100%;max-width:1280px;margin-inline:auto;padding:32px clamp(20px,3vw,48px) 48px!important;font-family:system-ui,sans-serif!important}
[data-chatkit-shell=true] :is(.work-heading,.page-heading){margin:0 0 32px!important;gap:24px!important;align-items:flex-start}
[data-chatkit-shell=true] :is(.work-heading,.page-heading) h1{font-family:system-ui,sans-serif!important;font-size:clamp(26px,2vw,32px)!important;font-weight:550!important;line-height:1.25!important;letter-spacing:-.025em!important;margin:0 0 12px!important}
[data-chatkit-shell=true] :is(.work-heading,.page-heading)>div>p{font-size:14px!important;line-height:1.6!important;color:var(--ink3)!important;max-width:65ch;margin:0!important}
[data-chatkit-shell=true] :is(.crm-panel,.backend-panel,.analytics-panel,.finance-summary,.schedule-panel,.trust-card,.ps-workspace){background:var(--card)!important;border:1px solid var(--line2)!important;border-radius:16px!important;box-shadow:none!important;padding:24px!important}
[data-chatkit-shell=true] :is(.work-page,.analytics-workspace,.crm-workspace) h2{font-family:system-ui,sans-serif!important;font-weight:500!important;font-size:18px!important;line-height:1.35!important;letter-spacing:-.015em}
[data-chatkit-shell=true] :is(.backend-search,.crm-toolbar,.restoration-toolbar){gap:12px!important;flex-wrap:wrap;padding-block:16px!important;align-items:center}
[data-chatkit-shell=true] :is(.crm-field,.backend-field){gap:8px!important}.restoration-editor .crm-form-grid{gap:24px!important}
[data-chatkit-shell=true] :is(.crm-field,.backend-field)>label{font-size:13px;font-weight:500}
[data-chatkit-shell=true] :is(.crm-field,.backend-field) :is(input,textarea,select){padding:12px 14px;line-height:1.5;border-radius:12px}
[data-chatkit-shell=true] :is(.primary-button,.crm-primary,.backend-primary){border-radius:999px!important;min-height:40px;box-shadow:none!important;font-weight:500}
[data-chatkit-shell=true] :is(.secondary-button,.crm-secondary,.backend-secondary){border-radius:10px!important;min-height:36px;font-weight:400;box-shadow:none!important}
[data-chatkit-shell=true] :is(.crm-table,.backend-table) :is(th,td){padding:14px 16px!important;line-height:1.5;vertical-align:middle}
[data-chatkit-shell=true] :is(.crm-table,.backend-table) th{font-weight:500;font-size:12px;color:var(--ink3);background:var(--panel-2)}
[data-chatkit-shell=true] :is(.related-workspaces,.restoration-related,.crm-subnav){gap:8px;flex-wrap:wrap;margin-block:16px}
[data-chatkit-shell=true] :is(.dx-tabs,.px-header-tools){gap:8px}.ck-navigation-host :focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.ck-nav-swipe-edge{display:none}
@keyframes ck-fade-in{from{opacity:0}to{opacity:1}}@keyframes ck-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
 [data-chatkit-shell=true]{--ck-nav-space:0px!important}
 .app-shell:not(.mobile-app)[data-chatkit-shell=true],.v4-app[data-chatkit-shell=true]{padding-left:0!important;padding-right:0!important}
 [data-chatkit-shell=true] .anna-sidechat{max-width:100vw;width:100vw!important;left:0!important;right:0!important}
 .ck-navigation-host>.anna-chatkit-sidebar{width:min(280px,calc(100vw - 48px));box-shadow:12px 0 48px #0006;padding-top:max(13px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .ck-workspace-controls{left:8px;top:8px}.ck-nav-swipe-edge{display:block;position:fixed;left:0;top:60px;bottom:0;width:16px;z-index:103;touch-action:pan-y}
 [data-chatkit-collapsed=false] .ck-nav-swipe-edge{display:none}
 .ck-navigation-host .anna-chatkit-sidebar{touch-action:pan-y}
 [data-chatkit-shell=true] :is(.work-page,.crm-workspace,.analytics-workspace,.finance-view,.home-page){padding:24px 16px 32px!important}
 [data-chatkit-shell=true] :is(.work-heading,.page-heading){margin-bottom:24px!important;gap:16px!important;flex-wrap:wrap}
 [data-chatkit-shell=true] :is(.crm-panel,.backend-panel,.analytics-panel,.finance-summary,.schedule-panel,.trust-card,.ps-workspace){padding:16px!important}
 /* The inspector's sticky title and footer bleed to the panel edge with a negative margin sized for its 18px padding; the 16px padding above would leave them 2px too wide at 320px. */
 [data-chatkit-shell=true] .restoration-inspector>.crm-panel-title{margin:-16px -16px 12px!important;padding-inline:16px!important;top:-16px}
 [data-chatkit-shell=true] .restoration-inspector .dx-preview-footer{margin-inline:-16px!important;margin-bottom:-16px!important;padding-inline:16px!important;bottom:-16px}
 [data-chatkit-shell=true] :is(.workspace-header,.v4-workspace-header,.phone-header){padding-left:106px!important;min-height:52px}
 .ck-tool-items>button,.ck-navigation-host .anna-chatkit-sidebar nav>button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){[data-chatkit-shell=true],[data-chatkit-shell=true] *,[data-chatkit-shell=true] *::before,[data-chatkit-shell=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[data-chatkit-shell=true][data-motion=false],[data-chatkit-shell=true][data-motion=false] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Let page content sit on the chat canvas; only meaningful groups get a surface. */
[data-chatkit-shell=true] :is(.dx-workspace-body,.work-page,.crm-workspace,.analytics-workspace,.finance-view,.home-page){background:var(--screen)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
[data-chatkit-shell=true] .dx-workspace-body{padding:0!important}
[data-chatkit-shell=true] .work-heading>div:first-child{flex:1 1 260px;min-width:0}
[data-chatkit-shell=true] .work-heading :is(.crm-actions,.work-actions){flex:0 0 auto;gap:8px}
[data-chatkit-shell=true] .ps-workspace{padding:16px 20px!important;background:var(--screen)!important;border-color:var(--line)!important}
[data-chatkit-shell=true] .ps-workspace h2{font-size:15px!important}
[data-chatkit-shell=true] .ps-workspace>header p{font-size:13px;line-height:1.6}
[data-chatkit-shell=true] .px-header-tools .ask-fab{display:none!important}
.ck-native-views{margin:12px 8px 8px;font-size:12px;color:var(--ink3)}.ck-native-views>summary{cursor:pointer;padding:10px 4px;border-radius:8px}.ck-native-views h3{font-size:11px;font-weight:500;color:var(--ink3);margin:16px 6px 6px}.ck-native-views button{display:flex;justify-content:space-between;width:100%;min-height:38px;text-align:left;padding:8px 10px;border:0;border-radius:8px;background:none;font-size:12px;color:var(--ink2);cursor:pointer}.ck-native-views button small{color:var(--accent-ink);margin-left:8px}
@media(max-width:760px){[data-chatkit-shell=true]{--phone-nav-height:69px}[data-chatkit-shell=true] .anna-sidechat{bottom:var(--phone-nav-height,69px);height:auto}[data-chatkit-shell=true] .phone-nav{position:relative;z-index:100}[data-chatkit-shell=true] .mobile-nav{display:none!important}[data-chatkit-shell=true] .workspace-header .dx-tabs{display:none!important}[data-chatkit-shell=true] .work-heading>div:first-child{flex-basis:100%}[data-chatkit-shell=true] .work-heading{padding-bottom:16px!important}[data-chatkit-shell=true] .ps-workspace{padding:16px!important}[data-chatkit-shell=true] .workspace-main{padding-bottom:0!important}}

.ck-navigation-host .anna-chatkit-search{animation:ck-reveal .22s var(--ck-ease)}
[data-chatkit-shell=true] :is(button,a,input,select,textarea){transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
[data-chatkit-shell=true] button:active:not(:disabled){filter:brightness(.94)}
/* A premium shell paints its main area black (premium-upgrade.css) while still carrying the light theme tokens.
   Dark surfaces take dark muted text; the light chat sidebar and side panel inside the same shell keep light muted text. */
.v4-app.premium-shell:not(.anna-chatkit-sidebar){--fg-2:#b4b4b4;--fg-3:#a0a0a0;--ink2:#b4b4b4;--ink3:#a0a0a0;--mute:#a0a0a0;--board-soft:#a0a0a0;--faint:#888}
/* On desktop the presentation theme repaints that black ground light in a Light workspace, so Light keeps light-theme muted
   text on the shell and on the v4 page roots that are premium shells too: the dark values above measured 1.9-2.6:1 there
   (sidebar group labels, page descriptions; UX sweep 2 N23). */
.premium-shell.v4-app[data-theme=light],.v4-app[data-theme=light] .v4-app.premium-shell{--fg-2:#555;--fg-3:#666;--ink2:#555;--ink3:#666;--mute:#666;--board-soft:#666;--faint:#777}
.premium-shell.v4-app[data-theme=light] :is(.anna-chatkit-sidebar,.anna-sidechat){--fg-2:#555;--fg-3:#666;--ink2:#555;--ink3:#666;--mute:#666;--board-soft:#666;--faint:#777;--ac-muted:#666}
.premium-shell.v4-app[data-theme=light] .anna-chatkit-account-mark{background:#ddd}
.premium-shell.v4-app[data-theme=light] .anna-chatkit-sidebar :is(p,small,button,span):not([aria-current],[aria-pressed=true]){color:#555!important}
.anna-fallback-failed{border-inline-start:3px solid #b42318;padding-inline-start:9px}.anna-fallback-state{color:#b42318;font-weight:600}
/* QA sweep 2 N8: Retry for an unconfirmed reply; a 44px target that inherits the panel's colours in both looks. */
.anna-fallback-retry{min-height:44px;min-width:44px;margin:-4px 0 8px 12px;padding:0 14px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.anna-fallback-retry:disabled{opacity:.5;cursor:default}.anna-fallback-retry:focus-visible{outline:2px solid currentColor;outline-offset:2px}
/* F3: the pending reply says the AI Manager is working (no empty "AI Manager:" bubble); a held Send says why, on its own row. */
.anna-fallback-working{display:flex;align-items:center;gap:8px;opacity:.78;font-style:italic}
.anna-fallback-dots{display:inline-flex;gap:3px}.anna-fallback-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:anna-fallback-dot 1.2s ease-in-out infinite}
.anna-fallback-dots i:nth-child(2){animation-delay:.15s}.anna-fallback-dots i:nth-child(3){animation-delay:.3s}
@keyframes anna-fallback-dot{0%,80%,100%{opacity:.35}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.anna-fallback-dots i{animation:none;opacity:.6}}
.composer-controls:has(.anna-busy-note){flex-wrap:wrap;height:auto}
.composer-controls .anna-busy-note{flex-basis:100%;order:9;margin:4px 2px 0;font-size:12px;line-height:1.35;opacity:.85}
/* QA sweep 3 S2b: the phone chat dialog's composer kept the home composer's fixed 40px row
   (.mobile-app:has(.home-viewport) .composer-controls), so the "still replying" note wrapped below the screen. */
.mobile-app .anna-sidechat .anna-fallback-composer .composer-controls:has(.anna-busy-note){height:auto}
/* At 85% opacity the note fell under 4.5:1 on the phone's light dialog; it stays at full ink there. */
.mobile-app .anna-sidechat .anna-fallback-composer .anna-busy-note{opacity:1}
/* S2: while the toast sits over an open chat transcript, the transcript ends above it (the reserve is the toast's
   height plus a gap, measured in SettingsExperienceWorkspace), so the toast never covers Retry or the newest reply. */
.anna-fallback-log{margin-bottom:var(--crm-confirmation-reserve,0px)}
/* One Manager, voice first: the talk button leads the conversation; threads are grouped by recency. */
.anna-dot-identity .anna-dot-talk{display:inline-flex;align-items:center;gap:8px;margin-top:6px;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:#2563eb;color:#fff;font:500 14px/1 system-ui,sans-serif;cursor:pointer}
.anna-dot-identity .anna-dot-talk svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.anna-dot-identity .anna-dot-talk:hover{background:#1d4ed8}.anna-dot-identity .anna-dot-talk:disabled{opacity:.5;cursor:default}
.anna-dot-identity .anna-dot-talk:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.anna-chatkit-recents .ck-thread-group{margin:12px 11px 4px;font-size:11px;font-weight:500;color:#8d8d8d;letter-spacing:0}
.anna-chatkit-recents .ck-thread-group:first-child{margin-top:2px}
.anna-chatkit-sidebar .ck-work-head{display:flex;align-items:center;justify-content:space-between}.anna-chatkit-sidebar .ck-work-head h2{margin-right:0}.anna-chatkit-sidebar .ck-work-refresh{border:0;background:none;color:#929292;border-radius:6px;min-width:28px;min-height:28px;margin:8px 6px 0 0}.anna-chatkit-sidebar .ck-work-refresh:hover{background:#2a2a2a}.anna-chatkit-sidebar .ck-work-counts{display:flex;flex-wrap:wrap;gap:4px;margin:0 11px 6px}.anna-chatkit-sidebar .ck-work-counts:empty{display:none}.anna-chatkit-sidebar .ck-work-counts span{font-size:10px;padding:1px 7px;border-radius:999px;background:#262626;color:#c8c8c8}.anna-chatkit-sidebar .ck-work-counts span[data-state=needs]{background:#3b2a12;color:#f5c26b}.anna-chatkit-sidebar .ck-work-counts span[data-state=failed]{background:#3a1d1d;color:#f19a9a}.anna-chatkit-sidebar .ck-work-list{list-style:none;margin:0;padding:0}.anna-chatkit-sidebar .ck-work-list li>button,.anna-chatkit-sidebar .ck-work-list li{display:block;width:100%}.anna-chatkit-sidebar .ck-work-list li>button{border:0;background:none;border-radius:8px;padding:6px 11px;text-align:left;min-height:40px}.anna-chatkit-sidebar .ck-work-list li>span{display:block;padding:6px 11px 0}.anna-chatkit-sidebar .ck-work-list li>small{display:block;padding:0 11px 6px}.anna-chatkit-sidebar .ck-work-list li>button:hover{background:#2a2a2a}.anna-chatkit-sidebar .ck-work-list span{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-chatkit-sidebar .ck-work-list small{display:block;font-size:10px;color:#929292;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-chatkit-sidebar .ck-work-list li[data-state=needs] small{color:#f5c26b}.anna-chatkit-sidebar .ck-work-list li[data-state=failed] small{color:#f19a9a}
.anna-sidechat[data-theme=light] .anna-chatkit-sidebar :is(.ck-work-counts span,.ck-work-list li>button:hover,.ck-work-refresh:hover),.app-shell[data-zwt=light] .anna-chatkit-sidebar :is(.ck-work-counts span,.ck-work-list li>button:hover,.ck-work-refresh:hover),.v4-app[data-theme=light] .anna-chatkit-sidebar :is(.ck-work-counts span,.ck-work-list li>button:hover,.ck-work-refresh:hover){background:#ececec;color:#333}.anna-sidechat[data-theme=light] .anna-chatkit-sidebar .ck-work-list li[data-state=needs] small,.app-shell[data-zwt=light] .anna-chatkit-sidebar .ck-work-list li[data-state=needs] small,.v4-app[data-theme=light] .anna-chatkit-sidebar .ck-work-list li[data-state=needs] small{color:#9a5b00}.anna-sidechat[data-theme=light] .anna-chatkit-sidebar .ck-work-list li[data-state=failed] small,.app-shell[data-zwt=light] .anna-chatkit-sidebar .ck-work-list li[data-state=failed] small,.v4-app[data-theme=light] .anna-chatkit-sidebar .ck-work-list li[data-state=failed] small{color:#b42318}

/* Owner Projects (ff.ui-projects.enabled): the fifth Home place, its dialog, the sidebar filter and the chat header chip. */
.pj-panel{width:min(600px,100%);max-height:min(80dvh,760px);background:var(--screen,var(--ac-panel,#171717));color:var(--ink,var(--ac-text,#eee));border-color:var(--line,var(--ac-line,#333))}
.pj-panel>header{gap:8px}.pj-panel>header h2{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-panel .pj-back{border:0;background:none;border-radius:8px;min-width:36px;min-height:36px;font-size:20px;line-height:1;cursor:pointer}
.pj-body{overflow:auto;min-height:0;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px}
.pj-body p{margin:0;font-size:12px;line-height:1.55}.pj-intro,.pj-meta,.pj-empty{color:var(--ink3,var(--ac-muted,#999))}
.pj-body h3{margin:10px 0 0;font-size:12px;font-weight:500;color:var(--ink3,var(--ac-muted,#999))}
.pj-error{color:#f19a9a}.pj-notice{color:var(--ink2,inherit)}
.pj-body button{font:inherit;color:inherit;cursor:pointer}.pj-body button:disabled{opacity:.55;cursor:default}
.pj-new{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2,var(--ac-line,#333));background:none;border-radius:999px;padding:8px 14px;min-height:38px;font-size:13px}
.pj-list,.pj-threads{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pj-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;border:0;background:none;border-radius:10px;padding:10px 12px;text-align:left;min-height:44px}
.pj-row strong{font-size:13px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-row span{font-size:12px;color:var(--ink2,inherit);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pj-row small,.pj-thread small{font-size:11px;color:var(--ink3,var(--ac-muted,#999))}
.pj-row:hover,.pj-row[aria-current=true],.pj-thread:hover,.pj-thread[aria-current=page],.pj-remove:hover{background:var(--nav-active,#ffffff12)}
.pj-outcome{font-size:13px!important;white-space:pre-wrap;overflow-wrap:anywhere}
.pj-actions{display:flex;flex-wrap:wrap;gap:8px}
.pj-actions>button{border:1px solid var(--line2,var(--ac-line,#333));background:none;border-radius:10px;padding:8px 14px;min-height:38px;font-size:13px}
.pj-actions>.pj-primary{background:var(--ink,#eee);color:var(--screen,#171717);border-color:transparent}
.pj-archive[data-confirm=true]{border-color:#f19a9a;color:#f19a9a}
.pj-threads li{display:flex;align-items:center;gap:4px}
.pj-thread{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:none;border-radius:8px;padding:9px 11px;text-align:left;min-height:40px}
.pj-thread span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.pj-remove{flex:none;border:0;background:none;border-radius:8px;min-width:36px;min-height:36px;color:var(--ink3,#999);font-size:16px}
.pj-form{display:flex;flex-direction:column;gap:6px}.pj-form label{font-size:12px;font-weight:500}.pj-form label small{font-weight:400;color:var(--ink3,#999)}
.pj-form input,.pj-form textarea{font:13px/1.5 system-ui,sans-serif;color:inherit;background:var(--panel-2,transparent);border:1px solid var(--line2,var(--ac-line,#333));border-radius:10px;padding:10px 12px;width:100%;min-width:0;resize:vertical}
.pj-form .pj-actions{margin-top:6px}
.pj-filter{display:flex;align-items:center;gap:4px;margin:16px 6px 0;padding:4px;border:1px solid var(--line,#333);border-radius:10px}
.pj-filter button{border:0;background:none;border-radius:8px;min-height:32px;padding:6px 8px;font-size:12px;cursor:pointer}
.pj-filter .pj-filter-name{flex:1;min-width:0;display:flex;align-items:center;gap:6px;text-align:left}
.pj-filter .pj-filter-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.pj-filter .pj-filter-clear{flex:none;color:var(--ink3,#999)}.pj-filter button:hover{background:var(--nav-active,#ffffff12)}
.pj-filter svg,.pj-chip svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pj-chip{display:inline-flex;align-items:center;gap:6px;max-width:min(320px,70vw);margin-top:4px;border:1px solid var(--ac-line,#333);background:none;color:var(--ac-text,inherit);border-radius:999px;padding:4px 11px;min-height:30px;font:12px system-ui,sans-serif;cursor:pointer}
.pj-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-chip:hover{background:var(--ac-panel,#ffffff12)}
.pj-chip-add{color:var(--ac-muted,#999);border-style:dashed}
.pj-alert{display:flex;align-items:flex-start;gap:6px;flex-basis:100%;margin:6px 0 0;padding:6px 10px;border:1px solid currentColor;border-radius:10px;color:#f19a9a;font:12px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}.pj-alert span{flex:1;min-width:0}.pj-alert-dismiss{flex:none;min-width:28px;min-height:28px;border:0;background:none;color:inherit;font-size:16px;cursor:pointer}
:is(.anna-sidechat[data-theme=light],.app-shell[data-zwt=light],.v4-app[data-theme=light]) .pj-alert{color:#b42318}
@media(max-width:760px){.pj-layer{padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))}.pj-panel{max-height:calc(100dvh - 24px);padding:16px;border-radius:16px}.pj-actions>button,.pj-new{min-height:44px}.pj-row{min-height:48px}.pj-thread{min-height:44px}.pj-remove{min-width:44px;min-height:44px}.pj-filter button{min-height:40px}.pj-chip{min-height:36px}.pj-form input,.pj-form textarea{font-size:16px}}

/* Home chat markup (src/assistant.html): the new agent header, empty state and call view are the next look's; every other shell keeps
   its previous layout. The next look restyles them in src/v4/pages/zz-next-chat.css. */
.anna-dot-who{display:contents}.anna-dot-identity .anna-dot-role{font-size:11px;color:var(--ac-muted)}.anna-dot-line,.anna-dot-orb,.anna-dot-menu{display:none}
.anna-dot-head-actions{display:contents}.anna-dot-head-actions>:not(.anna-dot-talk){display:none}
.anna-fallback-hello,.anna-fallback-chips,.anna-fallback-latest{display:none}.anna-fallback-extra:empty{display:none}
.anna-call-stage{display:contents}.anna-call-orb,.anna-call-name,.anna-call-timer,.anna-call-lines,.anna-call-foot{display:none}
.anna-call-state{color:var(--muted)}.anna-call-buttons{display:contents}.anna-dot-call button svg{display:none}
@media(max-width:760px){.anna-dot-identity>span,.anna-dot-identity .anna-dot-role{display:none}}
/* thread column (neutral defaults; the next look restyles them) */
.anna-chatkit-sidebar .ck-main-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.ck-main-text{display:flex;flex-direction:column}.ck-main-text small{font-size:11px;opacity:.65}.ck-main-orb{width:22px;height:22px;flex:none}
.ck-thread{display:flex;gap:8px;align-items:flex-start;text-align:left}.ck-dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:#8d8d8d}.ck-thread[data-status=working] .ck-dot{background:#4aa86b}.ck-thread[data-status=needs] .ck-dot{background:#d9822b}
.ck-convo-new,.ck-done-toggle{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.ck-done-toggle{display:flex;gap:6px;width:100%;padding:6px 10px;font-size:11px;opacity:.8}.ck-threads-empty{margin:4px 10px;font-size:12px;opacity:.65}
.anna-dot-back,.anna-fallback-pointer{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.anna-dot-back{padding:8px 12px 0;font-size:13px;opacity:.8}.anna-fallback-pointer{margin-top:6px;padding:6px 10px;border-radius:999px;background:rgba(127,127,127,.16)}
/* Hybrid call screens (present only with ff:hybrid_chat): while they own a call, they are the only call UI */
:root:has(.hcall-layer[data-mode],[data-hcall-panel-call]) :is(.anna-dot-call,.anna-dot-call-note,#anna-voice-header-root,#anna-voice-compact-root){display:none!important}
/* a hybrid call-log card stands in for the server's own call line */
.anna-fallback-log>p:is(:has(+.anna-fallback-extra>[data-hc-replaces-text=call]),:has(+.anna-thread-card+.anna-fallback-extra>[data-hc-replaces-text=call])){display:none}
/* the hybrid empty state drew the greeting and prompts: ours would say it twice */
.anna-sidechat[data-gbn-empty-drawn] :is(.anna-fallback-hello,.anna-fallback-chips){display:none}
/* the next UI's own empty-state rules (zz-next-chat.css, 0,4,0) set display:flex, so the hybrid's greeting needs the higher selector there; its composer then follows Recent results */
.v4-app[data-ui=next] .anna-sidechat[data-gbn-empty-drawn] :is(.anna-fallback-hello,.anna-fallback-chips){display:none}
.v4-app[data-ui=next] .anna-sidechat[data-gbn-empty-drawn] .anna-fallback-empty{order:-1}
/* the Threads view (a threadOverview hook) takes the conversation's place until it closes */
.anna-sidechat[data-threads-view] .anna-dot-shell{display:none}
.v4-app[data-ui=next] .anna-sidechat[data-threads-view] .anna-dot-shell{display:none}

/* ==========================================================================
   UI-NEXT · GPT Business look · foundation (tokens, fonts, gb components, shell, chat panel)
   --------------------------------------------------------------------------
   Owner decision 2026-10-14: B layout (64px rail + 272px column, slim top bar, Ask bar)
   + A depth (bubble cards, layered shadows, warm paper, large titles) + C chat widgets.
   Source of truth: redesign-20261014/final/gb-ui.css v1.0 + DESIGN-SYSTEM.md.

   SWITCH. Every selector in this file (and in every src/v4/pages/zz-next-*.css) starts with
   .v4-app[data-ui=next]; the only exceptions are @keyframes named gbn-*. With data-ui="classic"
   nothing here matches. tests/v4-ui-next.test.mjs enforces it for every zz-next file.

   BUILD. scripts/compose.mjs appends the zz-next files after all other app CSS (after the live
   ChatKit tail too) and never passes them through the desktop presentation theme, which would
   otherwise strip every box-shadow and remap colours onto --cf-* tokens.

   FONTS. Geist (300–700) and Geist Mono (400–600) are already self-hosted by src/legacy.css
   (@font-face → /assets/*.woff2). The app's CSP is default-src 'self' (no font-src/style-src for
   Google), so the Google Fonts link in gb-ui.css would be blocked; the self-hosted faces are used.

   ASSETS. gb-ui.css /_blob ids map to /assets/gb/: orb-idle-128.webp / orb-idle-480.webp (the
   website's real orb renders) and material-{orange,sunrise,bronze,violet,pastel,green}.webp.

   Section 1 is generated from gb-ui.css (selectors scoped, global element resets left out, keyframes
   renamed gbn-*). Sections 2+ are hand-written for this shell.
   ========================================================================== */

/* 1 · gb design system (tokens light/dark, type, space, components) ========= */
/* The tokens also reach the confirmation banner (src/action-confirmation.html, §toast below): it renders as the
   root's next sibling, outside it, so nothing would inherit to it. */
.v4-app[data-ui=next],.v4-app[data-ui=next]~.action-confirmation{color-scheme:light;--gb-ground:#f5f5f3;--gb-chrome:#efefec;--gb-chrome-glass:rgba(239,239,236,.82);--gb-column:#f9f9f7;--gb-surface:#ffffff;--gb-raised:#ffffff;--gb-ink:#1d1d1f;--gb-ink-2:#646468;--gb-ink-3:#86868b;--gb-hair:rgba(0,0,0,.08);--gb-hair-2:rgba(0,0,0,.14);--gb-fill:rgba(0,0,0,.045);--gb-fill-2:rgba(0,0,0,.075);--gb-hover:rgba(0,0,0,.035);--gb-press:rgba(0,0,0,.07);--gb-select:rgba(0,0,0,.06);--gb-zebra:rgba(0,0,0,.018);--gb-btn:#1d1d1f;  --gb-btn-ink:#ffffff;  --gb-btn-hover:#3a3a3c;--gb-seg-on:#ffffff;--gb-switch-off:rgba(0,0,0,.14);--gb-focus:#6f6884;--gb-scrim:rgba(20,20,18,.28);--gb-hud:#1d1d1f;  --gb-hud-ink:#ffffff;  --gb-hud-ink-2:rgba(255,255,255,.72);  --gb-hud-hover:rgba(255,255,255,.12);--gb-danger:#c0362c;--gb-ember:#dd9c7a;  --gb-sage:#96ab88;  --gb-lav:#b7aed0;--gb-ember-ink:#a4532a; --gb-sage-ink:#4d6a43; --gb-lav-ink:#5f5679;--gb-grad:linear-gradient(90deg,#b8b0d4,#dd9c7a,#8eaa8a);--gb-bar:rgba(0,0,0,.1);--gb-grid:rgba(0,0,0,.06);--gb-track:rgba(0,0,0,.07);--gb-av-a:#efefed; --gb-av-b:#e0e0dc; --gb-av-ink:#48484a;--gb-shadow-0:0 0 0 .5px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.07);--gb-shadow-1:0 0 0 .5px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.04),0 12px 32px -16px rgba(0,0,0,.16);--gb-shadow-2:0 0 0 .5px rgba(0,0,0,.05),0 2px 6px rgba(0,0,0,.05),0 24px 50px -20px rgba(0,0,0,.26);--gb-shadow-3:0 0 0 .5px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08),0 40px 80px -24px rgba(0,0,0,.32);--gb-glow:#ffffff;--gb-floor:rgba(70,40,20,.26);--gb-owner-bubble:#007aff;--gb-owner-bubble-ink:#ffffff;}
.v4-app[data-ui=next][data-theme=dark],.v4-app[data-ui=next][data-theme=dark]~.action-confirmation{color-scheme:dark;--gb-ground:#0f100f;--gb-chrome:#161716;--gb-chrome-glass:rgba(22,23,22,.84);--gb-column:#131413;--gb-surface:#1c1d1c;--gb-raised:#262726;--gb-ink:#f4f4f1;--gb-ink-2:#a6a9a3;--gb-ink-3:#6f726c;--gb-hair:rgba(255,255,255,.08);--gb-hair-2:rgba(255,255,255,.14);--gb-fill:rgba(255,255,255,.07);--gb-fill-2:rgba(255,255,255,.11);--gb-hover:rgba(255,255,255,.05);--gb-press:rgba(255,255,255,.1);--gb-select:rgba(255,255,255,.09);--gb-zebra:rgba(255,255,255,.022);--gb-btn:#f4f4f1;  --gb-btn-ink:#141514;  --gb-btn-hover:#ffffff;--gb-seg-on:#3a3b3a;--gb-switch-off:rgba(255,255,255,.18);--gb-focus:#b7aed0;--gb-scrim:rgba(0,0,0,.55);--gb-hud:#3a3b3a;  --gb-hud-ink:#f4f4f1;  --gb-hud-ink-2:rgba(244,244,241,.72);  --gb-hud-hover:rgba(255,255,255,.1);--gb-danger:#ff8a80;--gb-ember-ink:#e3a989; --gb-sage-ink:#a9bd9c; --gb-lav-ink:#c9c1e0;--gb-bar:rgba(255,255,255,.16);--gb-grid:rgba(255,255,255,.07);--gb-track:rgba(255,255,255,.1);--gb-av-a:#363736; --gb-av-b:#2a2b2a; --gb-av-ink:#dcddd8;--gb-shadow-0:0 0 0 .5px rgba(255,255,255,.09),0 1px 2px rgba(0,0,0,.5);--gb-shadow-1:0 0 0 .5px rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.4),0 14px 34px -18px rgba(0,0,0,.7);--gb-shadow-2:0 0 0 .5px rgba(255,255,255,.12),0 2px 6px rgba(0,0,0,.4),0 26px 52px -18px rgba(0,0,0,.8);--gb-shadow-3:0 0 0 .5px rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.5),0 40px 80px -24px rgba(0,0,0,.85);--gb-glow:rgba(255,255,255,.06);--gb-floor:rgba(0,0,0,.75);--gb-owner-bubble:#0a84ff;--gb-owner-bubble-ink:#ffffff;}
.v4-app[data-ui=next],.v4-app[data-ui=next]~.action-confirmation{--gb-font:Geist,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--gb-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--gb-fs-11:11px;--gb-fs-12:12px;--gb-fs-13:13px;--gb-fs-15:15px;--gb-fs-20:20px;--gb-fs-28:28px;--gb-fs-40:40px;--gb-fs-56:56px;--gb-fw-regular:400; --gb-fw-medium:500; --gb-fw-semibold:600;--gb-lh-tight:1.1; --gb-lh-ui:1.45; --gb-lh-body:1.6;--gb-tr-display:-.035em;--gb-tr-title:-.025em;--gb-tr-ui:-.01em;--gb-s-1:4px; --gb-s-2:8px; --gb-s-3:12px; --gb-s-4:16px; --gb-s-5:20px;--gb-s-6:24px; --gb-s-8:32px; --gb-s-10:40px; --gb-s-12:48px; --gb-s-16:64px;--gb-r-xs:6px;--gb-r-sm:10px;--gb-r-md:16px;--gb-r-lg:22px;--gb-r-full:999px;--gb-ease:cubic-bezier(.2,.8,.2,1);--gb-ease-in-out:cubic-bezier(.65,0,.35,1);--gb-dur-1:150ms;--gb-dur-2:220ms;--gb-dur-3:320ms;--gb-dur-orb:450ms;--gb-rail-w:64px;--gb-list-w:272px;--gb-panel-w:400px;  --gb-panel-min:360px;  --gb-panel-max:560px;--gb-inspector-w:344px;--gb-topbar-h:56px;--gb-page-max:1104px;--gb-chat-max:720px;--gb-z-sticky:10; --gb-z-rail:20; --gb-z-bulk:30; --gb-z-sheet:40; --gb-z-pop:50; --gb-z-toast:60;}
.v4-app[data-ui=next]{min-height:100vh;font-family:var(--gb-font);font-size:var(--gb-fs-13);line-height:var(--gb-lh-ui);color:var(--gb-ink);background:var(--gb-ground);font-variant-numeric:tabular-nums;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.v4-app[data-ui=next] *,.v4-app[data-ui=next] *::before,.v4-app[data-ui=next] *::after{box-sizing:border-box}
.v4-app[data-ui=next] :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gb-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v4-app[data-ui=next] .gb-mono{font-family:var(--gb-mono);letter-spacing:-.01em}
.v4-app[data-ui=next] .gb-kicker{display:inline-flex;align-items:center;gap:8px;font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-muted{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-strong{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-late,.v4-app[data-ui=next] .gb-hot{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gb-up{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gb-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gb-icon--12{width:12px;height:12px;stroke-width:2}
.v4-app[data-ui=next] .gb-icon--16{width:16px;height:16px}
.v4-app[data-ui=next] .gb-icon--20{width:20px;height:20px}
.v4-app[data-ui=next] .gb-icon--fill{fill:currentColor;stroke:none}
.v4-app[data-ui=next] .gb-logo{display:block}
.v4-app[data-ui=next] .gb-logo--on-dark{display:none}
.v4-app[data-ui=next][data-theme=dark] .gb-logo--on-light{display:none}
.v4-app[data-ui=next][data-theme=dark] .gb-logo--on-dark{display:block}
.v4-app[data-ui=next] .gb-wordmark{font-size:17px;font-weight:700;letter-spacing:-.035em;white-space:nowrap;color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-theme-moon{display:block}
.v4-app[data-ui=next] .gb-theme-sun{display:none}
.v4-app[data-ui=next][data-theme=dark] .gb-theme-moon{display:none}
.v4-app[data-ui=next][data-theme=dark] .gb-theme-sun{display:block}
.v4-app[data-ui=next] .gb-keys{display:inline-flex;gap:3px;flex:none}
.v4-app[data-ui=next] .gb-kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--gb-r-xs);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);font:400 var(--gb-fs-11)/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-mdot{display:inline-block;width:10px;height:10px;flex:none;border-radius:50%;background:var(--gb-fill-2) center/cover no-repeat}
.v4-app[data-ui=next] .gb-mdot--sm{width:8px;height:8px}
.v4-app[data-ui=next] .gb-mdot--lg{width:16px;height:16px}
.v4-app[data-ui=next] .gb-mdot--orange{background-image:url(/assets/gb/material-orange.webp)}
.v4-app[data-ui=next] .gb-mdot--sunrise{background-image:url(/assets/gb/material-sunrise.webp)}
.v4-app[data-ui=next] .gb-mdot--bronze{background-image:url(/assets/gb/material-bronze.webp)}
.v4-app[data-ui=next] .gb-mdot--violet{background-image:url(/assets/gb/material-violet.webp)}
.v4-app[data-ui=next] .gb-mdot--pastel{background-image:url(/assets/gb/material-pastel.webp)}
.v4-app[data-ui=next] .gb-mdot--green{background-image:url(/assets/gb/material-green.webp)}
.v4-app[data-ui=next] .gb-mdots{display:inline-flex}
.v4-app[data-ui=next] .gb-mdots .gb-mdot{box-shadow:0 0 0 2px var(--gb-surface)}
.v4-app[data-ui=next] .gb-mdots .gb-mdot + .gb-mdot{margin-left:-4px}
.v4-app[data-ui=next] .gb-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-dot--you,.v4-app[data-ui=next] .gb-dot--late{background:var(--gb-ember)}
.v4-app[data-ui=next] .gb-dot--run,.v4-app[data-ui=next] .gb-dot--customer{background:var(--gb-sage)}
.v4-app[data-ui=next] .gb-dot--wait{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-lav)}
.v4-app[data-ui=next] .gb-dot--lead{background:var(--gb-lav)}
.v4-app[data-ui=next] .gb-dot--done{background:var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-dot--off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-dot--live{background:var(--gb-sage);animation:gbn-live 2.4s ease-out infinite}
@keyframes gbn-live{0%{box-shadow:0 0 0 0 rgba(150,171,136,.55)}100%{box-shadow:0 0 0 6px rgba(150,171,136,0)}}
.v4-app[data-ui=next] .gb-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.v4-app[data-ui=next] .gb-avatar{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));box-shadow:inset 0 0 0 .5px var(--gb-hair);color:var(--gb-av-ink);font-size:11px;font-weight:var(--gb-fw-semibold);letter-spacing:.01em;line-height:1}
.v4-app[data-ui=next] .gb-avatar--20{width:20px;height:20px;font-size:10px}
.v4-app[data-ui=next] .gb-avatar--32{width:32px;height:32px;font-size:12px}
.v4-app[data-ui=next] .gb-avatar--44{width:44px;height:44px;font-size:15px}
.v4-app[data-ui=next] .gb-avatar--72{width:72px;height:72px;font-size:26px;letter-spacing:-.02em}
.v4-app[data-ui=next] .gb-avatar--co{border-radius:8px}
.v4-app[data-ui=next] .gb-avatar--72.gb-avatar--co{border-radius:20px}
.v4-app[data-ui=next] .gb-shell{display:flex;align-items:stretch;min-height:100vh;min-height:100dvh}
.v4-app[data-ui=next] .gb-rail{position:sticky;top:0;z-index:var(--gb-z-rail);height:100vh;height:100dvh;flex:0 0 var(--gb-rail-w);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 16px;background:var(--gb-chrome);box-shadow:inset -1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-rail__logo{display:grid;place-items:center;width:40px;height:40px;flex:none;margin-bottom:4px;border-radius:var(--gb-r-sm)}
.v4-app[data-ui=next] .gb-rail__logo img{width:26px;height:26px}
.v4-app[data-ui=next] .gb-rail__btn{position:relative;display:grid;place-items:center;width:40px;height:40px;flex:none;padding:0;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-rail__btn:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-rail__btn:active{transform:scale(.95)}
.v4-app[data-ui=next] .gb-rail__btn[aria-current="page"]{background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gb-rail__btn[aria-expanded="true"]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-rail__btn[data-label]::after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;z-index:var(--gb-z-pop);padding:6px 10px;border-radius:8px;background:var(--gb-hud);color:var(--gb-hud-ink);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1.2;white-space:nowrap;box-shadow:var(--gb-shadow-2);opacity:0;pointer-events:none;transform:translate(-4px,-50%);transition:opacity var(--gb-dur-2) var(--gb-ease),transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .gb-rail__btn:hover::after,.v4-app[data-ui=next] .gb-rail__btn:focus-visible::after{opacity:1;transform:translate(0,-50%)}
.v4-app[data-ui=next] .gb-rail__badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font:var(--gb-fw-medium) 10px/16px var(--gb-mono);text-align:center;box-shadow:0 0 0 2px var(--gb-chrome)}
.v4-app[data-ui=next] .gb-rail__dot{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--gb-ember);box-shadow:0 0 0 2px var(--gb-chrome)}
.v4-app[data-ui=next] .gb-rail__sep{width:20px;height:1px;flex:none;margin:6px 0;background:var(--gb-hair-2)}
.v4-app[data-ui=next] .gb-rail__foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:8px}
.v4-app[data-ui=next] .gb-rail__orb{display:none;position:relative}
.v4-app[data-ui=next] .gb-shell--folded .gb-rail__orb{display:block}
.v4-app[data-ui=next] .gb-list{position:sticky;top:0;z-index:var(--gb-z-rail);height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:0 0 var(--gb-list-w);min-width:0;display:flex;flex-direction:column;gap:20px;padding:0 12px;background:var(--gb-chrome);box-shadow:inset -1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-list__head{flex:none;display:flex;align-items:center;gap:8px;height:var(--gb-topbar-h);padding-left:8px}
.v4-app[data-ui=next] .gb-list__head .gb-iconbtn{margin-left:auto}
.v4-app[data-ui=next] .gb-ws{display:flex;align-items:center;gap:10px;height:48px;margin:-12px 0 -8px;padding:0 8px;border-radius:var(--gb-r-sm);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-ws:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gb-ws__mark{width:24px;height:24px;flex:none;border-radius:7px;background-color:var(--gb-fill-2);background-size:cover;background-position:center}
.v4-app[data-ui=next] .gb-ws__text{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.v4-app[data-ui=next] .gb-ws__text b{font-size:13px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gb-ws__text span{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-ws > .gb-icon{margin-left:auto;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-list__new{display:flex;gap:8px}
.v4-app[data-ui=next] .gb-list__new .gb-btn{flex:1;justify-content:flex-start;padding:0 8px 0 12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gb-list__new .gb-btn:hover{background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gb-list__new .gb-btn .gb-keys{margin-left:auto}
.v4-app[data-ui=next] .gb-navgroup{display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next] .gb-navgroup__head{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 2px 0 10px;font-size:12px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-navgroup__head .gb-iconbtn{width:28px;height:28px}
.v4-app[data-ui=next] .gb-navitem{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:var(--gb-r-sm);font-size:13px;color:var(--gb-ink);white-space:nowrap;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-navitem:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gb-navitem > .gb-icon{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-navitem[aria-current="page"]{background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gb-navitem__n{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:400 12px/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-navitem__badge{margin-left:auto;min-width:20px;height:18px;padding:0 6px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font:var(--gb-fw-medium) 11px/18px var(--gb-mono);text-align:center}
.v4-app[data-ui=next] .gb-thread{display:flex;flex-direction:column;gap:3px;padding:7px 10px 8px;border-radius:var(--gb-r-sm);transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-thread:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gb-thread[aria-current="true"],.v4-app[data-ui=next] .gb-thread[aria-current="page"]{background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gb-thread__title{font-size:13px;color:var(--gb-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gb-thread__meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-thread__meta .gb-dot{margin-left:6px}
.v4-app[data-ui=next] .gb-dock{position:sticky;bottom:12px;flex:none;margin:auto 0 12px;display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gb-dock__text{display:flex;flex-direction:column;gap:3px;min-width:0}
.v4-app[data-ui=next] .gb-dock__text b{font-size:13px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gb-dock .gb-keys{margin-left:auto}
.v4-app[data-ui=next] .gb-panel{position:sticky;top:0;z-index:var(--gb-z-rail);height:100vh;height:100dvh;flex:0 0 var(--gb-panel-w);width:var(--gb-panel-w);min-width:var(--gb-panel-min);max-width:var(--gb-panel-max);display:flex;flex-direction:column;background:var(--gb-column);box-shadow:inset -1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-panel__head{flex:none;display:flex;align-items:center;gap:2px;height:var(--gb-topbar-h);padding:0 8px;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-panel__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:0 6px;line-height:1.25}
.v4-app[data-ui=next] .gb-panel__title b{font-size:13px;font-weight:var(--gb-fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gb-panel__title span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-panel__thread{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:24px;padding:20px 20px 28px}
.v4-app[data-ui=next] .gb-panel__foot{flex:none;display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}
.v4-app[data-ui=next] .gb-panel__note{font-size:12px;color:var(--gb-ink-2);text-align:center}
.v4-app[data-ui=next] .gb-panel__resize{position:absolute;top:0;bottom:0;right:-5px;z-index:2;width:10px;cursor:col-resize}
.v4-app[data-ui=next] .gb-panel__resize::after{content:"";position:absolute;left:4px;top:50%;width:2px;height:40px;margin-top:-20px;border-radius:2px;background:var(--gb-ink-3);opacity:0;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-panel__resize:hover::after,.v4-app[data-ui=next] .gb-panel__resize:focus-visible::after,.v4-app[data-ui=next] .gb-panel__resize.is-dragging::after{opacity:1}
.v4-app[data-ui=next] .gb-panel__resize:focus-visible{outline:none}
.v4-app[data-ui=next] .gb-panel__grab{display:none}
.v4-app[data-ui=next] .gb-context{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:28px;max-width:100%;padding:0 4px 0 10px;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);font-size:12px;color:var(--gb-ink);white-space:nowrap}
.v4-app[data-ui=next] .gb-context > .gb-icon{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-context__x{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .gb-context__x:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;container:gb-main / inline-size}
.v4-app[data-ui=next] .gb-topbar{position:sticky;top:0;z-index:var(--gb-z-sticky);flex:none;display:flex;align-items:center;gap:16px;height:var(--gb-topbar-h);padding:0 16px 0 24px;background:color-mix(in srgb,var(--gb-ground) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-topbar .gb-topbar__menu{display:none}
.v4-app[data-ui=next] .gb-crumbs{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;font-size:13px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-crumbs a:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-crumbs [aria-current]{color:var(--gb-ink);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gb-cmdk{flex:0 1 360px;min-width:0;display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);cursor:text;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-cmdk:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gb-cmdk:focus-within{background:var(--gb-surface);box-shadow:var(--gb-shadow-0),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .gb-cmdk input{flex:1;min-width:0;height:34px;border:0;background:transparent;font-size:13px;color:var(--gb-ink);outline:none}
.v4-app[data-ui=next] .gb-cmdk input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-cmdk input::-webkit-search-cancel-button{display:none}
.v4-app[data-ui=next] .gb-topbar__end{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:4px}
.v4-app[data-ui=next] .gb-usage{display:inline-flex;align-items:center;gap:10px;height:32px;margin-right:6px;padding:0 12px;border-radius:var(--gb-r-full);box-shadow:inset 0 0 0 1px var(--gb-hair-2);font-size:12px;color:var(--gb-ink-2);white-space:nowrap;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-usage:hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-usage .gb-mono{color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-meter{width:40px;height:4px;flex:none;border-radius:var(--gb-r-full);background:var(--gb-track);overflow:hidden}
.v4-app[data-ui=next] .gb-meter > span{display:block;height:100%;border-radius:inherit;background:var(--gb-grad)}
@container gb-main (max-width:900px){
  .v4-app[data-ui=next] .gb-usage{display:none}
  .v4-app[data-ui=next] .gb-cmdk{flex-basis:240px}
  .v4-app[data-ui=next] .gb-topbar__end{flex:0 0 auto}
}
@container gb-main (max-width:600px){
  .v4-app[data-ui=next] .gb-crumbs > :not([aria-current]){display:none}
  .v4-app[data-ui=next] .gb-cmdk{flex:none;width:36px;padding:0;justify-content:center;background:transparent}
  .v4-app[data-ui=next] .gb-cmdk input,.v4-app[data-ui=next] .gb-cmdk .gb-keys{display:none}
}
.v4-app[data-ui=next] .gb-notify{position:relative}
.v4-app[data-ui=next] .gb-notify::after{content:"";position:absolute;top:9px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--gb-ember);box-shadow:0 0 0 2px var(--gb-ground)}
.v4-app[data-ui=next] .gb-page{width:100%;max-width:var(--gb-page-max);margin:0 auto;padding:32px 32px 72px;display:flex;flex-direction:column;gap:24px}
.v4-app[data-ui=next] .gb-page--fluid{max-width:none}
.v4-app[data-ui=next] .gb-page--home{gap:64px;padding-top:24px}
@container gb-main (max-width:720px){
  .v4-app[data-ui=next] .gb-page{padding-inline:24px}
}
.v4-app[data-ui=next] .gb-inspector{position:sticky;top:0;z-index:var(--gb-z-rail);height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:0 0 var(--gb-inspector-w);width:var(--gb-inspector-w);min-width:0;display:flex;flex-direction:column;gap:20px;padding:0 16px 32px;background:var(--gb-chrome);box-shadow:inset 1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-inspector__bar{position:sticky;top:0;z-index:1;flex:none;display:flex;align-items:center;gap:2px;height:var(--gb-topbar-h);margin:0 -16px;padding:0 8px 0 10px;background:var(--gb-chrome-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.v4-app[data-ui=next] .gb-inspector__pos{margin:0 auto 0 6px;font:400 12px/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-inspector__hero{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.v4-app[data-ui=next] .gb-inspector__name{margin-top:12px;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em;line-height:1.15}
.v4-app[data-ui=next] .gb-inspector__sub{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-inspector .gb-tags{justify-content:center;margin-top:10px}
.v4-app[data-ui=next] .gb-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.v4-app[data-ui=next] .gb-action{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--gb-ink);font-size:12px;cursor:pointer}
.v4-app[data-ui=next] .gb-action__c{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);transition:transform var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-action:hover .gb-action__c{transform:translateY(-1px);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next] .gb-action:active .gb-action__c{transform:scale(.95)}
.v4-app[data-ui=next] .gb-section{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next] .gb-section__label{padding:0 16px;font-size:12px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-group{display:flex;flex-direction:column;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] .gb-row{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 16px;font-size:13px;color:var(--gb-ink);text-align:left;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] button.gb-row{width:100%;border:0;background:transparent;cursor:pointer}
.v4-app[data-ui=next] a.gb-row:hover,.v4-app[data-ui=next] button.gb-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .gb-row + .gb-row::before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--gb-hair)}
.v4-app[data-ui=next] .gb-row__label{width:64px;flex:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-row__stack{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .gb-row__stack small{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-row__end{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right;white-space:nowrap}
.v4-app[data-ui=next] .gb-row__end small{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-row__chev{margin-left:auto;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-row__end + .gb-row__chev{margin-left:0}
.v4-app[data-ui=next] .gb-row > .gb-icon:first-child{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-row--danger{color:var(--gb-danger)}
.v4-app[data-ui=next] .gb-row--danger > .gb-icon:first-child{color:var(--gb-danger)}
.v4-app[data-ui=next] .gb-group__actions{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 16px}
.v4-app[data-ui=next] .gb-group__actions .gb-btn{flex:1 1 auto}
.v4-app[data-ui=next] .gb-group__actions .gb-btn--primary{flex-basis:100%}
.v4-app[data-ui=next] .gb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 0 12px}
.v4-app[data-ui=next] .gb-stats > div{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.v4-app[data-ui=next] .gb-stats > div + div{box-shadow:inset 1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-stats b{font-size:var(--gb-fs-20);font-weight:var(--gb-fw-semibold);letter-spacing:-.02em;line-height:1.2}
.v4-app[data-ui=next] .gb-stats span{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-note{padding:0 16px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-play{display:grid;place-items:center;width:36px;height:36px;flex:none;padding:0;border:0;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);cursor:pointer;transition:transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-play:hover{transform:scale(1.05)}
.v4-app[data-ui=next] .gb-play svg{width:12px;height:12px;margin-left:2px}
.v4-app[data-ui=next] .gb-wave{display:flex;align-items:center;gap:2px;flex:1;min-width:0;height:24px}
.v4-app[data-ui=next] .gb-wave > i{flex:1;min-width:2px;max-width:3px;border-radius:2px;background:var(--gb-bar)}
.v4-app[data-ui=next] .gb-wave > i.is-on{background:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-shell--folded .gb-list{display:none}
@media (min-width:760px){
  .v4-app[data-ui=next] .gb-shell--static .gb-rail{position:relative;height:auto}
}
@media (min-width:1024px){
  .v4-app[data-ui=next] .gb-shell--static .gb-list,.v4-app[data-ui=next] .gb-shell--static .gb-panel{position:relative;height:auto;overflow:visible}
  .v4-app[data-ui=next] .gb-shell--static .gb-panel__thread{overflow:visible}
  .v4-app[data-ui=next] .gb-shell--static .gb-dock{position:relative;bottom:auto}
}
@media (min-width:1280px){
  .v4-app[data-ui=next] .gb-shell--static .gb-inspector{position:relative;height:auto;overflow:visible}
}
.v4-app[data-ui=next] .gb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gb-btn:active{transform:scale(.97)}
.v4-app[data-ui=next] .gb-btn > .gb-icon{width:16px;height:16px}
.v4-app[data-ui=next] .gb-btn--primary{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gb-btn--primary:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .gb-btn--ghost{background:transparent;padding:0 12px}
.v4-app[data-ui=next] .gb-btn--ghost:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gb-btn--ghost > .gb-icon{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-btn--raised{background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gb-btn--raised:hover{background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gb-btn--danger{color:var(--gb-danger)}
.v4-app[data-ui=next] .gb-btn--sm{height:32px;padding:0 12px}
.v4-app[data-ui=next] .gb-btn--lg{height:44px;padding:0 20px;font-size:15px}
.v4-app[data-ui=next] .gb-btn--block{width:100%}
.v4-app[data-ui=next] .gb-btn:disabled,.v4-app[data-ui=next] .gb-btn[aria-disabled="true"]{opacity:.4;pointer-events:none}
.v4-app[data-ui=next] .gb-iconbtn{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;flex:none;padding:0;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-iconbtn:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-iconbtn:active{transform:scale(.94)}
.v4-app[data-ui=next] .gb-iconbtn[aria-pressed="true"]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-iconbtn--sm{width:32px;height:32px}
.v4-app[data-ui=next] .gb-iconbtn--square{border-radius:var(--gb-r-sm)}
.v4-app[data-ui=next] .gb-iconbtn__n{position:absolute;top:2px;right:2px;box-shadow:0 0 0 2px var(--gb-surface);min-width:15px;height:15px;padding:0 4px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font:var(--gb-fw-medium) 10px/15px var(--gb-mono);text-align:center}
.v4-app[data-ui=next] .gb-chips{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next] .gb-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-chip:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gb-chip:active{transform:scale(.97)}
.v4-app[data-ui=next] .gb-chip--sm{height:30px;padding:0 12px;font-size:12px}
.v4-app[data-ui=next] .gb-chip--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next] .gb-chip--outline:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .gb-link{display:inline-flex;align-items:center;gap:2px;flex:none;margin:-8px -10px;padding:8px 10px;border-radius:var(--gb-r-full);font-size:13px;color:var(--gb-ink-2);white-space:nowrap;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-link:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-link--ink{color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-pill{display:inline-flex;align-items:center;gap:6px;flex:none;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:12px;line-height:1;white-space:nowrap}
.v4-app[data-ui=next] .gb-pill > .gb-icon{width:12px;height:12px;stroke-width:2}
.v4-app[data-ui=next] .gb-pill--you{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gb-pill--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next] .gb-pill--late{background:transparent;color:var(--gb-ember-ink);box-shadow:inset 0 0 0 1px currentColor}
.v4-app[data-ui=next] .gb-tags{display:flex;flex-wrap:wrap;gap:6px}
.v4-app[data-ui=next] .gb-tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:12px;white-space:nowrap}
.v4-app[data-ui=next] .gb-tag--add{width:24px;padding:0;justify-content:center;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .gb-tag--add:hover{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.v4-app[data-ui=next] .gb-field__label{font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-field__hint{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-field__error{font-size:12px;color:var(--gb-danger)}
.v4-app[data-ui=next] .gb-input,.v4-app[data-ui=next] .gb-textarea{width:100%;min-width:0;height:40px;padding:0 12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font-size:13px;outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-textarea{height:auto;min-height:88px;padding:10px 12px;line-height:1.5;resize:vertical}
.v4-app[data-ui=next] .gb-input::placeholder,.v4-app[data-ui=next] .gb-textarea::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-input:hover,.v4-app[data-ui=next] .gb-textarea:hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-input:focus,.v4-app[data-ui=next] .gb-textarea:focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .gb-input[aria-invalid="true"]{box-shadow:inset 0 0 0 1px var(--gb-danger)}
.v4-app[data-ui=next] .gb-input:disabled{opacity:.5}
.v4-app[data-ui=next] .gb-search{display:flex;align-items:center;gap:8px;min-width:0;height:36px;padding:0 12px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-search:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gb-search:focus-within{background:var(--gb-surface);box-shadow:var(--gb-shadow-0),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .gb-search input{flex:1;min-width:0;height:34px;border:0;background:transparent;font-size:13px;color:var(--gb-ink);outline:none}
.v4-app[data-ui=next] .gb-search input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-search input::-webkit-search-cancel-button{display:none}
.v4-app[data-ui=next] .gb-switch{display:inline-flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}
.v4-app[data-ui=next] .gb-switch__track{position:relative;width:38px;height:22px;flex:none;border-radius:var(--gb-r-full);background:var(--gb-switch-off);transition:background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .gb-switch__track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .gb-switch input:checked + .gb-switch__track{background:var(--gb-btn)}
.v4-app[data-ui=next] .gb-switch input:checked + .gb-switch__track::after{transform:translateX(16px);background:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gb-switch input:focus-visible + .gb-switch__track{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gb-check{display:inline-grid;place-items:center;width:36px;height:36px;cursor:pointer}
.v4-app[data-ui=next] .gb-check__box{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3);color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-check:hover .gb-check__box{box-shadow:inset 0 0 0 1.5px var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-check input:checked + .gb-check__box,.v4-app[data-ui=next] .gb-check__box.is-mixed{background:var(--gb-btn);box-shadow:none;color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gb-check input:focus-visible + .gb-check__box{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gb-check__box .gb-icon{width:12px;height:12px;stroke-width:2}
.v4-app[data-ui=next] .gb-card{min-width:0;display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gb-card--flush{gap:0;padding:8px}
.v4-app[data-ui=next] .gb-card--link{transition:box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-card--link:hover{box-shadow:var(--gb-shadow-2);transform:translateY(-1px)}
.v4-app[data-ui=next] .gb-card__head{display:flex;align-items:center;gap:8px;min-height:24px}
.v4-app[data-ui=next] .gb-card__title{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .gb-card__count{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-card__head > .gb-link{margin-left:auto}
.v4-app[data-ui=next] .gb-card__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--gb-grid-min,300px),100%),1fr));gap:20px;align-items:stretch}
.v4-app[data-ui=next] .gb-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.v4-app[data-ui=next] .gb-span-2{grid-column:span 2}
.v4-app[data-ui=next] .gb-span-4{grid-column:1/-1}
@container gb-main (max-width:1000px){
  .v4-app[data-ui=next] .gb-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next] .gb-bento > .gb-span-4,.v4-app[data-ui=next] .gb-bento > .gb-span-2{grid-column:1/-1}
}
@container gb-main (max-width:640px){
  .v4-app[data-ui=next] .gb-bento{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .gb-bento > *{grid-column:auto}
}
.v4-app[data-ui=next] .gb-split{display:grid;grid-template-columns:minmax(0,1fr) var(--gb-aside-w,320px);gap:20px;align-items:start}
.v4-app[data-ui=next] .gb-split--start{grid-template-columns:var(--gb-aside-w,320px) minmax(0,1fr)}
.v4-app[data-ui=next] .gb-split > *{min-width:0;display:flex;flex-direction:column;gap:20px}
@container gb-main (max-width:900px){
  .v4-app[data-ui=next] .gb-split,.v4-app[data-ui=next] .gb-split--start{grid-template-columns:minmax(0,1fr)}
}
.v4-app[data-ui=next] .gb-pagehead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}
.v4-app[data-ui=next] .gb-pagehead__titles{min-width:0}
.v4-app[data-ui=next] .gb-pagehead__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.v4-app[data-ui=next] .gb-pagehead__title{font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-title);line-height:1.15}
.v4-app[data-ui=next] .gb-pagehead__count{font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-pagehead__desc{margin-top:6px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-pagehead__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .gb-askbar{display:flex;align-items:center;gap:4px;height:52px;padding:0 8px 0 14px;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-askbar:hover{box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next] .gb-askbar:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .gb-askbar__input{flex:1;min-width:0;height:40px;padding:0 8px;border:0;background:transparent;font-size:15px;color:var(--gb-ink);outline:none}
.v4-app[data-ui=next] .gb-askbar__input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-askbar .gb-keys{margin-right:4px}
.v4-app[data-ui=next] .gb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--gb-kpi-min,150px),100%),1fr));gap:16px}
.v4-app[data-ui=next] .gb-kpi{display:flex;flex-direction:column;gap:4px;min-width:0}
.v4-app[data-ui=next] .gb-kpi__label{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-kpi__value{margin-top:4px;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em;line-height:1.15;white-space:nowrap}
.v4-app[data-ui=next] .gb-kpi__value small{margin-left:4px;font-size:15px;font-weight:var(--gb-fw-regular);letter-spacing:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-kpi__note{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-kpi--card{justify-content:space-between;padding:18px 20px 20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gb-kpi--hero .gb-kpi__value{font-size:var(--gb-fs-40);letter-spacing:var(--gb-tr-display)}
.v4-app[data-ui=next] .gb-kpi--sm .gb-kpi__value{font-size:24px}
.v4-app[data-ui=next] .gb-kpi--sm .gb-kpi__label{order:2;font-size:12px}
.v4-app[data-ui=next] .gb-chart{display:flex;flex-direction:column;gap:12px;min-width:0}
.v4-app[data-ui=next] .gb-chart__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.v4-app[data-ui=next] .gb-chart__title{font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-chart__sub{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-chart svg{display:block;width:100%}
.v4-app[data-ui=next] .gb-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-legend > span{display:inline-flex;align-items:center;gap:6px}
.v4-app[data-ui=next] .gb-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:4px}
.v4-app[data-ui=next] .gb-bars__col{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next] .gb-bars__col > i{display:block;width:min(100%,var(--gb-bar-w,24px));height:calc(var(--h,120px) * var(--v,.5));min-height:6px;border-radius:var(--gb-r-full);background:var(--gb-bar)}
.v4-app[data-ui=next] .gb-bars__v{font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-bars__x{font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-bars__col.is-current > i{background:var(--gb-ember)}
.v4-app[data-ui=next] .gb-bars__col.is-current .gb-bars__v,.v4-app[data-ui=next] .gb-bars__col.is-current .gb-bars__x{color:var(--gb-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-bars--thin .gb-bars__col > i{--gb-bar-w:8px}
.v4-app[data-ui=next] .gb-bars--spark{gap:6px}
.v4-app[data-ui=next] .gb-bars--spark .gb-bars__col{gap:0}
.v4-app[data-ui=next] .gb-bars--spark .gb-bars__col > i{--gb-bar-w:6px;min-height:4px}
.v4-app[data-ui=next] .gb-bars__col.is-paid > i{background:var(--gb-sage)}
.v4-app[data-ui=next] .gb-bars__col.is-due > i{background:var(--gb-ember)}
.v4-app[data-ui=next] .gb-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.v4-app[data-ui=next] .gb-area{opacity:.16}
.v4-app[data-ui=next] .gb-gridline{stroke:var(--gb-grid);stroke-width:1;vector-effect:non-scaling-stroke}
.v4-app[data-ui=next] .gb-hbars{display:flex;flex-direction:column;gap:10px}
.v4-app[data-ui=next] .gb-hbar{display:grid;grid-template-columns:minmax(84px,max-content) minmax(0,1fr) 44px;align-items:center;gap:12px;font-size:13px}
.v4-app[data-ui=next] .gb-hbar > i{position:relative;height:8px;border-radius:var(--gb-r-full);background:var(--gb-track);overflow:hidden}
.v4-app[data-ui=next] .gb-hbar > i > b{position:absolute;top:0;bottom:0;left:0;width:calc(var(--v,.5) * 100%);border-radius:inherit;background:var(--gb-bar)}
.v4-app[data-ui=next] .gb-hbar.is-current > i > b{background:var(--gb-ember)}
.v4-app[data-ui=next] .gb-hbar > span:last-child{text-align:right;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-progress{height:6px;border-radius:var(--gb-r-full);background:var(--gb-track);overflow:hidden}
.v4-app[data-ui=next] .gb-progress > span{display:block;height:100%;border-radius:inherit;background:var(--gb-grad)}
.v4-app[data-ui=next] .gb-progress--thin{height:4px}
.v4-app[data-ui=next] .gb-goal{display:flex;flex-direction:column;gap:10px}
.v4-app[data-ui=next] .gb-goal__row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.v4-app[data-ui=next] .gb-goal__row b{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-ring{position:relative;width:148px;height:148px;flex:none}
.v4-app[data-ui=next] .gb-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.v4-app[data-ui=next] .gb-ring b{position:absolute;inset:0;display:grid;place-content:center;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em}
.v4-app[data-ui=next] .gb-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .gb-seg > button,.v4-app[data-ui=next] .gb-seg > a{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink);font-size:13px;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-seg > :hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gb-seg > [aria-pressed="true"],.v4-app[data-ui=next] .gb-seg > [aria-selected="true"],.v4-app[data-ui=next] .gb-seg > [aria-current="page"]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gb-seg__n{font:400 11px/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-seg--icons > button{width:36px;padding:0;justify-content:center;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-seg--icons > [aria-pressed="true"]{color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-tabs{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-tabs > [role="tab"]{position:relative;flex:none;height:40px;padding:0;border:0;background:transparent;color:var(--gb-ink-2);font-size:13px;cursor:pointer;transition:color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-tabs > [role="tab"]:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .gb-tabs > [aria-selected="true"]{color:var(--gb-ink);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gb-tabs > [aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--gb-ink)}
.v4-app[data-ui=next] .gb-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 12px}
.v4-app[data-ui=next] .gb-toolbar__tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.v4-app[data-ui=next] .gb-toolbar .gb-search{width:220px}
.v4-app[data-ui=next] .gb-table-wrap{container-type:inline-size;overflow-x:auto;min-width:0}
.v4-app[data-ui=next] .gb-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.v4-app[data-ui=next] .gb-table th{position:sticky;top:0;z-index:1;height:36px;padding:0 10px;background:var(--gb-surface);box-shadow:inset 0 -1px 0 var(--gb-hair);font-size:12px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2);text-align:left;white-space:nowrap}
.v4-app[data-ui=next] .gb-table td{height:48px;padding:0 10px;vertical-align:middle;white-space:nowrap;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-table .gb-num{text-align:right}
.v4-app[data-ui=next] .gb-table .gb-sel{width:40px;padding:0 0 0 2px}
.v4-app[data-ui=next] .gb-table tbody tr:nth-child(even) td{background:var(--gb-zebra)}
.v4-app[data-ui=next] .gb-table tbody tr:hover td{background:var(--gb-hover)}
.v4-app[data-ui=next] .gb-table tbody tr.is-checked td{background:var(--gb-select)}
.v4-app[data-ui=next] .gb-table tbody tr.is-open td{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gb-table tbody td:first-child{border-radius:var(--gb-r-sm) 0 0 var(--gb-r-sm)}
.v4-app[data-ui=next] .gb-table tbody td:last-child{border-radius:0 var(--gb-r-sm) var(--gb-r-sm) 0}
.v4-app[data-ui=next] .gb-who{display:flex;align-items:center;gap:10px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-who:hover .gb-who__name{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next] .gb-who__text{display:flex;flex-direction:column;min-width:0;line-height:17px}
.v4-app[data-ui=next] .gb-who__sub{display:none;align-items:center;gap:6px;font-size:12px;font-weight:var(--gb-fw-regular);line-height:16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-two{display:flex;flex-direction:column;line-height:17px}
.v4-app[data-ui=next] .gb-two small{font-size:12px;line-height:16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-two.gb-num{align-items:flex-end}
@container (max-width:960px){
  .v4-app[data-ui=next] .gb-table .gb-p3{display:none}
}
@container (max-width:760px){
  .v4-app[data-ui=next] .gb-table .gb-p2{display:none}
  .v4-app[data-ui=next] .gb-table .gb-who__sub{display:flex}
}
.v4-app[data-ui=next] .gb-table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 4px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-bulk-wrap{display:flex;justify-content:center;padding:16px 0 8px}
.v4-app[data-ui=next] .gb-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-height:48px;padding:6px 6px 6px 18px;border-radius:var(--gb-r-full);background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next] .gb-bulk__n{margin-right:8px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-bulk__sep{width:1px;height:20px;margin:0 6px;background:rgba(255,255,255,.2)}
.v4-app[data-ui=next] .gb-bulk__btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:0;border-radius:var(--gb-r-full);background:transparent;color:inherit;font-size:13px;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-bulk__btn:hover{background:var(--gb-hud-hover)}
.v4-app[data-ui=next] .gb-bulk__btn > .gb-icon{width:16px;height:16px}
.v4-app[data-ui=next] .gb-bulk__x{width:36px;padding:0;justify-content:center}
.v4-app[data-ui=next] .gb-chat{display:flex;flex-direction:column;gap:24px;width:100%;max-width:var(--gb-chat-max);margin:0 auto}
.v4-app[data-ui=next] .gb-msg{display:flex;flex-direction:column;gap:8px;min-width:0}
.v4-app[data-ui=next] .gb-msg--user{align-items:flex-end}
/* EC-04 (ff.ec04.chat_look, default off): the owner's own message is the familiar blue bubble (theme token, same values as the ChatKit accent in src/chatkit-ui.js) */
.v4-app[data-ui=next][data-chat-look=familiar] .gb-msg--user .gb-msg__bubble{background:var(--gb-owner-bubble);color:var(--gb-owner-bubble-ink)}
.v4-app[data-ui=next] .gb-msg__bubble{max-width:min(85%,520px);padding:10px 16px;border-radius:20px;background:var(--gb-fill-2);font-size:var(--gb-fs-15);line-height:1.5;text-wrap:pretty}
.v4-app[data-ui=next] .gb-msg__meta{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-msg__who{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-msg__who time{font:400 12px/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-msg__text{font-size:var(--gb-fs-15);line-height:var(--gb-lh-body);text-wrap:pretty}
.v4-app[data-ui=next] .gb-msg__text b,.v4-app[data-ui=next] .gb-msg__text strong{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-msg__done{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-msg__done .gb-icon{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gb-msg__tools{display:flex;align-items:center;gap:2px;margin-left:-8px}
.v4-app[data-ui=next] .gb-msg__tools .gb-btn{margin-left:auto}
.v4-app[data-ui=next] .gb-msg__actions{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next] .gb-chat--compact .gb-msg__text,.v4-app[data-ui=next] .gb-panel .gb-msg__text,.v4-app[data-ui=next] .gb-panel .gb-msg__bubble{font-size:14px}
.v4-app[data-ui=next] .gb-widget{display:flex;flex-direction:column;gap:16px;min-width:0;padding:16px 18px 18px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gb-widget__head{display:flex;align-items:center;gap:10px;min-height:32px}
.v4-app[data-ui=next] .gb-widget__icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--gb-r-sm);background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-widget__titles{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .gb-widget__title{font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-widget__sub{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-widget__head > .gb-btn{margin-left:auto}
.v4-app[data-ui=next] .gb-widget__rule{height:1px;margin:0 -18px;background:var(--gb-hair)}
.v4-app[data-ui=next] .gb-widget__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .gb-widget--record .gb-widget__head{min-height:44px}
.v4-app[data-ui=next] .gb-wtable{width:100%;border-collapse:collapse;font-size:13px}
.v4-app[data-ui=next] .gb-wtable th{height:28px;padding:0 8px;font-size:12px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2);text-align:left;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-wtable td{height:44px;padding:0 8px;box-shadow:inset 0 -1px 0 var(--gb-hair);white-space:nowrap}
.v4-app[data-ui=next] .gb-wtable tr:last-child td{box-shadow:none}
.v4-app[data-ui=next] .gb-wtable th:first-child,.v4-app[data-ui=next] .gb-wtable td:first-child{padding-left:0}
.v4-app[data-ui=next] .gb-wtable th:last-child,.v4-app[data-ui=next] .gb-wtable td:last-child{padding-right:0}
.v4-app[data-ui=next] .gb-wtable .gb-num{text-align:right}
.v4-app[data-ui=next] .gb-wtable tbody tr{transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-wtable tbody tr:hover td{background:var(--gb-hover)}
.v4-app[data-ui=next] .gb-wtable .gb-two{line-height:16px}
.v4-app[data-ui=next] .gb-preview{padding:12px 14px;border-radius:var(--gb-r-md);background:var(--gb-fill);font-size:14px;line-height:1.55;text-wrap:pretty}
.v4-app[data-ui=next] .gb-steps{display:flex;flex-direction:column}
.v4-app[data-ui=next] .gb-step{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;column-gap:12px;align-items:start;padding:10px 0}
.v4-app[data-ui=next] .gb-step + .gb-step::before{content:"";position:absolute;left:9.5px;top:-10px;width:1px;height:20px;background:var(--gb-hair-2)}
.v4-app[data-ui=next] .gb-step__mark{position:relative;z-index:1;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--gb-surface);box-shadow:inset 0 0 0 1.5px var(--gb-ink-3);color:transparent}
.v4-app[data-ui=next] .gb-step__mark .gb-icon{width:12px;height:12px;stroke-width:2}
.v4-app[data-ui=next] .gb-step.is-done .gb-step__mark{background:var(--gb-btn);box-shadow:none;color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gb-step__t{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.4}
.v4-app[data-ui=next] .gb-step__t small{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-step__when{font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gb-composer{display:flex;align-items:center;gap:4px;width:100%;max-width:var(--gb-chat-max);height:60px;padding:0 10px 0 12px;border-radius:var(--gb-r-full);background:var(--gb-raised);box-shadow:var(--gb-shadow-2);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-composer:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .gb-composer__input{flex:1;min-width:0;height:40px;padding:0 8px;border:0;background:transparent;color:var(--gb-ink);font-size:var(--gb-fs-15);outline:none;resize:none}
.v4-app[data-ui=next] .gb-composer__input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-composer__bar{display:flex;align-items:center;gap:4px;min-width:0}
.v4-app[data-ui=next] .gb-composer__bar .gb-push{margin-left:auto}
.v4-app[data-ui=next] .gb-autofile{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-autofile:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gb-autofile .gb-mdot{width:10px;height:10px;box-shadow:0 0 0 1.5px var(--gb-raised)}
.v4-app[data-ui=next] .gb-autofile .gb-mdot + .gb-mdot{margin-left:-3px}
.v4-app[data-ui=next] .gb-send{display:grid;place-items:center;width:40px;height:40px;flex:none;padding:0;border:0;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-send:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .gb-send:active{transform:scale(.94)}
.v4-app[data-ui=next] .gb-send--sm{width:36px;height:36px}
.v4-app[data-ui=next] .gb-composer--dock{flex-direction:column;align-items:stretch;gap:6px;height:auto;max-width:none;padding:12px 10px 10px 12px;border-radius:var(--gb-r-lg)}
.v4-app[data-ui=next] .gb-composer--dock .gb-composer__input{height:auto;min-height:44px;padding:2px 4px;line-height:1.5}
.v4-app[data-ui=next] .orb{position:relative;display:block;flex:none;border-radius:50%;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat;box-shadow:0 30px 80px -30px rgba(255,121,42,.45)}
.v4-app[data-ui=next] .orb::before,.v4-app[data-ui=next] .orb::after{content:none}
@keyframes gbn-orb-drift{0%{background-position:30% 40%}33%{background-position:68% 30%}66%{background-position:55% 74%}100%{background-position:30% 40%}}
.v4-app[data-ui=next] .orb-btn{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;border:0;background:#fff;color:#141414;box-shadow:0 10px 26px rgba(0,0,0,.28);cursor:pointer}
@media (prefers-reduced-motion: reduce){
  .v4-app[data-ui=next] .orb{animation:none}
}
.v4-app[data-ui=next] .gb-orb--hero{width:256px;height:256px}
.v4-app[data-ui=next] .gb-orb--dock{width:44px;height:44px}
.v4-app[data-ui=next] .gb-orb--rail{width:44px;height:44px}
.v4-app[data-ui=next] .gb-orb--inline{width:36px;height:36px}
.v4-app[data-ui=next] .gb-orb--avatar{width:20px;height:20px}
.v4-app[data-ui=next] .gb-hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:16px}
.v4-app[data-ui=next] .gb-hero::before{content:"";position:absolute;left:50%;top:-64px;width:960px;max-width:100%;height:620px;transform:translateX(-50%);background:radial-gradient(closest-side,var(--gb-glow),transparent);pointer-events:none}
.v4-app[data-ui=next] .gb-hero > *{position:relative}
.v4-app[data-ui=next] .gb-hero__floor{display:block;width:200px;height:22px;margin-top:20px;border-radius:50%;background:radial-gradient(closest-side,var(--gb-floor),transparent)}
.v4-app[data-ui=next] .gb-hero__date{margin-top:24px;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-hero__title{margin-top:8px;font-size:var(--gb-fs-56);font-weight:var(--gb-fw-semibold);line-height:1.05;letter-spacing:var(--gb-tr-display);text-wrap:balance}
.v4-app[data-ui=next] .gb-hero__title span{display:block;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-hero .gb-composer{margin-top:40px}
.v4-app[data-ui=next] .gb-hero .gb-chips{justify-content:center;max-width:820px;margin-top:16px}
.v4-app[data-ui=next] .gb-orb-btn-dot{display:grid;place-items:center}
.v4-app[data-ui=next] .gb-toasts{position:fixed;left:50%;bottom:24px;z-index:var(--gb-z-toast);display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateX(-50%);pointer-events:none}
.v4-app[data-ui=next] .gb-toast{display:flex;align-items:center;gap:10px;min-height:44px;max-width:min(520px,calc(100vw - 32px));padding:6px 6px 6px 14px;border-radius:var(--gb-r-full);background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2);font-size:13px;pointer-events:auto;animation:gbn-toast-in var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .gb-toast > .gb-icon{width:16px;height:16px;color:var(--gb-hud-ink-2)}
.v4-app[data-ui=next] .gb-toast__text{min-width:0}
.v4-app[data-ui=next] .gb-toast__text small{display:block;font-size:12px;color:var(--gb-hud-ink-2)}
.v4-app[data-ui=next] .gb-toast .gb-bulk__btn{height:32px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gb-toast--stack{border-radius:var(--gb-r-md)}
@keyframes gbn-toast-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.v4-app[data-ui=next] .gb-empty{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:360px;margin:0 auto;padding:40px 16px;text-align:center}
.v4-app[data-ui=next] .gb-empty .orb{margin-bottom:12px}
.v4-app[data-ui=next] .gb-empty__title{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .gb-empty__text{font-size:13px;color:var(--gb-ink-2);text-wrap:balance}
.v4-app[data-ui=next] .gb-empty .gb-chips{justify-content:center;margin-top:12px}
.v4-app[data-ui=next] .gb-menu{display:flex;flex-direction:column;min-width:220px;padding:6px;border-radius:var(--gb-r-md);background:var(--gb-raised);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next] .gb-menu__item{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font-size:13px;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gb-menu__item:hover,.v4-app[data-ui=next] .gb-menu__item:focus-visible{background:var(--gb-fill);outline:none}
.v4-app[data-ui=next] .gb-menu__item > .gb-icon{width:16px;height:16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-menu__item .gb-keys{margin-left:auto}
.v4-app[data-ui=next] .gb-menu__item--danger,.v4-app[data-ui=next] .gb-menu__item--danger > .gb-icon{color:var(--gb-danger)}
.v4-app[data-ui=next] .gb-menu__sep{height:1px;margin:6px 4px;background:var(--gb-hair)}
.v4-app[data-ui=next] .gb-menu__note{padding:4px 10px 6px 36px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-tooltip{display:inline-block;padding:6px 10px;border-radius:8px;background:var(--gb-hud);color:var(--gb-hud-ink);font-size:12px;font-weight:var(--gb-fw-medium);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next] .gb-needs{display:flex;flex-direction:column;gap:20px}
.v4-app[data-ui=next] .gb-need{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:baseline}
.v4-app[data-ui=next] .gb-need > .gb-mdot{align-self:center}
.v4-app[data-ui=next] .gb-need__title{font-size:var(--gb-fs-15);letter-spacing:var(--gb-tr-ui);line-height:1.35;text-wrap:pretty}
.v4-app[data-ui=next] .gb-need__amt{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);text-align:right}
.v4-app[data-ui=next] .gb-need__meta{grid-column:2/4;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-need__acts{grid-column:2/4;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.v4-app[data-ui=next] .gb-stars{display:inline-flex;gap:2px;align-self:center}
.v4-app[data-ui=next] .gb-stars svg{width:12px;height:12px}
.v4-app[data-ui=next] .gb-runs{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.v4-app[data-ui=next] .gb-run{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next] .gb-run__title{display:flex;align-items:baseline;gap:10px;font-size:13px;line-height:1.4}
.v4-app[data-ui=next] .gb-run__title .gb-mdot{transform:translateY(-1px)}
.v4-app[data-ui=next] .gb-run__meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-timeline{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between}
.v4-app[data-ui=next] .gb-timeline::before{content:"";position:absolute;left:calc(44px + 12px + 4px);top:30px;bottom:30px;width:1px;background:var(--gb-hair)}
.v4-app[data-ui=next] .gb-tl{display:grid;grid-template-columns:44px 9px minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:60px;margin:0 -10px;padding:0 10px;border-radius:var(--gb-r-sm);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-tl:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .gb-tl__time{font-size:13px;text-align:right}
.v4-app[data-ui=next] .gb-tl__dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--gb-surface);box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .gb-tl__dot.is-next{background:var(--gb-ink);box-shadow:none}
.v4-app[data-ui=next] .gb-tl__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .gb-tl__body small{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-tech{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-goalcard{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}
.v4-app[data-ui=next] .gb-goalcard__v{font-size:15px}
.v4-app[data-ui=next] .gb-goalcard__v b{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gb-recents{display:flex;flex-direction:column;margin:0 -10px}
.v4-app[data-ui=next] .gb-recent{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:56px;padding:0 10px;border-radius:var(--gb-r-sm);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gb-recent:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .gb-recent__t{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .gb-recent__t span{font-size:var(--gb-fs-15);letter-spacing:var(--gb-tr-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gb-recent__t small{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gb-recent + .gb-recent{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .gb-recent:hover,.v4-app[data-ui=next] .gb-recent:hover + .gb-recent{box-shadow:none}
@media (max-width:1279px){
  .v4-app[data-ui=next] .gb-inspector{position:fixed;top:12px;right:12px;bottom:12px;height:auto;z-index:var(--gb-z-sheet);border-radius:var(--gb-r-lg);box-shadow:var(--gb-shadow-3)}
  .v4-app[data-ui=next] .gb-inspector__bar{border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0}
}
@media (max-width:1023px){
  .v4-app[data-ui=next] .gb-list,.v4-app[data-ui=next] .gb-panel{position:fixed;top:0;bottom:0;left:var(--gb-rail-w);height:auto;z-index:var(--gb-z-sheet);box-shadow:var(--gb-shadow-3)}
  .v4-app[data-ui=next] .gb-list:not(.is-open){display:none}
  .v4-app[data-ui=next] .gb-shell .gb-rail__orb{display:block}
}
@media (max-width:759px){
  .v4-app[data-ui=next] .gb-shell{flex-direction:column}
  .v4-app[data-ui=next] .gb-rail{position:fixed;inset:auto 0 0 0;height:auto;flex-direction:row;justify-content:space-around;align-items:center;gap:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--gb-chrome-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 1px 0 var(--gb-hair)}
  .v4-app[data-ui=next] .gb-rail > *:not(.gb-rail__btn--tab):not(.gb-rail__foot){display:none}
  .v4-app[data-ui=next] .gb-rail__foot{display:contents}
  .v4-app[data-ui=next] .gb-rail__foot > *:not(.gb-rail__orb){display:none}
  .v4-app[data-ui=next] .gb-rail__btn--tab{order:1;width:56px;height:48px;gap:2px;align-content:center;border-radius:var(--gb-r-sm)}
  .v4-app[data-ui=next] .gb-rail__btn--tab.gb-rail__btn--end{order:3}
  .v4-app[data-ui=next] .gb-rail__btn--tab[data-tab]::after{content:attr(data-tab);position:static;padding:0;background:none;box-shadow:none;color:inherit;font-size:10px;font-weight:var(--gb-fw-medium);opacity:1;transform:none}
  .v4-app[data-ui=next] .gb-rail__btn[aria-current="page"]{background:transparent;box-shadow:none;color:var(--gb-ink)}
  .v4-app[data-ui=next] .gb-rail__badge{right:8px}
  .v4-app[data-ui=next] .gb-rail__dot{right:14px}
  .v4-app[data-ui=next] .gb-shell .gb-rail__orb{display:block;order:2;margin-top:-22px}
  .v4-app[data-ui=next] .gb-list{left:0;right:auto;width:min(320px,86vw)}
  .v4-app[data-ui=next] .gb-panel{inset:44px 0 0 0;width:auto;min-width:0;max-width:none;border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;box-shadow:0 0 0 100vmax var(--gb-scrim),var(--gb-shadow-3);z-index:calc(var(--gb-z-sheet) + 1)}
  .v4-app[data-ui=next] .gb-panel__grab{display:block;position:absolute;top:6px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:var(--gb-r-full);background:var(--gb-hair-2)}
  .v4-app[data-ui=next] .gb-panel__head{border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0}
  .v4-app[data-ui=next] .gb-panel__resize{display:none}
  .v4-app[data-ui=next] .gb-panel__foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next] .gb-inspector{inset:0;width:auto;border-radius:0}
  .v4-app[data-ui=next] .gb-shell--panel .gb-inspector{display:none}
  .v4-app[data-ui=next] .gb-topbar{height:52px;gap:8px;padding:0 8px 0 8px}
  .v4-app[data-ui=next] .gb-topbar .gb-topbar__menu{display:inline-grid}
  .v4-app[data-ui=next] .gb-crumbs > :not([aria-current]){display:none}
  .v4-app[data-ui=next] .gb-crumbs [aria-current]{font-size:15px;font-weight:var(--gb-fw-semibold)}
  .v4-app[data-ui=next] .gb-cmdk{flex:none;width:36px;padding:0;justify-content:center;background:transparent}
  .v4-app[data-ui=next] .gb-cmdk input,.v4-app[data-ui=next] .gb-cmdk .gb-keys{display:none}
  .v4-app[data-ui=next] .gb-topbar__end{flex:none}
  .v4-app[data-ui=next] .gb-usage{display:none}
  .v4-app[data-ui=next] .gb-page{padding:16px 16px 112px;gap:20px}
  .v4-app[data-ui=next] .gb-page--home{gap:40px}
  .v4-app[data-ui=next] .gb-hero__title{font-size:36px}
  .v4-app[data-ui=next] .gb-hero .gb-composer{margin-top:28px}
  .v4-app[data-ui=next] .gb-composer:not(.gb-composer--dock){height:auto;flex-wrap:wrap;padding:8px;border-radius:var(--gb-r-lg)}
  .v4-app[data-ui=next] .gb-composer:not(.gb-composer--dock) > .gb-composer__input{order:-1;flex:1 1 100%;height:44px;padding:0 10px}
  .v4-app[data-ui=next] .gb-composer:not(.gb-composer--dock) > .gb-autofile{margin-right:auto}
  .v4-app[data-ui=next] .gb-composer--dock .gb-context{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .v4-app[data-ui=next] .gb-pagehead__title{font-size:24px}
  .v4-app[data-ui=next] .gb-toolbar .gb-search{width:100%}
  .v4-app[data-ui=next] .gb-toolbar__tools{width:100%}
  .v4-app[data-ui=next] .gb-seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .v4-app[data-ui=next] .gb-seg > *{flex:none}
  .v4-app[data-ui=next] .gb-bulk{border-radius:var(--gb-r-lg);padding-left:16px}
  .v4-app[data-ui=next] .gb-kpi__value{font-size:24px}
  .v4-app[data-ui=next] .gb-askbar__input{font-size:13px}
  .v4-app[data-ui=next] .gb-askbar .gb-keys{display:none}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] *,.v4-app[data-ui=next] *::before,.v4-app[data-ui=next] *::after{transition-duration:1ms !important;animation-duration:1ms !important}
}

/* 2 · the existing v4 and presentation tokens, re-pointed at gb tokens =======
   Every page body already paints with these, so the whole app takes the gb palette and type
   while page builders refine their own pages in zz-next-<page>.css. */
.v4-app[data-ui=next]{
  --font:var(--gb-font);
  --bg:var(--gb-ground);--sidebar:var(--gb-chrome);--panel:var(--gb-surface);--panel-2:var(--gb-column);--line:var(--gb-hair-2);--line-soft:var(--gb-hair);
  --fg:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--chip:var(--gb-fill);--hover:var(--gb-hover);--nav-active:var(--gb-surface);--seg-off:var(--gb-fill-2);
  --accent:var(--gb-btn);--accent-tint:var(--gb-fill);--accent-line:var(--gb-hair-2);--accent-ink:var(--gb-ink);--on-accent:var(--gb-btn-ink);
  --btn-bg:var(--gb-btn);--btn-fg:var(--gb-btn-ink);--shadow:rgba(0,0,0,.06);--shadow-lg:rgba(0,0,0,.18);--sheet-scrim:var(--gb-scrim);--danger:var(--gb-danger);
  /* classic app-shell names that the ChatKit navigation and chat dock read */
  --ink:var(--gb-ink);--ink2:var(--gb-ink-2);--ink3:var(--gb-ink-2);--mute:var(--gb-ink-2);--faint:var(--gb-ink-3);--card:var(--gb-surface);--screen:var(--gb-ground);--line2:var(--gb-hair);--line3:var(--gb-hair-2);
  --ac-bg:var(--gb-column);--ac-panel:var(--gb-surface);--ac-line:var(--gb-hair);--ac-text:var(--gb-ink);--ac-muted:var(--gb-ink-2);--ac-accent:var(--gb-ink);
  /* the desktop presentation theme (--cf-*), which the live build writes into most classic rules */
  --cf-canvas:var(--gb-ground);--cf-surface:var(--gb-surface);--cf-field:var(--gb-surface);--cf-hover:var(--gb-hover);--cf-text:var(--gb-ink);--cf-muted:var(--gb-ink-2);--cf-subtle:var(--gb-ink-2);
  --cf-border:var(--gb-hair-2);--cf-strong:var(--gb-ink-3);--cf-primary:var(--gb-btn);--cf-on-primary:var(--gb-btn-ink);--cf-focus:var(--gb-focus);
  --cf-positive:var(--gb-sage-ink);--cf-warning:var(--gb-ember-ink);--cf-negative:var(--gb-danger);--cf-shadow:var(--gb-shadow-1);--cf-panel:var(--gb-surface);--cf-accent:var(--gb-ink);
  font-family:var(--gb-font);font-size:var(--gb-fs-13);color:var(--gb-ink);background:var(--gb-ground);
  font-variant-numeric:tabular-nums;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.v4-app[data-ui=next][data-theme=dark]{--shadow:rgba(0,0,0,.5);--shadow-lg:rgba(0,0,0,.7)}
.v4-app[data-ui=next] :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] ::selection{background:color-mix(in srgb,var(--gb-lav) 40%,transparent)}

/* 3 · SHELL: rail · conversations column · main · top bar ====================
   Desktop (≥761px). The v4 sidebar is the 64px rail (every page button stays, icon + its label as the
   native title tooltip and accessible name); the ChatKit conversation list is the 272px column; the chat
   panel replaces that column when a thread is open. --gbn-left is the space the fixed columns take. */
.v4-app[data-ui=next]{--gbn-panel-w:clamp(var(--gb-panel-min),var(--anna-width,400px),var(--gb-panel-max));--gbn-left:var(--gb-rail-w);--gbn-full-left:var(--gb-rail-w)}
/* full-screen chat keeps the conversation list beside it (rail · list · chat); the docked panel folds the list away */
.v4-app[data-ui=next][data-chatkit-shell=true]:not([data-chatkit-collapsed=true]){--gbn-full-left:calc(var(--gb-rail-w) + var(--gb-list-w))}
@media (min-width:761px){
  .v4-app[data-ui=next]{padding-left:var(--gbn-left)!important;padding-right:0!important;transition:padding-left var(--gb-dur-3) var(--gb-ease-in-out)!important}
  .v4-app[data-ui=next][data-chatkit-shell=true]{--gbn-left:calc(var(--gb-rail-w) + var(--gb-list-w))}
  .v4-app[data-ui=next][data-chatkit-shell=true][data-chatkit-collapsed=true]{--gbn-left:var(--gb-rail-w)}
  .v4-app[data-ui=next][data-anna-open=true][data-anna-view=dock],.v4-app[data-ui=next][data-chatkit-shell=true][data-anna-open=true][data-anna-view=dock]{--gbn-left:calc(var(--gb-rail-w) + var(--gbn-panel-w))}
  .v4-app[data-ui=next][data-anna-open=true][data-anna-view=full]{--gbn-left:var(--gb-rail-w)}
  .v4-app[data-ui=next][data-panel-dragging]:not([data-panel-dragging=""]){transition:none!important}

  /* 3.1 rail — the existing .v4-sidebar (shown even when the live ChatKit shell hides it in classic) */
  .v4-app[data-ui=next]>.v4-sidebar,.v4-app[data-ui=next][data-chatkit-shell=true]>.v4-sidebar,.v4-app[data-ui=next][data-sidebar-collapsed]>.v4-sidebar{display:flex!important;flex-direction:column;align-items:center;position:fixed;inset:0 auto 0 0;z-index:107;width:var(--gb-rail-w)!important;height:100vh;height:100dvh;padding:10px 0 12px!important;gap:2px;background:var(--gb-chrome)!important;border-right:0!important;box-shadow:inset -1px 0 0 var(--gb-hair);transition:none!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-workspace{width:40px;height:40px;flex:none;justify-content:center;gap:0!important;padding:0!important;margin:0 0 6px!important;border-radius:var(--gb-r-sm)!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-workspace>span{width:30px!important;height:30px!important;border-radius:9px!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font:var(--gb-fw-semibold) 13px/1 var(--gb-font)!important}
  /* name + industry stay in the button's accessible name and title; the rail shows the mark only */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-workspace>div,.v4-app[data-ui=next] .v4-sidebar .sidebar-workspace>svg,.v4-app[data-ui=next] .v4-sidebar .sidebar-search>span,.v4-app[data-ui=next] .v4-sidebar .sidebar-link>span:first-of-type,.v4-app[data-ui=next] .v4-sidebar .sidebar-user-name{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
  .v4-app[data-ui=next] .v4-sidebar :is(.sidebar-search,.sidebar-link,.nav-item){position:relative;display:grid!important;place-items:center;width:40px!important;height:28px!important;min-height:28px!important;flex:none;padding:0!important;gap:0!important;margin:0 auto!important;border:0!important;border-radius:var(--gb-r-sm)!important;background:transparent!important;box-shadow:none!important;color:var(--gb-ink-2)!important;font-weight:var(--gb-fw-medium)!important;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)!important}
  .v4-app[data-ui=next] .v4-sidebar :is(.sidebar-search,.sidebar-link,.nav-item):hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
  .v4-app[data-ui=next] .v4-sidebar :is(.sidebar-search,.sidebar-link):active{transform:scale(.95)}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link[aria-pressed=true]{background:var(--gb-surface)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}
  .v4-app[data-ui=next] .v4-sidebar :is(.sidebar-search,.sidebar-link)>svg{width:19px;height:19px;stroke-width:1.6}
  .v4-app[data-ui=next] .v4-sidebar .nav-item>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
  .v4-app[data-ui=next] .v4-sidebar .nav-item>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  /* badges: unread, open deals, active automations, approvals → a small counter on the icon */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link>span:not(:first-of-type){position:absolute!important;top:1px;right:-2px;display:inline-flex!important;align-items:center;gap:2px!important;min-width:16px;height:16px;padding:0 4px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font:var(--gb-fw-medium) 10px/16px var(--gb-mono)!important;box-shadow:0 0 0 2px var(--gb-chrome)}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link>span:not(:first-of-type)>span{display:none}
  /* Businesses (agency accounts only) is a text-only button in the shared template: the rail shows it as an icon like
     the other pages. Its aria-label and title still name it. */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link[aria-label=Businesses]{font-size:0!important;line-height:0!important}
  /* The shared button now carries its own grid icon too; the rail shows the one building icon, not both stacked in 28px. */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link[aria-label=Businesses]>svg{display:none}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link[aria-label=Businesses]::before{content:"";width:19px;height:19px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v16M15 9h2a2 2 0 0 1 2 2v10M9 7h2M9 11h2M9 15h2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v16M15 9h2a2 2 0 0 1 2 2v10M9 7h2M9 11h2M9 15h2'/%3E%3C/svg%3E") center/contain no-repeat}
  /* The rail scrolls when it is shorter than its 23 pages (eight are below the fold at 1280x720), so it keeps a thin
     scrollbar as the cue; the gutter is reserved on both edges so the 40px buttons stay centred. */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-scroll{flex:1 1 auto;width:100%;min-height:0;margin:6px 0 0!important;padding:0 0 8px!important;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--gb-ink-3) transparent;scrollbar-gutter:stable both-edges;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 14px),transparent)}
  /* 28px items 2px apart: the 23 pages, the top links, the orb and the account fit a 1000px-tall window without the
     active pill touching its neighbours or the last page sitting under the orb (UX sweep 2 N19). Shorter windows scroll. */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-scroll>div{gap:2px!important;align-items:center}
  /* group names (Marketing, Records, Money, Operations, Workspace): a hairline between groups; on tall screens the
     name shows as a small kicker. The text is always there for screen readers. */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-group-label{width:24px;height:1px;margin:3px auto!important;padding:0!important;overflow:hidden;background:var(--gb-hair-2);color:transparent!important;font-size:1px!important;line-height:1px!important;white-space:nowrap}
  @media (min-height:1080px){.v4-app[data-ui=next] .v4-sidebar .sidebar-group-label{width:52px;height:auto;margin:8px auto 2px!important;padding:8px 0 3px!important;background:transparent;border-top:1px solid var(--gb-hair-2);color:var(--gb-ink-2)!important;font:var(--gb-fw-semibold) 8.5px/1 var(--gb-font)!important;letter-spacing:.02em!important;text-transform:uppercase;text-align:center}}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user-area{flex:none;flex-direction:column;align-items:center;gap:4px!important;width:100%;margin-top:4px!important;padding-top:4px!important;border-top:0!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user{width:30px!important;height:30px!important;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b))!important;color:var(--gb-av-ink)!important;box-shadow:inset 0 0 0 .5px var(--gb-hair);font:var(--gb-fw-semibold) 12px/1 var(--gb-font)!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user-area>button[aria-label^="Appearance"]{margin:0!important;width:36px!important;height:32px!important;border:0!important;border-radius:var(--gb-r-sm)!important;background:transparent!important;color:var(--gb-ink-2)!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user-area>button[aria-label^="Appearance"]:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user-menu{position:fixed!important;left:calc(var(--gb-rail-w) + 8px)!important;right:auto!important;bottom:12px!important;width:240px;padding:6px!important;border:0!important;border-radius:var(--gb-r-md)!important;background:var(--gb-raised)!important;box-shadow:var(--gb-shadow-2)!important;z-index:120!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user-menu button{border-radius:var(--gb-r-sm)!important;font-weight:var(--gb-fw-medium)!important;color:var(--gb-ink)!important}
  /* the rail has one width in this look: the collapse toggle and drag edge of the classic sidebar have no job here
     (classic-live hides them too behind the ChatKit shell). Pages stay one click away in the rail. */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-toggle,.v4-app[data-ui=next]>.navigation-resize,.v4-app[data-ui=next] .v4-navigation-close{display:none!important}
  /* chat entry at the foot of the rail: the real orb */
  .v4-app[data-ui=next] .gbn-rail-orb{flex:none;display:grid;place-items:center;width:44px;height:42px;margin:2px auto 0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next] .gbn-rail-orb .orb{width:36px;height:36px;box-shadow:0 10px 24px -10px rgba(255,121,42,.55)}
  .v4-app[data-ui=next] .gbn-rail-orb:hover{transform:scale(1.06)}
  .v4-app[data-ui=next] .gbn-rail-orb[aria-expanded=true] .orb{box-shadow:0 0 0 2px var(--gb-chrome),0 0 0 3.5px var(--gb-ink-3)}

  /* 3.2 conversations column — the ChatKit navigation (New chat, search, Home, Rules, Your business, AI team, Recent chats) */
  .v4-app[data-ui=next] .ck-navigation-host>.anna-chatkit-sidebar{left:var(--gb-rail-w)!important;width:var(--gb-list-w)!important;z-index:105;padding:0 12px 12px!important;background:var(--gb-chrome)!important;color:var(--gb-ink)!important;box-shadow:inset -1px 0 0 var(--gb-hair)!important;border:0!important;font:var(--gb-fs-13)/var(--gb-lh-ui) var(--gb-font)!important}
  .v4-app[data-ui=next] .ck-navigation-host>.anna-chatkit-sidebar[data-open=false]{transform:translateX(calc(-100% - var(--gb-rail-w)))}
  /* while the docked panel is open the list folds behind it: one click away — the panel's close (×), ⌘J,
     or Full screen, which shows the list beside the chat */
  .v4-app[data-ui=next][data-anna-open=true]:not([data-anna-view=full]) .ck-navigation-host>.anna-chatkit-sidebar{visibility:hidden;pointer-events:none}
}
.v4-app[data-ui=next] .ck-navigation-host :is(button,input,select){font-family:var(--gb-font)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar>header{display:flex;align-items:center;gap:8px;height:var(--gb-topbar-h);margin:0 0 4px!important;padding:0 2px 0 6px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-brand img{height:20px;width:auto}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-tool-heading,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-team-toggle{min-height:32px!important;height:auto;padding:6px 10px!important;border-radius:var(--gb-r-sm)!important;font-size:13px!important;font-weight:var(--gb-fw-regular)!important;color:var(--gb-ink)!important;background:transparent!important;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar :is(nav>button,.ck-tool-heading,.ck-team-toggle,.anna-chatkit-recents button):hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button:first-child{margin-bottom:6px;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important;font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button:first-child:hover{box-shadow:var(--gb-shadow-1)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar :is(nav>button[aria-current=page],nav>button[aria-pressed=true],.anna-chatkit-recents button[aria-current=page]){background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button svg,.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button>span:first-child:not(:only-child){color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar h2,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-team-toggle{padding:16px 10px 6px!important;font-size:12px!important;font-weight:var(--gb-fw-semibold)!important;color:var(--gb-ink-2)!important;letter-spacing:0!important;text-transform:none!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-team-toggle{padding:10px!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-recents button{border-radius:var(--gb-r-sm)!important;padding:7px 10px 8px!important;font-size:13px!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar p{padding:0 10px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar footer{margin:auto 0 0;padding:10px 4px 0!important;border-top:1px solid var(--gb-hair)!important;display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next] .anna-chatkit-sidebar footer>button{border-radius:var(--gb-r-sm)!important;padding:8px 8px!important;font-size:13px!important;color:var(--gb-ink)!important;background:transparent!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar footer>button:hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar footer>small{padding:4px 8px;font-size:11px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar-tools>input{border:0!important;background:var(--gb-fill)!important;border-radius:var(--gb-r-full)!important;font-size:13px!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ck-workspace-controls{top:10px!important;left:calc(var(--gbn-left) + 10px)!important;z-index:82!important;gap:2px!important}
.v4-app[data-ui=next] .ck-workspace-controls>button{min-height:36px!important;min-width:36px!important;border-radius:var(--gb-r-full)!important;background:transparent!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) 13px/1 var(--gb-font)!important}
.v4-app[data-ui=next] .ck-workspace-controls>button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ck-workspace-controls .ck-open-chat{color:var(--gb-ink)!important;padding-inline:12px!important}
.v4-app[data-ui=next]:has(.ck-workspace-controls) .v4-workspace-header{padding-left:116px!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar>header .anna-icon{border-radius:var(--gb-r-full)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar :is(header,nav) svg{fill:none!important;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav svg{color:var(--gb-ink-2)!important}

/* 3.3 main + slim top bar */
.v4-app[data-ui=next] .v4-main{background:var(--gb-ground)!important;container:gb-main/inline-size}
.v4-app[data-ui=next] .v4-workspace-header{position:sticky;top:0;z-index:var(--gb-z-sticky);height:var(--gb-topbar-h);min-height:var(--gb-topbar-h);padding:0 16px 0 24px!important;gap:10px!important;border-bottom:0!important;background:color-mix(in srgb,var(--gb-ground) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(1){font-size:13px!important;color:var(--gb-ink-2)!important;font-weight:var(--gb-fw-regular)!important;max-width:160px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* The breadcrumb's "/" is text too: --gb-ink-3 measured 3.3:1 (Light) and 3.9:1 (Dark); --gb-ink-2 clears 4.5:1 (UX sweep 2 N23). */
.v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(2){color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(3){font-size:13px!important;font-weight:var(--gb-fw-medium)!important;color:var(--gb-ink)!important;white-space:nowrap}
/* the Ask bar opens the same chat (⌘J), so the classic "Ask ⌘J" button is not shown twice */
.v4-app[data-ui=next] .v4-workspace-header .ask-fab{display:none!important}
/* the agent's status pill is folded into the presence button below (same live text, now clickable) */
.v4-app[data-ui=next] .v4-workspace-header [data-anna-status]{display:none!important}
.v4-app[data-ui=next] .v4-workspace-header>span[style*="margin-left:auto"],.v4-app[data-ui=next] .v4-workspace-header>span[style*="margin-left: auto"]{gap:6px!important}
.v4-app[data-ui=next] .v4-workspace-header button[aria-label^="What"]{width:36px!important;height:36px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:transparent!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-workspace-header button[aria-label^="What"]:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-workspace-header button[aria-label^="What"]>span{top:2px!important;right:2px!important;min-width:15px!important;height:15px!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font:var(--gb-fw-medium) 10px/15px var(--gb-mono)!important;box-shadow:0 0 0 2px var(--gb-ground)}
/* autonomy mode pill (Review first / Within your rules / full autonomy) */
.v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label]){height:32px!important;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:transparent!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) 12px/1 var(--gb-font)!important}
.v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label]):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)!important}
.v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label])>span:not(.sc-interp){background:var(--gb-sage)!important}
.v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label])>.sc-interp{background:transparent!important;color:inherit!important}
.v4-app[data-ui=next] .conversation-mode-button{border-radius:var(--gb-r-full)!important}

/* 3.4 Ask bar ("Ask about this page"), agent presence, Needs you */
.v4-app[data-ui=next] .gbn-askbar{flex:1 1 360px;max-width:440px;min-width:0;display:flex;align-items:center;gap:4px;height:38px;margin:0 4px 0 12px;padding:0 4px 0 6px;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-askbar:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gbn-askbar:focus-within{box-shadow:var(--gb-shadow-1),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .gbn-askbar .orb{width:26px;height:26px;box-shadow:none}
.v4-app[data-ui=next] .gbn-askbar__input{flex:1;min-width:0;height:34px;padding:0 6px;border:0;background:transparent;color:var(--gb-ink);font:var(--gb-fw-regular) 13px/1 var(--gb-font);outline:none}
.v4-app[data-ui=next] .gbn-askbar__input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-askbar__keys{display:inline-flex;gap:3px;flex:none;padding:4px;border:0;border-radius:var(--gb-r-sm);background:transparent;cursor:pointer}
.v4-app[data-ui=next] .gbn-askbar__keys:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-askbar__keys kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:0;border-radius:var(--gb-r-xs);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);font:400 11px/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-askbar__send{display:grid;place-items:center;flex:none;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-askbar__send:disabled{opacity:.25;cursor:default}
.v4-app[data-ui=next] .gbn-askbar__send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gbn-presence{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;height:36px;margin-left:auto;padding:0 12px 0 5px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink);font:var(--gb-fw-regular) 12px/1.2 var(--gb-font);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-presence:hover,.v4-app[data-ui=next] .gbn-presence[aria-expanded=true]{background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-presence .orb{width:26px;height:26px;box-shadow:none}
.v4-app[data-ui=next] .gbn-presence__text{display:flex;align-items:baseline;gap:5px;flex:0 1 auto;min-width:60px;max-width:260px;overflow:hidden}
.v4-app[data-ui=next] .gbn-presence__text b{flex:none;max-width:120px;font-size:13px;font-weight:var(--gb-fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gbn-presence__text span{min-width:0;color:var(--gb-ink-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gbn-presence__text span[aria-hidden]{flex:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-presence__n{padding-left:10px;box-shadow:inset 1px 0 0 var(--gb-hair-2);font:400 11px/1 var(--gb-mono);color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .gbn-needs{display:inline-flex;align-items:center;gap:7px;flex:none;height:32px;padding:0 6px 0 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);font:var(--gb-fw-medium) 12px/1 var(--gb-font);white-space:nowrap;cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-needs:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gbn-needs b{min-width:20px;height:20px;padding:0 6px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font:var(--gb-fw-medium) 11px/20px var(--gb-mono);text-align:center}
@container gb-main (max-width:1240px){.v4-app[data-ui=next] .gbn-presence__n{display:none}}
@container gb-main (max-width:900px){.v4-app[data-ui=next] .gbn-presence__text span{display:none}.v4-app[data-ui=next] .gbn-askbar{flex-basis:220px}}
@container gb-main (max-width:720px){.v4-app[data-ui=next] .gbn-presence__text{display:none}.v4-app[data-ui=next] .gbn-presence{padding-right:5px}.v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(-n+2){display:none}}

/* 3.5 page chrome inside main: coaching tip, service notice, the live activity strip */
.v4-app[data-ui=next] .v4-service-notice{margin:12px 24px 0;padding:10px 14px!important;border:0!important;border-radius:var(--gb-r-md);background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1);font-size:13px!important}
.v4-app[data-ui=next] .v4-main>div[style*="overflow-y"]>sc-if>div[style*="accent-tint"],.v4-app[data-ui=next] .v4-main div[style*="padding:13px 44px"]{margin:16px 24px 0;padding:10px 12px 10px 14px!important;border:0!important;border-radius:var(--gb-r-lg);background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .px-activity-stage{background:transparent!important}
.v4-app[data-ui=next] .header-activity{margin:0 16px 12px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important;font-family:var(--gb-font)!important}
.v4-app[data-ui=next] .header-activity :is(button,small,strong,time,span){font-family:var(--gb-font)!important}
.v4-app[data-ui=next] .header-activity-label{font:var(--gb-fw-medium) 11px/1.2 var(--gb-mono)!important;letter-spacing:.12em!important;color:var(--gb-ember-ink)!important}
.v4-app[data-ui=next] .px-open-activity{border-radius:var(--gb-r-full)!important;border:0!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .px-open-activity:hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .px-activity-drawer{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-raised)!important;box-shadow:var(--gb-shadow-3)!important;color:var(--gb-ink)!important;font-family:var(--gb-font)!important}

/* 3.6 overlays the shell owns: command palette, the activity log, workspace picker, menus */
.v4-app[data-ui=next] input[aria-label="Search or jump to"]{font-family:var(--gb-font)!important}
.v4-app[data-ui=next] div[style*="z-index: 80"]>div,.v4-app[data-ui=next] div[style*="z-index:80"]>div{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-raised)!important;box-shadow:var(--gb-shadow-3)!important}

/* 4 · CHAT PANEL — the left column when a thread is open (400px, 360–560), page live on the right ====
   Same panel (#anna-panel), same ChatKit thread; only its place and skin change. Full view spans the main area. */
@media (min-width:761px){
  .v4-app[data-ui=next] .anna-sidechat{inset:0 auto 0 var(--gb-rail-w)!important;width:var(--gbn-panel-w)!important;max-width:none!important;height:100dvh;z-index:106!important;border:0!important;background:var(--gb-column)!important;color:var(--gb-ink)!important;box-shadow:inset -1px 0 0 var(--gb-hair)!important;transform:translateX(calc(-100% - var(--gb-rail-w)));transition:transform var(--gb-dur-3) var(--gb-ease-in-out),visibility var(--gb-dur-3)!important;font-family:var(--gb-font)!important;--ac-bg:var(--gb-column);--ac-panel:var(--gb-surface);--ac-line:var(--gb-hair);--ac-text:var(--gb-ink);--ac-muted:var(--gb-ink-2);--ac-accent:var(--gb-ink)}
  .v4-app[data-ui=next] .anna-sidechat[data-open=true]{transform:none}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full],.v4-app[data-ui=next][data-chatkit-shell=true] .anna-sidechat[data-view=full]{left:var(--gbn-full-left)!important;right:0!important;width:calc(100% - var(--gbn-full-left))!important;animation:none!important}
  /* resize edge on the RIGHT of the left panel; drag right to widen (src/panel-layout.js) */
  .v4-app[data-ui=next] .anna-resize{left:auto!important;right:-5px!important;width:10px!important}
  .v4-app[data-ui=next] .anna-resize:before{inset:0 4px!important;background:transparent!important;box-shadow:none!important}
  .v4-app[data-ui=next] .anna-resize:after{content:"";position:absolute;left:4px;top:50%;width:2px;height:40px;margin-top:-20px;border-radius:2px;background:var(--gb-ink-3);opacity:0;transition:opacity var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next] .anna-resize:is(:hover,:focus-visible):after,.v4-app[data-ui=next][data-panel-dragging=right] .anna-resize:after{opacity:1}
  /* the right-edge "drag to open" strip belongs to a right-hand panel; here the chat opens from the Ask bar, ⌘J, the rail orb or a conversation */
  .v4-app[data-ui=next] .anna-reopen-edge{display:none!important}
}
/* panel head: title + page, pin, close (the classic header's history/new/expand are the toolbar's Home/New/Full screen below) */
.v4-app[data-ui=next] .anna-sidechat .anna-chat-header{display:flex!important;align-items:center;gap:2px;height:var(--gb-topbar-h);flex:none;padding:0 8px 0 14px!important;border:0!important;background:transparent!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat .anna-chat-header>.anna-title,.v4-app[data-ui=next] .anna-sidechat .anna-chat-header>.anna-icon:not(.gbn-pin):not([title^="Close"]){display:none!important}
.v4-app[data-ui=next] .gbn-panel-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.25}
.v4-app[data-ui=next] .gbn-panel-title b{font-size:13px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gbn-panel-title>span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-icon{width:32px!important;height:32px!important;min-width:32px!important;border-radius:var(--gb-r-full)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-icon:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-icon[aria-pressed=true]{background:var(--gb-fill-2)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-toolbar{min-height:44px!important;padding:4px 8px!important;border:0!important;background:transparent!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-toolbar button{border-radius:var(--gb-r-full)!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-regular) 12px/1 var(--gb-font)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-toolbar button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-wordmark{font:var(--gb-fw-medium) 12px/1 var(--gb-font)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-identity{background:transparent!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-identity strong{font:var(--gb-fw-semibold) 15px/1.3 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-sidechat :is(.anna-dot-identity span,.anna-dot-identity small,.anna-chatkit-label){color:var(--gb-ink-2)!important;font-family:var(--gb-font)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-mark{background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-notice{margin:12px 16px!important;padding:12px 14px!important;border:0!important;border-radius:var(--gb-r-md)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1);color:var(--gb-ink)!important;font:13px/1.45 var(--gb-font)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-notice button{margin-left:6px;height:28px;padding:0 12px;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font:var(--gb-fw-medium) 12px/1 var(--gb-font)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-footer{border:0!important;background:transparent!important;color:var(--gb-ink-2)!important;font:12px/1.4 var(--gb-font)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-footer button{border-radius:var(--gb-r-full)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-business{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-raised)!important;box-shadow:var(--gb-shadow-2)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .gbn-panel-note{flex:none;display:block;margin:0;padding:8px 14px 12px;font-size:12px;line-height:1.4;color:var(--gb-ink-2);text-align:center}
.v4-app[data-ui=next] .gbn-context-chip{display:inline-flex;vertical-align:middle;align-items:center;gap:6px;height:24px;margin:0 4px 2px 0;padding:0 10px 0 8px;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);white-space:nowrap}
.v4-app[data-ui=next] .gbn-context-chip svg{width:13px;height:13px;fill:none;stroke:var(--gb-ink-2);stroke-width:1.6}
.v4-app[data-ui=next] .anna-sidechat[data-view=full] .gbn-panel-note{display:none}
/* chat cards (ChatKit widgets) inherit gb surfaces through ChatKit's own colour scheme; the element is themed by chatkit-ui.js */
.v4-app[data-ui=next] .anna-sidechat #anna-chatkit-root{background:transparent!important}

/* 5 · PHONE (≤760px): the rail becomes a bottom tab bar, the workspace navigation stays the drawer behind "More"
   (and the top bar's Menu), and the chat panel is a full-height bottom sheet. */
.v4-app[data-ui=next] .gbn-tabbar{display:none}
@media (max-width:760px){
  .v4-app[data-ui=next]{padding-left:0!important;padding-right:0!important}
  .v4-app[data-ui=next] .v4-main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next] .gbn-tabbar{position:fixed;inset:auto 0 0 0;z-index:108;display:flex;align-items:center;justify-content:space-around;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--gb-chrome-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 1px 0 var(--gb-hair)}
  .v4-app[data-ui=next] .gbn-tabbar>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:60px;height:48px;padding:0;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 10px/1.1 var(--gb-font);cursor:pointer}
  .v4-app[data-ui=next] .gbn-tabbar>button>span:last-child:not(.orb){max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .v4-app[data-ui=next] .gbn-tabbar>button[aria-pressed=true]{color:var(--gb-ink)}
  /* Sweep 2 N15, simple navigation (ui.simple_nav): its tabs mark the current destination with aria-current=page,
     and its Manager tab's orb is only sized inside the rail (.v4-sidebar .gbn-dest), so on the phone it drew at 0px. */
  .v4-app[data-ui=next] .gbn-tabbar>button[aria-current=page]{color:var(--gb-ink);background:var(--gb-fill);font-weight:600}
  .v4-app[data-ui=next] .gbn-tabbar .gbn-dest__orb{width:22px;height:22px;box-shadow:none}
  .v4-app[data-ui=next] .gbn-tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .v4-app[data-ui=next] .gbn-tabbar .gbn-tabbar__orb{width:60px;height:60px;margin-top:-26px;border-radius:50%}
  .v4-app[data-ui=next] .gbn-tabbar .gbn-tabbar__orb .orb{width:52px;height:52px;box-shadow:0 0 0 4px var(--gb-ground),0 14px 30px -12px rgba(255,121,42,.6)}
  /* top bar: one 52px row — conversation list · page title · agent · Needs you · mode · bell */
  .v4-app[data-ui=next] .v4-workspace-header{flex-wrap:nowrap!important;gap:4px!important;height:52px;min-height:52px;padding:0 8px 0 52px!important;overflow:hidden}
  .v4-app[data-ui=next]:has(.ck-workspace-controls) .v4-workspace-header{padding-left:52px!important}
  .v4-app[data-ui=next] .ck-workspace-controls{top:8px!important;left:8px!important}
  /* "Chat" text button: the tab bar's orb opens the same chat panel */
  .v4-app[data-ui=next] .ck-workspace-controls .ck-open-chat{display:none!important}
  /* the Ask bar lives in the chat sheet on phone: the tab bar's orb opens it with this page as context */
  .v4-app[data-ui=next] .v4-workspace-header .gbn-askbar{display:none}
  /* Menu: the tab bar's "More" opens the same workspace navigation drawer */
  .v4-app[data-ui=next] .v4-workspace-header .v4-navigation-toggle{display:none!important}
  .v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(-n+2){display:none}
  .v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(3){flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px!important;font-weight:var(--gb-fw-semibold)!important}
  .v4-app[data-ui=next] .gbn-presence__text,.v4-app[data-ui=next] .gbn-presence__n{display:none}
  .v4-app[data-ui=next] .gbn-presence{flex:none;margin-left:0;padding:0 4px}
  /* Needs you and the mode pill keep their names for screen readers; the row shows the count and the dot */
  .v4-app[data-ui=next] .gbn-needs{gap:0;height:36px!important;min-height:36px!important;padding:0 8px;background:transparent;box-shadow:none;font-size:0}
  .v4-app[data-ui=next] .gbn-needs .gb-dot{display:none}
  .v4-app[data-ui=next] .v4-workspace-header>span[style*="margin-left"]{flex:none;margin-left:0!important;gap:2px!important}
  .v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label]){width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;justify-content:center;box-shadow:none!important}
  .v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label])>.sc-interp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap}
  /* drawer: the full labelled navigation */
  .v4-app[data-ui=next] .v4-sidebar{background:var(--gb-chrome)!important;border:0!important;box-shadow:var(--gb-shadow-3)!important;border-radius:0 var(--gb-r-lg) var(--gb-r-lg) 0}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link{border-radius:var(--gb-r-sm)!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-link[aria-pressed=true]{background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important}
  .v4-app[data-ui=next] .v4-navigation-close{border:0!important;background:var(--gb-fill)!important;border-radius:var(--gb-r-full)!important}
  /* chat: full-height bottom sheet, 44px from the top, grab handle, scrim */
  .v4-app[data-ui=next] .anna-sidechat,.v4-app[data-ui=next][data-chatkit-shell=true] .anna-sidechat{inset:44px 0 0 0!important;width:auto!important;max-width:none!important;height:auto!important;z-index:130!important;border:0!important;border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0!important;background:var(--gb-column)!important;color:var(--gb-ink)!important;box-shadow:0 0 0 100vmax var(--gb-scrim),var(--gb-shadow-3)!important;transform:translateY(105%);transition:transform var(--gb-dur-3) var(--gb-ease)!important;--ac-bg:var(--gb-column);--ac-panel:var(--gb-surface);--ac-line:var(--gb-hair);--ac-text:var(--gb-ink);--ac-muted:var(--gb-ink-2)}
  .v4-app[data-ui=next] .anna-sidechat[data-open=true]{transform:none}
  .v4-app[data-ui=next] .anna-sidechat:not([data-open=true]){box-shadow:none!important}
  .v4-app[data-ui=next] .anna-sidechat:before{content:"";position:absolute;top:6px;left:50%;z-index:3;width:36px;height:5px;margin-left:-18px;border-radius:var(--gb-r-full);background:var(--gb-hair-2)}
  .v4-app[data-ui=next] .anna-sidechat .anna-resize{display:none!important}
  .v4-app[data-ui=next] .header-activity{margin:0 8px 8px!important;border-radius:var(--gb-r-lg)!important}
}

/* 6 · DARK details (tokens already switch with data-theme on .v4-app) */
.v4-app[data-ui=next][data-theme=dark] .v4-sidebar .sidebar-workspace>span{background:var(--gb-raised)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-theme=dark] .gbn-presence .orb,.v4-app[data-ui=next][data-theme=dark] .gbn-askbar .orb{box-shadow:0 0 0 .5px rgba(255,255,255,.08)}

/* 7 · motion: the left column morph (list ⇄ panel) and reduced motion */
@keyframes gbn-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v4-app[data-ui=next] .anna-sidechat[data-open=true] .anna-chatkit-main{animation:gbn-panel-in var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-motion=false] .anna-sidechat,.v4-app[data-ui=next][data-motion=false] .anna-sidechat *{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next],.v4-app[data-ui=next] .anna-sidechat{transition:none!important}.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-main{animation:none!important}}

/* toast · the confirmation banner ("Light mode applied…") as the gb toast, as P6 does for the classic and phone roots.
   It renders after the root, not inside it, so it is reached with ~ and takes its tokens from the blocks at the top.
   Classic gave it var(--panel), which is the v4 look's panel colour; without data-ui=next it is unchanged. */
.v4-app[data-ui=next]~.action-confirmation{align-items:center;gap:10px;min-height:44px;padding:6px 6px 6px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2);font:var(--gb-fw-medium) var(--gb-fs-13)/1.45 var(--gb-font);animation:gbn-toast-in var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next]~.action-confirmation::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--gb-sage)}
.v4-app[data-ui=next]~.action-confirmation[data-kind=error]::before{background:var(--gb-danger)}
.v4-app[data-ui=next]~.action-confirmation>div{flex:1;min-width:0;gap:2px}
.v4-app[data-ui=next]~.action-confirmation>div>strong{color:var(--gb-hud-ink-2);font:var(--gb-fw-medium) var(--gb-fs-11)/1.3 var(--gb-font)}
.v4-app[data-ui=next]~.action-confirmation>div>span{color:var(--gb-hud-ink);font:var(--gb-fw-medium) var(--gb-fs-13)/1.45 var(--gb-font)}
.v4-app[data-ui=next]~.action-confirmation>button{flex:none;border-radius:50%;color:var(--gb-hud-ink-2);font:400 20px/1 var(--gb-font)}
.v4-app[data-ui=next]~.action-confirmation>button:hover{background:var(--gb-hud-hover);color:var(--gb-hud-ink)}
.v4-app[data-ui=next]~.action-confirmation>button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
/* a slide only, never an opacity-0 frame */
@keyframes gbn-toast-in{from{transform:translate(-50%,12px)}to{transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.v4-app[data-ui=next]~.action-confirmation{animation:none}}
/* polish: the toast is small and sits top right, never over the composer or the centred chat column. Below the phone header
   on a narrow window. */
.v4-app[data-ui=next]~.action-confirmation{top:calc(env(safe-area-inset-top,0px) + 14px);right:16px;bottom:auto;left:auto;transform:none;width:auto;max-width:min(340px,calc(100vw - 32px));min-height:40px;padding:4px 4px 4px 12px;animation-name:gbn-toast-drop}
.v4-app[data-ui=next]~.action-confirmation>div>span{font-size:var(--gb-fs-12)}
@media(max-width:760px){.v4-app[data-ui=next]~.action-confirmation{top:calc(env(safe-area-inset-top,0px) + 58px);right:12px;max-width:calc(100vw - 24px)}}
@keyframes gbn-toast-drop{from{transform:translateY(-8px)}to{transform:none}}

/* QA F15: a narrower main column (chat docked at 1440, or a laptop) keeps every top-bar control whole. Secondary
   items collapse to icons that keep their names (aria-label / title): Install app, the workspace name in the
   breadcrumb, the agent's status words and the "Needs you" word; the page name and the Ask bar keep their room. */
@container gb-main (max-width:1100px){
  .v4-app[data-ui=next] .v4-workspace-header>.v4-install-app{width:34px;min-width:34px;padding:0!important;margin-left:0!important}
  .v4-app[data-ui=next] .v4-workspace-header>.v4-install-app .v4-install-app__icon{display:block}
  .v4-app[data-ui=next] .v4-workspace-header>.v4-install-app .v4-install-app__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(-n+2){display:none}
  .v4-app[data-ui=next] .gbn-presence__text span,.v4-app[data-ui=next] .gbn-presence__n{display:none}
  .v4-app[data-ui=next] .gbn-needs{gap:0;padding:0 6px;font-size:0}
  .v4-app[data-ui=next] .gbn-needs .gb-dot{display:none}
}
@container gb-main (max-width:980px){
  .v4-app[data-ui=next] .gbn-presence__text{display:none}
  .v4-app[data-ui=next] .gbn-presence{padding-right:5px}
}

/* QA F13: phone. The page title gets the room Install app used to take, and the fixed bottom area is slimmer:
   the approval strip is one 40px line above a 56px tab bar (was about 125px together). */
@media (max-width:760px){
  .v4-app[data-ui=next] .v4-main{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next] .gbn-tabbar{padding-top:4px!important;padding-bottom:calc(4px + env(safe-area-inset-bottom))!important}
  .v4-app[data-ui=next] .header-activity{min-height:0!important;margin:0 8px 6px!important}
  .v4-app[data-ui=next] .header-activity-main{min-height:40px!important;padding-top:2px!important;padding-bottom:2px!important}
  .v4-app[data-ui=next] .header-activity :is(.px-open-activity,.header-activity-pause){min-height:32px!important;height:32px!important;padding-top:0!important;padding-bottom:0!important}
  .v4-app[data-ui=next] .header-activity{height:44px!important;padding-top:0!important;padding-bottom:0!important;align-items:center}
  .v4-app[data-ui=next] .header-activity-main{height:auto!important}
  .v4-app[data-ui=next] .px-activity-stage{flex-basis:auto!important;min-height:0!important}
  .v4-app[data-ui=next] .header-activity-label,.v4-app[data-ui=next] .header-activity-message small,.v4-app[data-ui=next] .header-activity time{display:none!important}
}

/* UI-NEXT · Automations (B "Studio" layout in the gb tokens, with A's bubble depth).
   Every selector sits under the switch .v4-app[data-ui=next]; classic is untouched.
   The page root is a NESTED .v4-app (class "premium-shell v4-app"), so shell.css re-declares the classic palette and
   display:flex;height:100vh;overflow:hidden on it, and premium-upgrade.css paints it #000 !important and restyles
   .automations-card through an #main-workspace (ID-specificity) !important rule. Hence the #main-workspace anchor
   below and the !important overrides of inline styles. Tokens come from the foundation (zz-next-0-shell.css). */

/* 1 · page root: gb palette for the classic names the inline styles read, and a normal block flow ======= */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations]{
  --font:var(--gb-font);
  --bg:var(--gb-ground);--sidebar:var(--gb-chrome);--panel:var(--gb-surface);--panel-2:var(--gb-surface);--line:var(--gb-hair-2);--line-soft:var(--gb-hair);
  --fg:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--chip:var(--gb-fill);--hover:var(--gb-hover);--nav-active:var(--gb-surface);--seg-off:var(--gb-switch-off);
  --accent:var(--gb-btn);--accent-tint:var(--gb-fill);--accent-line:var(--gb-hair-2);--accent-ink:var(--gb-ink);--on-accent:var(--gb-btn-ink);
  --btn-bg:var(--gb-btn);--btn-fg:var(--gb-btn-ink);--sheet-scrim:var(--gb-scrim);--danger:var(--gb-danger);
  display:flex;flex-direction:column;gap:24px;
  width:100%;max-width:var(--gb-page-max);height:auto;min-height:0;overflow:visible;margin:0 auto;
  padding:32px 32px 72px !important;
  background:transparent !important;color:var(--gb-ink);
  font-family:var(--gb-font);font-size:var(--gb-fs-13);line-height:var(--gb-lh-ui);
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;transition:none;
}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > *{order:5;margin-top:0 !important;min-width:0}
/* reading order: where am I (title) → notices → what the agent did (KPIs) → lead reply → the list */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > .gbn-auto-head{order:0}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > :is(.automations-banner-ok,.automations-banner-bad){order:1}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > .gbn-auto-kpis{order:2}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > .gbn-auto-lead{order:3}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > .gbn-auto-cats{order:4}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > .automations-empty{order:5}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] > .gbn-auto-list{order:6;margin-top:-8px !important}

/* 2 · page header: 28px title, mono counts kicker, one primary ================================== */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-head{align-items:flex-end !important;justify-content:space-between;gap:16px 24px !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-title{font-size:var(--gb-fs-28) !important;font-weight:var(--gb-fw-semibold) !important;letter-spacing:var(--gb-tr-title) !important;line-height:1.15 !important;color:var(--gb-ink)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-kicker,.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-kicker[hidden]{display:block}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-kicker{margin-top:8px;font:var(--gb-fw-regular) var(--gb-fs-12)/1.3 var(--gb-mono);letter-spacing:-.01em;color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-desc{margin-top:6px !important;font-size:var(--gb-fs-13) !important;line-height:var(--gb-lh-ui) !important;color:var(--gb-ink-2) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-actions{flex-wrap:wrap;align-items:center;gap:8px !important}

/* 3 · buttons: gb pills (ghost = fill, solid = the one ink primary of its group) ===================== */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-btn-ghost,.automations-btn-solid){
  display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:0;border-radius:var(--gb-r-full);
  font-family:var(--gb-font);font-size:var(--gb-fs-13);font-weight:var(--gb-fw-medium);line-height:1;white-space:nowrap;
  transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-btn-ghost{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-btn-ghost:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-btn-ghost > svg{color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-btn-solid{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-btn-solid:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-btn-ghost,.automations-btn-solid):active{transform:scale(.97)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-btn-ghost,.automations-btn-solid):disabled{opacity:.4;cursor:default;transform:none}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-btn-ghost,.automations-btn-solid) > svg{width:16px;height:16px;flex:none}

/* 4 · notices ====================================================================================== */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-banner-ok,.automations-banner-bad){
  display:flex;align-items:center;gap:12px;padding:12px 8px 12px 16px;border:0;border-radius:var(--gb-r-md);
  background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-size:var(--gb-fs-13);line-height:var(--gb-lh-ui)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-banner-bad{padding-right:16px;color:var(--gb-danger);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-lead .automations-banner-bad{margin-top:10px !important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-banner-x{
  flex:none;margin-left:auto;height:32px;padding:0 12px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);
  font-family:var(--gb-font);font-size:var(--gb-fs-13);text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-banner-x:hover{background:var(--gb-fill);color:var(--gb-ink)}

/* 5 · KPI strip: what the agent is running and already did (real counts from the model) ================== */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-kpis{
  grid-template-columns:none !important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0 !important;
  border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile{
  display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px;border:0;border-radius:0;background:transparent;box-shadow:none}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile + .automations-tile{box-shadow:inset 1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile-label{font-size:var(--gb-fs-13);color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile-value{margin-top:4px;font-family:var(--gb-font);font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em;line-height:1.15;color:var(--gb-ink);white-space:nowrap}

/* 6 · the AI first-reply rule as a bubble row ======================================================= */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-lead{
  flex-wrap:wrap;gap:12px 16px !important;padding:20px;border:0 !important;border-radius:var(--gb-r-lg) !important;
  background:var(--gb-surface) !important;box-shadow:var(--gb-shadow-1) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-lead > div:first-child > div:first-child{font-size:var(--gb-fs-15) !important;font-weight:var(--gb-fw-semibold) !important;letter-spacing:var(--gb-tr-ui);line-height:1.35}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-lead > div:first-child > div:nth-child(2){margin-top:4px !important;font-size:var(--gb-fs-13) !important;line-height:var(--gb-lh-ui);color:var(--gb-ink-2) !important}

/* status: always a dot plus a word */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.gbn-auto-lead .automations-mini-chip,.gbn-auto-status){
  display:inline-flex !important;align-items:center;gap:7px;flex:none;height:auto;padding:0 !important;border-radius:0 !important;background:transparent !important;
  font-family:var(--gb-font) !important;font-size:var(--gb-fs-13) !important;font-weight:var(--gb-fw-regular) !important;letter-spacing:0 !important;text-transform:none;color:var(--gb-ink-2) !important;white-space:nowrap}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.gbn-auto-lead .automations-mini-chip,.gbn-auto-status)::before{
  content:"";width:7px;height:7px;flex:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.gbn-auto-lead .automations-mini-chip,.gbn-auto-status)[data-on=true]{color:var(--gb-ink) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.gbn-auto-lead .automations-mini-chip,.gbn-auto-status)[data-on=true]::before{background:var(--gb-sage);box-shadow:none}

/* 7 · filter chips → segmented control ============================================================== */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-cats{
  align-self:flex-start;max-width:100%;flex-wrap:nowrap !important;gap:0 !important;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill);
  overflow-x:auto;scrollbar-width:none}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-cats > button{
  flex:none;display:inline-flex;align-items:center;height:32px;padding:0 13px !important;border:0 !important;border-radius:var(--gb-r-full) !important;
  background:transparent !important;color:var(--gb-ink) !important;font-family:var(--gb-font);font-size:var(--gb-fs-13) !important;font-weight:var(--gb-fw-regular) !important;white-space:nowrap;
  transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-cats > button:hover{background:var(--gb-fill) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-cats > button[data-on=true]{background:var(--gb-seg-on) !important;box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium) !important}

/* 8 · workflow list: one grouped bubble, rows with hairlines inset 16px ============================ */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list{
  display:flex !important;flex-direction:column;gap:0 !important;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > *{position:relative}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > * + *::after{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--gb-hair);pointer-events:none}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card,
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card:hover{
  display:grid;grid-template-columns:36px minmax(0,1fr) auto auto auto;grid-template-areas:"icon title meta status switch" "icon flow meta status switch";
  align-items:center;column-gap:14px;row-gap:3px;min-height:56px;padding:12px 16px;
  border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important}
/* workflow glyph (decorative) */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card::before{
  content:"";grid-area:icon;width:36px;height:36px;border-radius:var(--gb-r-sm);box-shadow:inset 0 0 0 1px var(--gb-hair-2);
  background:var(--gb-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646468' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3 5 14h6l-1 7 8-11h-6l1-7Z'/%3E%3C/svg%3E") center/18px no-repeat}
.v4-app[data-ui=next][data-theme=dark] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a9a3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3 5 14h6l-1 7 8-11h-6l1-7Z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:first-child{display:contents !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:first-child > div:first-child{grid-area:title;min-width:0}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:first-child > div:first-child > div{
  font-size:var(--gb-fs-15) !important;font-weight:var(--gb-fw-medium) !important;letter-spacing:var(--gb-tr-ui) !important;line-height:1.35;color:var(--gb-ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-status{grid-area:status}
/* switch: 38×22, ink when on (gb-switch) */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-switch{
  grid-area:switch;position:relative;width:38px !important;height:22px !important;border-radius:var(--gb-r-full) !important;
  background:var(--gb-switch-off) !important;transition:background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-switch[data-on=true]{background:var(--gb-btn) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-switch::after{content:"";position:absolute;inset:-11px -8px}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-switch > div{
  top:2px !important;left:2px !important;width:18px !important;height:18px !important;background:#ffffff !important;box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:left var(--gb-dur-2) var(--gb-ease),background-color var(--gb-dur-2) var(--gb-ease) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-switch[data-on=true] > div{left:18px !important;background:var(--gb-btn-ink) !important}
/* When → Then, as one quiet line */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:nth-child(2){grid-area:flow;margin-top:0 !important;gap:4px 6px !important;min-width:0}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:nth-child(2) > svg{width:12px;height:12px;stroke:var(--gb-ink-3);flex:none}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-flow-chip{
  gap:6px;padding:0;border-radius:0;background:transparent;font-size:var(--gb-fs-13);font-weight:var(--gb-fw-regular);color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-flow-tag{
  font:var(--gb-fw-medium) 10px/1 var(--gb-mono);letter-spacing:.12em;text-transform:uppercase;opacity:1;color:var(--gb-ink-2)}
/* channel · delay, then the agent's run record for this workflow */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:nth-child(3){
  grid-area:meta;display:flex !important;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:2px 0 !important;max-width:260px;
  margin:0 !important;padding:0 !important;border:0 !important;text-align:right}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list .automations-mini-chip{
  padding:0;border-radius:0;background:transparent;font-family:var(--gb-font);font-size:var(--gb-fs-13);font-weight:var(--gb-fw-regular);letter-spacing:0;color:var(--gb-ink);white-space:nowrap}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list .automations-mini-chip + .automations-mini-chip::before{content:"·";padding:0 6px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-runs,.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-runs[hidden]{display:block}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-runs{flex-basis:100%;font-size:var(--gb-fs-12);line-height:1.4;color:var(--gb-ink-2);white-space:nowrap}

/* The "Describe it, <agent> builds it" tile: the add row at the foot of the list */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-build-tile{
  display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;row-gap:2px;align-items:center;justify-items:start;text-align:left;
  min-height:56px;padding:12px 16px;border:0;border-radius:0;background:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-build-tile:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-build-icon{
  grid-row:1 / span 2;width:36px;height:36px;border-radius:var(--gb-r-sm);background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-build-icon > svg{width:18px;height:18px}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-build-tile > div:nth-child(2){font-size:var(--gb-fs-15) !important;font-weight:var(--gb-fw-medium) !important;letter-spacing:var(--gb-tr-ui);line-height:1.35}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-build-tile > div:nth-child(3){max-width:none !important;font-size:var(--gb-fs-13) !important;line-height:var(--gb-lh-ui) !important;color:var(--gb-ink-2) !important}

.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-empty{
  padding:8px 16px 0;border:0;border-radius:0;background:transparent;text-align:left;font-size:var(--gb-fs-13);color:var(--gb-ink-2)}

/* 9 · sheets: confirm, describe-it builder, new-workflow form ====================================== */
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-overlay{background:var(--gb-scrim)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-modal{
  max-width:480px;max-height:calc(100dvh - 40px);overflow-y:auto;padding:24px;border:0;border-radius:var(--gb-r-lg);
  background:var(--gb-raised);box-shadow:var(--gb-shadow-3);color:var(--gb-ink);font-family:var(--gb-font)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-modal > div:first-child{font-size:var(--gb-fs-20) !important;font-weight:var(--gb-fw-semibold) !important;letter-spacing:-.02em;line-height:1.25}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-modal > div:nth-child(2){font-size:var(--gb-fs-13) !important;color:var(--gb-ink-2) !important;line-height:1.55 !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-modal > div:last-child:not(:first-child):not([style*="justify-content"]){color:var(--gb-ink-2) !important;font-size:var(--gb-fs-12) !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-modal > div[style*="justify-content"]{gap:8px !important;margin-top:20px !important}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-field-label{
  margin-top:16px;margin-bottom:6px;font-size:var(--gb-fs-13);font-weight:var(--gb-fw-medium);letter-spacing:0;text-transform:none;color:var(--gb-ink)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-input,.automations-textarea){
  height:40px;padding:0 12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);
  color:var(--gb-ink);font-family:var(--gb-font);font-size:var(--gb-fs-13);outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-textarea{height:auto;min-height:88px;margin-top:16px;padding:10px 12px;line-height:1.5}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-input,.automations-textarea)::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-input,.automations-textarea):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] :is(.automations-input,.automations-textarea):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}

/* 10 · phone (≤ 759px): 16px gutter, rows restack, nothing leaves the screen ======================== */
@media (max-width:759px){
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations]{gap:20px;padding:20px 16px 112px !important}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-head > div:first-child{min-width:0 !important;flex-basis:100% !important}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-title{font-size:24px !important}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile{padding:14px 12px 16px}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile-label{font-size:var(--gb-fs-12)}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-tile-value{font-size:24px}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-lead > div:first-child{min-width:0 !important;flex-basis:100% !important}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-lead > .automations-btn-solid{margin-left:auto}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card,
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card:hover{
    grid-template-columns:36px minmax(0,1fr) auto auto;grid-template-areas:"icon title status switch" "icon flow flow flow" "icon meta meta meta";column-gap:12px;align-items:start}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card::before{align-self:start}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-status{align-self:center}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-switch{align-self:center}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-list > .automations-card > div:nth-child(3){justify-content:flex-start;max-width:none;text-align:left;margin-top:2px !important}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .gbn-auto-runs{white-space:normal}
  .v4-app[data-ui=next] #main-workspace [data-gbn-page=automations] .automations-modal{padding:20px}
}

/* UI-NEXT · Calendar — A depth inside the B shell (reference canvas/project/A-Calendar.dc.html).
   Every selector starts with .v4-app[data-ui=next] (BUILD-BRIEF contract 2): nothing here reaches classic.
   Layout follows the spec's .gb-split for Calendar: the schedule on the left; booking settings, away dates
   and the phone calendar link become the aside on the right (they float into a 320px column, so the
   variable-height sections never stretch the schedule). Nothing is hidden: every classic control keeps
   its place (ADDENDUM 1 parity). Classic inline styles are overridden with !important where needed. */

.v4-app[data-ui=next] .v4-cal{
  /* classic theme names used by the inline styles, re-pointed at gb tokens inside this page only */
  --fg:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--line:var(--gb-hair);--line-soft:var(--gb-hair);
  --panel:var(--gb-surface);--panel-2:var(--gb-fill);--bg:var(--gb-ground);--hover:var(--gb-hover);
  --accent:var(--gb-btn);--on-accent:var(--gb-btn-ink);--accent-tint:var(--gb-fill);--accent-line:var(--gb-hair-2);--accent-ink:var(--gb-ink);
  --shadow:rgba(0,0,0,0);--font:var(--gb-font);
  --gbn-cal-aside:320px;--gbn-cal-gap:20px;
  display:flow-root;max-width:var(--gb-page-max);margin:0 auto;padding:32px 32px 72px!important;
  font-family:var(--gb-font);font-size:var(--gb-fs-13);line-height:var(--gb-lh-ui);color:var(--gb-ink);font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;container:gbn-cal/inline-size;
}
.v4-app[data-ui=next] .v4-cal :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* ---------- page header: large title + count on one baseline, one primary action ---------- */
.v4-app[data-ui=next] .v4-cal > .v4-cal-head{gap:16px 24px!important;align-items:flex-end!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-head > div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.v4-app[data-ui=next] .v4-cal > .v4-cal-head > div:first-child > div:first-child{font-size:var(--gb-fs-28)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-title)!important;line-height:1.15}
.v4-app[data-ui=next] .v4-cal > .v4-cal-head > div:first-child > div:nth-child(2){margin:0!important;font-size:15px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-head > div:first-child > .v4-cal-next-ai{flex-basis:100%}

/* What the agent is doing on the schedule (real appointment data only; see calendar-model.js calNextAi*). */
.v4-app[data-ui=next] .v4-cal .v4-cal-next-ai{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-cal .v4-cal-next-ai > span{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);white-space:nowrap}
.v4-app[data-ui=next] .v4-cal .v4-cal-next-ai i{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-sage)}
.v4-app[data-ui=next] .v4-cal .v4-cal-next-ai i[data-kind="you"]{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-cal .v4-cal-next-ai i[data-kind="live"]{animation:gbn-cal-live 2.4s ease-out infinite}
@keyframes gbn-cal-live{0%{box-shadow:0 0 0 0 rgba(150,171,136,.55)}100%{box-shadow:0 0 0 6px rgba(150,171,136,0)}}

/* buttons */
.v4-app[data-ui=next] .v4-cal :is(.v4-cal-primary-btn,.v4-cal-seg,.v4-cal-nav-btn,.v4-cal-mini-btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:0;border-radius:var(--gb-r-full);font-family:var(--gb-font);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-cal :is(.v4-cal-primary-btn,.v4-cal-seg,.v4-cal-nav-btn,.v4-cal-mini-btn):active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-cal :is(.v4-cal-primary-btn,.v4-cal-seg,.v4-cal-nav-btn,.v4-cal-mini-btn):disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .v4-cal .v4-cal-primary-btn{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .v4-cal .v4-cal-primary-btn:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .v4-cal :is(.v4-cal-seg,.v4-cal-nav-btn,.v4-cal-mini-btn){background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-cal :is(.v4-cal-seg,.v4-cal-nav-btn,.v4-cal-mini-btn):hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-cal .v4-cal-mini-btn{min-height:32px;padding:0 12px}
.v4-app[data-ui=next] .v4-cal .v4-cal-mini-btn[data-danger="1"]{background:transparent;color:var(--gb-danger);box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[aria-pressed="true"]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0),inset 0 0 0 1px var(--gb-hair-2)}

/* ---------- toolbar: Week | Month segmented, then ‹ period › Today ---------- */
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar{margin-top:24px!important;gap:8px 16px!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar > div:first-child{gap:0!important;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar > div:first-child > .v4-cal-seg{min-height:32px;padding:0 14px;background:transparent;font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar > div:first-child > .v4-cal-seg:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar > div:first-child > .v4-cal-seg[data-on="true"]{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar > div:nth-child(2){gap:4px!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-toolbar > div:nth-child(2) > span{min-width:0!important;padding:0 8px;font-size:15px!important;font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui);color:var(--gb-ink)!important;text-align:left!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-nav-btn[aria-label]{width:36px;padding:0;background:transparent;color:var(--gb-ink-2);font-size:16px}
.v4-app[data-ui=next] .v4-cal .v4-cal-nav-btn[aria-label]:hover{background:var(--gb-fill);color:var(--gb-ink)}

/* ---------- the split: aside sections float into the right column ---------- */
.v4-app[data-ui=next] .v4-cal > section:is([aria-label="Booking settings"],[aria-label="Away dates"],[aria-label="Calendar link"]){float:right;clear:right;width:var(--gbn-cal-aside);margin:24px 0 0!important;padding:20px!important;border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-size:13px}
.v4-app[data-ui=next] .v4-cal > section:is([aria-label="Away dates"],[aria-label="Calendar link"]){margin-top:20px!important}
/* the schedule column: everything else in the page flow sits beside the aside */
.v4-app[data-ui=next] .v4-cal > :is(.v4-cal-month,.v4-cal-legend,.v4-cal-week,.v4-cal-agenda-title,.v4-cal-agenda,.v4-cal-empty,section[aria-label="Move several appointments"]){margin-right:calc(var(--gbn-cal-aside) + var(--gbn-cal-gap))!important}

.v4-app[data-ui=next] .v4-cal > section > div:first-child{margin-bottom:8px!important;font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-cal > section > div:nth-child(2){font-size:12px!important;line-height:1.5;color:var(--gb-ink-2)!important;margin-bottom:12px!important}
.v4-app[data-ui=next] .v4-cal > section [role="status"],.v4-app[data-ui=next] .v4-cal > section [role="alert"]{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-cal > section [role="alert"]{color:var(--gb-danger)}
.v4-app[data-ui=next] .v4-cal > section > div:has(> .v4-cal-seg),.v4-app[data-ui=next] .v4-cal > section > div:has(> .v4-cal-primary-btn){gap:8px!important;flex-wrap:wrap}
.v4-app[data-ui=next] .v4-cal > section > .v4-cal-seg{margin-top:12px!important}
/* booking switches read as Settings-style rows: the label left, a switch track drawn on the right */
.v4-app[data-ui=next] .v4-cal > section > div:has(> .v4-cal-seg[role="switch"]){flex-direction:column;gap:0!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"]{position:relative;justify-content:flex-start;width:100%;min-height:44px;padding:0 54px 0 0;border-radius:0;background:transparent;font-weight:var(--gb-fw-regular);text-align:left;white-space:normal;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"]:last-child{box-shadow:none}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"]:hover{background:transparent}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"]::before{content:"";position:absolute;right:0;top:50%;width:38px;height:22px;margin-top:-11px;border-radius:var(--gb-r-full);background:var(--gb-switch-off);transition:background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"]::after{content:"";position:absolute;right:18px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"][aria-checked="true"]::before{background:var(--gb-btn)}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"][aria-checked="true"]::after{transform:translateX(16px);background:var(--gb-btn-ink)}
.v4-app[data-ui=next] .v4-cal .v4-cal-seg[role="switch"]:focus-visible{outline-offset:4px;border-radius:var(--gb-r-sm)}
.v4-app[data-ui=next] .v4-cal > section > div[style*="display:flex"]:has(> .v4-cal-mini-btn){min-height:40px;padding:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}

/* ---------- week strip: one bubble, seven day tiles, today raised ---------- */
.v4-app[data-ui=next] .v4-cal > .v4-cal-week{gap:4px!important;margin-top:24px!important;padding:8px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-cal .v4-cal-day{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px 12px 14px;border:0;border-radius:var(--gb-r-md);background:transparent;box-shadow:none;color:var(--gb-ink);text-align:left}
.v4-app[data-ui=next] .v4-cal .v4-cal-day > div:first-child{font-size:13px!important;font-weight:var(--gb-fw-regular)!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-day > div:nth-child(2){display:inline-grid;place-items:center;min-width:28px;height:28px;margin:2px 0 0 -4px!important;padding:0 4px;border-radius:var(--gb-r-full);font-size:var(--gb-fs-20)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-cal .v4-cal-day[data-today="true"]{background:var(--gb-select);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-cal .v4-cal-day[data-today="true"] > div:first-child{color:var(--gb-ink)!important;font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-day[data-today="true"] > div:nth-child(2){margin-left:0!important;background:var(--gb-btn);color:var(--gb-btn-ink);font-size:15px!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-day-pip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border-radius:0;background:transparent;color:var(--gb-ink-2);font:400 12px/1.2 var(--gb-font)}
.v4-app[data-ui=next] .v4-cal .v4-cal-day-pip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-cal .v4-cal-day-pip[data-today="true"]{color:var(--gb-ink);background:transparent}
.v4-app[data-ui=next] .v4-cal .v4-cal-day-pip[data-today="true"]::before{background:var(--gb-ember)}

/* ---------- month: one bubble, density as data colour ---------- */
.v4-app[data-ui=next] .v4-cal > .v4-cal-month{margin-top:24px!important;padding:8px!important;border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-month > div{border:0!important;padding:12px 4px 12px!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-month > div > div:first-child > span:first-child{font-size:var(--gb-fs-15)!important;font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-cell{min-height:56px;padding:8px;border-radius:var(--gb-r-sm);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-medium);text-align:left}
.v4-app[data-ui=next] .v4-cal .v4-cal-cell[data-density="light"]{background:color-mix(in srgb,var(--gb-ember) 18%,transparent)}
.v4-app[data-ui=next] .v4-cal .v4-cal-cell[data-density="busy"]{background:var(--gb-ember);color:#1d1d1f}
.v4-app[data-ui=next] .v4-cal .v4-cal-cell[data-today="true"]{outline:0;box-shadow:inset 0 0 0 2px var(--gb-ink)}
.v4-app[data-ui=next] .v4-cal .v4-cal-cell[data-in-month="false"]{opacity:.4}
.v4-app[data-ui=next] .v4-cal .v4-cal-cell-count{margin-top:6px;font:400 11px/1 var(--gb-mono);color:inherit;opacity:.8}
.v4-app[data-ui=next] .v4-cal > .v4-cal-legend{margin-top:12px!important;font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-legend-swatch{width:10px;height:10px;border-radius:50%}
.v4-app[data-ui=next] .v4-cal .v4-cal-legend-swatch[data-kind="light"]{background:color-mix(in srgb,var(--gb-ember) 30%,transparent)}
.v4-app[data-ui=next] .v4-cal .v4-cal-legend-swatch[data-kind="busy"]{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-cal .v4-cal-legend-swatch[data-kind="today"]{background:transparent;box-shadow:inset 0 0 0 2px var(--gb-ink)}

/* ---------- today's agenda: a timeline in one bubble ---------- */
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda-title{margin:32px 0 12px!important;padding-left:4px;font-size:var(--gb-fs-15)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-cal > section[aria-label="Move several appointments"]{align-items:center!important;gap:8px 12px!important;margin-bottom:12px!important;padding:8px 8px 8px 16px!important;border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-cal > section[aria-label="Move several appointments"] > .v4-cal-field{flex-direction:row!important;align-items:center;gap:10px;margin:0;font-size:13px}
.v4-app[data-ui=next] .v4-cal > section[aria-label="Move several appointments"] > span{flex-basis:100%;padding-bottom:4px}
.v4-app[data-ui=next] .v4-cal > section[aria-label="Move several appointments"] > span{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda{padding:8px;border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important;overflow:visible!important}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div + div{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div{display:grid;grid-template-columns:minmax(0,1fr)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div:has(> label){grid-template-columns:auto minmax(0,1fr)}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div > label{grid-column:1;grid-row:1;align-self:center;flex-direction:column;gap:2px!important;padding:0 0 0 12px!important;font-size:11px!important;color:var(--gb-ink-2)!important;cursor:pointer}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div > label > input{width:18px;height:18px;margin:0;accent-color:var(--gb-btn);cursor:pointer}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div > .v4-cal-agenda-row{grid-row:1}
.v4-app[data-ui=next] .v4-cal > .v4-cal-agenda > div > .v4-cal-agenda-actions{grid-column:1/-1}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row{gap:16px;min-height:60px;padding:10px 12px;border:0;border-radius:var(--gb-r-sm)}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row > div:first-child{width:auto!important;min-width:72px;text-align:left!important;white-space:nowrap}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row > div:first-child > div:first-child{font-size:13px!important;font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row > div:first-child > div:nth-child(2){font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-bar{width:3px;border-radius:var(--gb-r-full);background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row > div:nth-child(3) > div:first-child{font-size:13px!important;font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row > div:nth-child(3) > div:nth-child(2){font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-status-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:12px;font-weight:var(--gb-fw-regular);letter-spacing:0;text-transform:none}
.v4-app[data-ui=next] .v4-cal .v4-cal-status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-cal div:has(> .v4-cal-agenda-row + .v4-cal-agenda-actions) > .v4-cal-agenda-row,.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-row:has(+ .v4-cal-agenda-actions){background:var(--gb-select)}
.v4-app[data-ui=next] .v4-cal .v4-cal-agenda-actions{flex-wrap:wrap;gap:8px;padding:10px 12px 12px 92px;border:0;background:transparent}
.v4-app[data-ui=next] .v4-cal .v4-cal-empty{padding:32px 24px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink-2);font-size:13px}

/* ---------- feedback ---------- */
.v4-app[data-ui=next] .v4-cal .v4-cal-toast{bottom:24px;padding:12px 18px;border-radius:var(--gb-r-full);background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2);font-size:13px}
.v4-app[data-ui=next] .v4-cal .v4-cal-toast[data-kind="error"]{background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2),inset 0 0 0 1px var(--gb-danger)}

/* ---------- dialogs: new booking, edit, meeting brief, conflict ---------- */
.v4-app[data-ui=next] .v4-cal .v4-cal-modal-backdrop{background:var(--gb-scrim)}
.v4-app[data-ui=next] .v4-cal .v4-cal-modal{width:440px;padding:24px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-raised);box-shadow:var(--gb-shadow-3);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-cal .v4-cal-modal > div:first-child{font-size:var(--gb-fs-20)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-cal .v4-cal-modal > div:last-child{gap:8px!important;margin-top:24px!important}
.v4-app[data-ui=next] .v4-cal .v4-cal-field{gap:6px;margin-top:14px;font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-cal .v4-cal-field :is(input,select,textarea){min-height:40px;padding:0 12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;font-weight:var(--gb-fw-regular);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-cal .v4-cal-field textarea{padding:10px 12px;line-height:1.5}
.v4-app[data-ui=next] .v4-cal .v4-cal-field :is(input,select,textarea):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-cal .v4-cal-field :is(input,select,textarea):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}

/* ---------- narrow mains: the aside stacks under the schedule (spec: .gb-split stacks when main < 900,
   i.e. this page's content box < 836 after its 32px side padding) ---------- */
@container gbn-cal (max-width:836px){
  .v4-app[data-ui=next] .v4-cal > section:is([aria-label="Booking settings"],[aria-label="Away dates"],[aria-label="Calendar link"]){float:none;width:auto}
  .v4-app[data-ui=next] .v4-cal > :is(.v4-cal-month,.v4-cal-legend,.v4-cal-week,.v4-cal-agenda-title,.v4-cal-agenda,.v4-cal-empty,section[aria-label="Move several appointments"]){margin-right:0!important}
}
@container gbn-cal (max-width:620px){
  .v4-app[data-ui=next] .v4-cal > .v4-cal-week{grid-template-columns:repeat(7,minmax(0,1fr))!important;padding:4px}
  .v4-app[data-ui=next] .v4-cal .v4-cal-day{align-items:center;padding:8px 2px 10px;text-align:center}
  .v4-app[data-ui=next] .v4-cal .v4-cal-day > div:nth-child(2){margin-left:0!important;font-size:15px!important}
  .v4-app[data-ui=next] .v4-cal .v4-cal-day-pip{margin-top:4px}
  .v4-app[data-ui=next] .v4-cal .v4-cal-agenda-actions{padding-left:12px}
}
@media (max-width:759px){
  .v4-app[data-ui=next] .v4-cal{padding:16px 16px 112px!important}
  /* phone: the schedule comes first; the three settings cards follow it (same controls, reordered visually only) */
  .v4-app[data-ui=next] .v4-cal{display:flex;flex-direction:column}
  .v4-app[data-ui=next] .v4-cal > section:is([aria-label="Booking settings"],[aria-label="Away dates"],[aria-label="Calendar link"]){order:1}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .v4-cal .v4-cal-next-ai i[data-kind="live"]{animation:none}
}
.v4-app[data-ui=next] .v4-cal .v4-cal-field-error{color:var(--gb-danger)}

/* ff.chat.reactions (default off): iMessage-style tapbacks in the built-in transcript. The tapback sits on the bubble's lower corner,
   away from the hover Reply and React buttons: the owner's on the Manager's message, the Manager's on the owner's. 👀 pulses while
   the Manager works on that message. The picker is a row of six at the top of the message menu. */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-ai:has(>.anna-tapback){margin-bottom:12px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-tapback{position:absolute;bottom:-14px;inset-inline-end:8px;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:var(--gb-r-full);background:var(--gb-raised);box-shadow:0 0 0 2px var(--gb-surface),var(--gb-shadow-1);font:16px/1 var(--gb-font);pointer-events:none;animation:gbn-tapback-in var(--gb-dur-2,.2s) var(--gb-ease) both}
/* the Manager's tap back sits on the owner's bubble's top outer corner, as iMessage puts one on a sent message */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-user>.anna-tapback{top:-14px;bottom:auto;inset-inline-end:auto;inset-inline-start:-14px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-user:has(>.anna-tapback){margin-top:8px;margin-bottom:0}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-tapback[data-pending=true]{animation:gbn-tapback-wait 1.4s var(--gb-ease) infinite}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai>.anna-tapback{inset-inline-end:auto;inset-inline-start:28px;bottom:-30px}
/* React on a computer: beside the Reply button on the Manager's bubble, shown on hover or keyboard focus */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-react-action{position:absolute;top:-12px;inset-inline-end:44px;display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:50%;background:var(--gb-raised);color:var(--gb-ink-2);box-shadow:var(--gb-shadow-1);opacity:0;pointer-events:none;cursor:pointer;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p:not(:has(>.anna-reply-action))>.anna-react-action{inset-inline-end:10px}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai>.anna-react-action{top:auto;bottom:-30px;inset-inline-end:auto;inset-inline-start:-6px;background:transparent;box-shadow:none;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai:has(>.anna-reply-action)>.anna-react-action{inset-inline-start:24px}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai:has(>.anna-reply-action)>.anna-tapback{inset-inline-start:58px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-react-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-react-action:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--gb-focus);outline-offset:2px}
@media (hover:hover){
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p:hover>.anna-react-action{opacity:1;pointer-events:auto}
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-react-action:hover{color:var(--gb-ink);background:var(--gb-surface)}
}
/* the six tapbacks at the top of the message menu */
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu>.anna-tapbacks{display:flex;gap:2px;padding:2px 2px 6px;margin-bottom:4px;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu>.anna-tapbacks>button{display:grid;place-items:center;flex:none;width:38px;min-height:38px;padding:0;border-radius:50%;font:20px/1 var(--gb-font);transition:transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu>.anna-tapbacks>button:hover{transform:scale(1.15)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu>.anna-tapbacks>button[aria-checked=true]{background:var(--gb-owner-bubble);box-shadow:inset 0 0 0 2px var(--gb-owner-bubble)}
@keyframes gbn-tapback-in{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes gbn-tapback-wait{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-tapback,.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-tapback[data-pending=true]{animation:none}
}

/* HOME CHAT (next look) — the full-screen Manager chat, after the OpenDots / OpenMuse / OpenBot hybrid, in GPT Business tokens.
   Thread column (the sidebar), a centred transcript column (max 760px) under an agent header, a pill composer, an empty state,
   and a calm voice-call view. Markup: src/assistant.html. Hooks for other renderers: src/sidechat-model.js (GBNChatHooks).
   Every rule is scoped under .v4-app[data-ui=next]; the neutral defaults for the other shells live in src/document/chatkit-live-tail.css. */

/* ---- thread column ---- */
.v4-app[data-ui=next] .anna-chatkit-sidebar{display:flex;flex-direction:column}
.v4-app[data-ui=next] .anna-chatkit-sidebar>header{flex:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav[aria-label="Chat actions"]{flex:none;display:flex;flex-direction:column;gap:2px;padding:0 0 6px}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav[aria-label="Chat actions"]>button:first-child:not(.ck-new-chat){justify-content:center;gap:8px;min-height:40px!important;margin:0 0 8px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;box-shadow:none!important;font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav[aria-label="Chat actions"]>button:first-child:not(.ck-new-chat):hover{background:var(--gb-btn-hover)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav[aria-label="Chat actions"]>button:first-child:not(.ck-new-chat) svg{color:inherit!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-sidebar-scroll{flex:1;min-height:0;overflow:auto;padding:0 0 8px}
/* the rows at the scroll edges fade out instead of being cut, and a row reached by keyboard or scrolled to lands clear of
   the fade, so no thread is read half-hidden (hybrid polish, 2026-10-21) */
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-sidebar-scroll{padding-top:10px;padding-bottom:20px;scroll-padding-block:24px;scroll-snap-type:y proximity;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-sidebar-scroll :is(.hc-ov__row,.hc-ov__toggle,.ck-thread){scroll-snap-align:start}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head{display:flex;align-items:center;justify-content:space-between;padding:10px 4px 4px 10px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head h2{margin:0!important;padding:0!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-search{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-search:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-search svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread-group{margin:10px 0 2px;padding:0 10px;font-size:11px;font-weight:var(--gb-fw-medium);color:var(--gb-ink-3);letter-spacing:0;text-transform:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-recents{display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-recents button{display:block;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;cursor:pointer;font-family:var(--gb-font)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-block,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-team-block{margin-top:6px;padding-top:6px;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-head{display:flex;align-items:center;justify-content:space-between;padding-right:4px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-head h2{margin:0!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-refresh{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-refresh:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-counts{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:2px 10px 6px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-counts span{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:11px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-counts span[data-state=needs]{background:color-mix(in srgb,var(--gb-ember) 28%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li>button,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li>span{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:13px/1.35 var(--gb-font);text-align:left}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li>button{cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li>button:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small{display:block;color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small *{display:inline}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li[data-state=needs] small{color:var(--gb-ember-ink)}
/* STARTER-2: a ready-made workflow's state line carries its one smallest fix, so it wraps instead of being cut off. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-starters :is(small,small *){white-space:normal;overflow:visible}
/* CALL-OWNER-CHECK: "Met expectations" / "Needs changes" on finished work (ff.owner_check.finished_work). */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-owner-check{display:flex;flex-wrap:wrap;gap:6px;padding:2px 10px 8px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-owner-check button{flex:1 1 auto;min-height:32px;padding:0 8px;white-space:nowrap;border:1px solid var(--gb-hair-2);border-radius:var(--gb-r-full);background:var(--gb-surface);color:var(--gb-ink);font:12px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-owner-check button:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-owner-check button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small.ck-owner-check-note{padding:0 10px 8px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list :is(small.ck-owner-check-note,small.ck-owner-check-note *){white-space:normal;overflow:visible}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list :is(.ob-preview,.ob-note){padding:0 10px 4px;white-space:normal}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li[data-state=soon] .ob-note{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list li[data-state=cancelled]>span{text-decoration:line-through;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list :is(.ob-cancel,.ob-review){margin:0 10px 8px;min-height:32px;padding:0 12px;border:1px solid var(--gb-hair-2);border-radius:var(--gb-r-full);background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list :is(.ob-cancel,.ob-review):focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list .ob-tick-row{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 6px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small.ob-tick{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--gb-r-full);background:var(--gb-fill);font-size:11px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small.ob-tick[data-state=done]::before{content:'\2713\00a0'}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small.ob-tick[data-state=todo]{opacity:.6}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-list small.ob-tick[data-state=bad]{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-team-toggle{display:flex;width:100%;justify-content:space-between;border:0;background:transparent;color:var(--gb-ink-2)!important;font:13px/1.3 var(--gb-font)!important;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-work-mode{display:flex;gap:4px;padding:0 10px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-work-mode button{flex:1;height:30px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font:12px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-work-mode button[aria-pressed=true]{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
/* quiet links: Needs you, Library, Activity, Rules, Your business */
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet{flex:0 1 auto;display:flex;flex-direction:column;max-height:52%;min-height:0;padding-top:6px;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav[aria-label="Places"]{flex:none;display:flex;flex-direction:column;gap:1px;padding:0 0 4px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav[aria-label="Places"]>button{display:flex;align-items:center;gap:10px;width:100%;min-height:30px;padding:5px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);font:13px/1.3 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav[aria-label="Places"]>button:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav[aria-label="Places"]>button svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav[aria-label="Places"]>button small{margin-left:auto}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .anna-chatkit-sidebar-tools{flex:1 1 auto;overflow:auto;min-height:0;padding:0 0 6px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .anna-chatkit-sidebar-tools>button,.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .ck-tool-items>button{display:block;width:100%;padding:6px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:13px/1.3 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .anna-chatkit-sidebar-tools>button:hover,.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .ck-tool-items>button:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .anna-chatkit-sidebar-tools>input{width:calc(100% - 20px);margin:4px 10px;padding:7px 12px;border:0;outline:0}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet .ck-tool-heading{display:flex;width:100%;justify-content:space-between;border:0;background:transparent;color:var(--gb-ink-2);font:12px/1.3 var(--gb-font);cursor:pointer}

/* ---- the chat column ---- */
.v4-app[data-ui=next] .anna-sidechat[data-view=full] .anna-chat-header{display:none!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-toolbar{display:none!important}
.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-main{position:relative;display:flex;flex-direction:column;min-height:0;height:100%}
.v4-app[data-ui=next] .anna-sidechat .anna-sync:not(:has(button)){display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-sync{width:100%;max-width:760px;margin:0 auto;padding:6px 16px;font-size:12px;color:var(--gb-ink-2)}
/* agent header: orb, name, "Here with you" or live status, then history / voice / layout / close */
.v4-app[data-ui=next] .anna-sidechat .anna-dot-identity{display:flex;flex-direction:row;align-items:center;gap:12px;flex:none;width:100%;max-width:760px;margin:0 auto;padding:16px 16px 10px;text-align:left}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-mark{position:relative;display:block;width:40px;height:40px;flex:none;margin:0;border-radius:50%;background:none!important;box-shadow:none!important}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-mark img{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-orb{width:40px;height:40px;box-shadow:0 10px 24px -10px rgba(255,121,42,.55)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-who{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-line{display:block;font-size:12px;line-height:1.3}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-role,.v4-app[data-ui=next] .anna-sidechat .anna-dot-identity>small,.v4-app[data-ui=next] .anna-sidechat .anna-dot-identity>.anna-dot-retry{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions>*{display:grid}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions .anna-dot-talk{display:grid;place-items:center;width:32px;height:32px;min-height:0;margin:0;padding:0;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font:0/0 var(--gb-font)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions .anna-dot-talk:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions .anna-dot-talk svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions .anna-dot-talk span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-head-actions .anna-dot-talk:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
/* while the hybrid call sheet is up (compact, float or full) it is the call's only control: Home's own call button no
   longer peeks out from behind its corner on a phone, and cannot be tapped under it (hybrid polish, 2026-10-21) */
.v4-app[data-ui=next]:has(.hcall-layer[data-mode]) .anna-sidechat .anna-dot-talk,.mobile-app[data-ui=next]:has(.hcall-layer[data-mode]) .anna-sidechat .anna-dot-talk{visibility:hidden}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-menu{display:none}
.v4-app[data-ui=next] .anna-sidechat[data-view=full] .anna-dot-menu{display:grid}
.v4-app[data-ui=next] .anna-sidechat:not([data-view=full]) .anna-dot-close{display:none}
@media (max-width:760px){.v4-app[data-ui=next] .anna-sidechat .anna-dot-menu{display:grid}.v4-app[data-ui=next] .anna-sidechat .anna-dot-close{display:none}}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-identity .pj-chip{flex:none}
/* transcript: filled accent bubbles on the right, plain text on the left */
.v4-app[data-ui=next] .anna-sidechat .anna-dot-shell{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log{flex:1;min-height:0;overflow:auto;width:100%;max-width:760px;margin:0 auto;padding:8px 16px 16px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p{margin:0;max-width:100%;font:var(--gb-fs-15)/1.55 var(--gb-font);color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:pretty}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-user{align-self:flex-end;max-width:min(85%,560px);padding:10px 16px;border-radius:20px 20px 6px 20px;background:var(--gb-owner-bubble,var(--gb-btn));color:var(--gb-owner-bubble-ink,var(--gb-btn-ink))}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-ai{align-self:flex-start;padding:2px 0}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.anna-fallback-failed{border-inline-start:3px solid var(--gb-danger);padding-inline-start:12px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-fallback-state,.v4-app[data-ui=next] .anna-sidechat .anna-fallback-state{color:var(--gb-danger)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-working{display:flex;align-items:center;gap:8px;color:var(--gb-ink-2);font-style:normal}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-extra:empty{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-extra{align-self:stretch}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-retry{align-self:flex-start;min-height:32px;margin:0;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) 13px/1 var(--gb-font)}
/* "Latest messages" is a strip of its own between the transcript and the composer while it shows (the transcript gives it
   the room), so it never sits on a message, whatever the composer's height (hybrid polish, 2026-10-21). */
.v4-app[data-ui=next] .anna-sidechat .anna-dot-shell>:not(.anna-fallback-log):not(#anna-chatkit-root):not(.anna-fallback-latest){order:2}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-latest{position:relative;order:1;align-self:center;flex:none;margin:6px 0;z-index:3;display:none;align-items:center;gap:6px;height:32px;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-raised);color:var(--gb-ink);box-shadow:var(--gb-shadow-2);font:var(--gb-fw-medium) 12px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-latest[data-show=true]{display:inline-flex}
/* composer: a rounded pill — input, mic, round send */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer{flex:none;display:block;width:100%;max-width:760px;margin:0 auto;padding:8px 16px calc(14px + env(safe-area-inset-bottom))}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .composer-controls{display:flex;align-items:center;gap:4px;height:auto;min-height:56px;padding:8px 8px 8px 20px;border-radius:var(--gb-r-full);background:var(--gb-raised);box-shadow:var(--gb-shadow-2);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .composer-controls:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer textarea{flex:1;min-width:0;max-height:120px;padding:6px 0;border:0;outline:0;background:transparent;color:var(--gb-ink);font:var(--gb-fs-15)/1.5 var(--gb-font);resize:none}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer textarea::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .composer-dictate{display:grid;place-items:center;width:40px;height:40px;flex:none;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .composer-dictate:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer :is(.composer-send,.anna-send){display:grid;place-items:center;width:40px;height:40px;flex:none;margin:0;padding:0;border:0;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);box-shadow:none;cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer :is(.composer-send,.anna-send):hover:not(:disabled){background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer :is(.composer-send,.anna-send):disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-status{margin:6px 8px 0;font-size:12px;color:var(--gb-ink-2)}
/* empty state: a big question, the composer, suggestion chips; the slot below is for the hybrid-chat cards */
.v4-app[data-ui=next] .anna-sidechat .anna-dot-shell:has(.anna-fallback-hello){justify-content:center;gap:0;padding-bottom:6vh}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log:has(.anna-fallback-hello){flex:none;overflow:visible;padding:0 16px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-hello{display:flex;justify-content:center;padding:0 0 18px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-hello h2{margin:0;font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font);letter-spacing:var(--gb-tr-display,-.02em);color:var(--gb-ink);text-align:center;text-wrap:balance}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-chips{flex:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:760px;margin:0 auto;padding:6px 16px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-chips button{height:36px;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-0);font:13px/1 var(--gb-font);cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-chips button:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-empty{flex:none;width:100%;max-width:760px;margin:0 auto;padding:0 16px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-empty:empty{display:none}
/* the footer line and the rules link stay quiet under the composer */
.v4-app[data-ui=next] .anna-sidechat[data-view=full] .anna-dot-footer{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-footer{flex:none;display:flex;justify-content:center;gap:12px;padding:0 16px 10px}
.v4-app[data-ui=next] .anna-sidechat[data-view=full] .anna-dot-footer span{display:none}
/* ---- voice call: a calm, full-column call ---- */
/* with ff:hybrid_chat the hybrid call screens are the call view, so the chat stays beside or under them */
.v4-app[data-ui=next]:not(:root:has(.hcall-layer[data-mode],[data-hcall-panel-call]) *) .anna-sidechat .anna-chatkit-main:has(.anna-dot-call):not(:has(.anna-call-orb[data-phase=paused])) .anna-dot-shell,.v4-app[data-ui=next]:not(:root:has(.hcall-layer[data-mode],[data-hcall-panel-call]) *) .anna-sidechat .anna-chatkit-main:has(.anna-dot-call) .anna-dot-footer{display:none}
/* A denied or muted microphone promises typed recovery; keep the unsent composer reachable. */
.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-main:has(.anna-call-orb[data-phase=paused]) .anna-dot-shell{flex:0 1 auto;padding-bottom:0}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-call{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;max-width:760px;margin:0 auto;padding:12px 16px 24px;border:0;color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-stage{display:flex;flex-direction:column;align-items:center;gap:6px}
.v4-app[data-ui=next] .anna-sidechat .anna-call-orb{width:132px;height:132px;margin-bottom:10px;box-shadow:0 30px 80px -30px rgba(255,121,42,.5);animation:gbn-call-breathe 3.2s var(--gb-ease-in-out,ease-in-out) infinite}
.v4-app[data-ui=next] .anna-sidechat .anna-call-orb[data-phase=listening]{animation-duration:1.8s}
.v4-app[data-ui=next] .anna-sidechat .anna-call-orb[data-phase=paused]{animation:none;opacity:.6}
@keyframes gbn-call-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.v4-app[data-ui=next] .anna-sidechat .anna-call-name{font:var(--gb-fw-semibold) var(--gb-fs-20)/1.2 var(--gb-font)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-timer{font:var(--gb-fw-regular) 13px/1 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-state{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-lines{display:flex;flex-direction:column;gap:8px;width:100%;max-width:520px;min-height:64px}
.v4-app[data-ui=next] .anna-sidechat .anna-call-lines p{margin:0;font:14px/1.5 var(--gb-font);color:var(--gb-ink-2);text-align:center;text-wrap:balance}
.v4-app[data-ui=next] .anna-sidechat .anna-call-lines p[data-who=ai]{color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-lines b{margin-right:6px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:72px;padding:0;border:0;background:transparent;color:var(--gb-ink-2);font:12px/1.2 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button svg{box-sizing:content-box;width:22px;height:22px;padding:17px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button:hover svg{background:var(--gb-select)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons .anna-call-end svg{background:var(--gb-danger);color:#fff}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons .anna-call-end:hover svg{background:color-mix(in srgb,var(--gb-danger) 88%,#000)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:4px;border-radius:var(--gb-r-md)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-foot{margin:0;font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-call-note{align-self:center;max-width:520px;margin:6px 16px;font-size:13px;color:var(--gb-ink-2);text-align:center}
@media (max-width:760px){
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-identity{padding:12px 12px 8px}
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log{padding:8px 12px 12px}
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-hello h2{font-size:var(--gb-fs-20)}
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer{padding:6px 12px calc(10px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next] .anna-sidechat .anna-call-orb{width:104px;height:104px}
  /* the thread drawer stops above the bottom tab bar so its footer (theme, workspace) stays reachable */
  /* the drawer and its scrim sit above the phone chat sheet (z 130); the drawer is kept clear of the tab bar */
  .v4-app[data-ui=next] .ck-navigation-host>.anna-chatkit-sidebar{z-index:140!important;height:auto!important;bottom:0!important;padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  .v4-app[data-ui=next] .ck-navigation-host>.anna-chatkit-backdrop{z-index:139}
  .v4-app[data-ui=next] .ck-navigation-host>.anna-chatkit-sidebar{overflow-y:auto!important}
  .v4-app[data-ui=next] .ck-navigation-host>.anna-chatkit-sidebar .anna-chatkit-sidebar-scroll{flex:1 0 220px!important}
  /* header: the project chip and status line stay on one line at phone width */
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-identity .pj-chip>span{display:none}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-identity .pj-chip{padding-inline:8px}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-line{white-space:nowrap}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-who{min-width:0}
}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .anna-sidechat .anna-call-orb{animation:none}.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log{scroll-behavior:auto}}
/* Thread column: pinned Main chat, task threads with a status dot, collapsed Done group */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-row{display:flex!important;align-items:center;gap:10px;width:100%;padding:8px 10px!important;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer;font-family:var(--gb-font)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-orb{flex:none;width:26px;height:26px;box-shadow:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-text{display:flex;flex-direction:column;min-width:0}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-text strong{font:var(--gb-fw-semibold) 13px/1.25 var(--gb-font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-text small{font-size:11px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-new{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-new:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head{gap:2px}.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head h2{flex:1}
.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-recents button.ck-thread{display:flex;align-items:flex-start;gap:9px;white-space:normal}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread-text{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-dot{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread[data-status=working] .ck-dot{background:var(--gb-sage-ink);animation:gbn-dot-pulse 1.8s var(--gb-ease-in-out,ease-in-out) infinite}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread[data-status=needs] .ck-dot{background:var(--gb-ember-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread[data-status=done] .ck-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread[data-status=done] .ck-thread-text{color:var(--gb-ink-2)}
@keyframes gbn-dot-pulse{50%{opacity:.4}}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-threads-empty{margin:4px 10px;font-size:12px;line-height:1.4;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-done-toggle{display:flex;align-items:center;gap:6px;width:100%;margin-top:8px;padding:6px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-3);font:var(--gb-fw-medium) 11px/1.2 var(--gb-font);cursor:pointer;text-align:left}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-done-toggle span:first-child{flex:none}.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-done-toggle small{flex:1}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-done-toggle[aria-expanded=true] span:last-child{transform:rotate(180deg)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-done-toggle:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-back{display:block;flex:none;width:100%;max-width:760px;margin:0 auto;padding:12px 16px 0;border:0;background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 13px/1.2 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-back:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-dot-back:focus-visible,.v4-app[data-ui=next] .anna-sidechat .anna-fallback-pointer:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-pointer{display:inline-flex;align-items:center;margin:6px 0 0;padding:7px 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) 12.5px/1.2 var(--gb-font);cursor:pointer;max-width:100%;text-align:left}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-pointer:hover{background:var(--gb-fill-2)}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread[data-status=working] .ck-dot{animation:none}}

.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-row[aria-current=page]{background:var(--gb-select)!important;box-shadow:none!important}
/* a threadList hook that drew replaces our thread rows only; the Recents nav stays */
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-gbn-list-override] :is(.ck-task-list,.ck-done-list,.ck-done-toggle,.ck-threads-empty){display:none}
/* a threadOverview hook that drew the Projects area replaces our own list there */
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-gbn-overview-override] .ck-project>:not(.ck-thread-overview-slot,.ck-overview-entry){display:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread-overview-slot:empty{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-header:empty{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-actions{display:flex;align-items:center;gap:6px;flex:none}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-actions:empty{display:none}
/* safe markdown in replies */
.v4-app[data-ui=next] .anna-sidechat .anna-md{display:inline}
.v4-app[data-ui=next] .anna-sidechat .anna-md :is(.anna-md-p,.anna-md-list,.anna-md-code,.anna-md-head){display:block;margin:0 0 .6em}
.v4-app[data-ui=next] .anna-sidechat .anna-md>:last-child{margin-bottom:0}
.v4-app[data-ui=next] .anna-sidechat .anna-md .anna-md-head{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .anna-sidechat .anna-md .anna-md-list{padding-left:1.25em}
.v4-app[data-ui=next] .anna-sidechat .anna-md code{padding:.1em .35em;border-radius:6px;background:var(--gb-fill);font:12.5px/1.5 var(--gb-mono)}
.v4-app[data-ui=next] .anna-sidechat .anna-md .anna-md-code{padding:10px 12px;border-radius:var(--gb-r-sm);background:var(--gb-fill);overflow-x:auto;white-space:pre}
.v4-app[data-ui=next] .anna-sidechat .anna-md .anna-md-code code{padding:0;background:transparent}
.v4-app[data-ui=next] .anna-sidechat .anna-md a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* ---- Desktop shell per the owner's reference (2026-10-21): business switcher header, New chat, call row, Projects > threads, Recents ---- */
.v4-app[data-ui=next] .anna-chatkit-sidebar>header .anna-chatkit-brand{flex:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-biz-switch{display:flex;align-items:center;gap:4px;flex:1;min-width:0;height:32px;padding:0 6px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:var(--gb-fw-semibold) 15px/1 var(--gb-font);cursor:pointer;text-align:left}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-biz-switch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-biz-switch svg{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-biz-switch:hover:not(:disabled){background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar>header .anna-icon{flex:none;width:30px;height:30px}
.v4-app[data-ui=next] .anna-chatkit-sidebar>header .anna-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-new-chat{display:flex!important;align-items:center;gap:10px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-call-slot:empty{display:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project{display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-main-row{gap:10px;padding:7px 10px!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-main-row>svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-main-text{flex-direction:row;align-items:baseline;gap:8px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-main-text strong{font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-task-list button.ck-thread,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-done-toggle,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-done-list button.ck-thread,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-threads-empty{padding-left:36px!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-project .ck-threads-empty{margin:2px 0 4px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head{padding-top:14px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head h2{font-size:12px!important;font-weight:var(--gb-fw-medium)!important;color:var(--gb-ink-3)!important;letter-spacing:0!important;text-transform:none!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-projects-place{display:flex;align-items:center;gap:4px;margin-left:auto;padding:2px 6px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-3);font:11px/1.2 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-projects-place svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-projects-place:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-team-block{display:none}
@media (min-width:761px){
  /* the account, business and theme live in the rail and the header on desktop */
  .v4-app[data-ui=next] .anna-chatkit-sidebar>footer{display:none!important}
  .v4-app[data-ui=next]{--gb-list-w:248px}
}
/* message cards: replies in a rounded card, the owner's words in a tinted card on the right */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-ai{padding:12px 16px;border-radius:18px;background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair),var(--gb-shadow-0);max-width:min(100%,680px)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-user{background:color-mix(in srgb,var(--gb-owner-bubble) 16%,var(--gb-surface))!important;color:var(--gb-ink)!important;border-radius:18px!important;box-shadow:0 0 0 .5px var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-user a{color:inherit}
/* inline thread card with View thread */
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card{display:flex;align-items:center;gap:12px;align-self:flex-start;width:min(100%,520px);margin-top:4px;padding:12px 14px;border-radius:14px;background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card>svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--gb-ember-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card>span{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card strong{font:var(--gb-fw-medium) 14px/1.3 var(--gb-font);color:var(--gb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card small{font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card .anna-fallback-pointer{flex:none;margin:0}
/* composer: + menu, Send a message, mic, round send */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer{position:relative}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .composer-controls{min-height:52px;padding:6px 6px 6px 6px;border-radius:26px}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-plus{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-plus:hover,.v4-app[data-ui=next] .anna-sidechat .anna-composer-plus[aria-expanded=true]{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-plus svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-plus:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-menu{position:absolute;left:16px;bottom:calc(100% - 2px);z-index:5;display:flex;flex-direction:column;min-width:210px;padding:6px;border-radius:var(--gb-r-md);background:var(--gb-raised);box-shadow:var(--gb-shadow-3)}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-menu button{padding:9px 12px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:var(--gb-fw-medium) 13px/1.2 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-composer-menu button:hover,.v4-app[data-ui=next] .anna-sidechat .anna-composer-menu button:focus-visible{background:var(--gb-fill);outline:0}
/* optional right pane (another renderer fills it); hidden while empty */
.v4-app[data-ui=next] .anna-sidechat .anna-side-panel{display:none}
@media (min-width:1100px){
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-side-panel] .anna-side-panel{display:block;position:absolute;top:10px;right:10px;bottom:10px;z-index:4;width:300px;overflow:auto;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair),var(--gb-shadow-1)}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-side-panel]>:not(.anna-side-panel){margin-right:320px}
  /* the layout is width:100% (chatkit-live-tail.css), so without this the margin would push it under the panel */
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-side-panel]>.anna-chatkit-layout{width:auto}
}
.v4-app[data-ui=next] .anna-sidechat .anna-call-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.v4-app[data-ui=next] .anna-sidechat :is(.anna-call-chips,.anna-chat-end):empty{display:none}
/* rows, not pills: the shell's first-button pill was meant for the old New conversation button only */
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button:is(.ck-new-chat,.ck-thread):first-child,.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav>button:first-child{margin-bottom:0;background:transparent!important;box-shadow:none!important;font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button:is(.ck-new-chat,.ck-thread):first-child:hover,.v4-app[data-ui=next] .anna-chatkit-sidebar .anna-chatkit-quiet nav>button:first-child:hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button.ck-thread[aria-current=page]:first-child{background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-thread{font-weight:var(--gb-fw-regular,400)!important}
@media (min-width:761px){.v4-app[data-ui=next] .anna-chatkit-sidebar>header .anna-chatkit-brand{display:none}}
/* the neutral defaults hide these for other shells; the next look shows the whole call view */
.v4-app[data-ui=next] .anna-sidechat :is(.anna-call-name,.anna-call-timer,.anna-call-foot){display:block}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button svg{display:block}

/* ---- polish round (owner reference) ---- */
/* message cards: no blank first line. The transcript paragraph is pre-wrap, so the space after the hidden speaker label made an empty
   line box before the block markdown; the markdown builds its own line breaks, so the paragraph collapses spaces instead. */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p:has(>.anna-md){white-space:normal}
.v4-app[data-ui=next] .anna-sidechat .anna-md{display:block}
.v4-app[data-ui=next] .anna-sidechat .anna-md>:first-child{margin-top:0}
.v4-app[data-ui=next] .anna-sidechat .anna-md>:last-child{margin-bottom:0}
.v4-app[data-ui=next] .anna-sidechat .anna-md .anna-md-p{white-space:normal}

/* sidebar: "Needs you (N)" opens Work and Follow-ups in place. Library, Activity, Rules and Your business sit in the rail's More. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-needs-row{display:flex!important;align-items:center;gap:10px;width:100%;min-height:34px;margin:0;padding:6px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent!important;box-shadow:none!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1.3 var(--gb-font)!important;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-needs-row:hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-needs-row:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-needs-row svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-needs-row>span:not(.ck-row-caret){flex:1;min-width:0}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-needs-count{flex:none;min-width:20px;padding:1px 7px;border-radius:var(--gb-r-full);background:var(--gb-ember);color:#fff;font:var(--gb-fw-semibold) 11px/16px var(--gb-font);text-align:center}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-row-caret{flex:none;color:var(--gb-ink-3);font-size:12px;transition:transform var(--gb-dur-1,120ms) var(--gb-ease)}
.v4-app[data-ui=next] .anna-chatkit-sidebar [aria-expanded=true]>.ck-row-caret{transform:rotate(180deg)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-block{margin:0 0 8px;padding:4px 0 8px;border-bottom:.5px solid var(--gb-hair)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-all{display:block;width:calc(100% - 20px);margin:6px 10px 0;padding:6px 0;border:0;background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 12px/1.3 var(--gb-font);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-work-all:hover{color:var(--gb-ink)}
/* phone drawer: no block of links at the bottom, only one row with the account and the theme (the business switch is in the header) */
@media (max-width:760px){
  .v4-app[data-ui=next] .anna-chatkit-sidebar>footer{flex-direction:row!important;align-items:center;gap:4px!important;padding:8px 4px!important}
  .v4-app[data-ui=next] .anna-chatkit-sidebar>footer>:is(.ck-workspace-switch,small){display:none!important}
  .v4-app[data-ui=next] .anna-chatkit-sidebar>footer>button:not(.ck-theme-switch){flex:1;min-width:0}
  .v4-app[data-ui=next] .anna-chatkit-sidebar>footer .anna-chatkit-account-menu{display:none}
  .v4-app[data-ui=next] .anna-chatkit-sidebar>footer>.ck-theme-switch{flex:none;width:auto;padding:6px 10px!important;border-radius:var(--gb-r-full)!important;font-size:12px!important;color:var(--gb-ink-2)!important}
}
/* the rail's More flyout opens with the Home places, above every other page */
.v4-app[data-ui=next] .gbn-more-places{display:flex;flex-direction:column;gap:2px;margin:0 0 6px;padding:0 0 8px;border-bottom:.5px solid var(--gb-hair)}
/* a routed line: "Sent to thread" with View thread and Keep in main chat */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-routed{display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-thread-card .anna-keep-main{background:transparent;box-shadow:inset 0 0 0 .5px var(--gb-hair);color:var(--gb-ink-2)}

/* dark mode: every sidebar row takes the ink of the theme it is in (the first-row pill rule gave New chat the light ink) */
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button,.v4-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-new-chat,.ck-main-row,.ck-thread,.ck-done-toggle,.ck-projects-place,.ck-biz-switch,.ck-team-toggle){color:var(--gb-ink)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar nav>button svg,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-new-chat svg{color:var(--gb-ink-2);stroke:currentColor}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-new-chat{background:transparent!important}

/* one sidebar toggle: the chat header's. The sidebar's own collapse button stays only in the phone drawer. */
@media (min-width:761px){.v4-app[data-ui=next] .ck-navigation-host:has(~.anna-sidechat[data-view=full]) .ck-head-collapse{display:none!important}}

/* toast clearance is handled in zz-next-0-shell.css; the voice view: round 64px buttons, white icons, a strong red End */
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button svg{width:24px;height:24px;padding:20px;background:var(--gb-hud,#2a2b2a);color:#fff}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons button:hover svg{background:color-mix(in srgb,var(--gb-hud,#2a2b2a) 85%,#fff)}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons .anna-call-end svg{background:#e5484d;color:#fff}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons .anna-call-end:hover svg{background:#d13a3f}
.v4-app[data-ui=next] .anna-sidechat .anna-call-buttons .anna-call-end{color:#e5484d}

/* the footers under the composer ("Home goes with every message…", "Rules & autonomy") are gone; Rules sit in the sidebar's More */
.v4-app[data-ui=next] .anna-sidechat :is(.gbn-panel-note,.anna-dot-footer){display:none!important}

/* phone: one compact header (menu, orb, name, call); the sheet title row repeated the name. Close shows off Home only. */
@media (max-width:760px){
  .v4-app[data-ui=next] .anna-sidechat .anna-chat-header{display:none!important}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-identity :is(.pj-chip,.anna-dot-new,.anna-dot-history,.anna-dot-dock){display:none!important}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-identity .anna-dot-close{display:grid!important}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-identity{gap:10px;padding:10px 12px 6px}
  .v4-app[data-ui=next] .anna-sidechat .anna-dot-mark,.v4-app[data-ui=next] .anna-sidechat .anna-dot-orb{width:32px;height:32px}
  /* Home on a phone is the chat itself: it fills the screen, so its own header is the only one (no page header and grab handle above) */
  .v4-app[data-ui=next] .anna-sidechat[data-home-chat=true][data-open=true]{top:0!important;border-radius:0!important;box-shadow:none!important;padding-top:env(safe-area-inset-top,0px)}
  .v4-app[data-ui=next] .anna-sidechat[data-home-chat=true]:before{display:none}
}
/* Threads view (#7): the hybrid threadOverview in the main column, opened from the sidebar entry or the rail */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-overview-entry{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 4px;padding:7px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:var(--gb-fw-medium) 13px/1.3 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-overview-entry svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-overview-entry:hover,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-overview-entry[aria-current=page]{background:var(--gb-select)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-overview-entry:focus-visible,.v4-app[data-ui=next] .anna-sidechat .ck-threads-close:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .ck-threads-view{flex:1;min-height:0;overflow:auto;width:100%;max-width:760px;margin:0 auto;padding:12px 16px 24px}
.v4-app[data-ui=next] .anna-sidechat .ck-threads-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.v4-app[data-ui=next] .anna-sidechat .ck-threads-head h2{margin:0;font:var(--gb-fw-semibold) var(--gb-fs-20)/1.2 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .ck-threads-close{padding:7px 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) 12.5px/1.2 var(--gb-font);cursor:pointer}
/* hybrid on, desktop: the live call row sits at the top of the rail, so the chat sidebar's copy steps aside */
.v4-app[data-ui=next] .gbn-lrail .gbn-lr-call{width:100%;max-width:100%;overflow:hidden;font-size:11px}
.v4-app[data-ui=next] .gbn-lrail .gbn-lr-call:not(:has(>:not([hidden]))){display:none}
.v4-app[data-ui=next]:has(.gbn-lrail .gbn-lr-call) .anna-chatkit-sidebar .ck-call-slot{display:none}

/* ff.chat.ck_look (default off): the built-in transcript drawn with ChatKit's design cues, measured from the real ChatKit
   frame (15px/1.5 system type, a 768px reading column, the Manager's words as plain text with no card, the owner's words in a
   24px pill tinted with the accent at about a tenth, a filled pill composer with a round send). Ideas only, no ChatKit code.
   Every piece ChatKit cannot draw (inline replies and their line, task threads, review, call and computer cards, voice)
   keeps working; only the look changes. */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log{max-width:768px;padding:16px 20px 24px;gap:20px}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p{font:var(--gb-fs-15)/1.5 var(--gb-font);letter-spacing:0}
/* the Manager: plain text on the page, full width */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai{max-width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gb-ink)}
/* the Home design's day line and the Manager's name over each turn (orb, "Your Manager", the time) */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-day-line{display:flex;align-items:center;gap:12px;align-self:stretch;margin:4px 0 -4px;font:var(--gb-fs-13)/1.3 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-day-line::before,.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-day-line::after{content:"";flex:1;height:1px;background:var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-turn-author{display:flex;align-items:center;gap:8px;margin-bottom:-12px;font:var(--gb-fs-14,14px)/1.3 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-turn-author>.orb{width:22px;height:22px;box-shadow:none}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-turn-author>strong{font-weight:var(--gb-fw-semibold);color:var(--gb-ink)}
/* the owner: a soft pill on the right */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-user{max-width:70%;padding:8px 16px;border-radius:24px!important;background:color-mix(in srgb,var(--gb-owner-bubble) 11%,var(--gb-surface))!important;color:var(--gb-ink)!important;box-shadow:none!important}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-user:has(>.anna-md){border-radius:20px!important}
/* the Manager's reply button sits under the text, like ChatKit's action row, instead of on a card corner */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai>.anna-reply-action{top:auto;bottom:-30px;inset-inline-start:-6px;inset-inline-end:auto;background:transparent;box-shadow:none;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>p.is-ai:has(>.anna-reply-action){margin-bottom:6px}
/* inline reply quote: a quiet outlined pill, the connecting line unchanged */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-reply-quote{padding:6px 14px 7px;border-radius:18px;background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2,var(--gb-hair));color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-reply-quote[data-from=user]{background:transparent}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-log>.anna-reply-quote:hover{background:var(--gb-fill)}
/* composer: a filled pill, no shadow, round send */
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-composer{max-width:768px}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-composer .composer-controls{min-height:56px;padding:8px 10px 8px 8px;border-radius:28px;background:var(--gb-fill);box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-composer .composer-controls:focus-within{box-shadow:inset 0 0 0 1px var(--gb-hair-2,var(--gb-hair)),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-composer :is(.composer-send,.anna-send){width:34px;height:34px}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-composer .anna-reply-chip{margin:0 4px 8px;background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair);border-inline-start:0}
.v4-app[data-ui=next] .anna-sidechat[data-look=ck] .anna-fallback-composer .anna-reply-chip-body strong{color:var(--gb-ink-3)}
/* ChatKit's widgets drawn in our transcript (src/chat-widgets.mjs): approve or skip, questions, saved records, the report,
   result tables and forms, the team card, attachments. A quiet card in the column, like ChatKit's. */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-ck-widgets{display:flex;flex-direction:column;gap:10px;align-self:stretch;max-width:min(100%,640px)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:16px;background:var(--gb-surface);box-shadow:0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-col{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-row[data-justify=between]{justify-content:space-between;flex-wrap:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets :is(.cw-text,.cw-title,.cw-caption){margin:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-text{font:var(--gb-fs-15)/1.45 var(--gb-font);color:var(--gb-ink);white-space:pre-wrap}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-text[data-size=sm]{font-size:var(--gb-fs-13)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-text[data-weight=strong]{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-title{font:var(--gb-fw-semibold) var(--gb-fs-15)/1.3 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-caption{font:var(--gb-fs-12)/1.4 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-text a{color:var(--gb-ink);text-decoration:underline;text-underline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-button{align-self:flex-start;min-height:34px;margin:0;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font);text-align:start;cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-col>.cw-button{align-self:stretch;min-height:38px;padding:8px 14px;border-radius:12px;line-height:1.3}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-button:hover:not(:disabled){background:var(--gb-fill-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-button[data-style=primary]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-button[data-style=primary]:hover:not(:disabled){background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-button:disabled{opacity:.5;cursor:default}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-button:focus-visible,.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-field:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-form{display:flex;flex-direction:column;gap:6px}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-label{font:var(--gb-fw-medium) var(--gb-fs-12)/1.3 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-field{min-height:36px;padding:6px 12px;border:0;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fs-14,14px)/1.4 var(--gb-font)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-check{display:flex;align-items:center;gap:8px;font:var(--gb-fs-13)/1.3 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-bar{height:8px;border-radius:var(--gb-r-full);background:var(--gb-fill-2);overflow:hidden}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-bar>span{display:block;height:100%;border-radius:inherit;background:var(--gb-owner-bubble)}
.v4-app[data-ui=next] .anna-sidechat .anna-ck-widgets .cw-image{display:block;max-width:100%;border-radius:10px}
/* "Off the record" on for this conversation: a quiet chip above the input, the same place as the reply chip */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-offrecord-chip{display:flex;align-items:center;gap:8px;margin:0 6px 8px;padding:6px 6px 6px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--gb-hair);font:var(--gb-fs-13)/1.3 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-offrecord-chip>span{flex:1;min-width:0}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-offrecord-chip>button{display:grid;place-items:center;flex:none;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-offrecord-chip>button:hover{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-offrecord-chip svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
/* files attached in the built-in composer, above the input until sent */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 6px 8px;padding:0;list-style:none}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip{display:flex;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 12px;border-radius:12px;background:var(--gb-fill);font:var(--gb-fs-13)/1.3 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip>small{flex:none;color:var(--gb-ink-3);font-size:var(--gb-fs-12)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip[data-status=failed]>small{color:var(--gb-danger)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip>button{display:grid;place-items:center;flex:none;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip>button:hover{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-attach-chip svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
.v4-app[data-ui=next] .anna-sidechat .anna-attach-input{display:none!important}

/* UI-NEXT · Conversations (Josh's "Inbox" + "Conversation") — A depth inside the B shell.
   References: canvas/project/A-Inbox.dc.html (the list is the inbox) and A-Conversation.dc.html (the open
   thread is the conversation). The spec lays the Inbox out as .gb-split--start: the message list as a bubble
   on the left, the reader as a bubble on the right, page title and filters above both.
   Every selector starts with .v4-app[data-ui=next] (BUILD-BRIEF contract 2): nothing here reaches classic.
   No control is hidden (ADDENDUM 1 parity): the title row and the filter tabs are lifted out of the list
   column with display:contents so they read as the page header; every button keeps its place in the
   reading order. Classic inline styles are overridden with !important where needed. */

.v4-app[data-ui=next] .v4-inbox-workspace{
  --fg:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--line:var(--gb-hair);--line-soft:var(--gb-hair);
  --panel:var(--gb-surface);--panel-2:var(--gb-fill);--bg:var(--gb-ground);--hover:var(--gb-hover);--nav-active:var(--gb-select);
  --accent:var(--gb-btn);--on-accent:var(--gb-btn-ink);--accent-tint:var(--gb-fill);--accent-line:var(--gb-hair-2);--accent-ink:var(--gb-ink);
  --shadow:rgba(0,0,0,0);--font:var(--gb-font);
  height:calc(100vh - var(--gb-topbar-h,56px));min-height:520px;padding:24px 32px 32px;gap:16px;
  font-family:var(--gb-font);font-size:var(--gb-fs-13);line-height:var(--gb-lh-ui);color:var(--gb-ink);font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;container:gbn-conv/inline-size;
}
.v4-app[data-ui=next] .v4-inbox-workspace :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* connected inboxes (opened by "Connect inboxes"): a bubble above the inbox */
.v4-app[data-ui=next] .v4-inbox-workspace .v4-inbox-connections{padding:8px 20px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}

/* ---------- the two panes ---------- */
.v4-app[data-ui=next] .v4-inbox-workspace > .v4-conv{animation:none!important;min-height:0}
.v4-app[data-ui=next] .v4-conv-list{border-right:0!important;min-width:0}
.v4-app[data-ui=next] .v4-conv-thread{min-width:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden;--bg:var(--gb-surface)}

@media (min-width:768px){
  .v4-app[data-ui=next] .v4-inbox-workspace > .v4-conv{display:grid!important;grid-template-columns:var(--gbn-conv-list,340px) minmax(0,1fr);grid-template-rows:auto auto auto auto minmax(0,1fr);column-gap:20px;row-gap:0}
  /* the list's header block joins the page grid: title row = page header, tabs = filter track */
  /* !important: the list carries an inline display:flex (conversations.html) */
  .v4-app[data-ui=next] .v4-conv-list,.v4-app[data-ui=next] .v4-conv-list > div:first-child{display:contents!important}
  .v4-app[data-ui=next] .v4-conv-list > div:first-child > div:first-child{grid-column:1/-1;grid-row:1;row-gap:16px!important}
  .v4-app[data-ui=next] .v4-conv-list > div:first-child > div:nth-child(2){grid-column:1/-1;grid-row:2;justify-self:start;margin:20px 0 20px!important}
  .v4-app[data-ui=next] .v4-conv-list > .v4-inbox-address:is(label){grid-column:1;grid-row:3;margin:0!important;padding:16px 16px 8px}
  .v4-app[data-ui=next] .v4-conv-list > p.v4-inbox-address{grid-column:1;grid-row:4;margin:0!important;padding:0 16px 8px}
  .v4-app[data-ui=next] .v4-conv-list > div:last-child{grid-column:1;grid-row:5;padding:0 8px 8px!important;overscroll-behavior:contain}
  /* the list bubble is drawn behind its three rows, so the rows can stay separate grid items */
  .v4-app[data-ui=next] .v4-inbox-workspace > .v4-conv::before{content:"";grid-column:1;grid-row:3/6;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
  .v4-app[data-ui=next] .v4-conv-thread{grid-column:2;grid-row:3/6}
}
@container gbn-conv (max-width:900px){
  .v4-app[data-ui=next] .v4-inbox-workspace > .v4-conv{--gbn-conv-list:280px;column-gap:16px}
}

/* ---------- page header (title + Connect inboxes) and the filter track ---------- */
/* title, then the "what needs you" count on the same baseline (A-Inbox), Connect inboxes at the far end */
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:first-child{justify-content:flex-start!important;align-items:baseline!important;flex-wrap:wrap;column-gap:12px!important}
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:first-child > .v4-conv-tab{margin-left:auto;align-self:center}
.v4-app[data-ui=next] .v4-conv .v4-conv-next-count{display:inline;font-size:15px;line-height:1.3;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:first-child > h1:first-child{font-size:var(--gb-fs-28)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-title)!important;line-height:1.15}
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:nth-child(2){gap:0!important;flex-wrap:wrap;width:max-content;max-width:100%;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-conv-tab:not(.v4-conv-back){display:inline-flex}
/* the back button keeps classic's display (hidden on desktop where the list is always beside the thread, shown on phones) */
.v4-app[data-ui=next] .v4-conv-tab{align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-tab:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-conv-tab:active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-conv-tab:disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .v4-conv-tab[aria-expanded="true"]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:nth-child(2) > .v4-conv-tab{min-height:32px;padding:0 14px;background:transparent;font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:nth-child(2) > .v4-conv-tab:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-conv-list > div:first-child > div:nth-child(2) > .v4-conv-tab[aria-pressed="true"]{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}

/* inbox address picker, at the top of the list bubble */
.v4-app[data-ui=next] .v4-conv-list > .v4-inbox-address{gap:6px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-conv-list .v4-inbox-address select{height:36px;padding:0 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-list .v4-inbox-address select:hover{background:var(--gb-fill-2)}

/* ---------- message list rows ---------- */
.v4-app[data-ui=next] .v4-conv-row{align-items:flex-start;gap:12px;padding:12px;border-radius:var(--gb-r-md);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-row + .v4-conv-row{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-conv-row:hover{background:var(--gb-hover);box-shadow:none}
.v4-app[data-ui=next] .v4-conv-row:hover + .v4-conv-row,.v4-app[data-ui=next] .v4-conv-row[data-on="true"] + .v4-conv-row{box-shadow:none}
.v4-app[data-ui=next] .v4-conv-row[data-on="true"]{background:var(--gb-select);box-shadow:none}
.v4-app[data-ui=next] .v4-conv-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));box-shadow:inset 0 0 0 .5px var(--gb-hair);color:var(--gb-av-ink);font-size:12px;font-weight:var(--gb-fw-semibold);letter-spacing:.01em}
.v4-app[data-ui=next] .v4-conv-avatar[data-lg="1"]{width:44px;height:44px;font-size:15px}
.v4-app[data-ui=next] .v4-conv-row > div > div:first-child > span:first-child{font-size:13px!important;font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-conv-row > div > div:first-child > span:last-child{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-conv-row > div > div:nth-child(2){flex-wrap:wrap;align-items:center!important;row-gap:6px!important;margin-top:2px!important}
.v4-app[data-ui=next] .v4-conv-row > div > div:nth-child(2) > span:nth-child(2){order:-1;flex:1 1 100%!important;font-size:13px!important;line-height:18px;color:var(--gb-ink)!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v4-app[data-ui=next] .v4-conv-chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-regular);letter-spacing:0;text-transform:none}
.v4-app[data-ui=next] .v4-conv-unread-dot{width:8px;height:8px;margin-left:auto;background:var(--gb-ember)}

/* The agent on a live call: the AI's live work sits first in the list */
.v4-app[data-ui=next] .v4-conv-live-banner{gap:12px;margin:0 0 8px;padding:12px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-live-banner:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-conv-live-dot{width:8px;height:8px;background:var(--gb-sage);animation:gbn-conv-live 2.4s ease-out infinite}
@keyframes gbn-conv-live{0%{box-shadow:0 0 0 0 rgba(150,171,136,.55)}100%{box-shadow:0 0 0 6px rgba(150,171,136,0)}}
.v4-app[data-ui=next] .v4-conv-live-banner > div > div:first-child{font-size:13px!important;font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-conv-live-banner > div > div:nth-child(2),.v4-app[data-ui=next] .v4-conv-live-banner > span:last-child{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-conv-empty-icon{width:48px;height:48px;border-radius:50%;background:var(--gb-fill);color:var(--gb-sage-ink)}

/* ---------- reader / conversation ---------- */
.v4-app[data-ui=next] .v4-conv-thread > div:has(> .v4-conv-avatar){gap:12px!important;padding:16px 20px!important;border-bottom:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-conv-thread > div:has(> .v4-conv-avatar) > div > div{font-size:var(--gb-fs-20)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-conv-thread > section[aria-label="Relationship summary"]{margin:12px 16px 0;padding:12px 16px!important;border:0!important;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-conv-thread > section[aria-label="Relationship summary"] > div{font-size:12px!important;font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-conv-thread > section[aria-label="Relationship summary"] > p{font-size:13px!important;line-height:1.55}
.v4-app[data-ui=next] .v4-conv-thread > [role="status"],.v4-app[data-ui=next] .v4-conv-thread > [role="alert"]{padding:10px 20px!important;font-size:12px!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-conv-thread > [role="alert"] button{margin-left:6px;min-height:28px;padding:0 10px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:inherit;cursor:pointer}

/* owner / handback controls */
.v4-app[data-ui=next] .v4-conv-owner{margin:12px 16px 0;padding:14px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);font-size:13px}
.v4-app[data-ui=next] .v4-conv-owner button{min-height:32px;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;font-weight:var(--gb-fw-medium);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-owner button:hover{background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-conv-owner button.v4-conv-accept{background:var(--gb-btn);color:var(--gb-btn-ink);box-shadow:none}
.v4-app[data-ui=next] .v4-conv-owner button:disabled{opacity:.4}
.v4-app[data-ui=next] .v4-handoff-directions{padding:12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface)}

/* messages: customer on the left in a soft bubble, the business (you or the agent) on the right in ink */
.v4-app[data-ui=next] .v4-conv-thread > div:has(> .v4-conv-msg-row),.v4-app[data-ui=next] .v4-conv-thread > div[style*="overflow-y:auto"]{padding:20px 24px!important;gap:10px!important}
.v4-app[data-ui=next] .v4-conv-bubble{max-width:100%;padding:10px 14px;border:0!important;border-radius:20px;font-size:var(--gb-fs-15);line-height:1.5;letter-spacing:-.005em;overflow-wrap:anywhere}
.v4-app[data-ui=next] .v4-conv-bubble[data-inbound="true"]{background:var(--gb-fill-2);color:var(--gb-ink);border-bottom-left-radius:6px}
.v4-app[data-ui=next] .v4-conv-bubble[data-inbound="false"]{background:var(--gb-btn);color:var(--gb-btn-ink);border-bottom-right-radius:6px}
.v4-app[data-ui=next] .v4-conv-bubble-time{margin-top:4px;font:400 11px/1.2 var(--gb-mono);opacity:.7}
.v4-app[data-ui=next] .v4-conv-msg-row > div{max-width:min(72%,560px)!important}
.v4-app[data-ui=next] .v4-conv-msg-row > div > div:not(.v4-conv-bubble):not(.v4-conv-staged){font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] :is(.v4-conv-staged,.v4-conv-suggestion){padding:12px 14px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);box-shadow:none;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-conv-staged > div:first-child{font-size:12px!important;font-weight:var(--gb-fw-semibold)!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-conv-staged > div:nth-child(2){font-size:13px!important;line-height:1.5}

/* composer: suggestion widget, then a docked pill composer */
.v4-app[data-ui=next] .v4-conv-thread > div:has(> .v4-conv-suggestion),.v4-app[data-ui=next] .v4-conv-thread > div:has(.v4-conv-input):last-child{padding:12px 16px 16px!important;border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-conv-suggestion{margin-bottom:12px}
.v4-app[data-ui=next] .v4-conv-suggestion > div:first-child{display:flex;align-items:center;gap:8px;font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-conv-suggestion > div:nth-child(2){font-size:var(--gb-fs-15)!important;line-height:1.55!important;color:var(--gb-ink)}
.v4-app[data-ui=next] :is(.v4-conv-accept,.v4-conv-withdraw,.v4-conv-suggest-btn,.v4-conv-gated-btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 14px;border:0;border-radius:var(--gb-r-full);font-family:var(--gb-font);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1.2;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] :is(.v4-conv-accept,.v4-conv-withdraw,.v4-conv-suggest-btn):active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-conv-accept{margin-top:10px;background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .v4-conv-accept:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] :is(.v4-conv-withdraw,.v4-conv-suggest-btn){background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-conv-staged .v4-conv-withdraw,.v4-app[data-ui=next] .v4-conv-suggestion .v4-conv-suggest-btn{background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] :is(.v4-conv-withdraw,.v4-conv-suggest-btn):hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] :is(.v4-conv-accept,.v4-conv-withdraw,.v4-conv-suggest-btn):disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .v4-conv-suggest-btn > svg{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .v4-conv-gated-btn{background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink-2);cursor:not-allowed}
.v4-app[data-ui=next] .v4-conv-thread div:has(> .v4-conv-input + .v4-conv-send){align-items:flex-end!important;gap:4px!important;padding:6px 6px 6px 16px;border-radius:26px;background:var(--gb-surface);box-shadow:var(--gb-shadow-2);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-thread div:has(> .v4-conv-input + .v4-conv-send):focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .v4-conv-thread div:has(> .v4-conv-input + .v4-conv-send) > .v4-conv-input{min-height:40px;padding:10px 0;border:0;border-radius:0;background:transparent;font-size:var(--gb-fs-15);outline:none}
.v4-app[data-ui=next] .v4-conv-input{border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font-family:var(--gb-font)}
.v4-app[data-ui=next] .v4-conv-thread div:has(> .v4-conv-input + .v4-conv-send) > .v4-conv-input{box-shadow:none}
.v4-app[data-ui=next] .v4-conv-input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-conv-send{width:36px;height:36px;margin:2px;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-conv-send:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .v4-conv-send:active{transform:scale(.94)}
.v4-app[data-ui=next] .v4-conv-send:disabled{opacity:.35}
.v4-app[data-ui=next] .v4-conv-send > svg{width:16px;height:16px}
.v4-app[data-ui=next] .v4-conv-thread div:has(> .v4-conv-input + .v4-conv-send) ~ div{padding-left:16px;font-size:12px!important;color:var(--gb-ink-2)!important}

/* calls: recording and summary as soft panels inside the reader (no box in a box) */
.v4-app[data-ui=next] :is(.v4-conv-panel,.v4-conv-summary){padding:16px 18px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);box-shadow:none}
.v4-app[data-ui=next] .v4-conv-summary{margin-top:12px}
/* "Call summary" is a heading like the reader's "Full transcript": sentence case in the UI font, not a mono caps label */
.v4-app[data-ui=next] .v4-conv-summary > div:first-child{font:700 16px/1.3 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui)!important;text-transform:none!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-conv-summary > div:nth-child(2){font-size:var(--gb-fs-15)!important;line-height:1.6!important}
.v4-app[data-ui=next] .v4-conv-turn{border-radius:var(--gb-r-sm)}
.v4-app[data-ui=next] .v4-conv-turn-speaker{font-size:12px;font-weight:var(--gb-fw-semibold);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-conv-turn-text{font-size:13px}
.v4-app[data-ui=next] .v4-conv-thread audio{border-radius:var(--gb-r-full)}

/* toasts: HUD pill */
.v4-app[data-ui=next] .v4-conv-toast{bottom:24px;padding:12px 18px;border-radius:var(--gb-r-full);background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2);font-size:13px}
.v4-app[data-ui=next] .v4-conv-toast[data-kind="error"]{background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2),inset 0 0 0 1px var(--gb-danger)}

/* ---------- phone: list and thread are each a full bubble; the classic back button returns to the list ---------- */
@media (max-width:767px){
  /* Classic intends one pane at a time on a phone (conversations.css hides the list while a thread is open),
     but the list's inline display:flex outranks that rule, so the thread opens below a full list. Here the
     list steps aside while a thread is open; it stays one tap away on the thread's "All conversations" button. */
  .v4-app[data-ui=next] .v4-conv[data-thread-open="true"][data-list-open="false"] > .v4-conv-list{display:none!important}
  .v4-app[data-ui=next] .v4-inbox-workspace{height:calc(100dvh - var(--gb-topbar-h,56px));padding:12px 12px 96px;gap:12px}
  .v4-app[data-ui=next] .v4-conv-list{border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
  .v4-app[data-ui=next] .v4-conv-list > div:first-child{padding:16px 16px 12px!important}
  .v4-app[data-ui=next] .v4-conv-list > div:first-child > div:nth-child(2){margin-top:12px!important}
  .v4-app[data-ui=next] .v4-inbox-workspace > .v4-conv{gap:12px}
  .v4-app[data-ui=next] .v4-conv-back{display:inline-flex;min-height:36px;margin:12px 12px 0}
  .v4-app[data-ui=next] .v4-conv-msg-row > div{max-width:86%!important}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .v4-conv-live-dot{animation:none}
}

/* UI-NEXT · Deals ("Pipeline") — A depth inside the B shell.
   Every selector starts with .v4-app[data-ui=next] (BUILD-BRIEF contract 2): nothing here reaches classic.
   Tokens are the gb-* custom properties the foundation file defines on .v4-app[data-ui=next].
   Reference: canvas/project/A-Pipeline.dc.html. No control is hidden here; every classic control keeps its
   place (ADDENDUM 1 parity). The page reuses the local --d-* palette of deals.css, re-pointed at gb tokens,
   so the board, table, timeline, forecast, drawer and dialogs all follow light and dark from one place. */

.v4-app[data-ui=next] .v4-page-deals{
  --d-bg:var(--gb-ground);--d-panel:var(--gb-surface);--d-panel-2:var(--gb-fill);--d-line:var(--gb-hair);--d-line-soft:var(--gb-hair);
  --d-fg:var(--gb-ink);--d-fg-2:var(--gb-ink-2);--d-fg-3:var(--gb-ink-2);--d-chip:var(--gb-fill);--d-hover:var(--gb-hover);
  --d-accent:var(--gb-btn);--d-accent-tint:var(--gb-fill);--d-accent-line:var(--gb-hair-2);--d-on-accent:var(--gb-btn-ink);
  --d-shadow:rgba(0,0,0,0);--d-bad:var(--gb-danger);--d-bad-tint:color-mix(in srgb,var(--gb-danger) 9%,transparent);
  --fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);
  max-width:var(--gb-page-max);margin:0 auto;padding:32px 32px 72px;
  font:var(--gb-fw-regular) var(--gb-fs-13)/var(--gb-lh-ui) var(--gb-font);color:var(--gb-ink);font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;container:gbn-deals/inline-size;
}
.v4-app[data-ui=next] .v4-page-deals :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* ---------- header: title + views + New deal, then the live pipeline, won this month and value by stage ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:16px 16px}
.v4-app[data-ui=next] .v4-page-deals .deals-next-title{display:block;grid-column:1;grid-row:1;margin:0 0 8px;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-title);line-height:1.15;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-actions{grid-column:2;grid-row:1;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 8px}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-main{grid-column:1;grid-row:2;align-self:stretch;min-width:0;display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-eyebrow{font-size:13px;font-weight:var(--gb-fw-regular);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-num{margin:4px 0 0;font-size:var(--gb-fs-40);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-display);line-height:1.1}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-line{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;align-items:center;gap:10px 12px;margin:auto 0 0;padding-top:12px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-line > :is(.deals-live-dot,span:last-child){grid-column:3;grid-row:1}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-line strong{font-weight:var(--gb-fw-semibold);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-dot{width:3px;height:3px;background:var(--gb-ink-3)}
/* What the agent is doing in the pipeline right now: the live dot plus its sentence, as one status pill. */
.v4-app[data-ui=next] .v4-page-deals .deals-live-dot{position:relative;z-index:1;justify-self:start;width:7px;height:7px;margin:0 0 0 12px;background:var(--gb-sage);animation:gbn-deals-live 2.4s ease-out infinite}
@keyframes gbn-deals-live{0%{box-shadow:0 0 0 0 rgba(150,171,136,.55)}100%{box-shadow:0 0 0 6px rgba(150,171,136,0)}}
.v4-app[data-ui=next] .v4-page-deals .deals-hero-line > span:last-child{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:28px;padding:4px 12px 4px 27px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-glance{display:contents}
.v4-app[data-ui=next] .v4-page-deals .deals-next-kpi{grid-column:1;grid-row:3;display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-kpi-label{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-kpi-value{margin-top:4px;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em;line-height:1.15}
.v4-app[data-ui=next] .v4-page-deals .deals-next-kpi-note{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stages{grid-column:2;grid-row:2/4;align-self:stretch;min-width:0;display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stages-title{margin-bottom:2px;font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px 12px;font-size:13px}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stage-label{display:inline-flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stage-count{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stage-sum{font-weight:var(--gb-fw-semibold);white-space:nowrap}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stage-track{grid-column:1/-1;position:relative;height:8px;border-radius:var(--gb-r-full);background:var(--gb-track);overflow:hidden}
.v4-app[data-ui=next] .v4-page-deals .deals-next-stage-bar{position:absolute;inset:0 auto 0 0;max-width:100%;border-radius:inherit;background:var(--gb-bar)}

/* segmented views (Board / Table / Timeline / Forecast) */
.v4-app[data-ui=next] .v4-page-deals .deals-seg-track{display:inline-flex;flex-wrap:wrap;gap:0;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .deals-seg{height:32px;padding:0 13px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-regular);transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-page-deals .deals-seg:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .deals-seg-active,.v4-app[data-ui=next] .v4-page-deals .deals-seg-active:hover{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium);color:var(--gb-ink)}

/* buttons: one primary (ink pill) per group, secondary = fill pill, ghost = transparent */
.v4-app[data-ui=next] .v4-page-deals :is(.deals-new-btn,.deals-primary-btn,.deals-secondary-btn,.deals-ghost-btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:0;border-radius:var(--gb-r-full);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1.2;white-space:nowrap;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-page-deals :is(.deals-new-btn,.deals-primary-btn,.deals-secondary-btn,.deals-ghost-btn):active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-page-deals :is(.deals-new-btn,.deals-primary-btn){background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .v4-page-deals :is(.deals-new-btn,.deals-primary-btn):hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .v4-page-deals .deals-secondary-btn{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-secondary-btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-ghost-btn{background:transparent;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-ghost-btn:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals :is(.deals-new-btn,.deals-primary-btn,.deals-secondary-btn,.deals-ghost-btn):disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .v4-page-deals .deals-ghost-btn[aria-pressed="true"]{outline:0;background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0),inset 0 0 0 1px var(--gb-hair-2)}

/* banners */
.v4-app[data-ui=next] .v4-page-deals .deals-banner{margin-top:20px;padding:12px 16px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink-2);font-size:13px}
.v4-app[data-ui=next] .v4-page-deals .deals-banner-error{background:var(--gb-surface);color:var(--gb-danger)}

/* ---------- filters + sort: two segmented tracks ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-toolbar{margin-top:28px;gap:8px 12px}
.v4-app[data-ui=next] .v4-page-deals .deals-chips{gap:0;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .deals-chip{height:32px;gap:6px;padding:0 13px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-regular);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-page-deals .deals-chip:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .deals-chip-active,.v4-app[data-ui=next] .v4-page-deals .deals-chip-active:hover{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .v4-page-deals .deals-chip-count{font:400 11px/1 var(--gb-mono);opacity:1;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-sort{gap:0;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .deals-sort-label{padding:0 8px 0 12px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-sortbtn{height:32px;padding:0 12px;border-radius:var(--gb-r-full);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .v4-page-deals .deals-sortbtn:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .deals-sortbtn-active,.v4-app[data-ui=next] .v4-page-deals .deals-sortbtn-active:hover{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}

/* ---------- board: stage columns on paper, deal cards are bubbles ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-board{gap:16px;margin:16px -32px 0;padding:4px 32px 24px;scroll-padding-inline:32px;scrollbar-width:thin}
.v4-app[data-ui=next] .v4-page-deals .deals-col{flex:1 0 196px;width:auto;min-width:196px;gap:10px}
.v4-app[data-ui=next] .v4-page-deals .deals-col-head{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-height:36px;padding:0 4px 4px 8px;border-top:0;font-size:13px;font-weight:var(--gb-fw-semibold)}
/* line 1: stage + count; line 2: the stage's value and its edit controls */
.v4-app[data-ui=next] .v4-page-deals .deals-col-head::after{content:"";order:3;flex-basis:100%;height:0}
.v4-app[data-ui=next] .v4-page-deals .deals-col-head > .deals-col-title{order:1;min-width:0}
.v4-app[data-ui=next] .v4-page-deals .deals-col-head > .deals-col-count{order:2}
.v4-app[data-ui=next] .v4-page-deals .deals-col-head > .deals-col-sum{order:4;margin:0 auto 0 0}
.v4-app[data-ui=next] .v4-page-deals .deals-col-head > .pipeline-stage-controls{order:5}
/* the stage colour (owner data) becomes a small dot before the stage name */
.v4-app[data-ui=next] .v4-page-deals .deals-col-title{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .v4-page-deals .deals-col-title::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--stage-color,var(--gb-bar))}
.v4-app[data-ui=next] .v4-page-deals .deals-col-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--gb-r-full);background:var(--gb-fill-2);color:var(--gb-ink);font-size:12px;font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .v4-page-deals .deals-col-sum{padding-left:16px;font-size:12px;font-weight:var(--gb-fw-regular);color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-page-deals .deals-col[data-drop-target="true"]{outline:0}
.v4-app[data-ui=next] .v4-page-deals .deals-col[data-drop-target="true"] .deals-col-body{border-radius:var(--gb-r-lg);box-shadow:inset 0 0 0 1.5px var(--gb-hair-2);background:var(--gb-hover)}
.v4-app[data-ui=next] .v4-page-deals .deals-col-body{gap:10px;min-height:56px}
.v4-app[data-ui=next] .v4-page-deals .pipeline-stage-controls{display:flex;align-items:center;gap:0;margin:0}
.v4-app[data-ui=next] .v4-page-deals .pipeline-stage-controls button{min-width:0;height:28px;padding:0 8px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-stage-controls .pipeline-grip{width:24px;padding:0;font-size:16px}
.v4-app[data-ui=next] .v4-page-deals .pipeline-stage-controls button:hover{background:var(--gb-fill);color:var(--gb-ink)}

/* deal card, laid out as A's: deal + value, the customer, the next step, then owner and age */
.v4-app[data-ui=next] .v4-page-deals .deals-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:14px 14px 12px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);cursor:pointer;transition:box-shadow var(--gb-dur-2) var(--gb-ease),transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .v4-page-deals .deals-card:hover{box-shadow:var(--gb-shadow-2);transform:translateY(-1px)}
.v4-app[data-ui=next] .v4-page-deals .deals-card-hot{box-shadow:var(--gb-shadow-1),inset 0 0 0 1px color-mix(in srgb,var(--gb-ember) 55%,transparent)}
.v4-app[data-ui=next] .v4-page-deals :is(.deals-card-top,.deals-card-mid,.deals-card-title){display:contents}
.v4-app[data-ui=next] .v4-page-deals .deals-card .deals-card-name{grid-column:1/3;grid-row:1;align-self:start}
.v4-app[data-ui=next] .v4-page-deals .deals-card-value{grid-column:3;grid-row:1;align-self:start;font-size:13px;line-height:17px;font-weight:var(--gb-fw-semibold);letter-spacing:0;white-space:nowrap}
.v4-app[data-ui=next] .v4-page-deals .deals-card .deals-avatar{grid-column:1;grid-row:2;width:20px;height:20px;font-size:9px}
.v4-app[data-ui=next] .v4-page-deals .deals-card .deals-card-seg{grid-column:2/-1;grid-row:2}
.v4-app[data-ui=next] .v4-page-deals .deals-card-bottom{grid-column:1/-1;grid-row:3;margin:8px 0 4px;padding:8px 10px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-fill);gap:8px}
.v4-app[data-ui=next] .v4-page-deals .deals-card-owner{grid-column:1/3;grid-row:4;justify-self:start;margin:0;gap:6px;min-width:0;max-width:100%;font-size:12px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .v4-page-deals .deals-card .deals-hot{grid-column:3;grid-row:4;justify-self:end}
.v4-app[data-ui=next] .v4-page-deals .deals-card:not(:has(.deals-hot)) .deals-card-owner{grid-column:1/-1}
.v4-app[data-ui=next] .v4-page-deals .deals-card-mid > .deals-timeline-prob{grid-column:3;grid-row:2;justify-self:end}
.v4-app[data-ui=next] .v4-page-deals .deals-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));box-shadow:inset 0 0 0 .5px var(--gb-hair);color:var(--gb-av-ink);font-size:11px;font-weight:var(--gb-fw-semibold);letter-spacing:.01em}
.v4-app[data-ui=next] .v4-page-deals .deals-avatar-lg{width:44px;height:44px;border-radius:50%;font-size:15px}
.v4-app[data-ui=next] .v4-page-deals .deals-card-name{min-width:0;font-size:13px;font-weight:var(--gb-fw-semibold);line-height:17px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v4-app[data-ui=next] .v4-page-deals .deals-card-seg{font-size:12px;line-height:16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-hot{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ember-ink);box-shadow:inset 0 0 0 1px currentColor;font:var(--gb-fw-medium) 10px/1 var(--gb-mono);letter-spacing:.12em}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-title .deals-hot{margin-left:4px}
.v4-app[data-ui=next] .v4-page-deals .deals-owner-dot{width:7px;height:7px;background:var(--gb-sage)}
.v4-app[data-ui=next] .v4-page-deals .deals-approved-dot{width:16px;height:16px;background:var(--gb-sage);color:#fff;font-size:9px}
.v4-app[data-ui=next] .v4-page-deals .deals-card-next{font-size:12px;line-height:16px;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-card-ago{font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-page-deals .deals-timeline-prob{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:12px;font-weight:var(--gb-fw-medium)}

/* pipeline picker + stage customization (shared pipeline-layout component, restyled on this page only) */
.v4-app[data-ui=next] .v4-page-deals .pipeline-customize{margin:28px 0 0;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-toolbar{align-items:center;gap:8px 12px;padding:0;border:0}
.v4-app[data-ui=next] .v4-page-deals .pipeline-toolbar > label{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-toolbar select{width:auto;min-width:200px;height:36px;margin:0;padding:0 32px 0 14px;border:0;border-radius:var(--gb-r-full);background-color:var(--gb-fill);box-shadow:none;font-size:13px}
.v4-app[data-ui=next] .v4-page-deals .pipeline-toolbar select:hover{background-color:var(--gb-fill-2);box-shadow:none}
.v4-app[data-ui=next] .v4-page-deals .pipeline-toolbar .crm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.v4-app[data-ui=next] .v4-page-deals .pipeline-customize :is(.primary-button,.secondary-button,.text-button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink);box-shadow:none;font:var(--gb-fw-medium) 13px/1.2 var(--gb-font);text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-customize :is(.primary-button,.secondary-button){background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-customize :is(.primary-button,.secondary-button,.text-button):hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-customize :is(.primary-button,.secondary-button,.text-button):disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .v4-page-deals .pipeline-editor .primary-button,.v4-app[data-ui=next] .v4-page-deals .pipeline-save .primary-button{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-notice{border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-editor{margin:16px 0 0;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);padding:24px}
.v4-app[data-ui=next] .v4-page-deals .pipeline-editor h2{font-size:var(--gb-fs-20);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-page-deals .pipeline-stage-editor{border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);box-shadow:inset 3px 0 0 var(--stage-color,var(--gb-bar))}
.v4-app[data-ui=next] .v4-page-deals .pipeline-editor :is(input:not([type=checkbox]):not([type=color]),select,textarea){border:0;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2)}

/* ---------- table view (shared leads table component, only re-surfaced) ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-table{margin-top:20px;padding:8px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-table-head{background:var(--gb-surface);border-bottom:0;box-shadow:inset 0 -1px 0 var(--gb-hair);font-size:12px;font-weight:var(--gb-fw-semibold);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-table-row{border-bottom:0;border-radius:var(--gb-r-sm)}
.v4-app[data-ui=next] .v4-page-deals .deals-table-row:nth-child(even){background:var(--gb-zebra)}
.v4-app[data-ui=next] .v4-page-deals .deals-table-row:hover{background:var(--gb-hover)}

/* ---------- forecast ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-forecast{gap:20px;margin-top:20px}
.v4-app[data-ui=next] .v4-page-deals .deals-forecast-side{gap:20px}
.v4-app[data-ui=next] .v4-page-deals .deals-panel{padding:20px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-panel-accent{background:var(--gb-surface)}
.v4-app[data-ui=next] .v4-page-deals .deals-panel-title{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-page-deals .deals-panel-note{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-forecast-total{margin-top:12px;font-size:var(--gb-fs-40);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-display);line-height:1.1}
.v4-app[data-ui=next] .v4-page-deals .deals-forecast-label{font-size:13px;font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .v4-page-deals .deals-forecast-meta{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-forecast-w{font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .v4-page-deals .deals-bar-track{height:8px;border-radius:var(--gb-r-full);background:var(--gb-track)}
.v4-app[data-ui=next] .v4-page-deals .deals-bar-fill{border-radius:inherit;background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-page-deals .deals-bar-track-lg .deals-bar-fill{background:var(--gb-grad)}
.v4-app[data-ui=next] .v4-page-deals .deals-target-num{font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em}

/* ---------- deal drawer = record inspector sheet (far right) ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-scrim{background:var(--gb-scrim)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer{top:12px;right:12px;height:calc(100vh - 24px);width:var(--gb-inspector-w,344px);max-width:calc(100vw - 24px);border:0;border-radius:var(--gb-r-lg);background:var(--gb-chrome);box-shadow:var(--gb-shadow-3);transform:translateX(calc(100% + 24px));transition:transform var(--gb-dur-3) var(--gb-ease);overflow:hidden}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-open{transform:translateX(0)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-head{padding:16px 16px 18px;border-bottom:0}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-title{font-size:var(--gb-fs-20);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui);line-height:1.2}
.v4-app[data-ui=next] .v4-page-deals .deals-close-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-close-btn:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-value-row{flex-wrap:wrap;margin-top:16px;padding:16px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-eyebrow-sm{font-size:12px;font-weight:var(--gb-fw-regular);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-value{font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:-.03em;line-height:1.15}
.v4-app[data-ui=next] .v4-page-deals .deals-stepper-wrap{min-width:180px}
.v4-app[data-ui=next] .v4-page-deals .deals-stepper-head{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-stepper{gap:4px}
.v4-app[data-ui=next] .v4-page-deals .deals-step-bar{height:6px;border-radius:var(--gb-r-full);background:var(--gb-track)}
.v4-app[data-ui=next] .v4-page-deals .deals-step-bar-past{background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-page-deals .deals-step-bar-active{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-page-deals .deals-step-label{font-size:10px;line-height:1.2;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-step-label-active{color:var(--gb-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-body{padding:4px 16px 16px}
.v4-app[data-ui=next] .v4-page-deals .deals-owned-row{padding:12px 16px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-owned-name{font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .v4-page-deals .deals-section-label{margin:20px 0 8px;padding-left:16px;font-size:13px;font-weight:var(--gb-fw-semibold);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-timeline-list{padding:4px 16px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-page-deals .deals-timeline-item{padding:10px 0;border-bottom:0;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-page-deals .deals-timeline-item:last-child{box-shadow:none}
.v4-app[data-ui=next] .v4-page-deals .deals-timeline-text{font-size:13px}
.v4-app[data-ui=next] .v4-page-deals .deals-timeline-meta{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-page-deals .deals-draft-box{padding:14px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-size:13px;line-height:1.55;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-why-box{padding:10px 12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-fill);font-size:12px;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-body > .deals-secondary-btn{margin-top:10px}
.v4-app[data-ui=next] .v4-page-deals .deals-inline-error{font-size:12px;color:var(--gb-danger)}
.v4-app[data-ui=next] .v4-page-deals .deals-inline-notice{font-size:12px;color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .v4-page-deals .deals-drawer-foot{gap:8px;padding:12px 16px 16px;border-top:0;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-page-deals .deals-won-banner{padding:10px 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-sage-ink);font-size:13px}
.v4-app[data-ui=next] .v4-page-deals .deals-invoice-amount{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .v4-page-deals :is(.deals-invoice-status,.deals-invoice-desc,.deals-invoice-note){font-size:12px;color:var(--gb-ink-2)}

/* ---------- dialogs: new deal, edit conflict ---------- */
.v4-app[data-ui=next] .v4-page-deals .deals-modal form{padding:24px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-raised);box-shadow:var(--gb-shadow-3)}
.v4-app[data-ui=next] .v4-page-deals .deals-modal-title{margin-bottom:8px;font-size:var(--gb-fs-20);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-page-deals .deals-field{margin-top:14px;font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-page-deals :is(input,select){height:40px;margin-top:6px;padding:0 12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-regular);outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-page-deals :is(input,select):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-page-deals :is(input,select):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .v4-page-deals .deals-modal-foot{justify-content:flex-end;gap:8px;margin-top:24px}
.v4-app[data-ui=next] .v4-page-deals .deals-modal-foot .deals-primary-btn{flex:0 0 auto}
.v4-app[data-ui=next] .v4-page-deals .deals-conflict-note{font-size:13px;color:var(--gb-ink-2)}

/* ---------- container: narrow mains (chat panel open, tablet, phone) ---------- */
@container gbn-deals (max-width:720px){
  .v4-app[data-ui=next] .v4-page-deals .deals-hero{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .v4-page-deals .deals-hero-actions{grid-column:1;grid-row:2;justify-content:flex-start}
  .v4-app[data-ui=next] .v4-page-deals .deals-hero-main{grid-column:1;grid-row:3}
  .v4-app[data-ui=next] .v4-page-deals .deals-next-kpi{grid-column:1;grid-row:4}
  .v4-app[data-ui=next] .v4-page-deals .deals-next-stages{grid-column:1;grid-row:5}
  .v4-app[data-ui=next] .v4-page-deals .deals-hero-line{grid-template-columns:auto auto}
  .v4-app[data-ui=next] .v4-page-deals .deals-hero-line > :is(.deals-live-dot,span:last-child){grid-column:1/-1;grid-row:2}
  .v4-app[data-ui=next] .v4-page-deals .deals-hero-line > .deals-dot{background:transparent}
  .v4-app[data-ui=next] .v4-page-deals .deals-sort{margin-left:0}
  .v4-app[data-ui=next] .v4-page-deals .deals-forecast{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:759px){
  .v4-app[data-ui=next] .v4-page-deals{padding:16px 16px 112px}
  .v4-app[data-ui=next] .v4-page-deals .deals-board{margin-inline:-16px;padding-inline:16px;scroll-snap-type:x mandatory;scroll-padding-inline:16px}
  .v4-app[data-ui=next] .v4-page-deals .deals-col{flex:0 0 min(82vw,300px);scroll-snap-align:start}
  .v4-app[data-ui=next] .v4-page-deals .deals-drawer{top:0;right:0;width:100vw;max-width:100vw;height:100vh;border-radius:0}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .v4-page-deals .deals-live-dot{animation:none}
  .v4-app[data-ui=next] .v4-page-deals :is(.deals-card,.deals-drawer){transition:none}
}
/* QA F14: an empty "Value by stage" card says why and what to do, instead of a blank card. */
.v4-app[data-ui=next] .deals-next-stages-empty{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--gb-ink-2)}

/* GPT Business design system (design-system-20261022) for Settings > Scheduling and job software (settings-sync-field.css
   holds the base). The card carries its edge with a shadow, buttons and badges are pills, the one main button is --gb-btn,
   focus is --gb-focus, section labels are small sentence-case ink-3. */
.v4-app[data-ui=next] .fsync{border:0;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync h2{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync p,.v4-app[data-ui=next] .fsync-meta,.v4-app[data-ui=next] .fsync-toggle__text small{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fsync-sub{font-size:11.5px;font-weight:500;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .fsync-list{border:0;border-radius:14px;background:var(--gb-column);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .fsync-row{border-top-color:var(--gb-hair)}
.v4-app[data-ui=next] .fsync-row__main strong{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-badge{height:24px;display:inline-flex;align-items:center;padding:0 10px;font-size:12px;font-weight:500;background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fsync-badge[data-state="ready"]{box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-btn{border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink);font-weight:500;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .fsync-btn:hover:not(:disabled){background:var(--gb-fill-2)}
.v4-app[data-ui=next] .fsync-btn--primary,.v4-app[data-ui=next] .fsync-btn--primary:hover:not(:disabled){background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .fsync-btn--danger,.v4-app[data-ui=next] .fsync-btn--danger:hover:not(:disabled){background:var(--gb-danger);color:#fff}
.v4-app[data-ui=next] .fsync-btn--quiet{background:transparent;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fsync-link{color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-hint{background:color-mix(in srgb,var(--gb-ember) 16%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-form{border:0;border-radius:14px;background:var(--gb-column);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .fsync-field{color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-area{border:0;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink);box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .fsync-run__name{color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-import,.v4-app[data-ui=next] .fsync-run{border-color:var(--gb-hair)}
.v4-app[data-ui=next] .fsync-field input{border:0;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink);box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .fsync-confirm{border:0;border-radius:14px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gb-danger) 70%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-toggle{border-top-color:var(--gb-hair)}
.v4-app[data-ui=next] .fsync-toggle__text{color:var(--gb-ink)}
.v4-app[data-ui=next] .fsync-switch[aria-checked="true"]::before{background:var(--gb-sage-ink)}
.v4-app[data-ui=next] .fsync .fsync-error{color:var(--gb-danger)}
.v4-app[data-ui=next] .fsync :is(button,input,textarea):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.v4-app[data-ui=next] .fsync-btn{transition:none}}

/* ==========================================================================
   UI-NEXT · the agent page (v4 page "fleet") — the Approvals surface of the new look
   --------------------------------------------------------------------------
   Owner's bar: the clearest page in the app — what the agent did, what is waiting on the owner,
   and what is running. Layout B (Studio split) with A depth (bubble boxes on warm paper).
   Spec: redesign-20261014/final/DESIGN-SYSTEM.md §5 "Approvals" — .gb-split: the Needs-you
   queue as .gb-needs with one-tap actions; aside: the "did today" ledger + autonomy.
   Values are copied from final/gb-ui.css (§4 buttons, §5 pills, §7 cards, §8 KPI/progress,
   §9 segmented, §10 table rows, §14 needs/timeline). Colour only from --gb-* tokens.

   SWITCH. Every selector starts with .v4-app[data-ui=next]; the only other names are the
   @keyframes gbn-fl-*. tests/v4-ui-next-fleet.test.mjs lints this.

   PARITY. Nothing here hides an existing control. The blocks that classic hides (fleet.css,
   outside data-ui=next: .fl-n-headmeta, .fl-n-rules, .fl-n-did, .fl-n-wait) are shown here.
   The page's metric summary (.mv-page-rail, "Open … in Insights") moves from a 228px right
   rail to the foot of the page so the split gets the full page width; it stays visible.
   ========================================================================== */

/* 1 · page frame ------------------------------------------------------------ */
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page){display:flex!important;flex-direction:column;gap:0;background:transparent}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page)>.mv-page-main{width:100%;min-width:0}
.v4-app[data-ui=next] .fl-page{box-sizing:border-box;max-width:var(--gb-page-max,1104px);margin:0 auto;padding:32px 32px 40px;color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;line-height:1.45;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .fl-page :is(button,input,textarea){font-family:var(--gb-font)}

/* the page's metric summary, now a slim bubble under the page (moved, not hidden) */
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page)>.mv-page-rail{position:static;order:1;box-sizing:border-box;width:100%;max-width:var(--gb-page-max,1104px);margin:0 auto;padding:0 32px 72px}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;padding:16px 20px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary:hover{background:var(--gb-surface);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary-heading{grid-column:1;font-size:13px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink)}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary-heading i{display:none}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary-value{grid-column:2;grid-row:1/span 3;font-size:20px;font-weight:var(--gb-fw-semibold);letter-spacing:-.02em;color:var(--gb-ink)}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary small{grid-column:1;font-size:12px!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary-link{grid-column:1;display:inline-flex;justify-content:flex-start;gap:4px;margin:4px 0 0;padding:0;border:0;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .mv-page-layout:has(.fl-page) .mv-page-rail .mv-summary:hover .mv-summary-link{color:var(--gb-ink)}

/* 2 · header: status kicker (dot + word), title + count, lede ----------------- */
.v4-app[data-ui=next] .fl-head{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:12px}
.v4-app[data-ui=next] .fl-status{grid-column:1/-1;display:flex;align-items:center;gap:8px;font:var(--gb-fw-medium) 11px/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-sage);animation:gbn-fl-live 2.4s ease-out infinite}
.v4-app[data-ui=next] .fl-head h1{grid-column:1;margin:12px 0 0;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-title);line-height:1.15;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-n-headmeta{grid-column:2;display:block;min-width:0;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-lede{grid-column:1/-1;max-width:640px;margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--gb-ink-2)}

/* tabs → segmented control with counts; the Needs-you count is the ink pill */
.v4-app[data-ui=next] .fl-tabs{display:inline-flex;flex-wrap:wrap;gap:0;max-width:100%;margin-top:24px;padding:2px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .fl-tab{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-regular);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .fl-tab:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .fl-tab.fl-tab-on{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .fl-tab-badge{min-width:18px;height:18px;margin:0;padding:0 6px;border-radius:var(--gb-r-full);background:var(--gb-fill-2);color:var(--gb-ink);font:var(--gb-fw-medium) 11px/18px var(--gb-mono);text-align:center}
.v4-app[data-ui=next] .fl-tabs>button:nth-child(3) .fl-tab-badge{background:var(--gb-btn);color:var(--gb-btn-ink)}

/* 3 · shared pieces ------------------------------------------------------------ */
.v4-app[data-ui=next] .fl-tabpane{display:flex;flex-direction:column;gap:20px;margin-top:24px}
.v4-app[data-ui=next] .fl-card,.v4-app[data-ui=next] .fl-tabpane .fl-card:first-child{min-width:0;margin:0;padding:20px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-card-title{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui);line-height:1.35;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-card-sub{margin-top:4px;font-size:13px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-row-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.v4-app[data-ui=next] .fl-row-head .fl-note{margin-top:0}
.v4-app[data-ui=next] .fl-note{margin-top:8px;font-size:12px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-empty{padding:12px 0 4px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-error{margin-top:10px;font-size:13px;color:var(--gb-danger)}
.v4-app[data-ui=next] .fl-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-regular) 12px/1 var(--gb-font);letter-spacing:0;white-space:nowrap}
.v4-app[data-ui=next] .fl-gated-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}

/* buttons: gb-btn (36px pill). Primary = ink; ghost = the secondary fill button */
.v4-app[data-ui=next] .fl-btn-primary,.v4-app[data-ui=next] .fl-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;margin:0;padding:0 16px;border:0;border-radius:var(--gb-r-full);font:var(--gb-fw-medium) 13px/1 var(--gb-font);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .fl-btn-primary{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .fl-btn-primary:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .fl-btn-ghost{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-btn-ghost:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] :is(.fl-btn-primary,.fl-btn-ghost):active{transform:scale(.97)}
.v4-app[data-ui=next] :is(.fl-btn-primary,.fl-btn-ghost)[disabled]{opacity:.4;cursor:not-allowed;transform:none}
.v4-app[data-ui=next] .fl-outcome-stop{color:var(--gb-danger)}

/* a confirm step is a filled region inside its card (no box inside a box: no shadow, no border) */
.v4-app[data-ui=next] .fl-confirm{margin-top:16px;padding:14px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);font-size:13px;line-height:1.5;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v4-app[data-ui=next] .fl-confirm-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--gb-ink)}

/* rows inside a card: hairline between, no boxes */
.v4-app[data-ui=next] :is(.fl-cap-row,.fl-channel-row,.fl-rail-row,.fl-money-row,.fl-dial-row,.fl-need-row,.fl-prop-row){border-top:0;box-shadow:inset 0 1px 0 var(--gb-hair)}

/* status dots (dot + word everywhere) */
.v4-app[data-ui=next] .fl-n-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .fl-n-dot-you,.v4-app[data-ui=next] .fl-n-dot-late{background:var(--gb-ember)}
.v4-app[data-ui=next] .fl-n-dot-done{background:var(--gb-sage)}
.v4-app[data-ui=next] .fl-n-dot-off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}

/* card head for the new cards: title · count · link pushed right */
.v4-app[data-ui=next] .fl-n-head{display:flex;align-items:center;gap:8px;min-height:24px}
.v4-app[data-ui=next] .fl-n-count{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-n-link{display:inline-flex;align-items:center;flex:none;margin:-8px -10px -8px auto;padding:8px 10px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-regular) 13px/1 var(--gb-font);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .fl-n-link::after{content:"";width:6px;height:6px;margin-left:6px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
.v4-app[data-ui=next] .fl-n-link:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-n-foot{margin-top:12px;padding-top:12px;box-shadow:inset 0 1px 0 var(--gb-hair);font-size:12px;color:var(--gb-ink-2)}

/* 4 · Overview = the Approvals split ------------------------------------------ */
/* .fl-n-side (operating mode + the new ledger) is first in the DOM, so it is placed in column 2. */
.v4-app[data-ui=next] .fl-tabpane.fl-n-overview{display:grid;grid-template-columns:minmax(0,1fr) var(--gb-aside-w,320px);gap:20px;align-items:start}
.v4-app[data-ui=next] .fl-n-side{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:20px;min-width:0}
.v4-app[data-ui=next] .fl-n-main{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:20px;min-width:0}
.v4-app[data-ui=next] .fl-n-side>.fl-n-did{order:-1}
.v4-app[data-ui=next] .fl-n-main>.fl-n-wait{order:1}
.v4-app[data-ui=next] .fl-n-main>.fl-stats{order:2}
.v4-app[data-ui=next] .fl-n-main>.fl-n-call{order:3}
.v4-app[data-ui=next] .fl-n-main>.fl-n-money{order:4}
.v4-app[data-ui=next] .fl-n-main>.fl-n-caps{order:5}
.v4-app[data-ui=next] .fl-n-main>.fl-grid2{order:6}
.v4-app[data-ui=next] .fl-n-main>.fl-n-rails{order:7}
.v4-app[data-ui=next] .fl-n-main>.fl-n-dry{order:8}
.v4-app[data-ui=next] .fl-n-main>.fl-n-digest{order:9}

/* Waiting on you — gb-needs rows with one-tap actions (same handlers as the Needs you tab) */
.v4-app[data-ui=next] .fl-n-wait{display:block}
.v4-app[data-ui=next] .fl-n-need{display:grid;grid-template-columns:7px minmax(0,1fr) auto;grid-template-areas:"dot kind ago" ". title title" ". confirm confirm" ". acts acts";column-gap:12px;align-items:center;padding:16px 0;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .fl-n-head+.fl-n-need,.v4-app[data-ui=next] .fl-n-head+*+.fl-n-need{margin-top:8px}
.v4-app[data-ui=next] .fl-n-need:last-of-type{padding-bottom:0}
.v4-app[data-ui=next] .fl-n-need>.fl-n-dot{grid-area:dot}
.v4-app[data-ui=next] .fl-n-need-kind{grid-area:kind;min-width:0;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-n-need-kind::first-letter,.v4-app[data-ui=next] .fl-need-kind::first-letter,.v4-app[data-ui=next] .fl-money-what::first-letter{text-transform:uppercase}
.v4-app[data-ui=next] .fl-n-need-ago{grid-area:ago;font:400 11px/1.2 var(--gb-mono);color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .fl-n-need-title{grid-area:title;margin-top:4px;font-size:var(--gb-fs-15);letter-spacing:var(--gb-tr-ui);line-height:1.35;text-wrap:pretty;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-n-need-confirm{grid-area:confirm;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:var(--gb-r-md);background:var(--gb-fill);font-size:13px}
.v4-app[data-ui=next] .fl-n-need-confirm>span{margin-right:auto}
.v4-app[data-ui=next] .fl-n-need-confirm>button{height:32px;padding:0 14px}
.v4-app[data-ui=next] .fl-n-need-acts{grid-area:acts;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v4-app[data-ui=next] .fl-n-more{display:block;width:100%;margin-top:16px;padding:12px 0 0;border:0;background:transparent;box-shadow:inset 0 1px 0 var(--gb-hair);color:var(--gb-ink-2);font:var(--gb-fw-regular) 13px/1.4 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .fl-n-more:hover{color:var(--gb-ink)}

/* What the agent did — the ledger timeline (time · dot · action, status word under it) */
.v4-app[data-ui=next] .fl-n-did{display:block}
.v4-app[data-ui=next] .fl-n-did-list{position:relative;margin-top:8px}
.v4-app[data-ui=next] .fl-n-did-list::before{content:"";position:absolute;left:calc(44px + 12px + 3px);top:22px;bottom:22px;width:1px;background:var(--gb-hair)}
.v4-app[data-ui=next] .fl-n-did-row{position:relative;display:grid;grid-template-columns:44px 7px minmax(0,1fr);column-gap:12px;align-items:center;min-height:52px;padding:6px 0}
.v4-app[data-ui=next] .fl-n-did-time{font:400 11px/1.2 var(--gb-mono);color:var(--gb-ink-2);text-align:right;white-space:nowrap}
.v4-app[data-ui=next] .fl-n-did-row>.fl-n-dot{position:relative;box-shadow:0 0 0 3px var(--gb-surface)}
.v4-app[data-ui=next] .fl-n-did-row>.fl-n-dot-off{box-shadow:inset 0 0 0 1.5px var(--gb-ink-3),0 0 0 3px var(--gb-surface);background:var(--gb-surface)}
.v4-app[data-ui=next] .fl-n-did-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .fl-n-did-what{font-size:13px;line-height:1.35;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .fl-n-did-meta{font-size:12px;color:var(--gb-ink-2);overflow-wrap:anywhere}

/* Operating mode (the "Running" + autonomy card in the aside) */
.v4-app[data-ui=next] .fl-learn-head{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-learn-day{font:var(--gb-fw-medium) 11px/1.6 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-bar{height:6px;margin-top:8px;border-radius:var(--gb-r-full);background:var(--gb-track);overflow:hidden}
.v4-app[data-ui=next] .fl-bar-fill{height:100%;min-width:6px;border-radius:inherit;background:var(--gb-grad)}
.v4-app[data-ui=next] .fl-learn-note{margin-top:10px;font-size:12px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-ap-card>.fl-btn-primary{margin-top:16px}
.v4-app[data-ui=next] .fl-armed{display:flex;align-items:baseline;gap:8px;margin-top:16px;padding:0;border:0;background:transparent;font-size:13px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-armed::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-sage);transform:translateY(-1px)}
.v4-app[data-ui=next] .fl-n-rules{display:block;margin-top:16px}
.v4-app[data-ui=next] .fl-n-rule{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;box-shadow:inset 0 1px 0 var(--gb-hair);font-size:13px}
.v4-app[data-ui=next] .fl-n-rule>span{color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .fl-n-rule>b{font-weight:var(--gb-fw-medium);text-align:right;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-n-rules>.fl-n-link{margin:6px 0 -8px -10px}

/* KPI strip: tool calls · approvals · pending (gb-kpi--card, label above value) */
.v4-app[data-ui=next] .fl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:16px;margin:0}
.v4-app[data-ui=next] .fl-stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px;padding:18px 20px 20px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);text-align:left}
.v4-app[data-ui=next] .fl-stat-value{margin-top:4px;font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font);letter-spacing:-.03em;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-stat-label{margin:0;font-size:13px;color:var(--gb-ink-2)}

/* On a call now: the live banner is a filled region, not a nested card */
.v4-app[data-ui=next] .fl-live{margin-top:12px;padding:14px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .fl-live-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-live-head::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-sage);animation:gbn-fl-live 2.4s ease-out infinite}
.v4-app[data-ui=next] .fl-live-sid{margin-top:2px;font:400 11px/1.4 var(--gb-mono);color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .fl-live-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v4-app[data-ui=next] .fl-n-return{margin-top:16px!important;padding-top:14px!important;border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .fl-n-return h3{font-size:15px!important;font-weight:var(--gb-fw-semibold);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-n-label,.v4-app[data-ui=next] .fl-n-check{font-size:13px!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-n-label{font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .fl-n-textarea{min-height:88px!important;padding:10px 12px!important;border:0!important;border-radius:var(--gb-r-sm)!important;background:var(--gb-surface)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink)!important;font:13px/1.5 var(--gb-font);outline:none}
.v4-app[data-ui=next] .fl-n-textarea:focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}

/* Every dollar she moved: two KPI sums, then the ledger as table rows */
.v4-app[data-ui=next] .fl-money-sums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:16px;margin:16px 0 8px}
.v4-app[data-ui=next] .fl-money-sums>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px}
.v4-app[data-ui=next] .fl-money-value{font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font);letter-spacing:-.03em;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-money-label{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-money-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;min-height:56px;padding:6px 0;flex-wrap:nowrap}
.v4-app[data-ui=next] .fl-money-main{min-width:0}
.v4-app[data-ui=next] .fl-money-what{font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-money-when{margin-top:1px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-money-amount{font:var(--gb-fw-semibold) 13px/1 var(--gb-font);text-align:right;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-money-row .fl-btn-ghost{height:32px;padding:0 12px}

/* What the agent does: capability groups as two columns of rows with count pills */
.v4-app[data-ui=next] .fl-cap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));column-gap:32px;row-gap:0;margin-top:12px}
.v4-app[data-ui=next] .fl-cap-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 0}
.v4-app[data-ui=next] .fl-cap-label{font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-cap-note{margin-top:1px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-cap-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 9px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-regular) 12px/1 var(--gb-font)}

/* VIP + channels, the six rails, dry run, digest */
.v4-app[data-ui=next] .fl-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px;margin:0;align-items:start}
.v4-app[data-ui=next] .fl-grid2 .fl-card{margin:0}
.v4-app[data-ui=next] .fl-channel-row,.v4-app[data-ui=next] .fl-rail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0}
.v4-app[data-ui=next] .fl-card-sub+.fl-channel-row,.v4-app[data-ui=next] .fl-card-sub+.fl-rail-row,.v4-app[data-ui=next] .fl-card-title+.fl-channel-row{margin-top:12px}
.v4-app[data-ui=next] .fl-channel-label,.v4-app[data-ui=next] .fl-rail-label{font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-channel-note,.v4-app[data-ui=next] .fl-rail-desc{margin-top:1px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-rail-desc{margin-top:0;text-align:right}

/* 5 · Needs you tab — one bubble box, the queue as gb-need rows ---------------- */
.v4-app[data-ui=next] .fl-need-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;grid-template-areas:"dot main acts" ". confirm confirm";column-gap:12px;align-items:center;padding:16px 0;flex-wrap:nowrap}
.v4-app[data-ui=next] .fl-row-head+.fl-need-row,.v4-app[data-ui=next] .fl-row-head+*+.fl-need-row{margin-top:12px}
.v4-app[data-ui=next] .fl-need-row::before{content:"";grid-area:dot;align-self:start;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--gb-ember)}
.v4-app[data-ui=next] .fl-need-main{grid-area:main;min-width:0;flex:none}
.v4-app[data-ui=next] .fl-need-kind{font-size:12px;font-weight:var(--gb-fw-regular);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-need-summary{margin-top:4px;font-size:var(--gb-fs-15);font-weight:var(--gb-fw-regular);letter-spacing:var(--gb-tr-ui);line-height:1.35;text-wrap:pretty;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-need-when{margin-top:4px;font:400 11px/1.4 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-need-actions{grid-area:acts;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.v4-app[data-ui=next] .fl-need-row>.fl-confirm-inline{grid-area:confirm;margin-top:12px;padding:10px 12px;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .fl-need-row>.fl-confirm-inline>span{margin-right:auto}
.v4-app[data-ui=next] .fl-need-row>.fl-confirm-inline>button{height:32px;padding:0 14px}

/* 6 · Proposals tab ------------------------------------------------------------- */
.v4-app[data-ui=next] .fl-prop-row{padding:16px 0}
.v4-app[data-ui=next] .fl-card-sub+.fl-prop-row,.v4-app[data-ui=next] .fl-card-sub+*+.fl-prop-row{margin-top:12px}
.v4-app[data-ui=next] .fl-prop-name{font-size:var(--gb-fs-15);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-ui);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-prop-field{margin-top:6px;font-size:13px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-prop-field b{font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-prop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* 7 · Dialer tab --------------------------------------------------------------- */
.v4-app[data-ui=next] .fl-dial-list{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-top:8px;padding:10px 14px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-fill);color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .fl-dial-list:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .fl-dial-list.fl-dial-list-on{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0),inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next] .fl-card-sub+.fl-dial-list,.v4-app[data-ui=next] .fl-card-sub+*+.fl-dial-list{margin-top:16px}
.v4-app[data-ui=next] .fl-dial-name{font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-dial-company{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-dial-phone{font:400 12px/1.4 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-dial-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 0}
.v4-app[data-ui=next] .fl-card-sub+.fl-dial-row,.v4-app[data-ui=next] .fl-card-sub+*+.fl-dial-row{margin-top:12px}
.v4-app[data-ui=next] .fl-dial-panel{margin-top:16px;padding-top:16px;border-top:0;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .fl-dial-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.v4-app[data-ui=next] .fl-dial-card{margin-top:16px;padding:16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .fl-dial-card .fl-dial-phone{margin-top:4px;font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font);letter-spacing:-.03em;color:var(--gb-ink)}
.v4-app[data-ui=next] .fl-dial-note{box-sizing:border-box;width:100%;height:40px;margin-top:12px;padding:0 12px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font:13px/1 var(--gb-font);outline:none}
.v4-app[data-ui=next] .fl-dial-note::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .fl-dial-note:focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .fl-dial-outcomes{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.v4-app[data-ui=next] .fl-tabpane>.fl-card>.fl-btn-ghost{margin-top:12px}
.v4-app[data-ui=next] .fl-anna-dial{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:16px;padding:16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .fl-anna-dial>.fl-btn-ghost{margin-top:8px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}

/* 8 · narrow mains: stack the split; the cards interleave by importance -------- */
@container gb-main (max-width:900px){
  /* stretch, not the split's align-items:start: in one column every card fills the width instead of shrinking to its content */
  .v4-app[data-ui=next] .fl-tabpane.fl-n-overview{display:flex;flex-direction:column;align-items:stretch}
  .v4-app[data-ui=next] .fl-n-side,.v4-app[data-ui=next] .fl-n-main{display:contents}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-wait{order:1}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-did{order:2}
  .v4-app[data-ui=next] .fl-n-overview .fl-stats{order:3}
  .v4-app[data-ui=next] .fl-n-overview .fl-ap-card{order:4}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-call{order:5}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-money{order:6}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-caps{order:7}
  .v4-app[data-ui=next] .fl-n-overview .fl-grid2{order:8}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-rails{order:9}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-dry{order:10}
  .v4-app[data-ui=next] .fl-n-overview .fl-n-digest{order:11}
}
@container gb-main (max-width:720px){
  .v4-app[data-ui=next] .fl-page{padding:24px 24px 32px}
  .v4-app[data-ui=next] .mv-page-layout:has(.fl-page)>.mv-page-rail{padding:0 24px 72px}
}
@container gb-main (max-width:600px){
  .v4-app[data-ui=next] .fl-page{padding:20px 16px 24px}
  .v4-app[data-ui=next] .fl-n-headmeta{grid-column:1/-1;margin-top:4px}
  .v4-app[data-ui=next] .mv-page-layout:has(.fl-page)>.mv-page-rail{padding:0 16px 112px}
  .v4-app[data-ui=next] .fl-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .v4-app[data-ui=next] .fl-tab{flex:none}
  .v4-app[data-ui=next] .fl-card,.v4-app[data-ui=next] .fl-tabpane .fl-card:first-child{padding:16px}
  /* the three counts stay one row across the column (two plus an orphan tile otherwise) */
  .v4-app[data-ui=next] .fl-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .v4-app[data-ui=next] .fl-stat{padding:14px 12px 16px}
  .v4-app[data-ui=next] .fl-need-row{grid-template-columns:7px minmax(0,1fr);grid-template-areas:"dot main" ". acts" ". confirm"}
  .v4-app[data-ui=next] .fl-need-actions{justify-content:flex-start;margin-top:12px}
  .v4-app[data-ui=next] .fl-money-row{grid-template-columns:minmax(0,1fr) auto}
  .v4-app[data-ui=next] .fl-money-row .fl-btn-ghost{grid-column:1/-1;justify-self:start}
  .v4-app[data-ui=next] .fl-rail-row{flex-direction:column;align-items:flex-start;gap:2px}
  .v4-app[data-ui=next] .fl-rail-desc{text-align:left}
}

@keyframes gbn-fl-live{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gb-sage) 55%,transparent)}100%{box-shadow:0 0 0 6px color-mix(in srgb,var(--gb-sage) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .fl-dot,.v4-app[data-ui=next] .fl-live-head::before{animation:none}
}
/* R1/N11 (sweep 2): the overview placeholder while the first read is out (fleetOverviewWait). The same split as
   the overview, so the pane is drawn once, with its rows, and nothing already on screen moves. */
.v4-app[data-ui=next] .fl-tabpane.fl-n-pending{display:grid;grid-template-columns:minmax(0,1fr) var(--gb-aside-w,320px);gap:20px;align-items:start}
.v4-app[data-ui=next] .fl-n-pending :is(.fl-n-pending-main,.fl-n-pending-side){display:flex;flex-direction:column;gap:20px;min-width:0}
.v4-app[data-ui=next] .fl-n-pending :is(.fl-n-pending-main,.fl-n-pending-side)>div{min-height:180px;border-radius:var(--gb-r-lg,22px);background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-fleet-wait 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .fl-n-pending .fl-n-pending-main>div:nth-child(2){min-height:320px}
.v4-app[data-ui=next] .fl-n-pending .fl-n-pending-main>div:nth-child(3){min-height:420px}
.v4-app[data-ui=next] .fl-n-pending .fl-n-pending-side>div:first-child{min-height:157px}
.v4-app[data-ui=next] .fl-n-pending .fl-n-pending-side>div:last-child{min-height:233px}
@container gb-main (max-width:900px){.v4-app[data-ui=next] .fl-tabpane.fl-n-pending{grid-template-columns:minmax(0,1fr)}}
@keyframes gbn-fleet-wait{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .fl-n-pending :is(.fl-n-pending-main,.fl-n-pending-side)>div{animation:none}}

/* Command center Home (ff.home.command_center, default off; src/sidechat-model.js ckCcOn): on the full Home chat the
   Threads overview is a right panel that stays open from 1280px, with the business computer (the side-panel hooks) at its
   top. Narrower screens keep the Threads view and the sidebar overview as before. It shows only while it has content. */
.v4-app[data-ui=next] .anna-sidechat .ck-cc-panel{display:none}
/* The computer's pane lives in the panel, so the sidechat marks data-cc-live (not data-side-panel) while it is filled. */
.v4-app[data-ui=next] .anna-sidechat .ck-cc-panel>.ck-cc-live{display:block}
/* 1100-1279px: the panel is the old floating computer pane (the threads stay in the sidebar and the Threads view). */
@media (min-width:1100px) and (max-width:1279px){
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc][data-cc-live] .ck-cc-panel{display:block;position:absolute;top:10px;right:10px;bottom:10px;z-index:4;width:300px;overflow:auto;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair),var(--gb-shadow-1)}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc][data-cc-live] :is(.ck-cc-threads,.ck-cc-stream){display:none}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc][data-cc-live]>:not(.ck-cc-panel){margin-right:320px}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc][data-cc-live]>.anna-chatkit-layout{width:auto}
}
@media (min-width:1280px){
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc]:has(.ck-cc-threads>*,.ck-cc-stream,.ck-cc-live :is(.hcall-call,.hc-machine)) .ck-cc-panel{display:flex;flex-direction:column;gap:12px;position:absolute;top:0;right:0;bottom:0;z-index:4;width:400px;padding:14px 14px 18px;overflow:auto;overscroll-behavior:contain;border-left:1px solid var(--gb-hair);background:var(--gb-column)}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc]:has(.ck-cc-threads>*,.ck-cc-stream,.ck-cc-live :is(.hcall-call,.hc-machine))>:not(.ck-cc-panel){margin-right:400px}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc]:has(.ck-cc-threads>*,.ck-cc-stream,.ck-cc-live :is(.hcall-call,.hc-machine))>.anna-chatkit-layout{width:auto}
  /* The panel is the one overview: the sidebar's copy and its "Threads overview" entry step aside. */
  .v4-app[data-ui=next]:has(.anna-sidechat[data-view=full][data-cc] .ck-cc-threads:not(:empty)) .anna-chatkit-sidebar .ck-thread-overview-slot,
  .v4-app[data-ui=next]:has(.anna-sidechat[data-view=full][data-cc] .ck-cc-threads:not(:empty)) .anna-chatkit-sidebar .ck-overview-entry{display:none}
  .v4-app[data-ui=next]:has(.anna-sidechat[data-view=full][data-cc] .ck-cc-threads:not(:empty)) .anna-chatkit-sidebar[data-gbn-overview-override] .ck-project>:not(.ck-thread-overview-slot,.ck-overview-entry,.ck-task-list,.ck-done-list,.ck-done-toggle,.ck-threads-empty){display:revert}
  /* The thread rows come back too, unless a threadList hook drew its own list in their place (data-gbn-list-override). */
  .v4-app[data-ui=next]:has(.anna-sidechat[data-view=full][data-cc] .ck-cc-threads:not(:empty)) .anna-chatkit-sidebar[data-gbn-overview-override]:not([data-gbn-list-override]) .ck-project>:is(.ck-task-list,.ck-done-list,.ck-done-toggle,.ck-threads-empty){display:revert}
  .v4-app[data-ui=next] .anna-sidechat .ck-cc-panel>.ck-cc-live:not(:has(.hcall-call,.hc-machine)),.v4-app[data-ui=next] .anna-sidechat .ck-cc-panel>.ck-cc-threads:empty{display:none}
  .v4-app[data-ui=next] .anna-sidechat .ck-cc-panel>.ck-cc-live{position:static;display:block;width:auto;margin:0;padding:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);overflow:hidden}
  .v4-app[data-ui=next] .ck-cc-panel>.ck-cc-threads{flex:none}
    /* Live now: the call card and the business computer. The Threads panel below replaces the pane's notifications,
     Computers, Recent activity and Outputs lists. */
  .v4-app[data-ui=next] .ck-cc-live .hcall-panel>:not(.hcall-call){display:none}
  /* The newest working job's steps, listed under its row (src/hybrid-chat-view.js overviewRowHtml). */
  .v4-app[data-ui=next] .ck-cc-panel .hc-ov__steps{padding:0 12px 8px 40px}
}
@media (min-width:1600px){
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc]:has(.ck-cc-threads>*,.ck-cc-stream,.ck-cc-live :is(.hcall-call,.hc-machine)) .ck-cc-panel{width:430px}
  .v4-app[data-ui=next] .anna-sidechat[data-view=full][data-cc]:has(.ck-cc-threads>*,.ck-cc-stream,.ck-cc-live :is(.hcall-call,.hc-machine))>:not(.ck-cc-panel){margin-right:430px}
}
.v4-app[data-ui=next] .hc-ov__pips,.mobile-app[data-ui=next] .hc-ov__pips{gap:3px}
.v4-app[data-ui=next] .hc-ov__pips>.hc-pip,.mobile-app[data-ui=next] .hc-ov__pips>.hc-pip{width:8px;height:8px}
.v4-app[data-ui=next] .hc-ov__steps,.mobile-app[data-ui=next] .hc-ov__steps{padding:0 12px 8px 40px}
.v4-app[data-ui=next] .hc-ov__steps>.hc-step,.mobile-app[data-ui=next] .hc-ov__steps>.hc-step{font-size:13px;line-height:18px;padding:3px 0}
/* Phone tab bar (src/mobile-simple-nav.js ccNavValues): Today, Threads, the Manager orb, the pack's people word, More. */
.mobile-app[data-ui=next] .phone-nav[data-simple-nav=cc]{grid-template-columns:repeat(5,minmax(0,1fr))}
.mobile-app[data-ui=next] .phone-nav[data-simple-nav=cc]>button:nth-child(3)>span{width:42px;height:42px;margin-top:-10px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#f8d6bd 0,#dd9c7a 42%,#a4532a 100%);box-shadow:0 6px 16px -6px rgba(164,83,42,.7)}
.mobile-app[data-ui=next] .phone-nav[data-simple-nav=cc]>button:nth-child(3)>span>svg{opacity:0}
/* Round 4: the CRM icon column (src/v4/shell.html .gbn-cc-rail) on the far left, where the old rail sat, and the Home column
   beside it (JC, 06:52Z: "the smaller thinner column on the left hand side"). --gbn-left stays rail + column. */
@media (min-width:761px){
  .v4-app[data-ui=next][data-home-cc]{--gb-rail-w:64px;--gb-list-w:248px}
  .v4-app[data-ui=next][data-home-cc]>.v4-sidebar{padding:12px 0!important;background:var(--gb-ground)!important}
  .v4-app[data-ui=next][data-home-cc] .ck-navigation-host>.anna-chatkit-sidebar{padding:14px 10px 10px!important;background:var(--gb-column)!important}
  /* The icon column replaces the old rail's picker, search, Businesses link, page list, orb and theme buttons: the column's
     title switches business, Search everything is ⌘K, the pages are icons or under More, and the theme sits in the account menu. */
  .v4-app[data-ui=next][data-home-cc] .v4-sidebar>:is(.sidebar-workspace,.sidebar-search,.sidebar-link,.sidebar-scroll,.gbn-rail-orb){display:none!important}
  .v4-app[data-ui=next][data-home-cc] .v4-sidebar .sidebar-user-area :is(.gbn-theme,button[aria-label^="Appearance"]){display:none!important}
  .v4-app[data-ui=next][data-home-cc] .v4-sidebar .sidebar-user-area{margin-top:6px!important}
}
.v4-app[data-ui=next] .gbn-cc-rail{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.v4-app[data-ui=next] .gbn-cc-brand{flex:none;display:grid;place-items:center;width:32px;height:32px;margin:2px 0 10px;padding:0;border:0;border-radius:9px;background:radial-gradient(circle at 30% 25%,#f4a874,#e2733f 55%,#a8401f);color:#fff;font:800 9.5px/1 var(--gb-font);letter-spacing:.02em;box-shadow:0 3px 10px -3px rgba(226,115,63,.6);cursor:pointer;transition:transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-cc-brand:hover{transform:scale(1.05)}
.v4-app[data-ui=next] .gbn-cc-r{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;width:56px;margin:0;padding:7px 0 6px;border:0;border-radius:12px;background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-regular) 10.5px/1.15 var(--gb-font);letter-spacing:-.005em;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-cc-r>span{max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .gbn-cc-r>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gbn-cc-r:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gbn-cc-r:is([aria-current=page],[aria-expanded=true]){background:var(--gb-fill-2);color:var(--gb-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] :is(.gbn-cc-r,.gbn-cc-brand,.gbn-cc-more button,.gbn-cc-theme button):focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next] .gbn-cc-grow{flex:1 0 8px}
/* The live call's red dot: the sidebarCallRow hook keeps its box mounted and hidden while no call is live. */
.v4-app[data-ui=next] .gbn-cc-call{display:none}
.v4-app[data-ui=next] .gbn-cc-rail:has(.gbn-cc-call>:not([hidden])) .gbn-cc-r[data-cc-page=calls]::after{content:"";position:absolute;top:5px;right:12px;width:8px;height:8px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 2px var(--gb-ground),0 0 0 5px rgba(229,72,77,.18)}
/* More: every other page, in two columns of groups, beside the icon column. */
.v4-app[data-ui=next] .gbn-cc-scrim{position:fixed;inset:0;z-index:130;padding:0;border:0;background:transparent;cursor:default}
.v4-app[data-ui=next] .gbn-cc-more{position:fixed;left:calc(var(--gb-rail-w) + 10px);bottom:58px;z-index:131;width:min(620px,calc(100vw - var(--gb-rail-w) - 24px));max-height:calc(100dvh - 76px);overflow-y:auto;padding:16px 18px 14px;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-3);color:var(--gb-ink);font-family:var(--gb-font);text-align:left;animation:gbn-cc-in var(--gb-dur-2) var(--gb-ease)}
@keyframes gbn-cc-in{from{opacity:0;transform:translateY(6px)}}
.v4-app[data-ui=next] .gbn-cc-more>header{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.v4-app[data-ui=next] .gbn-cc-more>header>h2{flex:1;margin:0;font:var(--gb-fw-semibold) 15px/1.3 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next] .gbn-cc-more kbd{padding:2px 6px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--gb-hair-2);font:var(--gb-fw-medium) 11px/1.3 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gbn-cc-more-x{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-3);cursor:pointer}
.v4-app[data-ui=next] .gbn-cc-more-x:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gbn-cc-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gbn-cc-more-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}
.v4-app[data-ui=next] .gbn-cc-more h3{margin:0;padding:10px 8px 4px;font:var(--gb-fw-semibold) 11px/1.3 var(--gb-font);letter-spacing:.06em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gbn-cc-more-group>button{display:flex;align-items:center;gap:11px;width:100%;margin:0;padding:7px 8px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gbn-cc-more-group>button:hover,.v4-app[data-ui=next] .gbn-cc-more-group>button[aria-current=page]{background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-cc-ic{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gbn-cc-ic>.orb{width:18px;height:18px}
.v4-app[data-ui=next] .gbn-cc-tx{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.v4-app[data-ui=next] .gbn-cc-tx>b{font:var(--gb-fw-medium) 13.5px/1.3 var(--gb-font)}
.v4-app[data-ui=next] .gbn-cc-tx>small{font-size:12px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gbn-cc-more>footer{margin-top:8px;padding:8px 0 0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gbn-cc-more>footer>button{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-3);font:var(--gb-fw-regular) 12px/1.4 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gbn-cc-more>footer>button:hover{color:var(--gb-ink);background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-cc-more>footer svg{width:14px;height:14px}
/* Light / Dark / Auto, now in the account menu. */
.v4-app[data-ui=next] .gbn-cc-theme{display:flex;gap:2px;margin:2px 4px 4px;padding:2px;border-radius:var(--gb-r-sm);background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-cc-theme>button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:28px;padding:0 6px;border:0;border-radius:8px;background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 12px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .gbn-cc-theme>button[aria-pressed=true]{background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gbn-cc-theme svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){
  .v4-app[data-ui=next] .gbn-cc-more{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto}
  .v4-app[data-ui=next] .gbn-cc-more-cols{grid-template-columns:1fr}
}
/* The phone's drawer (src/mobile-simple-nav.js ccNavValues; the More tab opens it): the CRM icon column on its left edge and the
   Home column beside it, as on a computer. The phone's nav buttons are ink and small-radius !important (zz-next-mobile.css). */
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]:has(>.ck-cc-rail){width:min(344px,86vw)!important;padding-left:74px!important;background:var(--gb-column)!important}
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] .ck-cc-orb{display:block;border-radius:50%;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat}
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]>.ck-cc-rail{position:absolute;inset:0 auto 0 0;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px;width:64px;margin:0;padding:calc(14px + env(safe-area-inset-top)) 0 calc(12px + env(safe-area-inset-bottom));overflow-y:auto;scrollbar-width:none;background:var(--gb-ground);box-shadow:inset -1px 0 0 var(--gb-hair)}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-brand{flex:none;display:grid;place-items:center;width:32px;height:32px;margin:2px 0 10px;padding:0;border:0;border-radius:9px!important;background:radial-gradient(circle at 30% 25%,#f4a874,#e2733f 55%,#a8401f);color:#fff!important;font:800 9.5px/1 var(--gb-font);letter-spacing:.02em;box-shadow:0 3px 10px -3px rgba(226,115,63,.6)}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-r{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;width:56px;min-height:0;margin:0;padding:7px 0 6px;border:0;border-radius:12px!important;background:transparent;color:var(--gb-ink-2)!important;font:var(--gb-fw-regular) 10.5px/1.15 var(--gb-font);letter-spacing:-.005em}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-r>span{max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit!important}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-r>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-r[aria-current=page]{background:var(--gb-fill-2);color:var(--gb-ink)!important;font-weight:var(--gb-fw-semibold)}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>:is(.ck-cc-rail-brand,.ck-cc-rail-r,.ck-cc-rail-me):focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-grow{flex:1 0 8px}
.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-rail>.ck-cc-rail-me{flex:none;display:grid;place-items:center;width:30px;height:30px;min-height:0;margin:8px 0 0;padding:0;border:0;border-radius:50%!important;background:var(--gb-btn);color:var(--gb-btn-ink)!important;font:700 11.5px/1 var(--gb-font)}
/* The column (src/sidechat-model.js ckCcSideValues, src/assistant.html [data-cc-side]): the business as its title, New chat,
   Search everything, Today, Chats, Files and Scheduled, the owner's Goals, and the AI Manager card at the foot. The header
   icons, the call row (the Threads panel shows the live call on a wide Home), the Pages list, the Needs you row, the thread
   list, Recents and the chat history's status lines step aside: Today's count, Chats (the Threads view), the Threads panel and
   the icon column hold them. */
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]>header,
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]>header,
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] :is(.ck-needs-row,.ck-pages,.ck-convo-head,.ck-project,nav[aria-label="Recent chats"],.pj-filter),
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] :is(.ck-needs-row,.ck-pages,.ck-convo-head,.ck-project,nav[aria-label="Recent chats"],.pj-filter),
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] .anna-chatkit-sidebar-scroll>:is(p,.anna-chatkit-more),
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] .anna-chatkit-sidebar-scroll>:is(p,.anna-chatkit-more),
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]>footer,
.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]>footer{display:none!important}
@media (min-width:1280px){.v4-app[data-ui=next]:has(.anna-sidechat[data-view=full][data-cc]) .anna-chatkit-sidebar[data-cc-side] .ck-call-slot,.mobile-app[data-ui=next]:has(.anna-sidechat[data-view=full][data-cc]) .anna-chatkit-sidebar[data-cc-side] .ck-call-slot{display:none!important}}
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side],.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side]{display:flex;flex-direction:column}
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] .anna-chatkit-sidebar-scroll,.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] .anna-chatkit-sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz{flex:none;display:flex;align-items:center;gap:9px;width:100%;margin:0 0 10px;padding:4px 6px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz:hover:not(:disabled),.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz:hover:not(:disabled){background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz:disabled,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz:disabled{cursor:default}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-tile,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-tile{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#3f6fb5,#2b4e86);color:#fff;font:700 11px/1 var(--gb-font);letter-spacing:.02em}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz-name,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz-name{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.2}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz-name>strong,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz-name>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--gb-fw-semibold) 13.5px/1.25 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz-name>small,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz-name>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz>svg,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-biz>svg{flex:none;width:15px;height:15px;fill:none;stroke:var(--gb-ink-3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"],.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]{flex:none;padding:0!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]>.ck-new-chat,.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]>.ck-new-chat{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px!important;margin:0 0 6px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;box-shadow:none!important;font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]>.ck-new-chat:hover:not(:disabled),.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]>.ck-new-chat:hover:not(:disabled){background:var(--gb-btn-hover)!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]>.ck-new-chat svg,.mobile-app[data-ui=next] .anna-chatkit-sidebar[data-cc-side] nav[aria-label="Chat actions"]>.ck-new-chat svg{color:inherit!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-nav,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-nav{flex:none;display:flex;flex-direction:column;gap:2px;padding:0 0 4px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search{display:flex;align-items:center;gap:8px;width:100%;height:34px;margin:0 0 6px;padding:0 8px 0 10px;border:0;border-radius:9px;background:var(--gb-fill);color:var(--gb-ink-3);font:var(--gb-fw-regular) 13px/1 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search:hover,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search:hover{background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search>span,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search>span{flex:1}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search kbd,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search kbd{padding:2px 6px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--gb-hair-2);font:var(--gb-fw-medium) 11px/1.2 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;margin:0;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--gb-ink);font:var(--gb-fw-regular) 13.5px/1.3 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row:hover,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row[aria-current=page],.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row[aria-current=page]{background:var(--gb-fill-2);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-cc-row,.ck-cc-search,.ck-cc-biz,.ck-cc-add,.ck-cc-manager button):focus-visible,.mobile-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-cc-row,.ck-cc-search,.ck-cc-biz,.ck-cc-add,.ck-cc-manager button):focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-cc-row,.ck-cc-search)>svg,.mobile-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-cc-row,.ck-cc-search)>svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search>svg,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-search>svg{width:15px;height:15px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row>span,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-row>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* app.css greys every label in a light sidebar (.premium-shell.v4-app[data-theme="light"] .anna-chatkit-sidebar
   :is(p,small,button,span), !important), including each {{ }} value's span.sc-interp. The column keeps the mock's inks, one
   class weightier, and its values take their label's colour. */
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] :is(.ck-cc-biz,.ck-cc-nav,.ck-cc-goals,.ck-cc-manager) .sc-interp{color:inherit!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] :is(.ck-cc-biz,.ck-cc-biz-name,.ck-cc-row,.ck-cc-row>span,.ck-cc-manager-open,.ck-cc-manager-name){color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] :is(.ck-new-chat,.ck-new-chat>span){color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] :is(.ck-cc-search,.ck-cc-search>span,.ck-cc-biz-name>small,.ck-cc-add,.ck-cc-manager-rules){color:var(--gb-ink-3)!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] :is(.ck-cc-add,.ck-cc-manager-rules):hover{color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] .ck-cc-manager-name>small{color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] .ck-cc-pill{color:var(--gb-ember-ink)!important}
.v4-app[data-ui=next][data-theme=light] .anna-chatkit-sidebar[data-cc-side] .ck-cc-tile{color:#fff!important}
/* One rule for numbers: an orange count only for "needs you"; a blue spinner while the Manager works on it. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-pill,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-pill{flex:none;min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:color-mix(in srgb,var(--gb-ember) 24%,var(--gb-surface));color:var(--gb-ember-ink);font:var(--gb-fw-semibold) 11px/19px var(--gb-font);text-align:center;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-spin,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-spin{flex:none;box-sizing:border-box;width:12px;height:12px;border:1.8px solid var(--gb-track);border-top-color:#4a7fd8;border-right-color:#4a7fd8;border-radius:50%;animation:gbn-hc-spin .9s linear infinite}
.v4-app[data-ui=next][data-theme=dark] .anna-chatkit-sidebar .ck-cc-spin,.mobile-app[data-ui=next][data-theme=dark] .anna-chatkit-sidebar .ck-cc-spin{border-top-color:#7ea6f0;border-right-color:#7ea6f0}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-spin,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-spin{animation:none}}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-head,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-head{display:flex;align-items:center;gap:6px;padding:14px 4px 4px 10px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-head>h2,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-head>h2{flex:1;margin:0;padding:0!important;font:var(--gb-fw-medium) 11.5px/1.3 var(--gb-font)!important;color:var(--gb-ink-3)!important;letter-spacing:0!important;text-transform:none!important}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-add,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-add{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--gb-ink-3);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-add:hover,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-add:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-add>svg,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-add>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-goals,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-goals{display:flex;flex-direction:column;gap:2px}
/* The AI Manager card replaces the business footer: the card opens its work and approvals, the gear Rules & autonomy. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager{flex:none;display:flex;align-items:center;gap:4px;margin:6px 0 0;padding:4px 6px 4px 4px;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-open,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-open{flex:1;display:flex;align-items:center;gap:10px;min-width:0;padding:5px 6px;border:0;border-radius:10px;background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-open:hover,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-open:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-orb,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-orb{flex:none;width:30px;height:30px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-name,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-name{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-name>strong,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-name>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--gb-fw-semibold) 13.5px/1.25 var(--gb-font)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-name>small,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-name>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-rules,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-rules{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--gb-ink-3);cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-rules:hover,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-rules:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-rules>svg,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-manager-rules>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Part 2: the Today brief, the Manager's first turn of the day in the Home chat (ff.home.command_center). */
.v4-app[data-ui=next] .ck-cc-brief,.mobile-app[data-ui=next] .ck-cc-brief{display:flex;flex-direction:column;gap:8px;width:100%;margin:4px 0 2px;font-family:var(--gb-font)}
.v4-app[data-ui=next] .ck-cc-brief-who,.mobile-app[data-ui=next] .ck-cc-brief-who{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-brief-who>b,.mobile-app[data-ui=next] .ck-cc-brief-who>b{color:var(--gb-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .ck-cc-brief-who>.ck-cc-orb,.mobile-app[data-ui=next] .ck-cc-brief-who>.ck-cc-orb{width:18px;height:18px;flex:none;border-radius:50%;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat}
.v4-app[data-ui=next] .ck-cc-brief-fold,.mobile-app[data-ui=next] .ck-cc-brief-fold{margin-left:auto;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--gb-ink-3);cursor:pointer}
.v4-app[data-ui=next] .ck-cc-brief-fold:hover,.mobile-app[data-ui=next] .ck-cc-brief-fold:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-brief-fold>svg,.v4-app[data-ui=next] .ck-cc-brief-line>svg,.mobile-app[data-ui=next] .ck-cc-brief-fold>svg,.mobile-app[data-ui=next] .ck-cc-brief-line>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .ck-cc-brief-card,.mobile-app[data-ui=next] .ck-cc-brief-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-brief-card>h2,.mobile-app[data-ui=next] .ck-cc-brief-card>h2{margin:0;font:400 28px/1.1 Charter,"Bitstream Charter",Caladea,Georgia,serif;letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-brief-away,.mobile-app[data-ui=next] .ck-cc-brief-away{margin:-7px 0 0;font-size:14px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-brief-away b,.mobile-app[data-ui=next] .ck-cc-brief-away b{color:var(--gb-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .ck-cc-brief-kp,.mobile-app[data-ui=next] .ck-cc-brief-kp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .ck-cc-brief-kp>li,.mobile-app[data-ui=next] .ck-cc-brief-kp>li{min-width:0;padding:8px 12px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next] .ck-cc-brief-kp b,.mobile-app[data-ui=next] .ck-cc-brief-kp b{display:block;font-size:18px;font-weight:var(--gb-fw-semibold);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-brief-kp>li>span,.mobile-app[data-ui=next] .ck-cc-brief-kp>li>span{display:block;font-size:11.5px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .ck-cc-brief-lines,.mobile-app[data-ui=next] .ck-cc-brief-lines{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;font-size:13.5px;color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-brief-lines>li,.mobile-app[data-ui=next] .ck-cc-brief-lines>li{display:flex;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next] .ck-cc-brief-mark,.mobile-app[data-ui=next] .ck-cc-brief-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--gb-sage);color:#fff}
.v4-app[data-ui=next] .ck-cc-brief-lines>li:is([data-kind=new_leads],[data-kind=incoming_calls])>.ck-cc-brief-mark,.mobile-app[data-ui=next] .ck-cc-brief-lines>li:is([data-kind=new_leads],[data-kind=incoming_calls])>.ck-cc-brief-mark{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-brief-mark>svg,.mobile-app[data-ui=next] .ck-cc-brief-mark>svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .ck-cc-brief-text,.mobile-app[data-ui=next] .ck-cc-brief-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .ck-cc-brief-link,.mobile-app[data-ui=next] .ck-cc-brief-link{padding:0;border:0;border-bottom:1px dotted var(--gb-ink-3);border-radius:0;background:none;font:inherit;color:inherit;cursor:pointer}
.v4-app[data-ui=next] .ck-cc-brief-link:hover,.mobile-app[data-ui=next] .ck-cc-brief-link:hover{border-bottom-style:solid}
.v4-app[data-ui=next] .ck-cc-brief-status,.mobile-app[data-ui=next] .ck-cc-brief-status{margin:0;font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-brief-retry,.mobile-app[data-ui=next] .ck-cc-brief-retry{padding:3px 10px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);font:500 12px/1.3 var(--gb-font);color:var(--gb-ink);cursor:pointer}
.v4-app[data-ui=next] .ck-cc-brief-line,.mobile-app[data-ui=next] .ck-cc-brief-line{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font:400 13px/1.35 var(--gb-font);color:var(--gb-ink);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .ck-cc-brief-line>svg:first-child,.mobile-app[data-ui=next] .ck-cc-brief-line>svg:first-child{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .ck-cc-brief-sum,.mobile-app[data-ui=next] .ck-cc-brief-sum{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .ck-cc-brief-sum>b,.mobile-app[data-ui=next] .ck-cc-brief-sum>b{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .ck-cc-brief-sum>span,.mobile-app[data-ui=next] .ck-cc-brief-sum>span{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-brief-line>.ck-cc-brief-chev,.mobile-app[data-ui=next] .ck-cc-brief-line>.ck-cc-brief-chev{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .ck-cc-brief :is(.ck-cc-brief-fold,.ck-cc-brief-link,.ck-cc-brief-retry,.ck-cc-brief-line):focus-visible,.mobile-app[data-ui=next] .ck-cc-brief :is(.ck-cc-brief-fold,.ck-cc-brief-link,.ck-cc-brief-retry,.ck-cc-brief-line):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .ck-cc-brief .sc-interp,.mobile-app[data-ui=next] .anna-sidechat .ck-cc-brief .sc-interp{color:inherit}
@media (max-width:760px){.mobile-app[data-ui=next] .ck-cc-brief-card{padding:12px 14px}.mobile-app[data-ui=next] .ck-cc-brief-card>h2{font-size:25px}.mobile-app[data-ui=next] .ck-cc-brief-lines{display:none}.mobile-app[data-ui=next] .ck-cc-brief-kp{display:flex;justify-content:space-between;gap:10px}.mobile-app[data-ui=next] .ck-cc-brief-kp>li{padding:0;background:none}.mobile-app[data-ui=next] .ck-cc-brief-kp b{font-size:16px}.mobile-app[data-ui=next] .ck-cc-brief-kp>li>span{font-size:11px}}
/* Part 3: the Needs you cards under the brief (ff.home.command_center): the first in full with an orange ring, the next ones in one line. */
.v4-app[data-ui=next] .ck-cc-needs,.mobile-app[data-ui=next] .ck-cc-needs{display:flex;flex-direction:column;gap:10px;width:100%;margin:2px 0;font-family:var(--gb-font)}
.v4-app[data-ui=next] .ck-cc-need,.mobile-app[data-ui=next] .ck-cc-need{display:flex;flex-direction:column;gap:11px;padding:15px 17px;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-need[data-first],.mobile-app[data-ui=next] .ck-cc-need[data-first]{box-shadow:var(--gb-shadow-1),0 0 0 1.5px color-mix(in srgb,var(--gb-ember) 70%,transparent)}
.v4-app[data-ui=next] .ck-cc-need:not([data-first]),.mobile-app[data-ui=next] .ck-cc-need:not([data-first]){flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:11px 15px}
.v4-app[data-ui=next] .ck-cc-need:not([data-first])>.ck-cc-need-head,.mobile-app[data-ui=next] .ck-cc-need:not([data-first])>.ck-cc-need-head{flex:1 1 260px}
.v4-app[data-ui=next] .ck-cc-need:not([data-first]) .ck-cc-need-kicker,.mobile-app[data-ui=next] .ck-cc-need:not([data-first]) .ck-cc-need-kicker{display:none}
.v4-app[data-ui=next] .ck-cc-need:not([data-first]) h3,.mobile-app[data-ui=next] .ck-cc-need:not([data-first]) h3{font-size:14px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .ck-cc-need-head,.mobile-app[data-ui=next] .ck-cc-need-head{display:flex;align-items:flex-start;gap:12px;min-width:0}
.v4-app[data-ui=next] .ck-cc-need-text,.mobile-app[data-ui=next] .ck-cc-need-text{flex:1;min-width:0}
.v4-app[data-ui=next] .ck-cc-need-kicker,.mobile-app[data-ui=next] .ck-cc-need-kicker{margin:0 0 3px;font-size:11.5px;font-weight:var(--gb-fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .ck-cc-need h3,.mobile-app[data-ui=next] .ck-cc-need h3{margin:0;font:var(--gb-fw-semibold) 15.5px/1.3 var(--gb-font);letter-spacing:-.005em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-need-detail,.mobile-app[data-ui=next] .ck-cc-need-detail{margin:2px 0 0;font-size:12.5px;line-height:1.4;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .ck-cc-need:is([data-first],[data-arming]) .ck-cc-need-detail,.mobile-app[data-ui=next] .ck-cc-need:is([data-first],[data-arming]) .ck-cc-need-detail{white-space:normal;overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-need-wait,.mobile-app[data-ui=next] .ck-cc-need-wait{flex:none;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--gb-r-full);background:color-mix(in srgb,var(--gb-ember) 16%,transparent);color:var(--gb-ember-ink);font-size:11.5px;font-weight:var(--gb-fw-medium);font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .ck-cc-need-wait>svg,.mobile-app[data-ui=next] .ck-cc-need-wait>svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .ck-cc-need-pips,.mobile-app[data-ui=next] .ck-cc-need-pips{flex:none;align-self:center}
.v4-app[data-ui=next] .ck-cc-need .ck-cc-need-steps,.mobile-app[data-ui=next] .ck-cc-need .ck-cc-need-steps{padding:0;gap:3px}
.v4-app[data-ui=next] .ck-cc-need-msg,.mobile-app[data-ui=next] .ck-cc-need-msg{align-self:flex-start;max-width:90%;margin:0;padding:8px 12px;border-radius:16px 16px 16px 4px;background:var(--gb-fill);font-size:13.5px;line-height:1.45;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-need-facts,.mobile-app[data-ui=next] .ck-cc-need-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:12.5px}
.v4-app[data-ui=next] .ck-cc-need-facts>div,.mobile-app[data-ui=next] .ck-cc-need-facts>div{display:contents}
.v4-app[data-ui=next] .ck-cc-need-facts dt,.mobile-app[data-ui=next] .ck-cc-need-facts dt{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .ck-cc-need-facts dd,.mobile-app[data-ui=next] .ck-cc-need-facts dd{margin:0;min-width:0;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-need-hint,.mobile-app[data-ui=next] .ck-cc-need-hint,.v4-app[data-ui=next] .ck-cc-need-confirm,.mobile-app[data-ui=next] .ck-cc-need-confirm{margin:0;font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-need-error,.mobile-app[data-ui=next] .ck-cc-need-error{margin:0;font-size:13px;line-height:1.45;color:var(--gb-danger)}
.v4-app[data-ui=next] .ck-cc-need-acts,.mobile-app[data-ui=next] .ck-cc-need-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .ck-cc-btn,.mobile-app[data-ui=next] .ck-cc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) 13.5px/1.2 var(--gb-font);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ck-cc-btn:hover:not(:disabled),.mobile-app[data-ui=next] .ck-cc-btn:hover:not(:disabled){background:var(--gb-fill-2)}
.v4-app[data-ui=next] .ck-cc-btn--main,.mobile-app[data-ui=next] .ck-cc-btn--main{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .ck-cc-btn--main:hover:not(:disabled),.mobile-app[data-ui=next] .ck-cc-btn--main:hover:not(:disabled){background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .ck-cc-btn:disabled,.mobile-app[data-ui=next] .ck-cc-btn:disabled{opacity:.55;cursor:default}
.v4-app[data-ui=next] .ck-cc-need:not([data-first]) .ck-cc-btn,.mobile-app[data-ui=next] .ck-cc-need:not([data-first]) .ck-cc-btn{min-height:30px;padding:0 12px;font-size:12.5px}
/* As in the mock: the first card's buttons are large; a one-line card keeps only its yes and Change. */
.v4-app[data-ui=next] .ck-cc-need[data-first] .ck-cc-btn,.mobile-app[data-ui=next] .ck-cc-need[data-first] .ck-cc-btn{min-height:40px;padding:0 20px;font-size:14.5px}
.v4-app[data-ui=next] .ck-cc-need:not([data-first]) :is(.ck-cc-need-later,.ck-cc-need-wait),.mobile-app[data-ui=next] .ck-cc-need:not([data-first]) :is(.ck-cc-need-later,.ck-cc-need-wait){display:none}
.v4-app[data-ui=next] .ck-cc-need:not([data-first])>:is(.ck-cc-need-msg,.ck-cc-need-facts,.ck-cc-need-hint,.ck-cc-need-error,.ck-cc-need-confirm),.mobile-app[data-ui=next] .ck-cc-need:not([data-first])>:is(.ck-cc-need-msg,.ck-cc-need-facts,.ck-cc-need-hint,.ck-cc-need-error,.ck-cc-need-confirm){flex:1 1 100%}
.v4-app[data-ui=next] .ck-cc-need-more,.mobile-app[data-ui=next] .ck-cc-need-more{align-self:flex-start;padding:2px 0;border:0;border-bottom:1px dotted var(--gb-ink-3);background:none;font:var(--gb-fw-regular) 13px/1.3 var(--gb-font);color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .ck-cc-need-done,.mobile-app[data-ui=next] .ck-cc-need-done{display:flex;flex-direction:column;gap:6px;margin:0;padding:0 4px;list-style:none;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-need-done>li,.mobile-app[data-ui=next] .ck-cc-need-done>li{display:flex;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next] .ck-cc-needs :is(.ck-cc-btn,.ck-cc-need-more):focus-visible,.mobile-app[data-ui=next] .ck-cc-needs :is(.ck-cc-btn,.ck-cc-need-more):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .ck-cc-needs .sc-interp,.mobile-app[data-ui=next] .anna-sidechat .ck-cc-needs .sc-interp{color:inherit}
@media (max-width:760px){.mobile-app[data-ui=next] .ck-cc-need{padding:13px 14px}.mobile-app[data-ui=next] .ck-cc-need-msg{max-width:100%}.mobile-app[data-ui=next] .ck-cc-need[data-first] .ck-cc-need-acts>.ck-cc-btn{flex:1 1 0}.mobile-app[data-ui=next] .ck-cc-need-later{display:none}}
/* Part 4: on the phone, Today and Threads are the page, as in the round 4 mock (ff.home.command_center; data-cc-phone, set
   only by the phone's Command center tabs). The chat fills the screen above the tabs under one header: the orb, the
   Manager's name and status, and Call. The sheet's handle, its dimmed strip and the older bars above the chat (title row,
   voice band, privacy line, icon toolbar, rules link) step aside; New conversation, history and the rules stay in More. */
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone]{top:0!important;border-radius:0!important;box-shadow:none!important;padding-top:env(safe-area-inset-top)!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone]::before{display:none}
.mobile-app[data-ui=next][data-anna-open=true]:has(.anna-sidechat[data-cc-phone]) .phone-device::after{display:none}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] :is(.anna-chat-header,.anna-voice-carbon-host,.anna-dot-toolbar,.anna-dot-footer){display:none!important}
/* the sync line steps aside too, unless saving failed: then it stays at the top in red with Retry sync, as on a computer */
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-sync:not(:has(button)){display:none!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-sync:has(button){display:flex!important;align-items:center;gap:10px;padding:8px 16px!important;font-size:12.5px!important;line-height:1.35;color:var(--gb-danger)!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-sync button{flex:none;min-height:32px;margin-left:auto;padding:0 12px!important;border-radius:var(--gb-r-full)!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-identity{flex-direction:row!important;align-items:center;gap:12px!important;width:100%;padding:12px 16px 11px!important;text-align:left;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-mark{flex:none;width:40px!important;height:40px!important;margin:0!important;border-radius:50%}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-who{display:flex!important;flex:1;flex-direction:column;gap:1px;min-width:0}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--gb-fw-semibold) 16px/1.25 var(--gb-font)!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-line{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.3;color:var(--gb-ink-2)}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] :is(.anna-dot-role,.anna-dot-menu,.anna-dot-orb),.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-identity>:is(small,span,.anna-dot-retry){display:none!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-head-actions{display:flex!important;flex:none;align-items:center;margin-left:auto}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-head-actions>:not(.anna-dot-talk){display:none!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-talk{display:inline-flex!important;align-items:center;gap:7px;min-height:38px;margin:0!important;padding:0 16px!important;border:0;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) 14px/1 var(--gb-font)!important;box-shadow:none!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-talk>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-talk::after{content:"Call"}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-talk svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-dot-talk:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
/* the composer: one rounded bar, as on a computer, with the orb as its voice button */
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer{padding:8px 12px 10px!important;border:0!important;background:transparent!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer .composer-controls{display:flex!important;align-items:center;gap:4px;min-height:52px;padding:6px 6px 6px 8px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-raised)!important;box-shadow:var(--gb-shadow-2)!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer .composer-controls:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer textarea{flex:1;min-width:0;min-height:0!important;max-height:120px;margin:0!important;padding:8px 4px!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--gb-ink)!important;font:15px/1.45 var(--gb-font)!important;resize:none}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer textarea::placeholder{color:var(--gb-ink-2)}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-composer-plus{display:grid!important;place-items:center;flex:none;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer :is(.composer-send,.anna-send){flex:none;width:40px!important;height:40px!important;margin:0!important;border-radius:50%!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-fallback-composer .composer-send:is([aria-label^="Dictate"],[aria-label^="Talk"],[aria-label^="Start voice"]){background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;color:transparent!important;box-shadow:0 8px 18px -8px var(--gb-floor)!important}
/* Below the chat, the side pane keeps only a live call and the business computer, as the Threads panel does on a
   computer: its notifications, Recent activity and Outputs lists give way (Threads is a tab of its own). */
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-side-panel:not(:has(.hcall-call,.hc-machine)){display:none!important}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .anna-side-panel .hcall-panel>:not(.hcall-call,.hc-machine){display:none!important}
/* Threads is a tab, so the view's own title row and Back to chat (the Today tab) step aside. */
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .ck-threads-head{display:none}
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .ck-threads-view{flex:1;min-height:0;overflow:auto;width:100%;padding:14px 16px 24px}
/* Part 5: the Home stream (ff.home.command_center and HomeStream's own flags, read once through the chatkit home_stream action).
   "Right now I'm" sits above the AI Manager card in the Home column; Held back is one line under the Needs you cards on a
   computer; Promised today, Coming up and Done today are groups in the Threads panel, and on the phone in the Threads tab. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode{flex:none;display:flex;flex-direction:column;gap:6px;margin:8px 4px 6px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-label,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-label{padding:0 6px;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg{display:flex;gap:2px;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button{flex:1;min-width:0;height:28px;padding:0 6px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-regular) 12px/1 var(--gb-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button:hover,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button[aria-pressed=true],.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button[aria-pressed=true]{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button:focus-visible,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-seg>button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode[data-busy] .ck-cc-mode-seg,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode[data-busy] .ck-cc-mode-seg{opacity:.6;pointer-events:none}
.v4-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-cc-mode-hint,.ck-cc-mode-error),.mobile-app[data-ui=next] .anna-chatkit-sidebar :is(.ck-cc-mode-hint,.ck-cc-mode-error){margin:0;padding:0 6px;font-size:11.5px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-error,.mobile-app[data-ui=next] .anna-chatkit-sidebar .ck-cc-mode-error{color:var(--gb-danger)}
/* Held back: one quiet line with a lavender shield, under the Needs you cards. The mock keeps it to the computer. */
.v4-app[data-ui=next] .ck-cc-held{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0;padding:10px 14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--gb-hair);font:var(--gb-fw-regular) 13px/1.4 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-held>svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--gb-lav-ink);stroke-width:1.8;stroke-linejoin:round}
.v4-app[data-ui=next] .ck-cc-held>p{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-held>p>b{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .ck-cc-held>p>span{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-held>.ck-cc-btn{flex:none;min-height:30px;padding:0 12px;font-size:12.5px;background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next] .ck-cc-held>.ck-cc-btn:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .ck-cc-held .sc-interp{color:inherit}
.mobile-app[data-ui=next] .ck-cc-held{display:none}
/* Promised today, Coming up, Done today: the Threads panel's group rows, each folding open to its own list. */
.v4-app[data-ui=next] .ck-cc-stream,.mobile-app[data-ui=next] .ck-cc-stream{display:flex;flex-direction:column;gap:6px;font-family:var(--gb-font)}
.v4-app[data-ui=next] .ck-cc-stream .hc-ov__toggle,.mobile-app[data-ui=next] .ck-cc-stream .hc-ov__toggle{font-size:13px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-stream .hc-ov__glabel,.mobile-app[data-ui=next] .ck-cc-stream .hc-ov__glabel{flex:none}
.v4-app[data-ui=next] .ck-cc-stream .hc-ov__count,.mobile-app[data-ui=next] .ck-cc-stream .hc-ov__count{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gb-ink-3)}
/* Each list starts where the thread titles above it start. */
.v4-app[data-ui=next] .ck-cc-stream .ck-cc-stream-list,.mobile-app[data-ui=next] .ck-cc-stream .ck-cc-stream-list{display:flex;flex-direction:column;gap:7px;margin:0;padding:6px 10px 6px 30px;list-style:none}
.v4-app[data-ui=next] .ck-cc-stream-list>.hc-step,.mobile-app[data-ui=next] .ck-cc-stream-list>.hc-step{align-items:center;padding:0;font-size:13px}
.v4-app[data-ui=next] .ck-cc-stream-list>.hc-step>.hc-step__title,.mobile-app[data-ui=next] .ck-cc-stream-list>.hc-step>.hc-step__title{flex:1;min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-stream-row,.mobile-app[data-ui=next] .ck-cc-stream-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:28px;font-size:13px;line-height:1.4;color:var(--gb-ink)}
.v4-app[data-ui=next] .ck-cc-stream-what,.mobile-app[data-ui=next] .ck-cc-stream-what{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .ck-cc-stream-meta,.mobile-app[data-ui=next] .ck-cc-stream-meta{flex:none;font-size:12px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .ck-cc-stream-row[data-last] .ck-cc-stream-meta,.mobile-app[data-ui=next] .ck-cc-stream-row[data-last] .ck-cc-stream-meta{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .ck-cc-stream-tick,.mobile-app[data-ui=next] .ck-cc-stream-tick{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-stream-tick>svg,.mobile-app[data-ui=next] .ck-cc-stream-tick>svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .ck-cc-stream-row:is([data-tick=sent],[data-tick=read],[data-tick=booked],[data-tick=paid]) .ck-cc-stream-tick,.mobile-app[data-ui=next] .ck-cc-stream-row:is([data-tick=sent],[data-tick=read],[data-tick=booked],[data-tick=paid]) .ck-cc-stream-tick{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .ck-cc-stream .ck-cc-btn,.mobile-app[data-ui=next] .ck-cc-stream .ck-cc-btn{min-height:28px;padding:0 12px;font-size:12.5px}
.v4-app[data-ui=next] .ck-cc-stream-skip,.mobile-app[data-ui=next] .ck-cc-stream-skip{margin-left:auto}
.v4-app[data-ui=next] .ck-cc-stream-confirm,.mobile-app[data-ui=next] .ck-cc-stream-confirm{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ck-cc-stream-confirm>span,.mobile-app[data-ui=next] .ck-cc-stream-confirm>span{margin-right:auto}
.v4-app[data-ui=next] .ck-cc-stream-error,.mobile-app[data-ui=next] .ck-cc-stream-error{flex:1 1 100%;margin:0;font-size:12.5px;line-height:1.4;color:var(--gb-danger)}
.v4-app[data-ui=next] .ck-cc-stream-note,.mobile-app[data-ui=next] .ck-cc-stream-note{margin:0;padding:0 12px;font-size:12px;line-height:1.4;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .ck-cc-stream :is(.ck-cc-btn,.hc-ov__toggle):focus-visible,.mobile-app[data-ui=next] .ck-cc-stream :is(.ck-cc-btn,.hc-ov__toggle):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .ck-cc-stream .sc-interp,.mobile-app[data-ui=next] .anna-sidechat .ck-cc-stream .sc-interp{color:inherit}
.v4-app[data-ui=next] .ck-cc-panel>.ck-cc-stream{flex:none}
/* On the phone the groups follow the Threads tab's own overview. */
.mobile-app[data-ui=next] .anna-sidechat[data-cc-phone] .ck-threads-view>.ck-cc-stream{margin-top:12px}
@media (max-width:760px){.mobile-app[data-ui=next] .ck-cc-stream .hc-ov__toggle{min-height:40px}.mobile-app[data-ui=next] .ck-cc-stream .ck-cc-btn{min-height:36px}}

/* ==========================================================================
   UI-NEXT · Home (v4 page id "home") · owned by the Home page builder.
   Look: F-Home / A-Home — hero (orb, date, "Good morning" + what needs you, composer,
   chips), KPI bubble cards, then a bento of bubble boxes on warm paper.
   SWITCH: every selector starts with .v4-app[data-ui=next]. Tokens (--gb-*) and the .orb
   asset come from zz-next-0-shell.css. Nothing here hides an existing control.
   `!important` only where an existing inline style (home.html) or the ChatKit tail sets it.
   ========================================================================== */

/* page = a container so the bento adapts to the room the chat panel leaves */
.v4-app[data-ui=next][data-v4-nav=home] .mv-page-main{container:v4next-home / inline-size;justify-self:stretch;align-self:stretch;width:100%}
.v4-app[data-ui=next] .v4-home-page{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;width:100%;max-width:var(--gb-page-max,1104px);margin:0 auto;padding:24px 32px 72px;box-sizing:border-box;color:var(--gb-ink);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .v4-home-page > *{grid-column:1/-1;min-width:0;box-sizing:border-box}

/* --- hero ----------------------------------------------------------------- */
.v4-app[data-ui=next] .v4-home-hero{order:-3;position:relative;display:flex;flex-direction:column;align-items:center;max-width:none!important;margin:0 0 44px;padding-top:16px;text-align:center}
.v4-app[data-ui=next] .v4-home-hero::before{content:"";position:absolute;left:50%;top:-64px;width:960px;max-width:100%;height:620px;transform:translateX(-50%);background:radial-gradient(closest-side,var(--gb-glow),transparent);pointer-events:none}
.v4-app[data-ui=next] .v4-home-hero > *{position:relative}
.v4-app[data-ui=next] .v4-home-next-stage{display:flex;flex-direction:column;align-items:center}
.v4-app[data-ui=next] .v4-home-next-orb{width:256px;height:256px}
.v4-app[data-ui=next] .v4-home-next-floor{display:block;width:200px;height:22px;margin-top:20px;border-radius:50%;background:radial-gradient(closest-side,var(--gb-floor),transparent)}
.v4-app[data-ui=next] .v4-home-next-date{display:block;margin-top:24px;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-greeting{margin-top:8px;font-size:var(--gb-fs-56,56px)!important;font-weight:var(--gb-fw-semibold,600)!important;letter-spacing:var(--gb-tr-display,-.035em)!important;line-height:1.05!important;color:var(--gb-ink);text-wrap:balance}
.v4-app[data-ui=next] .v4-home-next-need{display:block;font-size:var(--gb-fs-56,56px);font-weight:var(--gb-fw-semibold,600);letter-spacing:var(--gb-tr-display,-.035em);line-height:1.05;color:var(--gb-ink-2);text-wrap:balance}
.v4-app[data-ui=next] .v4-home-lede{max-width:600px!important;margin:16px auto 0!important;font-size:15px!important;line-height:1.5!important;color:var(--gb-ink-2)!important;text-wrap:balance}
/* composer — gb-composer */
.v4-app[data-ui=next] .v4-home-ask{display:flex;align-items:center;gap:4px;width:100%;max-width:var(--gb-chat-max,720px);height:60px;margin:40px 0 0;padding:0 10px 0 20px;border-radius:var(--gb-r-full,999px);background:var(--gb-raised);box-shadow:var(--gb-shadow-2);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-ask:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .v4-home-ask-input{flex:1;min-width:0;height:40px;padding:0 4px;border:0;background:transparent;color:var(--gb-ink);font:inherit;font-size:var(--gb-fs-15,15px);outline:none;box-shadow:none}
.v4-app[data-ui=next] .v4-home-ask-input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-ask-send{display:grid;place-items:center;width:40px;height:40px;flex:none;padding:0;border:0;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-ask-send:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .v4-home-ask-send:active{transform:scale(.94)}
.v4-app[data-ui=next] .v4-home-ask-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:820px;margin-top:16px}
.v4-app[data-ui=next] .v4-home-ask-chip{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:0;border-radius:var(--gb-r-full,999px);background:var(--gb-fill);color:var(--gb-ink);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-ask-chip:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-home-ask-chip:active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-home-ask-chip:disabled{opacity:.45;cursor:default}
.v4-app[data-ui=next] .v4-home-page :is(button,input):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* load error sits right under the hero */
.v4-app[data-ui=next] .v4-home-page > div[style*="--danger"]{order:-2;margin-top:-24px!important;text-align:center;color:var(--gb-danger)!important}

/* --- KPI bubble cards -------------------------------------------------------- */
.v4-app[data-ui=next] .v4-home-tiles{order:-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:0}
.v4-app[data-ui=next] .v4-home-tile,
.v4-app[data-ui=next] .v4-home-tile-accent{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;padding:18px 20px 20px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-home-tile[style*="cursor"]{transition:box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-tile[style*="cursor"]:hover{box-shadow:var(--gb-shadow-2);transform:translateY(-1px)}
.v4-app[data-ui=next] .v4-home-tile-label{order:0;font-size:13px;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-home-tile-value{margin-top:8px;font-family:inherit;font-size:var(--gb-fs-28,28px);font-weight:var(--gb-fw-semibold,600);letter-spacing:-.03em;line-height:1.15;color:var(--gb-ink);white-space:nowrap}
/* the live dot on "Automations running" is sage, not the classic accent */
.v4-app[data-ui=next] .v4-home-tile-value > span[style]{width:8px!important;height:8px!important;background:var(--gb-sage)!important}
.v4-app[data-ui=next] .v4-home-tile-sub{margin-top:2px;font-size:12px;font-weight:400!important;color:var(--gb-ink-2)!important}

/* --- bento ---------------------------------------------------------------- */
.v4-app[data-ui=next] .v4-home-needs{order:1;grid-column:span 2}
.v4-app[data-ui=next] .v4-home-running{order:2;grid-column:span 1}
.v4-app[data-ui=next] .v4-home-target{order:3;grid-column:span 1}
.v4-app[data-ui=next] .v4-home-plan{order:4;grid-column:span 2}
.v4-app[data-ui=next] .v4-home-activity{order:5;grid-column:span 2}
.v4-app[data-ui=next] .v4-home-insight{order:6;grid-column:1/-1}
.v4-app[data-ui=next] .v4-home-page:not(:has(> .v4-home-activity)) > .v4-home-insight{grid-column:span 2}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals{order:7;grid-column:1/-1}

/* bubble box */
.v4-app[data-ui=next] .v4-home-panel,
.v4-app[data-ui=next] .v4-home-running,
.v4-app[data-ui=next] .v4-home-insight,
.v4-app[data-ui=next] .v4-home-page > .metric-visuals{display:flex;flex-direction:column;gap:12px;margin:0!important;padding:20px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);animation:none!important}
.v4-app[data-ui=next] .v4-home-panel-head{display:flex;align-items:center;gap:8px;min-height:24px;padding:0}
.v4-app[data-ui=next] .v4-home-panel-head > span:first-child,
.v4-app[data-ui=next] .v4-home-running-title{font-size:var(--gb-fs-15,15px)!important;font-weight:var(--gb-fw-semibold,600)!important;letter-spacing:var(--gb-tr-ui,-.01em);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-panel-head :is(.secondary-button,button){margin-left:auto}
.v4-app[data-ui=next] .v4-home-page .v4-home-panel-head .v4-home-needs-all{display:inline-flex;height:auto!important;margin:-6px -10px -6px auto;padding:6px 10px!important;background:transparent!important;color:var(--gb-ink-2)!important;font-weight:400!important}
.v4-app[data-ui=next] .v4-home-page .v4-home-panel-head .v4-home-needs-all:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}

/* Needs you — the approval queue (gb-need) */
.v4-app[data-ui=next] .v4-home-needs .v4-home-panel-head > span:nth-child(2){padding:0!important;border-radius:0!important;background:none!important;color:var(--gb-ink-2)!important;font-size:13px!important;font-weight:400!important;line-height:1!important}
.v4-app[data-ui=next] .v4-home-needs{gap:6px}
.v4-app[data-ui=next] .v4-home-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;column-gap:12px;margin:0 -10px;padding:10px;border-radius:var(--gb-r-sm,10px);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .v4-home-avatar{width:28px;height:28px;border-radius:50%;background:var(--gb-av-a);color:var(--gb-av-ink);font-family:inherit;font-size:11px;font-weight:var(--gb-fw-semibold,600)}
.v4-app[data-ui=next] .v4-home-row-title{font-size:var(--gb-fs-15,15px)!important;font-weight:400!important;letter-spacing:var(--gb-tr-ui,-.01em);line-height:1.35;color:var(--gb-ink);text-wrap:pretty}
.v4-app[data-ui=next] .v4-home-row-meta{margin-top:2px;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-home-row-cta{display:inline-flex;align-items:center;height:32px;padding:0 14px!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font-size:13px!important;font-weight:var(--gb-fw-medium,500)!important}
.v4-app[data-ui=next] .v4-home-needs > div[style*="padding:18px"]{padding:8px 0 4px!important}
.v4-app[data-ui=next] .v4-home-page :is(.v4-home-needs,.v4-home-activity,.v4-home-insight) span[style*="accent-tint"],
.v4-app[data-ui=next] .v4-home-insight > span[style]{background:var(--gb-fill)!important;color:var(--gb-ink)!important;border-radius:50%!important}
.v4-app[data-ui=next] .v4-home-needs div[style*="font-size:14px"]{font-size:15px!important;font-weight:var(--gb-fw-semibold,600)!important}
.v4-app[data-ui=next] .v4-home-needs div[style*="color:var(--fg-3)"],
.v4-app[data-ui=next] .v4-home-needs > div[style*="padding:6px 16px"]{padding:0!important;color:var(--gb-ink-2)!important;font-size:13px!important}

/* Running now — the agent's automations */
.v4-app[data-ui=next] .v4-home-running{display:flex;gap:20px}
.v4-app[data-ui=next] .v4-home-running-head{display:flex;align-items:center;gap:8px;min-height:24px;white-space:nowrap}
.v4-app[data-ui=next] .v4-home-running-live{flex:none;width:7px;height:7px;border-radius:50%;background:var(--gb-sage);animation:v4-home-pulse 2s infinite}
.v4-app[data-ui=next] .v4-home-running-link{margin:-6px -10px -6px auto;padding:6px 10px;border:0;border-radius:var(--gb-r-full,999px);background:transparent;color:var(--gb-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.v4-app[data-ui=next] .v4-home-running-link:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-running-empty{margin:0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-run{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next] .v4-home-run-title{font-size:13px;line-height:1.4;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-run-track{height:4px;border-radius:var(--gb-r-full,999px);background:var(--gb-track);overflow:hidden}
.v4-app[data-ui=next] .v4-home-run-track > span{display:block;height:100%;min-width:4px;border-radius:inherit;background:var(--gb-grad)}
.v4-app[data-ui=next] .v4-home-run-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--gb-ink-2)}

/* Quarter target — goal ring */
.v4-app[data-ui=next] .v4-home-goal{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0 4px;text-align:center}
.v4-app[data-ui=next] .v4-home-goal-ring{--p:0;position:relative;width:148px;height:148px;flex:none}
.v4-app[data-ui=next] .v4-home-goal-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--gb-lav) 0,var(--gb-ember) calc(var(--p) * .55%),var(--gb-sage) calc(var(--p) * 1%),var(--gb-track) calc(var(--p) * 1%));-webkit-mask:radial-gradient(closest-side,transparent 85%,#000 86%);mask:radial-gradient(closest-side,transparent 85%,#000 86%)}
.v4-app[data-ui=next] .v4-home-goal-ring > b{position:absolute;inset:0;display:grid;place-content:center;font-size:var(--gb-fs-28,28px);font-weight:var(--gb-fw-semibold,600);letter-spacing:-.03em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-goal{position:relative}
.v4-app[data-ui=next] .v4-home-goal-value{margin-top:8px;font-size:15px;font-weight:var(--gb-fw-semibold,600)}
.v4-app[data-ui=next] .v4-home-goal-note{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-target > div[style*="flex-wrap"]{padding:0!important;gap:8px!important}
.v4-app[data-ui=next] .v4-home-target > div[style*="flex-wrap"] > div{flex:1 1 100%;font-size:13px!important;font-weight:400!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-target input{flex:1 1 120px;min-width:0;height:36px;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-sm,10px)!important;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font:inherit;font-size:13px!important;width:auto!important}
.v4-app[data-ui=next] .v4-home-target input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .v4-home-target > div:not([style*="flex-wrap"]):not(.v4-home-panel-head):not(.v4-home-goal){padding:0!important;font-size:12px!important}

/* shared pill buttons (existing buttons, restyled) */
.v4-app[data-ui=next] .v4-home-page :is(.v4-home-panel,.v4-home-insight) button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px!important;border:0!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:inherit;font-size:13px!important;font-weight:var(--gb-fw-medium,500)!important;white-space:nowrap;box-shadow:none!important;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-page :is(.v4-home-panel,.v4-home-insight) button:hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .v4-home-page :is(.v4-home-panel,.v4-home-insight) button:active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-home-page :is(.v4-home-panel,.v4-home-insight) button:disabled{opacity:.45;cursor:default}
.v4-app[data-ui=next] .v4-home-target button{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .v4-home-target button:hover{background:var(--gb-btn-hover)!important}

/* Your day — plan output; the idle hint fills the card until a plan is asked for */
.v4-app[data-ui=next] .v4-home-plan-idle{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 0!important;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-plan-idle b{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:var(--gb-tr-ui,-.01em);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-plan :is([role=status],[role=alert],pre,div:not(.v4-home-panel-head)){padding:0!important;font-size:13px;line-height:1.6;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-plan pre{color:var(--gb-ink)!important;font-size:15px!important}

/* Just happened — what the agent already did. The tagline drops to its own line under the title. */
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head{flex-wrap:wrap;row-gap:2px}
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head > span:nth-child(2){white-space:nowrap}
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head > button{order:2}
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head > span:nth-child(3){order:3;flex:1 1 100%;padding-left:15px}
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head > span:first-child{order:0;width:7px!important;height:7px!important;background:var(--gb-sage)!important}
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head > span:nth-child(2){font-size:15px!important;font-weight:600!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-activity .v4-home-panel-head > span:nth-child(3){font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head){margin:0 -10px;padding:10px!important;border-radius:var(--gb-r-sm,10px)!important;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head){position:relative}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head) + div::before{content:"";position:absolute;top:0;left:50px;right:10px;height:1px;background:var(--gb-hair)}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head):hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head) > span{width:28px!important;height:28px!important;border-radius:50%!important;background:var(--gb-fill)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head) > div > div:first-child{font-size:15px!important;font-weight:400!important;letter-spacing:var(--gb-tr-ui,-.01em);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-activity > div:not(.v4-home-panel-head) > div > div + div{font-size:12px!important;color:var(--gb-ink-2)!important}

/* <agent> noticed — insight */
.v4-app[data-ui=next] .v4-home-insight{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}
.v4-app[data-ui=next] .v4-home-insight > span[style]{width:40px!important;height:40px!important}
.v4-app[data-ui=next] .v4-home-insight div[style*="text-transform"]{font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-home-insight div[style*="15.5px"]{margin-top:6px!important;font-size:15px!important;font-weight:400!important;line-height:1.5!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-home-insight div[style*="13.5px"],
.v4-app[data-ui=next] .v4-home-insight div[style*="11.5px"]{font-size:13px!important;color:var(--gb-ink-2)!important}

/* the home business charts (metric visuals) sit in one bubble box: no boxes inside it */
.v4-app[data-ui=next] .v4-home-page > .metric-visuals{--mv-ink:var(--gb-ink);--mv-muted:var(--gb-ink-2);--mv-line:var(--gb-hair);--mv-surface:transparent;--mv-raised:var(--gb-fill);--mv-track:var(--gb-track);--mv-blue:var(--gb-ember);--mv-violet:var(--gb-lav);padding:20px}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-compact-layout[data-home=true]{gap:32px}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-eyebrow{font:500 11px/1.2 var(--gb-mono);letter-spacing:.14em;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-brief h2{margin:8px 0 4px;font-size:var(--gb-fs-15,15px);font-weight:var(--gb-fw-semibold,600);letter-spacing:var(--gb-tr-ui,-.01em)}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-brief > p{margin:0 0 12px;font-size:13px;line-height:1.5}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links{gap:0;margin:0 -10px}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links button{padding:12px 10px;border:0;border-radius:var(--gb-r-sm,10px);background:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links button + button{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links button:hover{background:var(--gb-hover);box-shadow:none}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links button > span{font-size:15px;letter-spacing:var(--gb-tr-ui,-.01em)}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links button > strong{font-size:var(--gb-fs-20,20px);font-weight:var(--gb-fw-semibold,600);letter-spacing:-.02em}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-home-links button > small{font-size:12px}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-summary{padding:4px 0 0 24px;border:0;border-radius:0;background:transparent;box-shadow:inset 1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-home-page > .metric-visuals .mv-summary-value{font-size:var(--gb-fs-28,28px);font-weight:var(--gb-fw-semibold,600);letter-spacing:-.03em}

/* --- container breakpoints (main width) --------------------------------------- */
@container v4next-home (max-width:1000px){
  .v4-app[data-ui=next] .v4-home-page{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next] .v4-home-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next] :is(.v4-home-needs,.v4-home-plan,.v4-home-activity,.v4-home-insight){grid-column:1/-1!important}
}
@container v4next-home (max-width:720px){
  .v4-app[data-ui=next] .v4-home-page{padding-inline:24px}
  .v4-app[data-ui=next] :is(.v4-home-greeting,.v4-home-next-need){font-size:40px!important}
}
@container v4next-home (max-width:640px){
  .v4-app[data-ui=next] .v4-home-page{grid-template-columns:minmax(0,1fr);padding:12px 16px 112px}
  .v4-app[data-ui=next] .v4-home-page > *{grid-column:1/-1!important}
  .v4-app[data-ui=next] .v4-home-hero{margin-bottom:24px}
  .v4-app[data-ui=next] .v4-home-next-orb{width:200px;height:200px}
  .v4-app[data-ui=next] :is(.v4-home-greeting,.v4-home-next-need){font-size:32px!important}
  .v4-app[data-ui=next] .v4-home-ask{height:auto;flex-wrap:wrap;margin-top:28px;padding:8px;border-radius:var(--gb-r-lg,22px)}
  .v4-app[data-ui=next] .v4-home-ask-input{flex:1 1 100%;height:44px;padding:0 10px}
  .v4-app[data-ui=next] .v4-home-ask-send{margin-left:auto}
  .v4-app[data-ui=next] .v4-home-tiles{gap:12px}
  .v4-app[data-ui=next] :is(.v4-home-tile,.v4-home-tile-accent){padding:14px 16px 16px}
  .v4-app[data-ui=next] .v4-home-tile-value{font-size:22px}
}
/* N11 (sweep 3): the need line held at its loaded size while Home's first read is out (homeNeedHold). */
.v4-app[data-ui=next] .v4-home-next-need--hold{color:transparent;user-select:none}
/* N11 (sweep 3): on a phone the summary line is two lines once loaded ("N approvals need your review, and N automations
   are running.") but one while loading, so it held two lines' room from the start and its text arriving moves nothing. */
@media (max-width:600px){.v4-app[data-ui=next] .v4-home-lede{min-height:3em}}

/* ==========================================================================
   UI-NEXT · hybrid call screens (ff:hybrid_chat, default off)
   --------------------------------------------------------------------------
   Drawn by src/hybrid-call-view.js: the phone's full-screen call view and the compact top sheet over the chat (the
   owner's reference captures, matched in layout, size, colour and radius, with the GPT Business mark in the orb and
   "Your Manager" as the name), and on the desktop the side panel card, the sidebar call row, the floating call card
   and the "Call ended" chat line. Every class is .hcall-*; every selector starts with .v4-app[data-ui=next] or
   .mobile-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it). The phone call screens keep their own dark look in
   both themes (like a phone call screen); the desktop pieces take the --gb-* tokens, so light and dark follow
   data-theme. --hcall-safe-top / --hcall-safe-bottom hold the notch and home-bar insets. The references are Display P3
   screenshots: their colours are given here in sRGB, and the End red, which sRGB cannot reach, also as display-p3.
   ========================================================================== */

/* 0 · shared ------------------------------------------------------------------ */
.v4-app[data-ui=next] .hcall-sr,.mobile-app[data-ui=next] .hcall-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v4-app[data-ui=next] .hcall-mount[hidden],.mobile-app[data-ui=next] .hcall-mount[hidden]{display:none}
.v4-app[data-ui=next] .hcall-ico,.mobile-app[data-ui=next] .hcall-ico{display:block;flex:none}
.v4-app[data-ui=next] .hcall-ico--line,.mobile-app[data-ui=next] .hcall-ico--line{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .hcall-ico--speaker,.mobile-app[data-ui=next] .hcall-ico--speaker,.v4-app[data-ui=next] .hcall-ico--mic,.mobile-app[data-ui=next] .hcall-ico--mic{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .hcall-ico .hcall-fill,.mobile-app[data-ui=next] .hcall-ico .hcall-fill{fill:currentColor;stroke:none}
.v4-app[data-ui=next] .hcall-ico--end,.mobile-app[data-ui=next] .hcall-ico--end{fill:currentColor}
.v4-app[data-ui=next] .hcall-ico .hcall-cut,.mobile-app[data-ui=next] .hcall-ico .hcall-cut{stroke:var(--hcall-cut,#121212);stroke-width:4.4}
.v4-app[data-ui=next] .hcall-orb,.mobile-app[data-ui=next] .hcall-orb{position:relative;display:grid;place-items:center;flex:none;box-sizing:border-box;border-radius:50%;background:var(--hcall-ring,#bac0d3)}
.v4-app[data-ui=next] .hcall-orb__core,.mobile-app[data-ui=next] .hcall-orb__core{display:grid;place-items:center;width:41%;height:41%;border-radius:50%;background:radial-gradient(circle at 40% 36%,#25272c 0%,#0a0b0d 58%,#000 100%)}
.v4-app[data-ui=next] .hcall-orb--call,.mobile-app[data-ui=next] .hcall-orb--call{width:66.7px;height:66.7px}
.v4-app[data-ui=next] .hcall-orb--panel,.mobile-app[data-ui=next] .hcall-orb--panel{width:63px;height:63px;--hcall-ring:#b0b9cc}
.v4-app[data-ui=next] .hcall-orb--mini,.mobile-app[data-ui=next] .hcall-orb--mini{width:13px;height:13px;--hcall-ring:#b0b9cc}
.v4-app[data-ui=next] .hcall-orb--mini .hcall-orb__core,.mobile-app[data-ui=next] .hcall-orb--mini .hcall-orb__core{width:44%;height:44%}

/* 1 · the phone layer ------------------------------------------------------------ */
.v4-app[data-ui=next] .hcall-layer,.mobile-app[data-ui=next] .hcall-layer{--hcall-safe-top:max(env(safe-area-inset-top,0px),24px);--hcall-safe-bottom:max(env(safe-area-inset-bottom,0px),12px);position:fixed;inset:0;z-index:160;pointer-events:none;font-family:var(--gb-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hcall-layer[data-mode=compact],.mobile-app[data-ui=next] .hcall-layer[data-mode=compact],.v4-app[data-ui=next] .hcall-layer[data-mode=float],.mobile-app[data-ui=next] .hcall-layer[data-mode=float]{z-index:135}
.v4-app[data-ui=next] .hcall-layer>*,.mobile-app[data-ui=next] .hcall-layer>*{pointer-events:auto}
.v4-app[data-ui=next] .hcall-layer button,.mobile-app[data-ui=next] .hcall-layer button{font-family:var(--gb-font);-webkit-tap-highlight-color:transparent}
.v4-app[data-ui=next] .hcall-layer button:focus-visible,.mobile-app[data-ui=next] .hcall-layer button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.v4-app[data-ui=next] .hcall-layer button:disabled,.mobile-app[data-ui=next] .hcall-layer button:disabled{cursor:default;opacity:.45}
.v4-app[data-ui=next] .hcall-top,.mobile-app[data-ui=next] .hcall-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:93.7px}
.v4-app[data-ui=next] .hcall-id,.mobile-app[data-ui=next] .hcall-id{position:absolute;left:50%;top:0;display:flex;flex-direction:column;align-items:center;width:max-content;max-width:calc(100% - 112px);transform:translateX(-50%)}
.v4-app[data-ui=next] .hcall-name,.mobile-app[data-ui=next] .hcall-name{max-width:100%;margin:2.7px 0 0;overflow:hidden;color:#fff;font-size:17px;font-weight:700;line-height:22px;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hcall-round,.mobile-app[data-ui=next] .hcall-round{display:grid;place-items:center;box-sizing:border-box;width:42px;height:42px;padding:0;border-radius:50%;color:#fff;cursor:pointer}
.v4-app[data-ui=next] .hcall-round .hcall-ico,.mobile-app[data-ui=next] .hcall-round .hcall-ico{width:20px;height:20px}
.v4-app[data-ui=next] .hcall-round--glass,.mobile-app[data-ui=next] .hcall-round--glass{position:relative;border:1px solid rgba(214,232,240,.55);background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 1px 1px rgba(255,255,255,.12)}
/* The glass buttons stay 42px like the reference; a clear ring around each takes the tap target past 44px. */
.v4-app[data-ui=next] .hcall-round--glass::after,.mobile-app[data-ui=next] .hcall-round--glass::after{content:"";position:absolute;inset:-3px;border-radius:50%}
.v4-app[data-ui=next] .hcall-round--dark,.mobile-app[data-ui=next] .hcall-round--dark{width:44px;height:44px;border:1px solid #2b2b2b;background:#121212}

/* 2 · screen 2: the full-screen call view ---------------------------------------- */
.v4-app[data-ui=next] .hcall-full,.mobile-app[data-ui=next] .hcall-full{position:absolute;inset:0;display:flex;flex-direction:column;box-sizing:border-box;padding:var(--hcall-safe-top) 17px calc(var(--hcall-safe-bottom) + 17px);overflow:hidden;outline:none;color:#fff;background:radial-gradient(55.5% 44.1% at 95.5% 79.3%,rgba(1,27,56,.99) 0%,rgba(1,27,56,.79) 39.8%,rgba(1,27,56,0) 100%),radial-gradient(54.4% 67.4% at 45.6% 40.4%,rgba(25,56,93,.93) 0%,rgba(25,56,93,.80) 17.4%,rgba(25,56,93,0) 100%),linear-gradient(180deg,#415366 0%,#37506e 59%,#344d6b 100%),#344d6b;animation:gbn-hcall-fade .22s ease-out both}
.v4-app[data-ui=next] .hcall-full::before,.mobile-app[data-ui=next] .hcall-full::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60.4% 90.5% at 49.3% 53.1%,rgba(133,142,154,0) 37.7%,rgba(133,142,154,1) 94.4%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 26.5%,rgba(0,0,0,.55) 40.9%,transparent 57.3%);mask-image:linear-gradient(180deg,#000 0%,#000 26.5%,rgba(0,0,0,.55) 40.9%,transparent 57.3%)}
.v4-app[data-ui=next] .hcall-full>*,.mobile-app[data-ui=next] .hcall-full>*{position:relative;z-index:1}
.v4-app[data-ui=next] .hcall-full .hcall-orb__core,.mobile-app[data-ui=next] .hcall-full .hcall-orb__core{background:radial-gradient(circle at 40% 36%,rgba(58,74,101,.85) 0%,rgba(30,44,70,.9) 100%)}
.v4-app[data-ui=next] .hcall-status,.mobile-app[data-ui=next] .hcall-status{min-height:34px;margin:31.5px 0 0;color:#c0dbfb;font-size:27px;font-weight:400;line-height:34px;letter-spacing:-.005em;text-align:center}
.v4-app[data-ui=next] .hcall-full:not([data-status=calling]):not([data-status=live]) .hcall-status,.mobile-app[data-ui=next] .hcall-full:not([data-status=calling]):not([data-status=live]) .hcall-status{max-width:320px;margin-left:auto;margin-right:auto;font-size:19px;line-height:26px}
.v4-app[data-ui=next] .hcall-controls,.mobile-app[data-ui=next] .hcall-controls{display:flex;justify-content:center;gap:clamp(20px,9.3vw,40px);margin-top:auto}
.v4-app[data-ui=next] .hcall-ctl,.mobile-app[data-ui=next] .hcall-ctl{display:flex;flex-direction:column;align-items:center;gap:3.3px;padding:0;border:0;background:none;color:#fff;cursor:pointer}
.v4-app[data-ui=next] .hcall-circle,.mobile-app[data-ui=next] .hcall-circle{display:grid;place-items:center;box-sizing:border-box;width:80px;height:80px;border-radius:50%;transition:background-color .15s ease,color .15s ease}
.v4-app[data-ui=next] .hcall-ctl__label,.mobile-app[data-ui=next] .hcall-ctl__label{color:#fff;font-size:15.5px;font-weight:400;line-height:20px}
.v4-app[data-ui=next] .hcall-ctl--speaker .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl--speaker .hcall-circle,.v4-app[data-ui=next] .hcall-ctl--mute .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl--mute .hcall-circle{--hcall-cut:#2a3c58;border:1px solid rgba(62,132,222,.6);background:rgba(255,255,255,.07);color:#fff}
.v4-app[data-ui=next] .hcall-ctl--speaker[aria-pressed=true] .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl--speaker[aria-pressed=true] .hcall-circle,.v4-app[data-ui=next] .hcall-ctl--mute[aria-pressed=true] .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl--mute[aria-pressed=true] .hcall-circle{--hcall-cut:#dffaff;border-color:#ecfbff;background:#dffaff;color:#0d0d0d}
/* Once the call is over, Speaker and Mute are off: dimmed, and never in the pressed white, which read as a lit button. */
.v4-app[data-ui=next] .hcall-ctl:disabled[aria-pressed=true] .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl:disabled[aria-pressed=true] .hcall-circle{--hcall-cut:#2a3c58;border-color:rgba(62,132,222,.6);background:rgba(255,255,255,.07);color:#fff}
.v4-app[data-ui=next] .hcall-ctl--end .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl--end .hcall-circle{background:#ff0018;background:color(display-p3 .918 .2 .173);color:#fff}
.v4-app[data-ui=next] .hcall-ctl:active .hcall-circle,.mobile-app[data-ui=next] .hcall-ctl:active .hcall-circle{filter:brightness(.92)}
.v4-app[data-ui=next] .hcall-circle .hcall-ico--speaker,.mobile-app[data-ui=next] .hcall-circle .hcall-ico--speaker{width:41px;height:41px}
.v4-app[data-ui=next] .hcall-circle .hcall-ico--end,.mobile-app[data-ui=next] .hcall-circle .hcall-ico--end{width:43.6px;height:43.6px}
.v4-app[data-ui=next] .hcall-circle .hcall-ico--mic,.mobile-app[data-ui=next] .hcall-circle .hcall-ico--mic{width:39px;height:39px}

/* 3 · screen 1: the compact sheet over the chat ---------------------------------- */
.v4-app[data-ui=next] .hcall-sheet,.mobile-app[data-ui=next] .hcall-sheet{position:absolute;top:8px;left:8px;right:8px;box-sizing:border-box;padding:calc(var(--hcall-safe-top) - 10px) 26px 26px;border:2px solid #262626;border-radius:48px;background:#000;color:#fff;box-shadow:0 12px 32px rgba(0,0,0,.28);animation:gbn-hcall-drop .24s ease-out both}
.v4-app[data-ui=next] .hcall-sheet__clock,.mobile-app[data-ui=next] .hcall-sheet__clock{min-height:22px;margin:21px 0 0;color:#fff;font-size:17.5px;font-weight:400;line-height:22px;text-align:center}
.v4-app[data-ui=next] .hcall-sheet:not([data-status=calling]):not([data-status=live]) .hcall-sheet__clock,.mobile-app[data-ui=next] .hcall-sheet:not([data-status=calling]):not([data-status=live]) .hcall-sheet__clock{font-size:15px}
.v4-app[data-ui=next] .hcall-pills,.mobile-app[data-ui=next] .hcall-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:7.9%;margin-top:29px}
.v4-app[data-ui=next] .hcall-pill,.mobile-app[data-ui=next] .hcall-pill{display:grid;place-items:center;box-sizing:border-box;height:48px;padding:0;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.v4-app[data-ui=next] .hcall-pill--speaker,.mobile-app[data-ui=next] .hcall-pill--speaker,.v4-app[data-ui=next] .hcall-pill--mute,.mobile-app[data-ui=next] .hcall-pill--mute{--hcall-cut:#121212;border-color:#2b2b2b;background:#121212;color:#fff}
.v4-app[data-ui=next] .hcall-pill--speaker[aria-pressed=true],.mobile-app[data-ui=next] .hcall-pill--speaker[aria-pressed=true],.v4-app[data-ui=next] .hcall-pill--mute[aria-pressed=true],.mobile-app[data-ui=next] .hcall-pill--mute[aria-pressed=true]{--hcall-cut:#f3f3f3;border-color:#e2e2e2;background:#f3f3f3;color:#0d0d0d}
.v4-app[data-ui=next] .hcall-pill:disabled[aria-pressed=true],.mobile-app[data-ui=next] .hcall-pill:disabled[aria-pressed=true]{--hcall-cut:#121212;border-color:#2b2b2b;background:#121212;color:#fff}
.v4-app[data-ui=next] .hcall-pill--end,.mobile-app[data-ui=next] .hcall-pill--end{background:#ff0015;background:color(display-p3 .918 .2 .169);color:#fff}
.v4-app[data-ui=next] .hcall-pill:active,.mobile-app[data-ui=next] .hcall-pill:active{filter:brightness(.92)}
.v4-app[data-ui=next] .hcall-pill .hcall-ico--speaker,.mobile-app[data-ui=next] .hcall-pill .hcall-ico--speaker{width:29px;height:29px}
.v4-app[data-ui=next] .hcall-pill .hcall-ico--end,.mobile-app[data-ui=next] .hcall-pill .hcall-ico--end{width:30.7px;height:30.7px}
.v4-app[data-ui=next] .hcall-pill .hcall-ico--mic,.mobile-app[data-ui=next] .hcall-pill .hcall-ico--mic{width:28px;height:28px}

/* 4 · desktop: the floating call card (no side panel on the page) ------------------ */
.v4-app[data-ui=next] .hcall-float,.mobile-app[data-ui=next] .hcall-float{position:absolute;top:64px;right:16px;box-sizing:border-box;width:300px;padding:17px 16px 17px 17px;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-2);color:var(--gb-ink);animation:gbn-hcall-fade .18s ease-out both}

/* 5 · desktop: screen 3's side panel ---------------------------------------------- */
.v4-app[data-ui=next] .hcall-panel,.mobile-app[data-ui=next] .hcall-panel{box-sizing:border-box;width:100%;padding:17px 16px 17px 17px;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hcall-panel button,.mobile-app[data-ui=next] .hcall-panel button,.v4-app[data-ui=next] .hcall-float button,.mobile-app[data-ui=next] .hcall-float button{font-family:var(--gb-font)}
.v4-app[data-ui=next] .hcall-panel :focus-visible,.mobile-app[data-ui=next] .hcall-panel :focus-visible,.v4-app[data-ui=next] .hcall-float :focus-visible,.mobile-app[data-ui=next] .hcall-float :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
/* The floating card sits in the call layer, whose white ring is drawn for the dark phone screens; on the card's own
   surface (white in the light theme) that ring would not show, so the card keeps the theme's focus colour. */
.v4-app[data-ui=next] .hcall-layer .hcall-float button:focus-visible,.mobile-app[data-ui=next] .hcall-layer .hcall-float button:focus-visible{outline-color:var(--gb-focus);outline-offset:2px}
/* Inside Home's side pane (.anna-side-panel: its own surface, radius and shadow) the panel is the pane's content, not a
   second card inside it. */
.v4-app[data-ui=next] .anna-side-panel .hcall-panel{border-radius:0;background:transparent;box-shadow:none}
.v4-app[data-ui=next] .hcall-call__head,.mobile-app[data-ui=next] .hcall-call__head{display:flex;align-items:center;gap:13px;min-width:0}
.v4-app[data-ui=next] .hcall-call__who,.mobile-app[data-ui=next] .hcall-call__who{display:flex;flex-direction:column;min-width:0}
.v4-app[data-ui=next] .hcall-call__name,.mobile-app[data-ui=next] .hcall-call__name{margin:0;overflow:hidden;color:var(--gb-ink);font-size:16px;font-weight:600;line-height:22px;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hcall-call__clock,.mobile-app[data-ui=next] .hcall-call__clock{margin:4px 0 0;color:var(--gb-ink-2);font-size:14px;line-height:20px}
.v4-app[data-ui=next] .hcall-call__actions,.mobile-app[data-ui=next] .hcall-call__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}
.v4-app[data-ui=next] .hcall-act,.mobile-app[data-ui=next] .hcall-act{display:grid;place-items:center;height:36px;padding:0;border:0;border-radius:10px;cursor:pointer;transition:background-color .15s ease,filter .15s ease}
.v4-app[data-ui=next] .hcall-act .hcall-ico--mic,.mobile-app[data-ui=next] .hcall-act .hcall-ico--mic{width:20px;height:20px}
.v4-app[data-ui=next] .hcall-act .hcall-ico--end,.mobile-app[data-ui=next] .hcall-act .hcall-ico--end{width:28px;height:28px}
.v4-app[data-ui=next] .hcall-act--mute,.mobile-app[data-ui=next] .hcall-act--mute{--hcall-cut:var(--gb-surface);background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .hcall-act--mute:hover,.mobile-app[data-ui=next] .hcall-act--mute:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .hcall-act--mute[aria-pressed=true],.mobile-app[data-ui=next] .hcall-act--mute[aria-pressed=true]{--hcall-cut:var(--gb-btn);background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .hcall-act--end,.mobile-app[data-ui=next] .hcall-act--end{background:#ea332b;color:#fff}
.v4-app[data-ui=next] .hcall-act--end:hover,.mobile-app[data-ui=next] .hcall-act--end:hover{filter:brightness(1.06)}
.v4-app[data-ui=next] .hcall-notify,.mobile-app[data-ui=next] .hcall-notify{display:flex;align-items:center;gap:15px;min-height:28px;margin-top:16px}
.v4-app[data-ui=next] .hcall-call+.hcall-notify,.mobile-app[data-ui=next] .hcall-call+.hcall-notify{margin-top:16px}
.v4-app[data-ui=next] .hcall-notify>.hcall-ico,.mobile-app[data-ui=next] .hcall-notify>.hcall-ico{width:13px;height:13px;margin-left:1px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hcall-notify__text,.mobile-app[data-ui=next] .hcall-notify__text{flex:1;min-width:0;color:var(--gb-ink);font-size:14px}
.v4-app[data-ui=next] .hcall-notify__off,.mobile-app[data-ui=next] .hcall-notify__off{color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .hcall-enable,.mobile-app[data-ui=next] .hcall-enable{height:28px;padding:0 10px;border:0;border-radius:999px;background:var(--gb-btn);color:var(--gb-btn-ink);font-size:13px;font-weight:500;cursor:pointer}
.v4-app[data-ui=next] .hcall-enable:hover,.mobile-app[data-ui=next] .hcall-enable:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .hcall-sec,.mobile-app[data-ui=next] .hcall-sec{margin-top:18px}
.v4-app[data-ui=next] .hcall-panel>.hcall-sec:first-child,.mobile-app[data-ui=next] .hcall-panel>.hcall-sec:first-child{margin-top:0}
.v4-app[data-ui=next] .hcall-sec__title,.mobile-app[data-ui=next] .hcall-sec__title{margin:0 0 8px;color:var(--gb-ink-2);font-size:14px;font-weight:400;line-height:20px}
.v4-app[data-ui=next] .hcall-list,.mobile-app[data-ui=next] .hcall-list{margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .hcall-comp,.mobile-app[data-ui=next] .hcall-comp{display:flex;align-items:flex-start;gap:14px;min-height:48px}
.v4-app[data-ui=next] .hcall-comp:last-child,.mobile-app[data-ui=next] .hcall-comp:last-child{min-height:44px}
.v4-app[data-ui=next] .hcall-list>li:first-child>.hcall-item,.mobile-app[data-ui=next] .hcall-list>li:first-child>.hcall-item{margin-top:-4px}
.v4-app[data-ui=next] .hcall-comp>.hcall-ico,.mobile-app[data-ui=next] .hcall-comp>.hcall-ico{width:13px;height:13px;margin-top:4px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hcall-comp__text,.mobile-app[data-ui=next] .hcall-comp__text{display:flex;flex:1;flex-direction:column;min-width:0}
.v4-app[data-ui=next] .hcall-comp__name,.mobile-app[data-ui=next] .hcall-comp__name{overflow:hidden;color:var(--gb-ink);text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hcall-comp__status,.mobile-app[data-ui=next] .hcall-comp__status{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hcall-comp[data-tone=busy] .hcall-comp__status,.mobile-app[data-ui=next] .hcall-comp[data-tone=busy] .hcall-comp__status{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .hcall-comp[data-tone=alert] .hcall-comp__status,.mobile-app[data-ui=next] .hcall-comp[data-tone=alert] .hcall-comp__status{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .hcall-comp__thumb,.mobile-app[data-ui=next] .hcall-comp__thumb{flex:none;width:48px;height:32px;border-radius:6px;object-fit:cover;background:var(--gb-fill)}
.v4-app[data-ui=next] .hcall-item,.mobile-app[data-ui=next] .hcall-item{display:flex;align-items:center;gap:14px;box-sizing:border-box;width:100%;min-height:28px;padding:4px 0;border:0;background:none;color:var(--gb-ink);font-size:14px;line-height:20px;text-align:left;text-decoration:none;cursor:default}
.v4-app[data-ui=next] button.hcall-item,.mobile-app[data-ui=next] button.hcall-item,.v4-app[data-ui=next] a.hcall-item,.mobile-app[data-ui=next] a.hcall-item{cursor:pointer}
.v4-app[data-ui=next] button.hcall-item:hover .hcall-item__text,.mobile-app[data-ui=next] button.hcall-item:hover .hcall-item__text,.v4-app[data-ui=next] a.hcall-item:hover .hcall-item__text,.mobile-app[data-ui=next] a.hcall-item:hover .hcall-item__text{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next] .hcall-item>.hcall-ico,.mobile-app[data-ui=next] .hcall-item>.hcall-ico{width:13px;height:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hcall-item__text,.mobile-app[data-ui=next] .hcall-item__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hcall-more,.mobile-app[data-ui=next] .hcall-more{display:flex;align-items:center;gap:14px;min-height:28px;margin-top:0;padding:0;border:0;background:none;color:var(--gb-ink-2);font-size:14px;cursor:pointer}
.v4-app[data-ui=next] .hcall-more .hcall-ico,.mobile-app[data-ui=next] .hcall-more .hcall-ico{width:13px;height:13px}
.v4-app[data-ui=next] .hcall-more[aria-expanded=true] .hcall-ico,.mobile-app[data-ui=next] .hcall-more[aria-expanded=true] .hcall-ico{transform:rotate(180deg)}

/* 6 · desktop: the sidebar call row ------------------------------------------------- */
.v4-app[data-ui=next] .hcall-siderow,.mobile-app[data-ui=next] .hcall-siderow{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:100%;height:30px;padding:0 9px 0 9.5px;border:0;border-radius:8px;background:var(--gb-fill);color:var(--gb-ink);font-family:var(--gb-font);font-size:14px;line-height:20px;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hcall-siderow:hover,.mobile-app[data-ui=next] .hcall-siderow:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .hcall-siderow:focus-visible,.mobile-app[data-ui=next] .hcall-siderow:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .hcall-siderow__name,.mobile-app[data-ui=next] .hcall-siderow__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hcall-siderow__clock,.mobile-app[data-ui=next] .hcall-siderow__clock{color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .hcall-siderow>.hcall-ico,.mobile-app[data-ui=next] .hcall-siderow>.hcall-ico{width:14px;height:14px;color:var(--gb-ink-2)}
/* In the 52px nav rail (Home's .gbn-lrail call slot, its first item) the row is a tile: the orb over the clock. The
   name stays in the button's label for screen readers; the phone glyph has no room. */
.v4-app[data-ui=next] .gbn-lrail .hcall-siderow{flex-direction:column;justify-content:center;gap:3px;height:auto;min-height:44px;padding:6px 0 5px;border-radius:10px;text-align:center}
.v4-app[data-ui=next] .gbn-lrail .hcall-siderow__name{position:absolute;flex:none;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-app[data-ui=next] .gbn-lrail .hcall-siderow>.hcall-ico{display:none}
.v4-app[data-ui=next] .gbn-lrail .hcall-siderow .hcall-orb--mini{width:16px;height:16px}
.v4-app[data-ui=next] .gbn-lrail .hcall-siderow__clock{color:var(--gb-ink-2);font-size:10px;line-height:12px;letter-spacing:0}

/* 7 · the chat line: "9:21 · Call ended" -------------------------------------------- */
.v4-app[data-ui=next] .hcall-chip-row,.mobile-app[data-ui=next] .hcall-chip-row{display:flex;justify-content:flex-end;width:100%}
.v4-app[data-ui=next] .hcall-chip,.mobile-app[data-ui=next] .hcall-chip{display:flex;align-items:center;gap:9px;box-sizing:border-box;width:min(320px,85%);min-height:36px;margin:0;padding:0 14px 0 12px;border-radius:12px;background:var(--gb-raised);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;line-height:18px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hcall-chip>.hcall-ico,.mobile-app[data-ui=next] .hcall-chip>.hcall-ico{width:19px;height:19px;color:var(--gb-ink-2)}

/* 8 · motion ------------------------------------------------------------------------ */
@keyframes gbn-hcall-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-hcall-drop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .hcall-full,.mobile-app[data-ui=next] .hcall-full,.v4-app[data-ui=next] .hcall-sheet,.mobile-app[data-ui=next] .hcall-sheet,.v4-app[data-ui=next] .hcall-float,.mobile-app[data-ui=next] .hcall-float{animation:none}
  .v4-app[data-ui=next] .hcall-circle,.mobile-app[data-ui=next] .hcall-circle,.v4-app[data-ui=next] .hcall-pill,.mobile-app[data-ui=next] .hcall-pill,.v4-app[data-ui=next] .hcall-act,.mobile-app[data-ui=next] .hcall-act{transition:none}
}
@media (max-width:359px){
  .v4-app[data-ui=next] .hcall-sheet,.mobile-app[data-ui=next] .hcall-sheet{padding-left:18px;padding-right:18px}
  .v4-app[data-ui=next] .hcall-circle,.mobile-app[data-ui=next] .hcall-circle{width:72px;height:72px}
}

/* 9 · the "Working on it" chips (GBNChatHooks.callStatus) ----------------------------- */
/* Markup: renderCallLogStatus (ul.hc-callchips > li.hc-callchip[data-state]) in a [data-hcall-chips] slot. Under the clock on
   the full-screen view (it gives way before the controls do: they stay pinned to the bottom, never pushed off), under the
   pills on the sheet and under Mute / End on the desktop card, so a chip that comes or goes never moves a control. */
.v4-app[data-ui=next] .hcall-chips:empty,.mobile-app[data-ui=next] .hcall-chips:empty{display:none}
.v4-app[data-ui=next] .hcall-chips,.mobile-app[data-ui=next] .hcall-chips{flex:0 1 auto;min-width:0;min-height:0;overflow:hidden}
.v4-app[data-ui=next] .hcall-chips .hc-callchips,.mobile-app[data-ui=next] .hcall-chips .hc-callchips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:0;list-style:none;font-family:var(--gb-font);font-size:13.5px;line-height:18px}
.v4-app[data-ui=next] .hcall-chips .hc-callchip,.mobile-app[data-ui=next] .hcall-chips .hc-callchip{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;max-width:100%;min-height:32px;padding:6px 13px 6px 9px;border:1px solid transparent;border-radius:999px;box-shadow:none;font-size:13.5px;line-height:18px}
.v4-app[data-ui=next] .hcall-chips .hc-callchip__label,.mobile-app[data-ui=next] .hcall-chips .hc-callchip__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hcall-chips .hc-callchip__spin,.mobile-app[data-ui=next] .hcall-chips .hc-callchip__spin{flex:none;box-sizing:border-box;width:15px;height:15px;margin:0;border:2px solid var(--hcall-chip-track,rgba(255,255,255,.28));border-top-color:var(--hcall-chip-spin,#c0dbfb);border-radius:50%;animation:gbn-hcall-spin .9s linear infinite}
.v4-app[data-ui=next] .hcall-chips .hc-callchip .hc-callchip__icon,.mobile-app[data-ui=next] .hcall-chips .hc-callchip .hc-callchip__icon{flex:none;box-sizing:border-box;width:18px;height:18px;padding:3px;border-radius:50%;background:var(--hcall-chip-ok-bg,rgba(143,209,158,.22));color:var(--hcall-chip-ok,#a6e3b5);fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .hcall-chips .hc-sr,.mobile-app[data-ui=next] .hcall-chips .hc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* full screen: frosted glass on the call's blue, like the menu and collapse buttons */
.v4-app[data-ui=next] .hcall-chips--full,.mobile-app[data-ui=next] .hcall-chips--full{width:100%;max-width:356px;margin:20px auto 12px}
.v4-app[data-ui=next] .hcall-chips--full .hc-callchip,.mobile-app[data-ui=next] .hcall-chips--full .hc-callchip{border-color:rgba(214,232,240,.32);background:rgba(255,255,255,.13);color:#fff;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.v4-app[data-ui=next] .hcall-chips--full .hc-callchip[data-state=done],.mobile-app[data-ui=next] .hcall-chips--full .hc-callchip[data-state=done]{border-color:rgba(214,232,240,.18);background:rgba(255,255,255,.07);box-shadow:none;color:rgba(255,255,255,.86)}
/* the compact sheet: the pills' black */
.v4-app[data-ui=next] .hcall-chips--sheet,.mobile-app[data-ui=next] .hcall-chips--sheet{--hcall-chip-track:#3a3a3a;--hcall-chip-spin:#fff;--hcall-chip-ok-bg:rgba(143,209,158,.18);--hcall-chip-ok:#8fd19e;margin-top:16px}
.v4-app[data-ui=next] .hcall-chips--sheet .hc-callchip,.mobile-app[data-ui=next] .hcall-chips--sheet .hc-callchip{border-color:#2b2b2b;background:#121212;color:#fff}
/* a done chip keeps the sheet's black (the chat's own done chip is a light sage one) */
.v4-app[data-ui=next] .hcall-chips--sheet .hc-callchip[data-state=done],.mobile-app[data-ui=next] .hcall-chips--sheet .hc-callchip[data-state=done]{border-color:#2b2b2b;background:#121212;box-shadow:none;color:#d6d6d6}
/* the desktop card: the theme's own fills, left-aligned under Mute / End */
.v4-app[data-ui=next] .hcall-chips--card,.mobile-app[data-ui=next] .hcall-chips--card{--hcall-chip-track:var(--gb-hair-2);--hcall-chip-spin:var(--gb-sage-ink);--hcall-chip-ok-bg:color-mix(in srgb,var(--gb-sage) 30%,transparent);--hcall-chip-ok:var(--gb-sage-ink);margin-top:12px}
.v4-app[data-ui=next] .hcall-chips--card .hc-callchips,.mobile-app[data-ui=next] .hcall-chips--card .hc-callchips{justify-content:flex-start;gap:6px;font-size:13px}
.v4-app[data-ui=next] .hcall-chips--card .hc-callchip,.mobile-app[data-ui=next] .hcall-chips--card .hc-callchip{min-height:28px;padding:4px 11px 4px 8px;background:var(--gb-fill);color:var(--gb-ink);font-size:13px}
.v4-app[data-ui=next] .hcall-chips--card .hc-callchip[data-state=done],.mobile-app[data-ui=next] .hcall-chips--card .hc-callchip[data-state=done]{color:var(--gb-ink-2)}
@keyframes gbn-hcall-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .hcall-chips .hc-callchip__spin,.mobile-app[data-ui=next] .hcall-chips .hc-callchip__spin{animation:none;border-style:dotted;border-color:var(--hcall-chip-spin,#c0dbfb)}
}

/* ==========================================================================
   UI-NEXT · hybrid chat call log (ff:hybrid_chat, default off)
   --------------------------------------------------------------------------
   Drawn by src/hybrid-chat-call-view.js: the call log card in the main chat (message.call), the
   "Saving your call…" placeholder at the end of the main chat, and the "Working on it" chips the
   Home chat's call view shows during a call (GBNChatHooks.callStatus). The call view itself belongs
   to the Home chat. Builds on the .hc-card / .hc-pill / .hc-btn base in zz-next-hybrid-chat.css
   (this file sorts before it, so overrides carry an extra class). Every selector starts with
   .v4-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it); colour only from --gb-* tokens, so
   light and dark follow data-theme. "Working on it" chips after OpenDots (MIT, Atai Barkai), ideas
   only, no code copied. Body rows line up with the title: 16px padding + 28px mark + 10px gap = 54px.
   ========================================================================== */

.v4-app[data-ui=next] .hc-card.hc-call,.mobile-app[data-ui=next] .hc-card.hc-call{padding-bottom:14px}
.v4-app[data-ui=next] .hc-call__title,.mobile-app[data-ui=next] .hc-call__title{min-width:0;font-size:14px;font-weight:var(--gb-fw-semibold);overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-pill .hc-pill__icon,.mobile-app[data-ui=next] .hc-pill .hc-pill__icon{width:13px;height:13px;stroke-width:2.2}
.v4-app[data-ui=next] .hc-pill[data-tone=logged],.mobile-app[data-ui=next] .hc-pill[data-tone=logged],.v4-app[data-ui=next] .hc-pill[data-tone=done],.mobile-app[data-ui=next] .hc-pill[data-tone=done]{background:color-mix(in srgb,var(--gb-sage) 22%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .hc-pill[data-tone=done] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=done] .hc-pill__dot{background:var(--gb-sage)}
.v4-app[data-ui=next] .hc-pill[data-tone=failed],.mobile-app[data-ui=next] .hc-pill[data-tone=failed]{background:color-mix(in srgb,var(--gb-danger) 14%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .hc-pill[data-tone=failed] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=failed] .hc-pill__dot{background:var(--gb-danger)}
.v4-app[data-ui=next] .hc-call__summary,.mobile-app[data-ui=next] .hc-call__summary{margin:-4px 16px 0 54px;font-size:14px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-call__done,.mobile-app[data-ui=next] .hc-call__done,.v4-app[data-ui=next] .hc-call__files,.mobile-app[data-ui=next] .hc-call__files{margin:14px 16px 0 54px}
.v4-app[data-ui=next] .hc-call .hc-kicker,.mobile-app[data-ui=next] .hc-call .hc-kicker{margin:0 0 6px;color:var(--gb-ink-2)}

/* what got done */
.v4-app[data-ui=next] .hc-call__actions,.mobile-app[data-ui=next] .hc-call__actions{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .hc-call__action,.mobile-app[data-ui=next] .hc-call__action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .hc-call__action:first-child,.mobile-app[data-ui=next] .hc-call__action:first-child{border-top:0}
.v4-app[data-ui=next] .hc-call__action>.hc-pill,.mobile-app[data-ui=next] .hc-call__action>.hc-pill{margin-left:0}
.v4-app[data-ui=next] .hc-call__action-title,.mobile-app[data-ui=next] .hc-call__action-title{min-width:0;font-size:13.5px;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-call__tick,.mobile-app[data-ui=next] .hc-call__tick{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .hc-call__tick>.hc-icon,.mobile-app[data-ui=next] .hc-call__tick>.hc-icon{width:13px;height:13px;stroke-width:2.2}
.v4-app[data-ui=next] .hc-call__action:not([data-status=done]) .hc-call__tick>.hc-icon,.mobile-app[data-ui=next] .hc-call__action:not([data-status=done]) .hc-call__tick>.hc-icon{stroke-width:7}
.v4-app[data-ui=next] .hc-call__action[data-status=done] .hc-call__tick,.mobile-app[data-ui=next] .hc-call__action[data-status=done] .hc-call__tick{background:color-mix(in srgb,var(--gb-sage) 24%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .hc-call__action[data-status=working] .hc-call__tick,.mobile-app[data-ui=next] .hc-call__action[data-status=working] .hc-call__tick{color:var(--gb-sage)}
.v4-app[data-ui=next] .hc-call__action[data-status=needs_ok] .hc-call__tick,.mobile-app[data-ui=next] .hc-call__action[data-status=needs_ok] .hc-call__tick{color:var(--gb-ember)}
.v4-app[data-ui=next] .hc-call__action[data-status=failed] .hc-call__tick,.mobile-app[data-ui=next] .hc-call__action[data-status=failed] .hc-call__tick{color:var(--gb-danger)}

/* files from the call: a type badge, the name, Download */
.v4-app[data-ui=next] .hc-call__filelist,.mobile-app[data-ui=next] .hc-call__filelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .hc-file,.mobile-app[data-ui=next] .hc-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px 8px 8px 10px;border-radius:var(--gb-r-md);background:var(--gb-column);box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .hc-file__badge,.mobile-app[data-ui=next] .hc-file__badge{display:inline-grid;place-items:center;width:32px;height:38px;border-radius:5px 11px 5px 5px;background:var(--gb-fill-2);color:var(--gb-ink-2);font:var(--gb-fw-semibold) 9px/1 var(--gb-mono);letter-spacing:.04em}
.v4-app[data-ui=next] .hc-file[data-kind=pdf] .hc-file__badge,.mobile-app[data-ui=next] .hc-file[data-kind=pdf] .hc-file__badge{background:color-mix(in srgb,var(--gb-danger) 15%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .hc-file[data-kind=csv] .hc-file__badge,.mobile-app[data-ui=next] .hc-file[data-kind=csv] .hc-file__badge,.v4-app[data-ui=next] .hc-file[data-kind=xlsx] .hc-file__badge,.mobile-app[data-ui=next] .hc-file[data-kind=xlsx] .hc-file__badge{background:color-mix(in srgb,var(--gb-sage) 26%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .hc-file[data-kind=docx] .hc-file__badge,.mobile-app[data-ui=next] .hc-file[data-kind=docx] .hc-file__badge{background:color-mix(in srgb,var(--gb-owner-bubble) 15%,transparent);color:var(--gb-owner-bubble)}
.v4-app[data-ui=next] .hc-file[data-kind=png] .hc-file__badge,.mobile-app[data-ui=next] .hc-file[data-kind=png] .hc-file__badge{background:color-mix(in srgb,var(--gb-lav) 30%,transparent);color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .hc-file__text,.mobile-app[data-ui=next] .hc-file__text{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .hc-file__name,.mobile-app[data-ui=next] .hc-file__name{font-size:13px;font-weight:var(--gb-fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-file__type,.mobile-app[data-ui=next] .hc-file__type{font-size:11.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-btn.hc-file__get,.mobile-app[data-ui=next] .hc-btn.hc-file__get{height:30px;padding:0 12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0);text-decoration:none}
.v4-app[data-ui=next] .hc-btn.hc-file__get:hover,.mobile-app[data-ui=next] .hc-btn.hc-file__get:hover{background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .hc-file__none,.mobile-app[data-ui=next] .hc-file__none{padding:0 6px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}

/* the transcript, collapsed */
.v4-app[data-ui=next] .hc-call__transcript,.mobile-app[data-ui=next] .hc-call__transcript{margin:12px 16px 0 44px}
.v4-app[data-ui=next] .hc-call__toggle,.mobile-app[data-ui=next] .hc-call__toggle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--gb-r-full);color:var(--gb-ink-2);font-size:12.5px;font-weight:var(--gb-fw-medium);list-style:none;cursor:pointer}
.v4-app[data-ui=next] .hc-call__toggle::-webkit-details-marker,.mobile-app[data-ui=next] .hc-call__toggle::-webkit-details-marker{display:none}
.v4-app[data-ui=next] .hc-call__toggle:hover,.mobile-app[data-ui=next] .hc-call__toggle:hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-call__transcript[open] .hc-chevron,.mobile-app[data-ui=next] .hc-call__transcript[open] .hc-chevron{transform:rotate(90deg)}
.v4-app[data-ui=next] .hc-call__count,.mobile-app[data-ui=next] .hc-call__count{color:var(--gb-ink-2);font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .hc-call__count::before,.mobile-app[data-ui=next] .hc-call__count::before{content:"·";margin-right:6px}
.v4-app[data-ui=next] .hc-call__lines,.mobile-app[data-ui=next] .hc-call__lines{display:flex;flex-direction:column;gap:10px;max-height:360px;margin:6px 0 0 10px;padding:12px 14px;overflow-y:auto;border-radius:var(--gb-r-md);background:var(--gb-column);box-shadow:inset 0 0 0 1px var(--gb-hair);list-style:none}
.v4-app[data-ui=next] .hc-call__meta,.mobile-app[data-ui=next] .hc-call__meta{display:flex;align-items:baseline;gap:8px;font-size:11.5px;font-weight:var(--gb-fw-medium);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-call__line[data-who=owner] .hc-call__who,.mobile-app[data-ui=next] .hc-call__line[data-who=owner] .hc-call__who{color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-call__at,.mobile-app[data-ui=next] .hc-call__at{font:var(--gb-fw-regular) 11px/1 var(--gb-mono);color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hc-call__text,.mobile-app[data-ui=next] .hc-call__text{margin:2px 0 0;font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-call a:focus-visible,.mobile-app[data-ui=next] .hc-call a:focus-visible,.v4-app[data-ui=next] .hc-call summary:focus-visible,.mobile-app[data-ui=next] .hc-call summary:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* "Saving your call…" */
.v4-app[data-ui=next] .hc-call__saving,.mobile-app[data-ui=next] .hc-call__saving{display:flex;align-items:flex-start;gap:10px;margin:-4px 16px 0 54px;font-size:13.5px;line-height:1.5}
.v4-app[data-ui=next] .hc-call__saving-text,.mobile-app[data-ui=next] .hc-call__saving-text{display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next] .hc-call__saving strong,.mobile-app[data-ui=next] .hc-call__saving strong{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .hc-call__saving-note,.mobile-app[data-ui=next] .hc-call__saving-note{font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-call__spinner,.mobile-app[data-ui=next] .hc-call__spinner,.v4-app[data-ui=next] .hc-callchip__spin,.mobile-app[data-ui=next] .hc-callchip__spin{flex:none;box-sizing:border-box;width:16px;height:16px;margin-top:2px;border:2px solid var(--gb-hair-2);border-top-color:var(--gb-sage-ink);border-radius:50%;animation:gbn-hc-spin .9s linear infinite}
.v4-app[data-ui=next] .hc-call__skeleton,.mobile-app[data-ui=next] .hc-call__skeleton{display:flex;flex-direction:column;gap:8px;margin:14px 16px 2px 54px}
.v4-app[data-ui=next] .hc-call__skeleton>i,.mobile-app[data-ui=next] .hc-call__skeleton>i{display:block;height:10px;border-radius:var(--gb-r-full);background:linear-gradient(90deg,var(--gb-fill) 0%,var(--gb-fill-2) 50%,var(--gb-fill) 100%);background-size:200% 100%;animation:gbn-hc-shimmer 1.6s ease-in-out infinite}
.v4-app[data-ui=next] .hc-call__skeleton>i:nth-child(1),.mobile-app[data-ui=next] .hc-call__skeleton>i:nth-child(1){width:92%}
.v4-app[data-ui=next] .hc-call__skeleton>i:nth-child(2),.mobile-app[data-ui=next] .hc-call__skeleton>i:nth-child(2){width:74%}
.v4-app[data-ui=next] .hc-call__skeleton>i:nth-child(3),.mobile-app[data-ui=next] .hc-call__skeleton>i:nth-child(3){width:48%}
.v4-app[data-ui=next] .hc-call--saving[data-stale=true] .hc-call__skeleton>i,.mobile-app[data-ui=next] .hc-call--saving[data-stale=true] .hc-call__skeleton>i{animation:none}

/* "Working on it" chips (callStatus hook) */
.v4-app[data-ui=next] .hc-callchips,.mobile-app[data-ui=next] .hc-callchips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto;padding:0;list-style:none}
.v4-app[data-ui=next] .hc-callchip,.mobile-app[data-ui=next] .hc-callchip{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:34px;box-sizing:border-box;padding:6px 14px 6px 10px;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-size:13px;line-height:1.3}
.v4-app[data-ui=next] .hc-callchip .hc-callchip__spin,.mobile-app[data-ui=next] .hc-callchip .hc-callchip__spin{margin-top:0}
.v4-app[data-ui=next] .hc-callchip__label,.mobile-app[data-ui=next] .hc-callchip__label{min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-callchip[data-state=done],.mobile-app[data-ui=next] .hc-callchip[data-state=done]{background:color-mix(in srgb,var(--gb-sage) 16%,var(--gb-surface));box-shadow:var(--gb-shadow-0);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-callchip .hc-callchip__icon,.mobile-app[data-ui=next] .hc-callchip .hc-callchip__icon{width:18px;height:18px;padding:3px;box-sizing:border-box;border-radius:50%;background:color-mix(in srgb,var(--gb-sage) 30%,transparent);color:var(--gb-sage-ink);stroke-width:2.6}
@keyframes gbn-hc-spin{to{transform:rotate(360deg)}}
@keyframes gbn-hc-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* A narrow card (a phone, or the chat docked beside another page) puts "4 min · Phone" on a line of its own under
   "Call with your Manager", so no "·" is left hanging at the end of a line. The card is its own size container. */
.v4-app[data-ui=next] .hc-card.hc-call,.mobile-app[data-ui=next] .hc-card.hc-call{container-type:inline-size}
@container (max-width:520px){
  .v4-app[data-ui=next] .hc-call__title>.hc-call__sep,.mobile-app[data-ui=next] .hc-call__title>.hc-call__sep{display:none}
  .v4-app[data-ui=next] .hc-call__title>.hc-call__facts,.mobile-app[data-ui=next] .hc-call__title>.hc-call__facts{display:block;font-size:12.5px;font-weight:var(--gb-fw-regular);color:var(--gb-ink-2)}
}
@media (max-width:520px){
  .v4-app[data-ui=next] .hc-call__summary,.mobile-app[data-ui=next] .hc-call__summary,.v4-app[data-ui=next] .hc-call__done,.mobile-app[data-ui=next] .hc-call__done,.v4-app[data-ui=next] .hc-call__files,.mobile-app[data-ui=next] .hc-call__files,.v4-app[data-ui=next] .hc-call__saving,.mobile-app[data-ui=next] .hc-call__saving,.v4-app[data-ui=next] .hc-call__skeleton,.mobile-app[data-ui=next] .hc-call__skeleton{margin-left:12px;margin-right:12px}
  .v4-app[data-ui=next] .hc-call__summary,.mobile-app[data-ui=next] .hc-call__summary,.v4-app[data-ui=next] .hc-call__saving,.mobile-app[data-ui=next] .hc-call__saving{margin-top:0}
  .v4-app[data-ui=next] .hc-call__transcript,.mobile-app[data-ui=next] .hc-call__transcript{margin-left:4px;margin-right:12px}
  .v4-app[data-ui=next] .hc-call__lines,.mobile-app[data-ui=next] .hc-call__lines{margin-left:8px}
  .v4-app[data-ui=next] .hc-call__filelist,.mobile-app[data-ui=next] .hc-call__filelist{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .hc-call__action,.mobile-app[data-ui=next] .hc-call__action{grid-template-columns:auto minmax(0,1fr);gap:4px 10px}
  .v4-app[data-ui=next] .hc-call__action>.hc-pill,.mobile-app[data-ui=next] .hc-call__action>.hc-pill{grid-column:2;justify-self:start}
}
/* Touch: Download (30px) and Show transcript (32px) get 44px tap targets, as the .hc-btn base does. */
@media (max-width:767px),(pointer:coarse){
  .v4-app[data-ui=next] .hc-call__toggle,.mobile-app[data-ui=next] .hc-call__toggle{position:relative}
  .v4-app[data-ui=next] .hc-call__toggle::after,.mobile-app[data-ui=next] .hc-call__toggle::after{content:"";position:absolute;inset:-6px 0}
  .v4-app[data-ui=next] .hc-btn.hc-file__get::after,.mobile-app[data-ui=next] .hc-btn.hc-file__get::after{inset:-7px 0}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .hc-call__spinner,.mobile-app[data-ui=next] .hc-call__spinner,.v4-app[data-ui=next] .hc-callchip__spin,.mobile-app[data-ui=next] .hc-callchip__spin,.v4-app[data-ui=next] .hc-call__skeleton>i,.mobile-app[data-ui=next] .hc-call__skeleton>i{animation:none}
  .v4-app[data-ui=next] .hc-call__spinner,.mobile-app[data-ui=next] .hc-call__spinner,.v4-app[data-ui=next] .hc-callchip__spin,.mobile-app[data-ui=next] .hc-callchip__spin{border-style:dotted;border-color:var(--gb-sage-ink)}
}

/* ==========================================================================
   UI-NEXT · hybrid chat pieces (ff:hybrid_chat, default off; computer card also ff:agent_computer)
   --------------------------------------------------------------------------
   Drawn by src/hybrid-chat-view.js into the Home chat's empty-state slot, message hook, thread header,
   thread list and thread overview (src/hybrid-chat-hooks.js). The owner talks to one AI Manager: every card carries
   the Manager's mark and "Your Manager". Every class is .hc-*; every selector starts with
   .v4-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it). Colour only from --gb-* tokens, so
   light and dark follow data-theme. Ideas from OpenMuse and OpenDots (MIT); no code copied.
   ========================================================================== */

.v4-app[data-ui=next] .hc,.mobile-app[data-ui=next] .hc{box-sizing:border-box;width:100%;max-width:var(--gb-chat-max,720px);margin:0 auto;font-family:var(--gb-font);font-size:13px;line-height:1.45;color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-mount,.mobile-app[data-ui=next] .hc-mount{display:block;min-width:0}
.v4-app[data-ui=next] .hc-mount+.hc-mount,.mobile-app[data-ui=next] .hc-mount+.hc-mount{margin-top:12px}
.v4-app[data-ui=next] .hc button,.mobile-app[data-ui=next] .hc button{font-family:var(--gb-font)}
.v4-app[data-ui=next] .hc button:focus-visible,.mobile-app[data-ui=next] .hc button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .hc-icon,.mobile-app[data-ui=next] .hc-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .hc-kicker,.mobile-app[data-ui=next] .hc-kicker{margin:0 0 10px;font:var(--gb-fw-medium) 11px/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-sr,.mobile-app[data-ui=next] .hc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 1 · empty state: Your AI Manager ---------------------------------------------- */
.v4-app[data-ui=next] .hc-empty,.mobile-app[data-ui=next] .hc-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0 0;text-align:center}
.v4-app[data-ui=next] .hc-empty__title,.mobile-app[data-ui=next] .hc-empty__title{margin:0;font-size:24px;font-weight:var(--gb-fw-semibold);line-height:1.2;letter-spacing:-.02em;color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-empty__greeting,.mobile-app[data-ui=next] .hc-empty__greeting{margin:-6px 0 4px;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-chips,.mobile-app[data-ui=next] .hc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.v4-app[data-ui=next] .hc-chip,.mobile-app[data-ui=next] .hc-chip{display:inline-flex;align-items:center;height:32px;max-width:100%;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-chip:hover,.mobile-app[data-ui=next] .hc-chip:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .hc-chip:active,.mobile-app[data-ui=next] .hc-chip:active{transform:scale(.97)}
.v4-app[data-ui=next] .hc-chip>span,.mobile-app[data-ui=next] .hc-chip>span{overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .hc-recent,.mobile-app[data-ui=next] .hc-recent{width:100%;margin-top:10px;text-align:left}
.v4-app[data-ui=next] .hc-recent__list,.mobile-app[data-ui=next] .hc-recent__list{display:flex;gap:10px;margin:0;padding:2px 2px 6px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.v4-app[data-ui=next] .hc-recent__list>li,.mobile-app[data-ui=next] .hc-recent__list>li{flex:0 0 auto;scroll-snap-align:start}
.v4-app[data-ui=next] .hc-recent__item,.mobile-app[data-ui=next] .hc-recent__item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:200px;padding:12px 14px;border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:var(--gb-ink);text-align:left;cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-recent__item:hover,.mobile-app[data-ui=next] .hc-recent__item:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .hc-recent__kind,.mobile-app[data-ui=next] .hc-recent__kind{font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-recent__title,.mobile-app[data-ui=next] .hc-recent__title{width:100%;font-size:13px;font-weight:var(--gb-fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-recent__meta,.mobile-app[data-ui=next] .hc-recent__meta{font-size:12px;color:var(--gb-ink-2)}

/* cards in the transcript (started thread, work list, computer, review) ------------ */
.v4-app[data-ui=next] .hc-card,.mobile-app[data-ui=next] .hc-card{overflow:hidden;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .hc-card__head,.mobile-app[data-ui=next] .hc-card__head{display:flex;align-items:center;gap:10px;min-width:0;padding:14px 16px}
.v4-app[data-ui=next] .hc-card__who,.mobile-app[data-ui=next] .hc-card__who{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .hc-by,.mobile-app[data-ui=next] .hc-by{font-size:11.5px;font-weight:var(--gb-fw-medium);line-height:1.3;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-mgr,.mobile-app[data-ui=next] .hc-mgr{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .hc-mgr>.hc-icon,.mobile-app[data-ui=next] .hc-mgr>.hc-icon{width:15px;height:15px}
.v4-app[data-ui=next] .hc-card__actions,.mobile-app[data-ui=next] .hc-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px 14px}
.v4-app[data-ui=next] .hc-btn,.mobile-app[data-ui=next] .hc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-btn:hover,.mobile-app[data-ui=next] .hc-btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .hc-btn--primary,.mobile-app[data-ui=next] .hc-btn--primary{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .hc-btn--primary:hover,.mobile-app[data-ui=next] .hc-btn--primary:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .hc-btn--ghost,.mobile-app[data-ui=next] .hc-btn--ghost{background:transparent}
.v4-app[data-ui=next] .hc-btn--ghost:hover,.mobile-app[data-ui=next] .hc-btn--ghost:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .hc-btn:disabled,.mobile-app[data-ui=next] .hc-btn:disabled{cursor:default;opacity:.45}
.v4-app[data-ui=next] .hc-btn:disabled:hover,.mobile-app[data-ui=next] .hc-btn:disabled:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .hc-btn--primary:disabled:hover,.mobile-app[data-ui=next] .hc-btn--primary:disabled:hover{background:var(--gb-btn)}
.v4-app[data-ui=next] .hc-btn--ghost:disabled:hover,.mobile-app[data-ui=next] .hc-btn--ghost:disabled:hover{background:transparent}
.v4-app[data-ui=next] .hc-btn[aria-pressed=true],.mobile-app[data-ui=next] .hc-btn[aria-pressed=true]{opacity:1;box-shadow:inset 0 0 0 1.5px var(--gb-focus)}

/* status pill: Working / Needs your OK / Needs you / Done / Archived */
.v4-app[data-ui=next] .hc-pill,.mobile-app[data-ui=next] .hc-pill{display:inline-flex;align-items:center;gap:6px;flex:none;margin-left:auto;height:24px;padding:0 10px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);white-space:nowrap}
.v4-app[data-ui=next] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill__dot{width:7px;height:7px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .hc-pill[data-tone=working] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=working] .hc-pill__dot{background:var(--gb-sage);animation:gbn-hc-live 2.4s ease-out infinite}
.v4-app[data-ui=next] .hc-pill[data-tone=needs_you],.mobile-app[data-ui=next] .hc-pill[data-tone=needs_you],.v4-app[data-ui=next] .hc-pill[data-tone=needs_ok],.mobile-app[data-ui=next] .hc-pill[data-tone=needs_ok]{background:color-mix(in srgb,var(--gb-ember) 16%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .hc-pill[data-tone=needs_you] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=needs_you] .hc-pill__dot,.v4-app[data-ui=next] .hc-pill[data-tone=needs_ok] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=needs_ok] .hc-pill__dot{background:var(--gb-ember)}
.v4-app[data-ui=next] .hc-pill[data-tone=archived],.mobile-app[data-ui=next] .hc-pill[data-tone=archived]{background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-pill[data-tone=archived] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=archived] .hc-pill__dot{background:var(--gb-hair-2)}
@keyframes gbn-hc-live{0%{box-shadow:0 0 0 0 rgba(150,171,136,.55)}100%{box-shadow:0 0 0 6px rgba(150,171,136,0)}}

/* status dots in rows */
.v4-app[data-ui=next] .hc-row__dot,.mobile-app[data-ui=next] .hc-row__dot,.v4-app[data-ui=next] .hc-thread__dot,.mobile-app[data-ui=next] .hc-thread__dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] [data-status=working]>.hc-row>.hc-row__dot,.mobile-app[data-ui=next] [data-status=working]>.hc-row>.hc-row__dot,.v4-app[data-ui=next] .hc-thread[data-status=working]>.hc-thread__dot,.mobile-app[data-ui=next] .hc-thread[data-status=working]>.hc-thread__dot{background:var(--gb-sage);animation:gbn-hc-live 2.4s ease-out infinite}
.v4-app[data-ui=next] [data-status=needs_ok]>.hc-row>.hc-row__dot,.mobile-app[data-ui=next] [data-status=needs_ok]>.hc-row>.hc-row__dot,.v4-app[data-ui=next] .hc-thread[data-status=needs_ok]>.hc-thread__dot,.mobile-app[data-ui=next] .hc-thread[data-status=needs_ok]>.hc-thread__dot{background:var(--gb-ember)}
.v4-app[data-ui=next] [data-status=archived]>.hc-row>.hc-row__dot,.mobile-app[data-ui=next] [data-status=archived]>.hc-row>.hc-row__dot,.v4-app[data-ui=next] .hc-thread[data-status=archived]>.hc-thread__dot,.mobile-app[data-ui=next] .hc-thread[data-status=archived]>.hc-thread__dot{background:var(--gb-hair-2)}

/* 3 · "Your Manager started a thread" */
.v4-app[data-ui=next] .hc-started__open,.mobile-app[data-ui=next] .hc-started__open{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;width:100%;padding:14px 16px;border:0;background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-started__open:hover,.mobile-app[data-ui=next] .hc-started__open:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .hc-started__title,.mobile-app[data-ui=next] .hc-started__title{font-size:14px;font-weight:var(--gb-fw-semibold);overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-started__end,.mobile-app[data-ui=next] .hc-started__end{display:flex;flex:none;align-items:center;gap:12px;margin-left:auto}
.v4-app[data-ui=next] .hc-started__end>.hc-pill,.mobile-app[data-ui=next] .hc-started__end>.hc-pill{margin-left:0}
.v4-app[data-ui=next] .hc-started__go,.mobile-app[data-ui=next] .hc-started__go{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:var(--gb-fw-medium);color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .hc-started__open:hover .hc-started__go,.mobile-app[data-ui=next] .hc-started__open:hover .hc-started__go{color:var(--gb-ink)}

/* 3 · thread pointers ("Started a thread", "Sent to thread"): the whole card is one link-like button. .hc-card clips
   anything outside it, so these focus rings sit just inside the card edge instead of outside it. */
.v4-app[data-ui=next] .hc-started__open,.mobile-app[data-ui=next] .hc-started__open{border-radius:var(--gb-r-lg)}
.v4-app[data-ui=next] .hc-started button.hc-started__open:focus-visible,.mobile-app[data-ui=next] .hc-started button.hc-started__open:focus-visible{outline-offset:-2px}
.v4-app[data-ui=next] .hc-started__open:hover .hc-started__title,.mobile-app[data-ui=next] .hc-started__open:hover .hc-started__title,.v4-app[data-ui=next] .hc-pointer__open:hover .hc-pointer__title,.mobile-app[data-ui=next] .hc-pointer__open:hover .hc-pointer__title{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next] .hc-pointer,.mobile-app[data-ui=next] .hc-pointer{position:relative;z-index:0;display:flex;flex-wrap:wrap;align-items:center}
.v4-app[data-ui=next] .hc-pointer__open,.mobile-app[data-ui=next] .hc-pointer__open{display:flex;flex:1 1 240px;align-items:center;gap:10px;min-width:0;padding:12px 16px;border:0;background:transparent;color:var(--gb-ink);font-size:13px;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .hc-pointer__open::after,.mobile-app[data-ui=next] .hc-pointer__open::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--gb-r-lg);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-pointer__open:hover::after,.mobile-app[data-ui=next] .hc-pointer__open:hover::after{background:var(--gb-hover)}
.v4-app[data-ui=next] .hc-pointer button.hc-pointer__open:focus-visible,.mobile-app[data-ui=next] .hc-pointer button.hc-pointer__open:focus-visible{outline:none}
.v4-app[data-ui=next] .hc-pointer__open:focus-visible::after,.mobile-app[data-ui=next] .hc-pointer__open:focus-visible::after{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next] .hc-pointer__text,.mobile-app[data-ui=next] .hc-pointer__text{flex:1;min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-pointer__lead,.mobile-app[data-ui=next] .hc-pointer__lead{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-pointer__title,.mobile-app[data-ui=next] .hc-pointer__title{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .hc-pointer__open>.hc-icon,.mobile-app[data-ui=next] .hc-pointer__open>.hc-icon{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-pointer__open:hover>.hc-icon,.mobile-app[data-ui=next] .hc-pointer__open:hover>.hc-icon{color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-pointer__keep,.mobile-app[data-ui=next] .hc-pointer__keep{flex:none;margin:0 12px 0 0;padding:6px 8px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.v4-app[data-ui=next] .hc-pointer__keep:hover,.mobile-app[data-ui=next] .hc-pointer__keep:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-pointer__kept,.mobile-app[data-ui=next] .hc-pointer__kept{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:12px 16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-pointer__kept:focus,.mobile-app[data-ui=next] .hc-pointer__kept:focus{outline:none}
.v4-app[data-ui=next] .hc-pointer__kept:focus-visible,.mobile-app[data-ui=next] .hc-pointer__kept:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
@media (max-width:520px){
  .v4-app[data-ui=next] .hc-pointer__open,.mobile-app[data-ui=next] .hc-pointer__open{flex-basis:100%;padding-left:12px;padding-right:12px}
  .v4-app[data-ui=next] .hc-pointer__keep,.mobile-app[data-ui=next] .hc-pointer__keep{margin:-6px 0 8px 46px}
  .v4-app[data-ui=next] .hc-pointer__kept,.mobile-app[data-ui=next] .hc-pointer__kept{padding-left:12px;padding-right:12px}
}

/* 3 · What your Manager is working on */
.v4-app[data-ui=next] .hc-work__title,.mobile-app[data-ui=next] .hc-work__title{font-size:14px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .hc-work__summary,.mobile-app[data-ui=next] .hc-work__summary{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-work__list,.mobile-app[data-ui=next] .hc-work__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0 8px 8px;list-style:none}
.v4-app[data-ui=next] .hc-work__item+.hc-work__item,.mobile-app[data-ui=next] .hc-work__item+.hc-work__item{border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .hc-row,.mobile-app[data-ui=next] .hc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 8px 10px 18px;border:0;border-radius:var(--gb-r-md);background:transparent;color:var(--gb-ink);font-size:13px;text-align:left}
.v4-app[data-ui=next] button.hc-row,.mobile-app[data-ui=next] button.hc-row{cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] button.hc-row:hover,.mobile-app[data-ui=next] button.hc-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .hc-row__text,.mobile-app[data-ui=next] .hc-row__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .hc-row__title,.mobile-app[data-ui=next] .hc-row__title{font-size:13.5px;font-weight:var(--gb-fw-medium);overflow-wrap:anywhere}
.v4-app[data-ui=next] [data-status=done]>.hc-row .hc-row__title,.mobile-app[data-ui=next] [data-status=done]>.hc-row .hc-row__title,.v4-app[data-ui=next] [data-status=archived]>.hc-row .hc-row__title,.mobile-app[data-ui=next] [data-status=archived]>.hc-row .hc-row__title{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-row__note,.mobile-app[data-ui=next] .hc-row__note{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-row__result,.mobile-app[data-ui=next] .hc-row__result{font-size:12px;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-row__end,.mobile-app[data-ui=next] .hc-row__end{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.v4-app[data-ui=next] .hc-row__end>.hc-pill,.mobile-app[data-ui=next] .hc-row__end>.hc-pill{margin-left:0}
.v4-app[data-ui=next] .hc-row__time,.mobile-app[data-ui=next] .hc-row__time{font-size:11.5px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .hc-row__ok,.mobile-app[data-ui=next] .hc-row__ok{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 12px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font-size:12.5px;font-weight:var(--gb-fw-medium);white-space:nowrap}
.v4-app[data-ui=next] .hc-row__ok>.hc-icon,.mobile-app[data-ui=next] .hc-row__ok>.hc-icon{width:14px;height:14px}
.v4-app[data-ui=next] button.hc-row:hover .hc-row__ok,.mobile-app[data-ui=next] button.hc-row:hover .hc-row__ok{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .hc-work__more,.mobile-app[data-ui=next] .hc-work__more{margin:0;padding:0 16px 14px 56px;font-size:12px;color:var(--gb-ink-2)}

/* 3 · thread header */
.v4-app[data-ui=next] .hc-thread-head,.mobile-app[data-ui=next] .hc-thread-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 0 14px;border-bottom:1px solid var(--gb-hair);text-align:left}
.v4-app[data-ui=next] .hc-thread-head__back,.mobile-app[data-ui=next] .hc-thread-head__back{height:30px;margin:0 0 6px -12px;padding:0 12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-thread-head__back:hover,.mobile-app[data-ui=next] .hc-thread-head__back:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-thread-head>.hc-kicker,.mobile-app[data-ui=next] .hc-thread-head>.hc-kicker{margin:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-thread-head__line,.mobile-app[data-ui=next] .hc-thread-head__line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;min-width:0}
.v4-app[data-ui=next] .hc-thread-head__objective,.mobile-app[data-ui=next] .hc-thread-head__objective{min-width:0;margin:0;font-size:20px;font-weight:var(--gb-fw-semibold);line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-thread-head__line>.hc-pill,.mobile-app[data-ui=next] .hc-thread-head__line>.hc-pill{margin-left:0}
.v4-app[data-ui=next] .hc-thread-head[data-status=archived] .hc-thread-head__objective,.mobile-app[data-ui=next] .hc-thread-head[data-status=archived] .hc-thread-head__objective{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-thread-head__archived,.mobile-app[data-ui=next] .hc-thread-head__archived{margin:2px 0 0;font-size:12.5px;color:var(--gb-ink-2)}

/* 3 · thread list (sidebar or drawer) */
.v4-app[data-ui=next] .hc-threads,.mobile-app[data-ui=next] .hc-threads{text-align:left}
.v4-app[data-ui=next] .hc-threads>.hc-kicker,.mobile-app[data-ui=next] .hc-threads>.hc-kicker{padding:0 10px}
.v4-app[data-ui=next] .hc-threads__list,.mobile-app[data-ui=next] .hc-threads__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .hc-thread,.mobile-app[data-ui=next] .hc-thread{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font-size:13px;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-thread:hover,.mobile-app[data-ui=next] .hc-thread:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .hc-thread[aria-current=true],.mobile-app[data-ui=next] .hc-thread[aria-current=true]{background:var(--gb-fill);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .hc-thread__dot,.mobile-app[data-ui=next] .hc-thread__dot{width:7px;height:7px}
.v4-app[data-ui=next] .hc-thread__title,.mobile-app[data-ui=next] .hc-thread__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-thread__meta,.mobile-app[data-ui=next] .hc-thread__meta{font-size:11.5px;font-weight:var(--gb-fw-regular);color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .hc-thread__ok,.mobile-app[data-ui=next] .hc-thread__ok{font-weight:var(--gb-fw-medium);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .hc-threads__list[data-archived] .hc-thread,.mobile-app[data-ui=next] .hc-threads__list[data-archived] .hc-thread{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-threads__empty,.mobile-app[data-ui=next] .hc-threads__empty{margin:0;padding:4px 10px;font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-threads__archived,.mobile-app[data-ui=next] .hc-threads__archived{margin-top:10px;padding-top:8px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .hc-threads__toggle,.mobile-app[data-ui=next] .hc-threads__toggle{display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);font-size:12.5px;font-weight:var(--gb-fw-medium);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .hc-threads__toggle:hover,.mobile-app[data-ui=next] .hc-threads__toggle:hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-chevron,.mobile-app[data-ui=next] .hc-chevron{width:14px;height:14px;transition:transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-threads__toggle[aria-expanded=true] .hc-chevron,.mobile-app[data-ui=next] .hc-threads__toggle[aria-expanded=true] .hc-chevron{transform:rotate(90deg)}

/* 3b · thread overview: "Welcome back", then Waiting on you / Working / Idle / Resolved. The overview is its own
   size container, so a narrow side panel gets the phone layout as well. */
.v4-app[data-ui=next] .hc-ov,.mobile-app[data-ui=next] .hc-ov{container-type:inline-size;max-width:none;text-align:left}
.v4-app[data-ui=next] .hc-ov button:focus-visible,.mobile-app[data-ui=next] .hc-ov button:focus-visible{outline-offset:-2px}
.v4-app[data-ui=next] .hc-ov__head,.mobile-app[data-ui=next] .hc-ov__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 10px 18px}
.v4-app[data-ui=next] .hc-ov__intro,.mobile-app[data-ui=next] .hc-ov__intro{min-width:0}
.v4-app[data-ui=next] .hc-ov__hello,.mobile-app[data-ui=next] .hc-ov__hello{margin:0;font-size:22px;font-weight:var(--gb-fw-semibold);line-height:1.2;letter-spacing:var(--gb-tr-title);color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-ov__waiting,.mobile-app[data-ui=next] .hc-ov__waiting{margin:4px 0 0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-ov__spark,.mobile-app[data-ui=next] .hc-ov__spark{flex:none;width:120px;height:32px;margin-top:2px;overflow:visible}
.v4-app[data-ui=next] .hc-ov__spark-line,.mobile-app[data-ui=next] .hc-ov__spark-line{fill:none;stroke:var(--gb-sage);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .hc-ov__spark-dot,.mobile-app[data-ui=next] .hc-ov__spark-dot{fill:var(--gb-sage)}
.v4-app[data-ui=next] .hc-ov__group+.hc-ov__group,.mobile-app[data-ui=next] .hc-ov__group+.hc-ov__group{margin-top:6px}
.v4-app[data-ui=next] .hc-ov__ghead,.mobile-app[data-ui=next] .hc-ov__ghead{margin:0;font:inherit}
.v4-app[data-ui=next] .hc-ov__toggle,.mobile-app[data-ui=next] .hc-ov__toggle{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 10px;border:0;border-radius:var(--gb-r-xs);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-medium);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-ov__toggle:hover,.mobile-app[data-ui=next] .hc-ov__toggle:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .hc-ov__toggle>.hc-chevron,.mobile-app[data-ui=next] .hc-ov__toggle>.hc-chevron{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .hc-ov__toggle[aria-expanded=true] .hc-chevron,.mobile-app[data-ui=next] .hc-ov__toggle[aria-expanded=true] .hc-chevron{transform:rotate(90deg)}
.v4-app[data-ui=next] .hc-ov__count,.mobile-app[data-ui=next] .hc-ov__count{font-weight:var(--gb-fw-regular);color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hc-ov__list,.mobile-app[data-ui=next] .hc-ov__list{display:flex;flex-direction:column;margin:2px 0 0;padding:0;list-style:none}
.v4-app[data-ui=next] .hc-ov__row,.mobile-app[data-ui=next] .hc-ov__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"main meta time";align-items:center;column-gap:14px;width:100%;min-height:52px;padding:7px 10px 7px 34px;border:0;border-radius:var(--gb-r-xs);background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-ov__row:hover,.mobile-app[data-ui=next] .hc-ov__row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .hc-ov__row[aria-current=true],.mobile-app[data-ui=next] .hc-ov__row[aria-current=true]{background:var(--gb-select)}
.v4-app[data-ui=next] .hc-ov__main,.mobile-app[data-ui=next] .hc-ov__main{grid-area:main;display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .hc-ov__name,.mobile-app[data-ui=next] .hc-ov__name{font-size:13.5px;font-weight:var(--gb-fw-medium);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-ov__status,.mobile-app[data-ui=next] .hc-ov__status{font-size:12.5px;line-height:1.35;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-ov__status[data-tone=warn] .hc-ov__lead,.mobile-app[data-ui=next] .hc-ov__status[data-tone=warn] .hc-ov__lead{color:var(--gb-ember-ink);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .hc-ov__status[data-tone=run] .hc-ov__lead,.mobile-app[data-ui=next] .hc-ov__status[data-tone=run] .hc-ov__lead{color:var(--gb-ink-2);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .hc-ov__meta,.mobile-app[data-ui=next] .hc-ov__meta{grid-area:meta;display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .hc-ov__meta:empty,.mobile-app[data-ui=next] .hc-ov__meta:empty{display:none}
.v4-app[data-ui=next] .hc-ov__ring,.mobile-app[data-ui=next] .hc-ov__ring{display:inline-flex;align-items:center;gap:5px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hc-ov__ring-svg,.mobile-app[data-ui=next] .hc-ov__ring-svg{width:14px;height:14px;flex:none}
.v4-app[data-ui=next] .hc-ov__ring-track,.mobile-app[data-ui=next] .hc-ov__ring-track{fill:none;stroke:var(--gb-track);stroke-width:2}
.v4-app[data-ui=next] .hc-ov__ring-arc,.mobile-app[data-ui=next] .hc-ov__ring-arc{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.v4-app[data-ui=next] .hc-ov__ring[data-complete=true],.mobile-app[data-ui=next] .hc-ov__ring[data-complete=true]{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .hc-ov__badge,.mobile-app[data-ui=next] .hc-ov__badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:11.5px;font-weight:var(--gb-fw-medium);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hc-ov__badge[data-kind=pr],.mobile-app[data-ui=next] .hc-ov__badge[data-kind=pr]{background:color-mix(in srgb,var(--gb-lav) 26%,transparent);color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .hc-ov__badge>.hc-icon,.mobile-app[data-ui=next] .hc-ov__badge>.hc-icon{width:12px;height:12px}
.v4-app[data-ui=next] .hc-ov__time,.mobile-app[data-ui=next] .hc-ov__time{grid-area:time;min-width:30px;font-size:12px;color:var(--gb-ink-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .hc-ov__more,.mobile-app[data-ui=next] .hc-ov__more{display:block;min-height:32px;margin:2px auto 6px;padding:0 14px;border:0;border-radius:var(--gb-r-xs);background:transparent;color:var(--gb-ink-2);font-size:12.5px;font-weight:var(--gb-fw-medium);cursor:pointer}
.v4-app[data-ui=next] .hc-ov__more:hover,.mobile-app[data-ui=next] .hc-ov__more:hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-ov__empty,.mobile-app[data-ui=next] .hc-ov__empty{margin:0;padding:8px 10px;font-size:13px;color:var(--gb-ink-2)}
@container (max-width:520px){
  .v4-app[data-ui=next] .hc-ov__head,.mobile-app[data-ui=next] .hc-ov__head{padding:2px 4px 14px}
  .v4-app[data-ui=next] .hc-ov__hello,.mobile-app[data-ui=next] .hc-ov__hello{font-size:20px}
  .v4-app[data-ui=next] .hc-ov__spark,.mobile-app[data-ui=next] .hc-ov__spark{width:84px}
  .v4-app[data-ui=next] .hc-ov__toggle,.mobile-app[data-ui=next] .hc-ov__toggle,.v4-app[data-ui=next] .hc-ov__more,.mobile-app[data-ui=next] .hc-ov__more{min-height:40px}
  .v4-app[data-ui=next] .hc-ov__row,.mobile-app[data-ui=next] .hc-ov__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main time" "meta meta";row-gap:4px;padding:8px 8px 8px 30px}
  .v4-app[data-ui=next] .hc-ov__time,.mobile-app[data-ui=next] .hc-ov__time{align-self:start;padding-top:1px}
  .v4-app[data-ui=next] .hc-ov__meta,.mobile-app[data-ui=next] .hc-ov__meta{justify-content:flex-start}
  .v4-app[data-ui=next] .hc-ov__status[data-tone=warn],.mobile-app[data-ui=next] .hc-ov__status[data-tone=warn]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
}

/* 3 · "↗ Sent to a thread" under the owner's own message. It takes the colour of whatever holds it (the message row or
   the bubble itself), so it reads on the owner's bubble colour as well as on the page. */
.v4-app[data-ui=next] .hc-note,.mobile-app[data-ui=next] .hc-note{display:flex;justify-content:flex-end;max-width:none;margin:2px 0 0;color:inherit}
.v4-app[data-ui=next] .hc-note__open,.mobile-app[data-ui=next] .hc-note__open{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 6px;border:0;border-radius:var(--gb-r-xs);background:transparent;color:inherit;opacity:.8;font-size:12px;cursor:pointer;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .hc-note__open:hover,.mobile-app[data-ui=next] .hc-note__open:hover{opacity:1;text-decoration:underline;text-underline-offset:2px}
.v4-app[data-ui=next] .hc-note__open>.hc-icon,.mobile-app[data-ui=next] .hc-note__open>.hc-icon{width:13px;height:13px}

/* 2 · computer card */
.v4-app[data-ui=next] .hc-computer__doing,.mobile-app[data-ui=next] .hc-computer__doing{min-width:0;font-weight:var(--gb-fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .hc-computer__screen,.mobile-app[data-ui=next] .hc-computer__screen{position:relative;display:flex;aspect-ratio:16/10;margin:0 16px;overflow:hidden;border-radius:var(--gb-r-md);background:var(--gb-column);box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .hc-computer[data-hc-control=owner] .hc-computer__screen,.mobile-app[data-ui=next] .hc-computer[data-hc-control=owner] .hc-computer__screen{box-shadow:inset 0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .hc-computer__frame,.mobile-app[data-ui=next] .hc-computer__frame{flex:1;width:100%;height:100%;border:0;display:block;background:#000}
.v4-app[data-ui=next] .hc-computer__noframe,.mobile-app[data-ui=next] .hc-computer__noframe{margin:auto;padding:16px;font-size:12.5px;color:var(--gb-ink-2);text-align:center}
.v4-app[data-ui=next] .hc-computer__badge,.mobile-app[data-ui=next] .hc-computer__badge{position:absolute;left:10px;bottom:10px;padding:3px 9px;border-radius:var(--gb-r-full);background:var(--gb-hud);color:var(--gb-hud-ink);font-size:11.5px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .hc-computer .hc-btn--ghost,.mobile-app[data-ui=next] .hc-computer .hc-btn--ghost{margin-left:auto}

/* 2b · the business computer (side panel, or after the last message) */
.v4-app[data-ui=next] .hc-mount[hidden],.mobile-app[data-ui=next] .hc-mount[hidden]{display:none}
.v4-app[data-ui=next] .hc-machine .hc-card__who>.hc-by,.mobile-app[data-ui=next] .hc-machine .hc-card__who>.hc-by{font-size:13px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-machine__detail,.mobile-app[data-ui=next] .hc-machine__detail{min-width:0;font-size:12px;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-machine__meta,.mobile-app[data-ui=next] .hc-machine__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:8px 16px 0;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-machine__meta:empty,.mobile-app[data-ui=next] .hc-machine__meta:empty{display:none}
.v4-app[data-ui=next] .hc-machine__usage,.mobile-app[data-ui=next] .hc-machine__usage{font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .hc-machine__review,.mobile-app[data-ui=next] .hc-machine__review{margin:10px 16px 0}
.v4-app[data-ui=next] .hc-machine__review>.hc-card,.mobile-app[data-ui=next] .hc-machine__review>.hc-card{box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next] .hc-machine .hc-btn--ghost,.mobile-app[data-ui=next] .hc-machine .hc-btn--ghost{margin-left:0}
.v4-app[data-ui=next] .hc-machine .hc-machine__stop,.mobile-app[data-ui=next] .hc-machine .hc-machine__stop{margin-left:auto}
.v4-app[data-ui=next] .hc-machine__error,.mobile-app[data-ui=next] .hc-machine__error{margin:-6px 16px 12px;font-size:12px;color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .hc-machine__error:empty,.mobile-app[data-ui=next] .hc-machine__error:empty{display:none}
.v4-app[data-ui=next] .anna-chat-end>.hc-mount,.mobile-app[data-ui=next] .anna-chat-end>.hc-mount{margin:12px 0 4px}
/* In Home's side pane (its own surface) the computer is the pane's first section, not a card on a card. */
.v4-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine,.mobile-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine{border-radius:0;background:transparent;box-shadow:none}
.v4-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine .hc-card__head,.mobile-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine .hc-card__head{padding:16px 16px 10px}
.v4-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine .hc-computer__screen,.mobile-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine .hc-computer__screen{aspect-ratio:4/3}
.v4-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine .hc-card__actions,.mobile-app[data-ui=next] .anna-side-panel>.hc-mount>.hc-machine .hc-card__actions{gap:6px}
.v4-app[data-ui=next] .anna-side-panel>.hc-mount:not([hidden])~.hcall-mount .hcall-panel,.mobile-app[data-ui=next] .anna-side-panel>.hc-mount:not([hidden])~.hcall-mount .hcall-panel{border-top:1px solid var(--gb-hair)}

/* 4 · review before send */
.v4-app[data-ui=next] .hc-review__kind,.mobile-app[data-ui=next] .hc-review__kind{flex:none;padding:2px 8px;border-radius:var(--gb-r-full);background:var(--gb-fill);font:var(--gb-fw-medium) 10.5px/1.5 var(--gb-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-review__title,.mobile-app[data-ui=next] .hc-review__title{min-width:0;font-weight:var(--gb-fw-semibold);overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-review__to,.mobile-app[data-ui=next] .hc-review__to{margin:-6px 16px 8px 54px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-review__body,.mobile-app[data-ui=next] .hc-review__body{margin:0 16px;padding:12px 14px;border-radius:var(--gb-r-md);background:var(--gb-column);box-shadow:inset 0 0 0 1px var(--gb-hair);white-space:pre-line;overflow-wrap:anywhere;line-height:1.55}
.v4-app[data-ui=next] .hc-review__lines,.mobile-app[data-ui=next] .hc-review__lines{margin:10px 16px 0;padding:0}
.v4-app[data-ui=next] .hc-review__lines>div,.mobile-app[data-ui=next] .hc-review__lines>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .hc-review__lines dt,.mobile-app[data-ui=next] .hc-review__lines dt{min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-review__lines dd,.mobile-app[data-ui=next] .hc-review__lines dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .hc-review__total,.mobile-app[data-ui=next] .hc-review__total{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .hc-review__status,.mobile-app[data-ui=next] .hc-review__status{flex-basis:100%;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-review__status:focus,.mobile-app[data-ui=next] .hc-review__status:focus{outline:none}
.v4-app[data-ui=next] .hc-review[data-hc-decided=approve] .hc-review__status,.mobile-app[data-ui=next] .hc-review[data-hc-decided=approve] .hc-review__status{color:var(--gb-sage-ink)}

@media (max-width:520px){
  .v4-app[data-ui=next] .hc-empty__title,.mobile-app[data-ui=next] .hc-empty__title{font-size:22px}
  .v4-app[data-ui=next] .hc-computer__screen,.mobile-app[data-ui=next] .hc-computer__screen{aspect-ratio:4/3;margin:0 12px}
  .v4-app[data-ui=next] .hc-card__head,.mobile-app[data-ui=next] .hc-card__head,.v4-app[data-ui=next] .hc-card__actions,.mobile-app[data-ui=next] .hc-card__actions,.v4-app[data-ui=next] .hc-started__open,.mobile-app[data-ui=next] .hc-started__open{padding-left:12px;padding-right:12px}
  .v4-app[data-ui=next] .hc-computer .hc-btn--ghost,.mobile-app[data-ui=next] .hc-computer .hc-btn--ghost{margin-left:0}
  .v4-app[data-ui=next] .hc-review__body,.mobile-app[data-ui=next] .hc-review__body,.v4-app[data-ui=next] .hc-review__lines,.mobile-app[data-ui=next] .hc-review__lines{margin-left:12px;margin-right:12px}
  .v4-app[data-ui=next] .hc-review__to,.mobile-app[data-ui=next] .hc-review__to{margin-left:50px}
  .v4-app[data-ui=next] .hc-started__end,.mobile-app[data-ui=next] .hc-started__end{width:100%;justify-content:space-between;padding-left:40px}
  .v4-app[data-ui=next] .hc-work__list,.mobile-app[data-ui=next] .hc-work__list{padding:0 4px 6px}
  .v4-app[data-ui=next] .hc-row,.mobile-app[data-ui=next] .hc-row{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:10px 8px 10px 14px}
  .v4-app[data-ui=next] .hc-row__end,.mobile-app[data-ui=next] .hc-row__end{grid-column:2;flex-direction:row;align-items:center;gap:10px}
  .v4-app[data-ui=next] .hc-work__more,.mobile-app[data-ui=next] .hc-work__more{padding-left:44px}
}
/* Touch: every control gets a tap target of at least 44px. Buttons keep their look; a clear band above and below the
   small ones makes up the height (::after, inside the control, so a tap there is a tap on it). */
@media (max-width:767px),(pointer:coarse){
  .v4-app[data-ui=next] .hc-btn,.mobile-app[data-ui=next] .hc-btn,.v4-app[data-ui=next] .hc-chip,.mobile-app[data-ui=next] .hc-chip,.v4-app[data-ui=next] .hc-pointer__keep,.mobile-app[data-ui=next] .hc-pointer__keep,.v4-app[data-ui=next] .hc-note__open,.mobile-app[data-ui=next] .hc-note__open{position:relative}
  .v4-app[data-ui=next] .hc-btn::after,.mobile-app[data-ui=next] .hc-btn::after,.v4-app[data-ui=next] .hc-chip::after,.mobile-app[data-ui=next] .hc-chip::after,.v4-app[data-ui=next] .hc-pointer__keep::after,.mobile-app[data-ui=next] .hc-pointer__keep::after,.v4-app[data-ui=next] .hc-note__open::after,.mobile-app[data-ui=next] .hc-note__open::after{content:"";position:absolute;inset:-6px 0}
  .v4-app[data-ui=next] .hc-chip,.mobile-app[data-ui=next] .hc-chip{height:36px}
  .v4-app[data-ui=next] .hc-chip::after,.mobile-app[data-ui=next] .hc-chip::after{inset:-4px 0}
  .v4-app[data-ui=next] .hc-pointer__keep::after,.mobile-app[data-ui=next] .hc-pointer__keep::after{inset:-8px 0}
  .v4-app[data-ui=next] .hc-note__open::after,.mobile-app[data-ui=next] .hc-note__open::after{inset:-10px 0}
  .v4-app[data-ui=next] .hc-ov__toggle,.mobile-app[data-ui=next] .hc-ov__toggle,.v4-app[data-ui=next] .hc-ov__more,.mobile-app[data-ui=next] .hc-ov__more,.v4-app[data-ui=next] .hc-thread,.mobile-app[data-ui=next] .hc-thread{min-height:44px}
  .v4-app[data-ui=next] .hc-threads__toggle,.mobile-app[data-ui=next] .hc-threads__toggle{height:44px}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .hc-pill[data-tone=working] .hc-pill__dot,.mobile-app[data-ui=next] .hc-pill[data-tone=working] .hc-pill__dot,.v4-app[data-ui=next] [data-status=working]>.hc-row>.hc-row__dot,.mobile-app[data-ui=next] [data-status=working]>.hc-row>.hc-row__dot,.v4-app[data-ui=next] .hc-thread[data-status=working]>.hc-thread__dot,.mobile-app[data-ui=next] .hc-thread[data-status=working]>.hc-thread__dot{animation:none}
}

/* Step checklist (ff.thread_checklist, default off; src/hybrid-chat-view.js renderSteps / stepPips): done a sage filled check,
   running a blue spinner, not started a dashed circle, failed a red cross with its title in red, skipped grey and struck through. */
.v4-app[data-ui=next] .hc-steps,.mobile-app[data-ui=next] .hc-steps{margin:10px 0 0;border:1px solid var(--gb-hair);border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-0);overflow:hidden}
.v4-app[data-ui=next] .hc-steps__head,.mobile-app[data-ui=next] .hc-steps__head{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 14px;border:0;background:transparent;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .hc-steps__head:hover,.mobile-app[data-ui=next] .hc-steps__head:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .hc-steps__title,.mobile-app[data-ui=next] .hc-steps__title{font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .hc-steps__count,.mobile-app[data-ui=next] .hc-steps__count{font-size:12.5px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hc-steps__head>.hc-chevron,.mobile-app[data-ui=next] .hc-steps__head>.hc-chevron{margin-left:auto;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .hc-steps__head[aria-expanded=true]>.hc-chevron,.mobile-app[data-ui=next] .hc-steps__head[aria-expanded=true]>.hc-chevron{transform:rotate(90deg)}
.v4-app[data-ui=next] .hc-steps__list,.mobile-app[data-ui=next] .hc-steps__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:2px 14px 12px;list-style:none}
.v4-app[data-ui=next] .hc-step,.mobile-app[data-ui=next] .hc-step{display:flex;align-items:flex-start;gap:10px;padding:4px 0;font-size:13.5px;line-height:20px;color:var(--gb-ink)}
.v4-app[data-ui=next] .hc-step__mark,.mobile-app[data-ui=next] .hc-step__mark,.v4-app[data-ui=next] .hc-pip,.mobile-app[data-ui=next] .hc-pip{flex:none;box-sizing:border-box;border-radius:50%}
.v4-app[data-ui=next] .hc-step__mark,.mobile-app[data-ui=next] .hc-step__mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;border:1.5px dashed var(--gb-ink-3)}
.v4-app[data-ui=next] .hc-step__mark>.hc-icon,.mobile-app[data-ui=next] .hc-step__mark>.hc-icon{width:13px;height:13px;stroke:currentColor;stroke-width:2.6;fill:none}
.v4-app[data-ui=next] .hc-step[data-state=done]>.hc-step__mark,.mobile-app[data-ui=next] .hc-step[data-state=done]>.hc-step__mark,.v4-app[data-ui=next] .hc-pip[data-state=done],.mobile-app[data-ui=next] .hc-pip[data-state=done]{border:0;background:var(--gb-sage);color:#fff}
.v4-app[data-ui=next] .hc-step[data-state=running]>.hc-step__mark,.mobile-app[data-ui=next] .hc-step[data-state=running]>.hc-step__mark,.v4-app[data-ui=next] .hc-pip[data-state=running],.mobile-app[data-ui=next] .hc-pip[data-state=running]{border:2px solid var(--gb-track);border-top-color:var(--gb-owner-bubble);animation:gbn-hc-spin .9s linear infinite}
.v4-app[data-ui=next] .hc-step[data-state=failed]>.hc-step__mark,.mobile-app[data-ui=next] .hc-step[data-state=failed]>.hc-step__mark,.v4-app[data-ui=next] .hc-pip[data-state=failed],.mobile-app[data-ui=next] .hc-pip[data-state=failed]{border:0;background:var(--gb-danger);color:#fff}
.v4-app[data-ui=next] .hc-step[data-state=failed]>.hc-step__title,.mobile-app[data-ui=next] .hc-step[data-state=failed]>.hc-step__title,.v4-app[data-ui=next] .hc-pips__now[data-state=failed],.mobile-app[data-ui=next] .hc-pips__now[data-state=failed]{color:var(--gb-danger)}
.v4-app[data-ui=next] .hc-step[data-state=skipped]>.hc-step__mark,.mobile-app[data-ui=next] .hc-step[data-state=skipped]>.hc-step__mark,.v4-app[data-ui=next] .hc-pip[data-state=skipped],.mobile-app[data-ui=next] .hc-pip[data-state=skipped]{border:1.5px solid var(--gb-ink-3);background:linear-gradient(var(--gb-ink-3),var(--gb-ink-3)) center/8px 1.5px no-repeat}
.v4-app[data-ui=next] .hc-step[data-state=skipped]>.hc-step__title,.mobile-app[data-ui=next] .hc-step[data-state=skipped]>.hc-step__title{color:var(--gb-ink-3);text-decoration:line-through}
.v4-app[data-ui=next] .hc-step[data-state=todo]>.hc-step__title,.mobile-app[data-ui=next] .hc-step[data-state=todo]>.hc-step__title{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .hc-step__title,.mobile-app[data-ui=next] .hc-step__title{min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .hc-pips,.mobile-app[data-ui=next] .hc-pips{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.v4-app[data-ui=next] .hc-pips__row,.mobile-app[data-ui=next] .hc-pips__row{display:inline-flex;align-items:center;gap:3px}
.v4-app[data-ui=next] .hc-pip,.mobile-app[data-ui=next] .hc-pip{display:inline-block;width:10px;height:10px;border:1.5px dashed var(--gb-ink-3)}
.v4-app[data-ui=next] .hc-pip[data-state=running],.mobile-app[data-ui=next] .hc-pip[data-state=running]{border-width:1.5px}
.v4-app[data-ui=next] .hc-pips__count,.mobile-app[data-ui=next] .hc-pips__count{font-size:12px;font-weight:var(--gb-fw-medium);color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .hc-pips__now,.mobile-app[data-ui=next] .hc-pips__now{min-width:0;font-size:12.5px;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:36ch}
@keyframes gbn-hc-spin{to{transform:rotate(360deg)}}
/* A wide screen keeps the open thread's header and its steps in view while the thread scrolls under them. */
@media (min-width:768px){
  .v4-app[data-ui=next] .anna-sidechat .anna-thread-header:has(.hc-steps),.mobile-app[data-ui=next] .anna-sidechat .anna-thread-header:has(.hc-steps){position:sticky;top:-8px;z-index:2;margin:-8px -16px 0;padding:8px 16px 4px;background:var(--gb-column)}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .hc-step[data-state=running]>.hc-step__mark,.mobile-app[data-ui=next] .hc-step[data-state=running]>.hc-step__mark,.v4-app[data-ui=next] .hc-pip[data-state=running],.mobile-app[data-ui=next] .hc-pip[data-state=running]{animation:none;border-color:var(--gb-owner-bubble);border-style:dotted}
}

/* inside the full-screen Home chat (src/assistant.html slots) ------------------------- */
/* A piece mounted ahead of its content (the Home empty slot's "Recent results") takes no room while empty. */
.v4-app[data-ui=next] .hc-mount:empty,.mobile-app[data-ui=next] .hc-mount:empty{display:none}
/* A card that stands in for its line's own server text ("Started a thread: …", "Sent to thread: …", "Thread done: …",
   "Call logged: …"; src/hybrid-chat-hooks.js marks its box) shows alone, so the line is not said twice. */
.v4-app[data-ui=next] .anna-fallback-log>p.is-ai:has(+.anna-fallback-extra>.hc-mount[data-hc-replaces-text]),.mobile-app[data-ui=next] .anna-fallback-log>p.is-ai:has(+.anna-fallback-extra>.hc-mount[data-hc-replaces-text]),.v4-app[data-ui=next] .anna-fallback-log>p.is-ai:has(+.anna-thread-card+.anna-fallback-extra>.hc-mount[data-hc-replaces-text]),.mobile-app[data-ui=next] .anna-fallback-log>p.is-ai:has(+.anna-thread-card+.anna-fallback-extra>.hc-mount[data-hc-replaces-text]){display:none}
/* The same goes for Home's own link card under such a line ("Thread started by …" / "Sent to thread" with View thread
   and Keep in main chat): the hybrid card carries the same open and keep actions. */
.v4-app[data-ui=next] .anna-fallback-log>.anna-thread-card:has(+.anna-fallback-extra>.hc-mount[data-hc-replaces-text]),.mobile-app[data-ui=next] .anna-fallback-log>.anna-thread-card:has(+.anna-fallback-extra>.hc-mount[data-hc-replaces-text]){display:none}
/* Home's top bar already carries "← Main chat" (.anna-dot-back) whenever the thread header slot shows, so the header
   does not offer a second way back. */
.v4-app[data-ui=next] .anna-thread-header .hc-thread-head__back,.mobile-app[data-ui=next] .anna-thread-header .hc-thread-head__back{display:none}
/* The sidebar names its own sections in sentence case ("Projects", "Recents"); the list's mono kicker stays for
   screen readers only. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .hc-threads>.hc-kicker,.mobile-app[data-ui=next] .anna-chatkit-sidebar .hc-threads>.hc-kicker{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* The sidebar scrolls (overflow:auto), so an outside focus ring is cut off at its edges: draw it inside the row. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .hc-threads button:focus-visible,.mobile-app[data-ui=next] .anna-chatkit-sidebar .hc-threads button:focus-visible{outline-offset:-2px}
/* A narrow list keeps the title readable: the "25 min ago" time goes first ("Needs your OK" stays). */
.v4-app[data-ui=next] .hc-threads,.mobile-app[data-ui=next] .hc-threads{container-type:inline-size}
@container (max-width:300px){
  .v4-app[data-ui=next] .hc-thread__time,.mobile-app[data-ui=next] .hc-thread__time{display:none}
  .v4-app[data-ui=next] .hc-thread,.mobile-app[data-ui=next] .hc-thread{gap:8px}
}

/* ff.chat.inline_reply (default off): iMessage-style replies in the built-in Manager transcript. The quote of the answered
   message sits above the reply, joined to it by a curved line; the answered message shows "1 reply". Without the flag none of
   these classes or controls are rendered. */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log:has(>.anna-reply-rails){position:relative;isolation:isolate;overflow-x:clip}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-rails{position:absolute;top:0;left:0;width:100%;z-index:-1;pointer-events:none;color:var(--gb-ink-3);opacity:.55}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-rails svg{display:block;overflow:visible}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-rails path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-replyable{position:relative;touch-action:pan-y;transform:translateX(var(--anna-swipe,0px));transition:transform var(--gb-dur-2) var(--gb-ease),box-shadow var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-replyable[data-swipe]{transition:none}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p[data-flash=true]{animation:gbn-reply-flash 1.6s var(--gb-ease)}
@keyframes gbn-reply-flash{0%,35%{box-shadow:0 0 0 2px var(--gb-focus),0 0 0 6px color-mix(in srgb,var(--gb-focus) 22%,transparent)}100%{box-shadow:0 0 0 .5px var(--gb-hair)}}
/* the reply arrow that slides in from the left while a bubble is swiped right */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-swipe-hint{position:absolute;top:50%;left:calc(-1 * var(--anna-swipe,0px) - 4px);display:none;place-items:center;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);transform:scale(.7);transition:transform var(--gb-dur-1) var(--gb-ease),background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p[data-swipe]>.anna-swipe-hint{display:grid}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p[data-swipe=armed]>.anna-swipe-hint{transform:scale(1);background:var(--gb-owner-bubble);color:var(--gb-owner-bubble-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log :is(.anna-swipe-hint,.anna-reply-action) svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p:not(.is-replyable)>.anna-swipe-hint{display:none}
/* Reply on a computer: a small round button on the bubble's top corner, shown on hover or keyboard focus */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-reply-action{position:absolute;top:-12px;inset-inline-end:10px;display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:50%;background:var(--gb-raised);color:var(--gb-ink-2);box-shadow:var(--gb-shadow-1);opacity:0;pointer-events:none;cursor:pointer;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-user>.anna-reply-action{inset-inline-end:auto;inset-inline-start:10px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-reply-action:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--gb-focus);outline-offset:2px}
@media (hover:hover){
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p:hover>.anna-reply-action{opacity:1;pointer-events:auto}
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p>.anna-reply-action:hover{color:var(--gb-ink);background:var(--gb-surface)}
}
@media (hover:none) and (pointer:coarse){
  /* phones: swipe or long-press instead; the long-press menu has Copy, so the system text callout is not needed here */
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-replyable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
}
/* the quote above a reply, and the line that joins it to the reply below */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote{position:relative;display:flex;flex-direction:column;gap:2px;align-self:flex-end;max-width:min(72%,420px);margin:0 30px 0 0;padding:7px 12px 8px;border:0;border-radius:14px;background:var(--gb-fill);color:var(--gb-ink-2);text-align:start;font:var(--gb-fs-13)/1.4 var(--gb-font);cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote[data-side=ai]{align-self:flex-start;margin:0 0 0 30px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote[data-from=user]{background:color-mix(in srgb,var(--gb-owner-bubble) 9%,var(--gb-fill))}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote::after{content:"";position:absolute;top:50%;right:-20px;width:20px;height:calc(50% + 12px);border:solid color-mix(in srgb,var(--gb-ink-3) 55%,transparent);border-width:1.5px 1.5px 0 0;border-top-right-radius:14px;pointer-events:none}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote[data-side=ai]::after{right:auto;left:-20px;border-width:1.5px 0 0 1.5px;border-top-right-radius:0;border-top-left-radius:14px}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-quote-who{font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-quote-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-quote+p.has-reply{margin-top:-6px}
/* "1 reply" under the answered message: tap to jump down to the reply */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-count{align-self:flex-start;margin:-8px 0 0 6px;padding:2px 6px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-3);font:var(--gb-fw-medium) var(--gb-fs-12)/1.3 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-count[data-side=user]{align-self:flex-end;margin:-8px 6px 0 0}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>.anna-reply-count:hover{color:var(--gb-ink);background:var(--gb-fill)}
/* composer: "Replying to …" above the input until it is sent or cancelled */
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-reply-chip{display:flex;align-items:center;gap:10px;margin:0 6px 8px;padding:8px 8px 8px 12px;border-radius:14px;background:var(--gb-fill);border-inline-start:3px solid var(--gb-owner-bubble)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-chip-body{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-chip-body strong{font:var(--gb-fw-medium) var(--gb-fs-12)/1.3 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-chip-body small{font:var(--gb-fs-13)/1.35 var(--gb-font);color:var(--gb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-reply-chip-cancel{display:grid;place-items:center;flex:none;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-reply-chip-cancel:hover{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-fallback-composer .anna-reply-chip-cancel svg{width:14px;height:14px}
/* long-press / right-click menu */
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu-scrim{position:fixed;inset:0;z-index:calc(var(--gb-z-pop) - 1);margin:0;padding:0;border:0;background:transparent;cursor:default}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu{position:fixed;z-index:var(--gb-z-pop);display:flex;flex-direction:column;min-width:180px;padding:6px;border-radius:14px;background:var(--gb-raised);box-shadow:var(--gb-shadow-3)}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu button{display:flex;align-items:center;gap:10px;min-height:40px;margin:0;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--gb-ink);font:var(--gb-fs-15)/1 var(--gb-font);text-align:start;cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu button:is(:hover,:focus-visible){background:var(--gb-fill);outline:0}
.v4-app[data-ui=next] .anna-sidechat .anna-reply-menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p.is-replyable{transition:none}
  .v4-app[data-ui=next] .anna-sidechat .anna-fallback-log>p[data-flash=true]{animation:none;box-shadow:0 0 0 2px var(--gb-focus)}
}

/* The cinematic sign-in look (ff.login.next, default off; backendLoginLook in src/backend-model.js).
   It follows gptbusiness.io: the gyroid mark with the bold "GPT Business" wordmark, the Arimo/Arial grotesk set tight,
   the upper-case hero line with its muted second line, pill buttons, warm paper or near-black ground and the material
   orbs. Accents come from the app design system (ember, lavender, sage). Every rule is scoped to
   .login-stage[data-look=next][data-scheme] inside the next shell (.cf-shell on the computer, .mobile-app on the phone, both
   data-ui=next), so the classic look is untouched while the flag is off. This file sits with the zz-next-* sheets so the build appends it after the desktop presentation theme, which would remap its colours.
   Motion follows the device's reduced-motion setting only; there is no on-page motion control in this look. */

/* The classic look never shows this look's parts. */
.cf-shell[data-ui=next] .login-stage:not([data-look=next]) :is(.login-cine,.login-brand-next,.login-claim),.mobile-app[data-ui=next] .login-stage:not([data-look=next]) :is(.login-cine,.login-brand-next,.login-claim){display:none}

/* Tokens: dark by default, light for an explicit Light choice or an Auto page on a light device. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme],.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme]{
  --ln-font:Arimo,Arial,Helvetica,sans-serif;
  --ln-stage:#070708;--ln-panel:#111111;--ln-ink:#f4f4f1;--ln-ink-2:#a6a6a2;--ln-ink-3:#76766f;
  --ln-hair:#ffffff14;--ln-hair-2:#ffffff24;--ln-fill:#ffffff0a;--ln-fill-2:#ffffff12;
  --ln-btn:#f4f4f1;--ln-btn-ink:#0b0b0c;--ln-focus:#c9c1e0;--ln-error:#ff8a80;
  --ln-orb-a:.62;--ln-orb-b:.36;--ln-orb-c:.3;--ln-vignette:#070708;
  --ln-gy-a:#efb08d;--ln-gy-b:#cfc6ea;--ln-gy-c:#b3c9a5;--ln-gy-glow:22;--ln-gy-glow-color:#e3a98966;
  --ln-claim-muted:#8a8a85;--ln-grain:.5;--ln-shadow:0 30px 80px #0009;
  color-scheme:dark
}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme=light],.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme=light]{
  --ln-stage:#efeee9;--ln-panel:#fbfbf9;--ln-ink:#111111;--ln-ink-2:#5c5c5f;--ln-ink-3:#86868b;
  --ln-hair:#00000014;--ln-hair-2:#00000024;--ln-fill:#0000000a;--ln-fill-2:#00000012;
  --ln-btn:#111111;--ln-btn-ink:#ffffff;--ln-focus:#6f6884;--ln-error:#c0362c;
  --ln-orb-a:.72;--ln-orb-b:.5;--ln-orb-c:.42;--ln-vignette:#efeee9;
  --ln-gy-a:#a4532a;--ln-gy-b:#5f5679;--ln-gy-c:#4d6a43;--ln-gy-glow:0;--ln-gy-glow-color:transparent;
  --ln-claim-muted:#6b6b6b;--ln-grain:.35;--ln-shadow:0 30px 80px #0000001a;
  color-scheme:light
}
@media (prefers-color-scheme:light){
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme=auto],.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme=auto]{
    --ln-stage:#efeee9;--ln-panel:#fbfbf9;--ln-ink:#111111;--ln-ink-2:#5c5c5f;--ln-ink-3:#86868b;
    --ln-hair:#00000014;--ln-hair-2:#00000024;--ln-fill:#0000000a;--ln-fill-2:#00000012;
    --ln-btn:#111111;--ln-btn-ink:#ffffff;--ln-focus:#6f6884;--ln-error:#c0362c;
    --ln-orb-a:.72;--ln-orb-b:.5;--ln-orb-c:.42;--ln-vignette:#efeee9;
    --ln-gy-a:#a4532a;--ln-gy-b:#5f5679;--ln-gy-c:#4d6a43;--ln-gy-glow:0;--ln-gy-glow-color:transparent;
    --ln-claim-muted:#6b6b6b;--ln-grain:.35;--ln-shadow:0 30px 80px #0000001a;
    color-scheme:light
  }
}

/* Layout: the stage on the left, the sign-in panel on the right, the header across both. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme],.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme]{display:grid;grid-template-columns:minmax(0,1fr) clamp(420px,38vw,600px);grid-template-rows:100%;overflow:hidden;padding:0;background:var(--ln-stage);color:var(--ln-ink);font-family:var(--ln-font);-webkit-font-smoothing:antialiased;align-items:stretch}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-optics,.login-phrase,.login-brand,.login-motion),.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-optics,.login-phrase,.login-brand,.login-motion){display:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] :focus-visible,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] :focus-visible{outline:2px solid var(--ln-focus);outline-offset:3px}

/* The stage. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine{grid-column:1;grid-row:1;position:relative;overflow:hidden;pointer-events:none;background:var(--ln-stage);isolation:isolate}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb{position:absolute;border-radius:50%;background-size:cover;background-position:center;filter:blur(46px) saturate(1.15);will-change:transform}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-a,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-a{width:62%;aspect-ratio:1;left:14%;top:26%;background-image:url(/assets/gb/material-orange.webp);opacity:var(--ln-orb-a)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-b,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-b{width:46%;aspect-ratio:1;right:-6%;top:-8%;background-image:url(/assets/gb/material-pastel.webp);opacity:var(--ln-orb-b)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-c,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-c{width:40%;aspect-ratio:1;left:-10%;bottom:-14%;background-image:url(/assets/gb/material-violet.webp);opacity:var(--ln-orb-c)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-hero,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-hero{position:absolute;left:50%;top:42%;width:min(70vh,46vw,780px);aspect-ratio:1;transform:translate(-50%,-50%);color:var(--ln-ink);z-index:1}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-vignette,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-vignette{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse 70% 62% at 50% 45%,transparent 40%,color-mix(in srgb,var(--ln-vignette) 70%,transparent) 82%,var(--ln-vignette) 100%),linear-gradient(transparent 55%,color-mix(in srgb,var(--ln-vignette) 85%,transparent) 100%)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-grain,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-grain{position:absolute;inset:0;z-index:3;opacity:var(--ln-grain);mix-blend-mode:overlay;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' opacity='.24' filter='url(%23g)'/></svg>") repeat;background-size:220px}

/* The gyroid: a still mask until the drawing arrives, then the canvas. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid{display:block;position:relative}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid::before,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:url(/assets/gb/gyroid-still.svg) center/contain no-repeat;mask:url(/assets/gb/gyroid-still.svg) center/contain no-repeat}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-hero::before,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-hero::before{opacity:.18;inset:12%}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid.is-ready::before,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid.is-ready::before{display:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid canvas,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid canvas{display:block;width:100%;height:100%}

/* Header: the website's wordmark on the left, Back to website on the right. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top{position:absolute;inset:0 0 auto 0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 40px 0;flex-wrap:nowrap;pointer-events:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top>*,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top>*{pointer-events:auto}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-brand-next,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-brand-next{display:inline-flex;align-items:center;gap:9px;color:var(--ln-ink);font-size:21px;font-weight:700;letter-spacing:-.045em;line-height:1}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-logo,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-logo{width:44px;height:44px;flex:0 0 44px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top-actions,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top-actions{gap:0}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back{color:var(--ln-ink);font-size:14px;font-weight:500;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--ln-hair-2);background:color-mix(in srgb,var(--ln-panel) 60%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .2s,box-shadow .2s}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back::before,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back::before{content:"←";margin-right:8px;color:var(--ln-ink-2)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back:hover{background:var(--ln-fill-2);color:var(--ln-ink)}

/* The website's hero line, low on the stage. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim{grid-column:1;grid-row:1;align-self:end;z-index:4;position:relative;margin:0;padding:0 40px 52px;display:flex;flex-direction:column;pointer-events:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-kicker,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-kicker{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ln-ink-2);margin-bottom:18px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line{display:block;overflow:hidden;font-size:clamp(40px,4.7vw,80px);line-height:.98;letter-spacing:-.055em;font-weight:400;text-transform:uppercase;color:var(--ln-ink);padding-bottom:.04em}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line>span,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line>span{display:block}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-muted,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-muted{color:var(--ln-claim-muted)}

/* The panel. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-surface,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-surface{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;overflow-y:auto;overscroll-behavior:contain;padding:120px 56px 56px;background:var(--ln-panel);box-shadow:inset 1px 0 0 var(--ln-hair),var(--ln-shadow);z-index:3}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-card,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-card{width:min(400px,100%);margin:auto 0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-heading,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-heading{font-size:clamp(38px,3.2vw,50px);line-height:1;letter-spacing:-.05em;font-weight:400;margin:0 0 12px;color:var(--ln-ink)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-lede,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-lede{font-size:16px;line-height:1.5;color:var(--ln-ink-2);margin:0 0 34px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field{margin-bottom:16px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field span,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field span{font-size:13px;font-weight:500;color:var(--ln-ink-2);margin-bottom:8px;letter-spacing:0}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field input,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field input{height:54px;padding:0 18px;border:1px solid var(--ln-hair-2);border-radius:16px;background:var(--ln-fill);color:var(--ln-ink);font-family:var(--ln-font);font-size:16px;transition:border-color .2s,background .2s,outline-color .2s}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field input:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field input:hover{background:var(--ln-fill-2)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field input:focus,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field input:focus{background:var(--ln-panel);border-color:var(--ln-ink);outline:4px solid color-mix(in srgb,var(--ln-focus) 30%,transparent);outline-offset:0}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field-password input,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-field-password input{padding-right:76px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-reveal,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-reveal{right:8px;bottom:9px;height:36px;padding:0 12px;border-radius:999px;color:var(--ln-ink-2);font-family:var(--ln-font);font-size:13px;font-weight:500}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-reveal:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-reveal:hover{background:var(--ln-fill-2);color:var(--ln-ink)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-forgot,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-forgot{color:var(--ln-ink-2);font-family:var(--ln-font);font-size:13px;margin:-6px 0 22px auto;min-height:36px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-forgot:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-forgot:hover,.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt:hover{color:var(--ln-ink)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit{min-height:56px;border-radius:999px;background:var(--ln-btn);color:var(--ln-btn-ink);font-family:var(--ln-font);font-size:16px;font-weight:600;letter-spacing:-.01em;filter:drop-shadow(0 12px 22px color-mix(in srgb,var(--ln-btn) 22%,transparent));transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .2s}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:hover{opacity:1;transform:translateY(-1px)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:active,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:active{transform:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:disabled,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:disabled{opacity:.5;transform:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit i,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit i{transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:hover i,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-submit:hover i{transform:translateX(3px)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt{color:var(--ln-ink-2);font-family:var(--ln-font);font-size:14px;min-height:44px;margin-top:8px;border-radius:999px}
/* "or", then the sign-in code as the second pill. */
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt-pill,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt-pill{position:relative;margin-top:58px;color:var(--ln-ink);font-weight:500;min-height:52px;border:1px solid var(--ln-hair-2);transition:background .2s,border-color .2s}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt-pill:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt-pill:hover{background:var(--ln-fill);border-color:var(--ln-ink-3)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt-pill::before,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-alt-pill::before{content:"or";position:absolute;left:0;right:0;top:-38px;font-size:12px;letter-spacing:.08em;color:var(--ln-ink-3);background:linear-gradient(var(--ln-hair-2),var(--ln-hair-2)) left center/calc(50% - 22px) 1px no-repeat,linear-gradient(var(--ln-hair-2),var(--ln-hair-2)) right center/calc(50% - 22px) 1px no-repeat;pointer-events:none}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-invite-code,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-invite-code{margin-top:10px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-new,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-new{margin:26px 0 0;padding-top:22px;box-shadow:inset 0 1px 0 var(--ln-hair);font-size:14px;color:var(--ln-ink-2)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-new a,.login-help),.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-new a,.login-help){color:var(--ln-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--ln-hair-2);text-underline-offset:4px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-new a,.login-help):hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-new a,.login-help):hover{text-decoration-color:currentColor}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-tenant,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-tenant{min-height:56px;padding:0 20px;border:1px solid var(--ln-hair-2);border-radius:16px;background:var(--ln-fill);color:var(--ln-ink);font-family:var(--ln-font);font-size:15px;font-weight:500}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-tenant:hover,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-tenant:hover{background:var(--ln-fill-2)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-tenant i,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-tenant i{color:var(--ln-ink-2)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-note,.login-status),.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] :is(.login-note,.login-status){color:var(--ln-ink-2);font-size:14px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-steps,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-steps{color:var(--ln-ink);font-size:15px}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-error,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-error{color:var(--ln-error)}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-mfa-qr,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-mfa-qr{border-radius:18px;padding:12px;box-shadow:0 0 0 1px var(--ln-hair-2),0 18px 40px -18px #0006}
.cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-mfa-key,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-mfa-key{font-family:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;font-size:13px;letter-spacing:.06em;color:var(--ln-ink);background:var(--ln-fill);border-radius:10px;padding:10px 12px}

/* One arrival: the claim rises line by line, the panel settles, the orbs drift. The form is usable on the first frame. */
@media (prefers-reduced-motion:no-preference){
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line>span,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line>span{animation:gbn-login-rise 1.1s cubic-bezier(.2,.8,.2,1) both}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line+.login-claim-line>span,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim-line+.login-claim-line>span{animation-delay:.14s}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-kicker,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-kicker{animation:gbn-login-fade 1.2s ease-out .35s both}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-card,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-card{animation:gbn-login-settle .9s cubic-bezier(.2,.8,.2,1) .1s both}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-a,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-a{animation:gbn-login-drift-a 26s ease-in-out infinite alternate}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-b,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-b{animation:gbn-login-drift-b 32s ease-in-out infinite alternate}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-c,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine-orb-c{animation:gbn-login-drift-c 38s ease-in-out infinite alternate}
}
@keyframes gbn-login-rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes gbn-login-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-login-settle{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes gbn-login-drift-a{from{transform:translate(0,0) scale(1)}to{transform:translate(6%,-5%) scale(1.08)}}
@keyframes gbn-login-drift-b{from{transform:translate(0,0) scale(1)}to{transform:translate(-8%,6%) scale(.94)}}
@keyframes gbn-login-drift-c{from{transform:translate(0,0)}to{transform:translate(7%,-6%)}}

/* Phone and tablet: the stage becomes the top of the page and the panel a sheet rising over it. */
@media (max-width:900px){
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme],.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme]{display:flex;flex-direction:column;min-height:100svh;overflow-y:auto;padding:0}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine{flex:none;height:clamp(300px,46svh,440px)}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-hero,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-hero{top:54%;width:min(88vw,40svh,400px)}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top{padding:max(16px,env(safe-area-inset-top)) 20px 0}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-brand-next,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-brand-next{font-size:18px;gap:7px}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-logo,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-gyroid-logo{width:34px;height:34px;flex-basis:34px}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back{min-height:44px;padding:0 14px;font-size:13px}
  /* The phone keeps the mark alone on its stage; the claim would sit on top of it. */
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-claim{display:none}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-surface,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-surface{flex:1 0 auto;margin-top:-24px;border-radius:24px 24px 0 0;padding:34px 24px max(32px,env(safe-area-inset-bottom));overflow:visible;box-shadow:0 -1px 0 var(--ln-hair),0 -20px 50px -20px #0005}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-card,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-card{width:min(440px,100%);margin:0 auto}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-heading,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-heading{font-size:36px}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-lede,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-lede{margin-bottom:26px}
}
@media (max-width:900px) and (max-height:700px){
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-cine{height:clamp(200px,34svh,280px)}
}
@media (max-width:360px){
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-top{padding-left:14px;padding-right:14px}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-brand-next,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-brand-next{font-size:16px}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back::before,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-back::before{display:none}
  .cf-shell[data-ui=next] .login-stage[data-look=next][data-scheme] .login-surface,.mobile-app[data-ui=next] .login-stage[data-look=next][data-scheme] .login-surface{padding-left:16px;padding-right:16px}
}

/* UI-SIMPLE-NAV (ff:ui.simple_nav, default off): the four-destination rail, the Business pages list, the Manager and
   Work places of the Home page, and the legacy-view bar in the classic shell. Every selector is scoped to the next look;
   the elements only exist while the flag is on, so nothing here touches the classic or next looks with it off. */

/* ---- rail: Manager, Work (with the Needs-you count), Business (+ its pages), Settings ---- */
.v4-app[data-ui=next] .v4-sidebar .gbn-dests{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;min-height:0;margin:8px 0 0;padding:0 0 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:56px;min-height:50px;padding:5px 2px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 10.5px/1.1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest[aria-current=page]{background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest[aria-current=page] .gbn-dest__label{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest .gbn-dest__orb{width:20px;height:20px}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest--more{min-height:28px;margin-top:-4px;padding:2px;font-size:9.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest--more>svg{width:14px;height:14px}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest--more[aria-expanded=true]>svg{transform:rotate(180deg)}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest:focus-visible,.v4-app[data-ui=next] .v4-sidebar .gbn-needs-badge:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .v4-sidebar .gbn-dest-wrap{position:relative}
/* Dark ink on the ember badge: white on ember measured 2.1-2.3:1 (UX sweep 2 N23). */
.v4-app[data-ui=next] .v4-sidebar .gbn-needs-badge{position:absolute;top:1px;right:2px;min-width:18px;height:18px;padding:0 5px;border:0;border-radius:var(--gb-r-full);background:var(--gb-ember);color:#1d1d1f;font:var(--gb-fw-semibold) 10.5px/18px var(--gb-mono);box-shadow:0 0 0 2px var(--gb-chrome);cursor:pointer}
.v4-app[data-ui=next] .gbn-bizmenu{position:fixed;left:calc(var(--gb-rail-w) + 8px);top:72px;bottom:72px;z-index:120;width:248px;overflow-y:auto;padding:8px;border-radius:var(--gb-r-md);background:var(--gb-raised);box-shadow:var(--gb-shadow-2);color:var(--gb-ink);font:var(--gb-fs-13)/var(--gb-lh-ui) var(--gb-font)}
.v4-app[data-ui=next] .gbn-bizmenu button{display:block;width:100%;padding:6px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gbn-bizmenu button:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-bizmenu button[aria-current=page]{background:var(--gb-surface);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gbn-bizmenu .gbn-bizmenu__lead{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gbn-bizmenu__group>p{margin:10px 10px 2px;color:var(--gb-ink-2);font-size:11.5px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gbn-bizmenu .gbn-bizmenu__close{margin-top:8px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-bizmenu kbd{margin-left:6px;font:10px var(--gb-mono);color:var(--gb-ink-3)}

/* ---- Manager and Work: the places of the Home page ---- */
.v4-app[data-ui=next] .gbn-place{max-width:760px;margin:0 auto;padding:40px 32px 56px;color:var(--gb-ink);font:var(--gb-fs-15)/var(--gb-lh-body) var(--gb-font)}
.v4-app[data-ui=next] .gbn-place__head{margin-bottom:20px}
.v4-app[data-ui=next] .gbn-place__eyebrow{margin:0 0 4px;color:var(--gb-ink-2);font-size:var(--gb-fs-12);font-weight:var(--gb-fw-semibold);letter-spacing:.02em}
.v4-app[data-ui=next] .gbn-place__title{margin:0;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-title);line-height:var(--gb-lh-tight)}
.v4-app[data-ui=next] .gbn-place__subtitle{margin:26px 0 8px;font-size:var(--gb-fs-13);font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-manager__catchup{margin:8px 0 0;font-size:var(--gb-fs-15);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .gbn-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gbn-row:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-row--static{cursor:default}
.v4-app[data-ui=next] .gbn-row--static:hover{background:transparent}
.v4-app[data-ui=next] .gbn-row__text{display:flex;flex-direction:column;flex:1;min-width:0}
.v4-app[data-ui=next] .gbn-row__title{font-size:var(--gb-fs-13);font-weight:var(--gb-fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .gbn-row__meta{font-size:var(--gb-fs-12);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-row__cta{flex:none;padding:5px 11px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font-size:var(--gb-fs-12);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gbn-row[aria-current=page]{background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gbn-link{display:inline-flex;align-items:center;gap:4px;margin:8px 12px 0 0;padding:4px 2px;border:0;background:transparent;color:var(--gb-ink);font:var(--gb-fw-medium) var(--gb-fs-13)/1.3 var(--gb-font);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gb-hair-2)}
.v4-app[data-ui=next] .gbn-link:hover{text-decoration-color:currentColor}
.v4-app[data-ui=next] .gbn-link[aria-current=page]{font-weight:var(--gb-fw-semibold);text-decoration-color:currentColor}
.v4-app[data-ui=next] .gbn-thread{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .gbn-thread__turn{display:flex;flex-direction:column;gap:2px;max-width:88%;padding:10px 13px;border-radius:var(--gb-r-md);background:var(--gb-fill);font-size:var(--gb-fs-13);white-space:pre-wrap}
.v4-app[data-ui=next] .gbn-thread__turn[data-owner=true]{align-self:flex-end;background:var(--gb-owner-bubble);color:var(--gb-owner-bubble-ink)}
.v4-app[data-ui=next] .gbn-thread__turn>b{font-size:var(--gb-fs-11);font-weight:var(--gb-fw-semibold);opacity:.75}
.v4-app[data-ui=next] .gbn-manager__ask{margin-top:28px}
.v4-app[data-ui=next] .gbn-manager__more{margin:22px 0 0}
.v4-app[data-ui=next] .gbn-work__filters{display:flex;flex-wrap:wrap;gap:6px}
.v4-app[data-ui=next] .gbn-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) var(--gb-fs-13)/1.2 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .gbn-chip[aria-pressed=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gbn-chip--quiet{background:transparent;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-chip__n{font:var(--gb-fs-11) var(--gb-mono);opacity:.8}
.v4-app[data-ui=next] .gbn-empty{margin:4px 12px;color:var(--gb-ink-2);font-size:var(--gb-fs-13)}
.v4-app[data-ui=next] .gbn-work__item[data-state=needs] .gbn-row__meta,.v4-app[data-ui=next] .gbn-work__item[data-state=failed] .gbn-row__meta{color:var(--gb-danger)}
.v4-app[data-ui=next] .gbn-work__links{margin:22px 0 0}
.v4-app[data-ui=next] .gbn-bizdir{max-width:1000px;padding-top:8px}
.v4-app[data-ui=next] .gbn-bizdir__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 20px}
.v4-app[data-ui=next] .gbn-bizdir__group h3{margin:0 0 2px;font-size:var(--gb-fs-12);font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-bizdir__group ul{margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .gbn-bizdir__group .gbn-link{margin:2px 0 0}
@media (max-width:760px){.v4-app[data-ui=next] .gbn-place{padding:24px 16px 96px}.v4-app[data-ui=next] .gbn-bizmenu{left:12px;right:12px;width:auto}}

/* ---- the classic shell under simple navigation: a classic-only view says so and leads back ---- */
.cf-shell[data-ui=next] .gbn-legacy-bar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;background:var(--gb-hud,#1d1d1f);color:var(--gb-hud-ink,#fff);font:13px/1.35 var(--gb-font,system-ui)}
.cf-shell[data-ui=next] .gbn-legacy-bar>p{display:flex;flex-direction:column;flex:1 1 280px;margin:0}
.cf-shell[data-ui=next] .gbn-legacy-bar>p>span{opacity:.8;font-size:12px}
.cf-shell[data-ui=next] .gbn-legacy-bar>button{padding:6px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.cf-shell[data-ui=next] .gbn-legacy-bar>button[aria-current=page]{background:rgba(255,255,255,.16)}
.cf-shell[data-ui=next] .gbn-legacy-bar>.gbn-legacy-bar__back{background:#fff;border-color:#fff;color:#1d1d1f;font-weight:600}
.cf-shell[data-ui=next] .gbn-legacy-bar>button:focus-visible{outline:2px solid var(--gb-focus,#0a84ff);outline-offset:2px}
/* N11 (sweep 2): the placeholder while the Home read is out (gbnMgrWaiting): the decisions, the ask box and its
   suggestions arrive together in its place, so nothing already on screen moves. */
.v4-app[data-ui=next] .gbn-manager__wait{display:flex;flex-direction:column;gap:20px;margin-top:28px}
.v4-app[data-ui=next] .gbn-manager__wait>div{height:140px;border-radius:var(--gb-r-lg,22px);background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-mgr-wait 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .gbn-manager__wait>div:nth-child(2){height:60px;border-radius:var(--gb-r-full,999px)}
.v4-app[data-ui=next] .gbn-manager__wait>div:nth-child(3){height:80px}
@keyframes gbn-mgr-wait{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .gbn-manager__wait>div{animation:none}}

/* ==========================================================================
   UI-NEXT · GPT Business look · P6: the phone (mobile shell, src/mobile-shell.html)
   --------------------------------------------------------------------------
   Phones never get the v4 desktop shell (src/v4/shell-model.js v4Enabled is false when
   isMobileApp()). They render .mobile-app, which carries data-ui="{{ v4Ui }}". With
   data-ui="classic" (or absent) nothing here matches.

   SCOPING. Every selector starts with .mobile-app[data-ui=next] (dark: [data-zwt=dark] on the same
   root); @keyframes are named gbn-*. Tokens live in zz-next-records.css §0 (shared by both roots).

   LOADING. The mobile document links app.css (which carries src/v4/pages/*.css) before mobile.css,
   so this file reaches the phone without being listed in compose.mjs MOBILE_CSS. Rules here win by
   specificity (root + attribute), and by !important only where the mobile sheets use !important.

   DESIGN (DESIGN-SYSTEM.md §2 phone, F-Home/F-Customers at 390): warm paper, glass top bar with a
   large title, bubble cards, the orb as the AI's presence (header mark and composer), the chat as a
   full-height bottom sheet (44px from the top, grab handle, scrim), and the AI's live status always
   visible above the composer.
   ========================================================================== */

/* 1 · ground and type ===================================================== */
.mobile-app[data-ui=next]{font-family:var(--gb-font);color:var(--gb-ink);background:var(--gb-ground)!important;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--screen:var(--gb-ground);--line:var(--gb-hair);--ink3:var(--gb-ink-2)}
.mobile-app[data-ui=next] :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.mobile-app[data-ui=next] :is(button,input,select,textarea,h1,h2,h3,p,a,small,strong,span,summary,dt,dd,label,time){font-family:var(--gb-font)}
.mobile-app[data-ui=next] .mobile-preview,.mobile-app[data-ui=next] .phone-frame,.mobile-app[data-ui=next] .phone-device,.mobile-app[data-ui=next] .phone-content,.mobile-app[data-ui=next] main,.mobile-app[data-ui=next] .app-stage,.mobile-app[data-ui=next] .screen-body{background:var(--gb-ground)!important;color:var(--gb-ink)}
/* decorative edge glow of the old shell (aria-hidden); the orb carries the AI's presence instead */
.mobile-app[data-ui=next] .primary-action-glow{display:none!important}

/* 2 · top bar: glass, 52px, the orb as the home mark ======================= */
.mobile-app[data-ui=next] .phone-content .phone-header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;align-content:center;min-height:52px!important;height:auto!important;padding:8px 12px!important;gap:4px 6px!important;background:var(--gb-chrome-glass)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--gb-hair)!important;box-shadow:none!important}
/* decorative gradient hairline under the old header; the glass bar's hairline replaces it */
.mobile-app[data-ui=next] .phone-content .phone-header::before{display:none!important}
/* ::after is the row break: back + title always start the second row */
.mobile-app[data-ui=next] .phone-content .phone-header::after{content:""!important;order:7!important;flex:0 0 100%!important;height:0!important;margin:0!important;padding:0!important;border:0!important;background:none!important;position:static!important;display:block!important}
.mobile-app[data-ui=next] .phone-content .phone-header .phone-brand{order:0!important;flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;margin:0 0 0 92px!important;border:0!important;border-radius:50%!important;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;box-shadow:0 4px 12px -4px var(--gb-floor)!important}
/* the old wordmark image inside the home button: the button stays (same name, same action); the orb is its face */
.mobile-app[data-ui=next] .phone-content .phone-header .phone-brand>*{opacity:0!important;width:0!important;max-width:0!important}
.mobile-app[data-ui=next] .phone-content .phone-header .help-workspace-name{order:1!important;flex:0 1 auto!important;grid-column:auto!important;display:block!important;min-width:0;max-width:150px;margin:0 0 0 4px!important;font:var(--gb-fw-semibold) 17px/1.2 var(--gb-font)!important;letter-spacing:-.02em!important;color:var(--gb-ink)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-app[data-ui=next] .phone-content .phone-header .conversation-mode-button{order:2!important}
.mobile-app[data-ui=next] .phone-content .phone-header .phone-search{order:3!important;margin-left:auto!important}
.mobile-app[data-ui=next] .phone-content .phone-header .attention-bell{order:4!important}
.mobile-app[data-ui=next] .phone-content .phone-header .phone-avatar{order:5!important}
.mobile-app[data-ui=next] .phone-content .phone-header :is(.icon-button,.phone-avatar){width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--gb-ink)!important;box-shadow:none!important;display:grid!important;place-items:center}
.mobile-app[data-ui=next] .phone-content .phone-header .icon-button:hover{background:var(--gb-fill)!important}
.mobile-app[data-ui=next] .phone-content .phone-header .phone-avatar{background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b))!important;color:var(--gb-av-ink)!important;font:var(--gb-fw-semibold) 12px/1 var(--gb-font)!important;box-shadow:inset 0 0 0 .5px var(--gb-hair)!important}
.mobile-app[data-ui=next] .phone-content .phone-header svg{stroke:currentColor}
/* sub-screens (#crm, #needs …): back + large title on a second row (Home keeps hiding it, as before) */
.mobile-app[data-ui=next] .phone-content .phone-header .phone-back{order:8!important;margin:0 0 0 -6px!important;width:32px!important;min-width:32px!important}
.mobile-app[data-ui=next] .phone-content .phone-header>div:not(.help-slot){order:9!important;flex:1 1 calc(100% - 44px)!important;min-width:0}
.mobile-app[data-ui=next] .phone-content .phone-header>div strong{font:var(--gb-fw-semibold) 17px/1.25 var(--gb-font)!important;letter-spacing:-.02em!important;color:var(--gb-ink)!important;display:inline!important}
.mobile-app[data-ui=next] .phone-content .phone-header>div small{display:inline!important;margin-left:8px!important}
.mobile-app[data-ui=next] .phone-content .phone-header>div small{font:var(--gb-fs-12)/1.3 var(--gb-font)!important;color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] .phone-content .phone-header>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-app[data-ui=next] .ck-workspace-controls{top:8px!important;left:8px!important}
.mobile-app[data-ui=next] .ck-workspace-controls button{height:36px!important;border-radius:var(--gb-r-full)!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .ck-workspace-controls button:not(.ck-open-chat){width:36px!important;background:transparent!important;border:0!important;box-shadow:none!important}

/* 3 · home: large title, bubble cards ===================================== */
.mobile-app[data-ui=next] #main-workspace .home-viewport{background:transparent!important;color:var(--gb-ink)}
.mobile-app[data-ui=next] #main-workspace .home-view-heading{align-items:flex-end}
.mobile-app[data-ui=next] #main-workspace .home-view-heading h1,.mobile-app[data-ui=next] #main-workspace .home-greeting-compact{font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font)!important;letter-spacing:var(--gb-tr-title)!important;color:var(--gb-ink)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.mobile-app[data-ui=next] #main-workspace .home-view-tabs{padding:3px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;box-shadow:none!important;backdrop-filter:none!important}
.mobile-app[data-ui=next] #main-workspace .home-view-tabs button{height:30px;border:0!important;border-radius:var(--gb-r-full)!important;background:transparent!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important}
.mobile-app[data-ui=next] #main-workspace .home-view-tabs button[aria-pressed=true],.mobile-app[data-ui=next] #main-workspace .home-view-tabs button[aria-selected=true],.mobile-app[data-ui=next] #main-workspace .home-view-tabs button[aria-current=page]{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}
.mobile-app[data-ui=next] #main-workspace .home-view-card,.mobile-app[data-ui=next] #main-workspace .home-view-metrics{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important;backdrop-filter:none!important}
.mobile-app[data-ui=next] #main-workspace .home-view-card::before,.mobile-app[data-ui=next] #main-workspace .home-view-card::after{display:none!important}
.mobile-app[data-ui=next] #main-workspace .home-view-card:hover{box-shadow:var(--gb-shadow-2)!important}
.mobile-app[data-ui=next] #main-workspace .home-view-card h2,.mobile-app[data-ui=next] #main-workspace .home-view-summary h2{font:var(--gb-fw-semibold) var(--gb-fs-15)/1.3 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui)!important;color:var(--gb-ink)!important;text-transform:none!important}
.mobile-app[data-ui=next] #main-workspace .home-view-card :is(p,small,span,time){color:var(--gb-ink-2)}
.mobile-app[data-ui=next] #main-workspace .home-view-card strong{color:var(--gb-ink)}
.mobile-app[data-ui=next] #main-workspace .home-view-metrics>button{background:transparent!important;border:0!important;border-right:1px solid var(--gb-hair)!important;border-radius:0!important;box-shadow:none!important;color:var(--gb-ink)!important;text-align:left}
.mobile-app[data-ui=next] #main-workspace .home-view-metrics>button:last-child{border-right:0!important}
.mobile-app[data-ui=next] #main-workspace .home-view-metrics>button>span{color:var(--gb-ink-2)!important;font:var(--gb-fs-12)/1.3 var(--gb-font)!important}
.mobile-app[data-ui=next] #main-workspace .home-view-metrics>button strong{color:var(--gb-ink)!important;font:var(--gb-fw-semibold) var(--gb-fs-28)/1.1 var(--gb-font)!important;letter-spacing:var(--gb-tr-title)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.mobile-app[data-ui=next] #main-workspace .home-view-summary{background:transparent!important;border:0!important;box-shadow:none!important}
.mobile-app[data-ui=next] #main-workspace .count-badge{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;border:0!important;border-radius:var(--gb-r-full)!important;font:var(--gb-fw-semibold) var(--gb-fs-12)/22px var(--gb-font)!important;min-width:22px;height:22px;padding:0 7px;text-align:center;box-shadow:none!important}
/* the count's own text (an interpolation span) must not take the card's grey span colour */
.mobile-app[data-ui=next] #main-workspace .home-view-card .count-badge span{color:inherit!important}
.mobile-app[data-ui=next] #main-workspace .home-view-decision{display:block!important;height:auto!important;min-height:20px;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/20px var(--gb-font)!important;text-align:left;background:transparent!important;white-space:normal;overflow-wrap:anywhere;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mobile-app[data-ui=next] #main-workspace .home-view-all,.mobile-app[data-ui=next] #main-workspace .home-view-card .text-button,.mobile-app[data-ui=next] #main-workspace .home-view-summary .text-button,.mobile-app[data-ui=next] #main-workspace .home-view-footer .text-button{color:var(--gb-ink-2)!important;background:transparent!important;border-color:var(--gb-hair)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1.2 var(--gb-font)!important}
.mobile-app[data-ui=next] #main-workspace .home-view-next strong{color:var(--gb-ink)!important;font:var(--gb-fw-semibold) var(--gb-fs-15)/1.3 var(--gb-font)!important}
.mobile-app[data-ui=next] #main-workspace .home-view-receipts button{background:transparent!important;border:0!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] #main-workspace .home-view-receipt-icon{color:var(--gb-ink-2)!important}
/* the footer is Home's last grid row (fixed height, src/home-viewport.css): one line, as in classic, so nothing
   spills under the live-status pill. The links keep their size; the time gives way first. */
/* One line at 100% (the checked-at text takes what is left and ellipsizes); at 200% zoom the rules action wraps to its
   own line instead of running off screen (W33). */
.mobile-app[data-ui=next] #main-workspace .home-view-footer{color:var(--gb-ink-2)!important;flex-wrap:wrap!important;column-gap:10px}
.mobile-app[data-ui=next] #main-workspace .home-view-footer>span{flex:1 1 0;min-width:0;text-align:center;color:var(--gb-ink-2)!important;font:var(--gb-fs-11)/1.3 var(--gb-font)!important;white-space:normal!important;overflow-wrap:anywhere}
.mobile-app[data-ui=next] #main-workspace .home-view-footer>.text-button{flex:none;white-space:nowrap;font-size:var(--gb-fs-12)!important}
/* activity map: channels as quiet chips around the AI hub */
.mobile-app[data-ui=next] #main-workspace .home-map-status,.mobile-app[data-ui=next] #main-workspace .home-map-caption{color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] #main-workspace .home-map-sync{font:var(--gb-fs-11)/1.2 var(--gb-mono)!important;color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] #main-workspace .activity-status-dot{background:var(--gb-sage)!important;box-shadow:none!important}
.mobile-app[data-ui=next] #main-workspace .activity-node{background:var(--gb-fill)!important;border:0!important;border-radius:var(--gb-r-full)!important;box-shadow:none!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] #main-workspace .activity-node-name{white-space:nowrap!important;letter-spacing:-.01em!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) 11px/1.1 var(--gb-font)!important;text-shadow:none!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.mobile-app[data-ui=next] #main-workspace .activity-node-pin{background:var(--gb-ink-3)!important;box-shadow:none!important}
.mobile-app[data-ui=next] #main-workspace .activity-hub{background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;border:0!important;border-radius:50%!important;width:56px!important;height:56px!important;box-shadow:0 10px 20px -8px var(--gb-floor)!important}
.mobile-app[data-ui=next] #main-workspace .activity-hub>*{opacity:0!important}

/* 4 · the AI's live status, always visible above the composer ============== */
.mobile-app[data-ui=next] .px-activity-stage{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 12px 6px!important}
.mobile-app[data-ui=next] .px-activity-stage .header-activity{min-height:48px;padding:4px 6px 4px 34px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-chrome-glass)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--gb-shadow-2)!important;position:relative}
.mobile-app[data-ui=next] .px-activity-stage .header-activity::before{content:"";position:absolute;left:14px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--gb-sage);animation:gbn-p6-live 2s var(--gb-ease) infinite}
.mobile-app[data-ui=next] .header-activity-main{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--gb-ink)!important;padding:0!important}
.mobile-app[data-ui=next] .header-activity-mark{display:none!important}

/* 5 · composer: the hero pill with the orb ================================= */
.mobile-app[data-ui=next] .phone-ask{margin:0 12px calc(10px + env(safe-area-inset-bottom))!important;padding:6px!important;min-height:56px;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-raised)!important;box-shadow:var(--gb-shadow-2)!important;backdrop-filter:none!important;align-items:center;gap:6px}
.mobile-app[data-ui=next] .phone-ask:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 2px var(--gb-focus)!important}
.mobile-app[data-ui=next] .phone-ask textarea{resize:none!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--gb-ink)!important;font:var(--gb-fs-15)/22px var(--gb-font)!important;outline:0}
.mobile-app[data-ui=next] .phone-ask textarea::placeholder{color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] .anna-mobile-history{width:40px!important;height:40px!important;border:0!important;border-radius:50%!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;box-shadow:none!important;flex:none}
.mobile-app[data-ui=next] .phone-ask .composer-send{width:44px!important;height:44px!important;border:0!important;border-radius:50%!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;box-shadow:none!important}
/* voice entry: the orb itself is the button face */
.mobile-app[data-ui=next] .phone-ask .composer-send[aria-label^="Dictate"],.mobile-app[data-ui=next] .phone-ask .composer-send[aria-label^="Talk"],.mobile-app[data-ui=next] .phone-ask .composer-send[aria-label^="Start voice"]{background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;color:#fff!important;box-shadow:0 8px 18px -8px var(--gb-floor)!important}

/* 6 · the chat as a full-height bottom sheet =============================== */
/* QA sweep 4 P2-11: the sheet ends above the tab bar (its composer used to sit under it), as chatkit-live-tail.css sets for
   every phone shell, and the title row (dark ink on its old dark gradient, 1.02:1 in Light) takes the sheet's colours. It
   keeps Close and New conversation, so it stays shown. */
.mobile-app[data-ui=next] .anna-sidechat .anna-chat-header{background:transparent!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .anna-sidechat .anna-chat-header :is(.anna-title,.anna-icon){color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .anna-sidechat{top:44px!important;bottom:var(--phone-nav-height,69px)!important;left:0!important;right:0!important;width:100%!important;height:auto!important;border:0!important;border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0!important;background:var(--gb-column)!important;color:var(--gb-ink)!important;transform:translateY(calc(105% + var(--phone-nav-height,69px)));overflow:hidden;--ac-bg:var(--gb-column);--ac-panel:var(--gb-surface);--ac-line:var(--gb-hair);--ac-text:var(--gb-ink);--ac-muted:var(--gb-ink-2);--cf-canvas:var(--gb-column);--cf-surface:var(--gb-surface);--cf-text:var(--gb-ink);--cf-muted:var(--gb-ink-2);--cf-border:var(--gb-hair)}
.mobile-app[data-ui=next] .anna-sidechat[data-open=true]{transform:translateY(0)!important;box-shadow:var(--gb-shadow-3)!important}
/* signed in (the chat shell), the sheet stops at the bottom navigation as the dock always did (85430008b): its composer and
   Send stay tappable and the nav stays reachable. bottom:0 above put both behind the nav once the look became the only one */
.mobile-app[data-ui=next][data-chatkit-shell=true] .anna-sidechat{bottom:var(--phone-nav-height,69px)!important}
/* scrim behind the sheet: dims the page and takes the taps on the 44px strip above the sheet, so nothing
   behind an open chat is pressed by accident (the classic chat covered the whole screen) */
.mobile-app[data-ui=next][data-anna-open=true] .phone-device::after{content:"";position:fixed;inset:0 0 var(--phone-nav-height,69px);z-index:98;background:var(--gb-scrim);pointer-events:auto}
.mobile-app[data-ui=next] .anna-sidechat::before{content:"";position:absolute;top:6px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:var(--gb-hair-2);z-index:3;pointer-events:none}
.mobile-app[data-ui=next] .anna-sidechat :is(.anna-chatkit-layout,.anna-chatkit-main,.anna-dot-shell){background:transparent!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .anna-dot-toolbar{padding-top:14px!important;background:transparent!important;border:0!important}
.mobile-app[data-ui=next] .anna-dot-toolbar button{border-radius:50%!important;color:var(--gb-ink-2)!important;background:transparent!important}
.mobile-app[data-ui=next] .anna-dot-toolbar button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .anna-dot-mark{background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;border:0!important;box-shadow:0 8px 18px -8px var(--gb-floor)!important}
.mobile-app[data-ui=next] .anna-dot-mark>img{opacity:0}
.mobile-app[data-ui=next] .anna-dot-identity strong{font:var(--gb-fw-semibold) var(--gb-fs-20)/1.2 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui);color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .anna-dot-identity small,.mobile-app[data-ui=next] .anna-chatkit-label,.mobile-app[data-ui=next] .anna-dot-footer button{color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] .anna-chatkit-notice{color:var(--gb-ink)!important;background:transparent!important}
.mobile-app[data-ui=next] .anna-chatkit-notice button{border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;padding:4px 12px!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1.2 var(--gb-font)!important}
/* the chat navigation drawer (left) */
.mobile-app[data-ui=next] .anna-chatkit-sidebar{background:var(--gb-chrome)!important;color:var(--gb-ink)!important;border-right:0!important;box-shadow:var(--gb-shadow-3)!important}
.mobile-app[data-ui=next] .anna-chatkit-sidebar nav button,.mobile-app[data-ui=next] .anna-chatkit-sidebar footer button{border-radius:var(--gb-r-sm)!important;color:var(--gb-ink)!important}
.mobile-app[data-ui=next] .anna-chatkit-sidebar :is(h2,p,small){color:var(--gb-ink-2)!important}

/* 7 · every other phone page ============================================== */
/* the cards themselves are gb bubbles (zz-next-records.css §6); these are the pieces inside them that kept a colour
   made for the black slab. Autonomy modes: the chosen one is marked with an ink ring, not a dark fill. */
.mobile-app[data-ui=next] #main-workspace .backend-mode-grid button{border:1px solid var(--gb-hair)!important;border-radius:var(--gb-r-md)!important;background:transparent!important;color:var(--gb-ink)!important;box-shadow:none!important}
.mobile-app[data-ui=next] #main-workspace .backend-mode-grid button[aria-pressed=true]{border-color:transparent!important;background:var(--gb-surface)!important;box-shadow:inset 0 0 0 2px var(--gb-ink)!important}
.mobile-app[data-ui=next] #main-workspace .backend-mode-grid span{color:var(--gb-ink-2)!important}
.mobile-app[data-ui=next] #main-workspace .call-log-duration{color:var(--gb-ink-2)}

/* ==========================================================================
   UI-NEXT · P5 pages — Companies, Signature, Reputation, Autopilot, Planning, Campaigns, Funnels & Sites,
   Forms & Surveys, Social Planner, Platform, The Brain, Command Center, Businesses (agency).
   --------------------------------------------------------------------------
   One file because the thirteen pages share one structure (page head, bubble cards, rows, forms); every
   rule is scoped to those pages' own roots under the switch, so nothing reaches classic or another page.
   Look: final/gb-ui.css v1.0 (B layout + A depth) — 28px titles with a 13px description, white bubble
   cards on warm paper (r22 + shadow-1, no borders, never a box inside a box), ink primary pill (one per
   group), fill secondary pills, clean rows with hairlines, status = dot + word, mono only for small meta.
   Tokens are the foundation's (zz-next-0-shell.css); nothing here defines a colour of its own.
   PARITY. CSS never hides a control here except the one duplicate knowledge-book card on The Brain
   (see §12): the same buttons stay in the second, complete copy right below it.
   ========================================================================== */

/* 1 · page frame ---------------------------------------------------------- */
.v4-app[data-ui=next] .ui-next-p5{box-sizing:border-box;width:100%;max-width:calc(var(--gb-page-max) + 64px);margin-inline:auto!important;padding:32px 32px 72px!important;font-family:var(--gb-font);color:var(--gb-ink);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}
/* Reputation, Platform and Command Center nest a second .v4-app (classic shell rules made them a 100vh flex
   row that pushed sections off-screen). Under next they are a normal block page on the gb palette. */
.v4-app[data-ui=next] .ui-next-p5.premium-shell{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;background:transparent!important;
  --bg:var(--gb-ground);--sidebar:var(--gb-chrome);--panel:var(--gb-surface);--panel-2:var(--gb-column);--line:var(--gb-hair-2);--line-soft:var(--gb-hair);
  --fg:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--chip:var(--gb-fill);--hover:var(--gb-hover);--nav-active:var(--gb-surface);--seg-off:var(--gb-fill-2);
  --accent:var(--gb-btn);--accent-tint:var(--gb-fill);--accent-line:var(--gb-hair-2);--accent-ink:var(--gb-ink);--on-accent:var(--gb-btn-ink);
  --btn-bg:var(--gb-btn);--btn-fg:var(--gb-btn-ink);--shadow:transparent;--shadow-lg:rgba(0,0,0,.18);--danger:var(--gb-danger);--font:var(--gb-font)}
.v4-app[data-ui=next] .ui-next-p5 *{box-sizing:border-box}
.v4-app[data-ui=next] .ui-next-p5 :is(h1,h2,h3,h4,p){margin-block-start:0}

/* 2 · page head: where am I ------------------------------------------------ */
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-head,.planning-head,.campaigns-head,.funnels-head,.forms-head,.social-head){display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}
.v4-app[data-ui=next] :is(.v4-companies-title,.v4-signature-title,.planning-title,.campaigns-title,.funnels-title,.forms-title,.social-title,.ap-head h1,.br-page>h1,.agency-page>header h1),
.v4-app[data-ui=next] .v4-reputation>div:first-child>div:first-child>h1:first-child,
.v4-app[data-ui=next] .ui-next-p5.premium-shell:not(.v4-reputation)>div:first-child>h1:nth-child(2){font-family:var(--gb-font)!important;font-size:28px!important;font-weight:600!important;letter-spacing:-.025em!important;line-height:1.15!important;color:var(--gb-ink)!important;margin:0!important}
.v4-app[data-ui=next] :is(.v4-companies-subtitle,.v4-signature-subtitle,.planning-sub,.campaigns-sub,.funnels-sub,.forms-sub,.social-sub,.ap-lede,.br-lede,.agency-page>header p),
.v4-app[data-ui=next] .v4-reputation>div:first-child>div:first-child>div:nth-child(2),
.v4-app[data-ui=next] .ui-next-p5.premium-shell:not(.v4-reputation)>div:first-child>div:nth-child(3){font-size:13px!important;line-height:1.5!important;color:var(--gb-ink-2)!important;margin:6px 0 0!important;max-width:680px}
.v4-app[data-ui=next] :is(.ap-eyebrow,.br-eyebrow,.agency-page>header>.agency-muted),
.v4-app[data-ui=next] .ui-next-p5.premium-shell:not(.v4-reputation)>div:first-child>div:first-child{display:block;margin:0 0 8px!important;font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-actions,.campaigns-head-actions,.social-head-actions){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .ui-next-p5 .ap-head{margin-bottom:4px}

/* 3 · buttons: one ink primary per group, fill secondaries ----------------- */
.v4-app[data-ui=next] .ui-next-p5 :is(.primary-button,.planning-btn-primary,.campaigns-btn-primary,.funnels-btn-primary,.forms-btn-primary,.social-btn-primary,.ap-btn-primary,.br-btn-accent),
.v4-app[data-ui=next] .ui-next-p5 :is(.secondary-button,.planning-btn-ghost,.campaigns-btn-ghost,.funnels-btn-ghost,.forms-btn-ghost,.social-btn-ghost,.ap-btn-ghost,.ap-btn-tint,.br-btn-tint,.agency-btn,.planning-btn-danger),
.v4-app[data-ui=next] .v4-reputation button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;height:auto;padding:8px 16px!important;border:0!important;border-radius:999px!important;font:500 13px/18px var(--gb-font)!important;letter-spacing:0!important;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:none!important;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 :is(.primary-button,.planning-btn-primary,.campaigns-btn-primary,.funnels-btn-primary,.forms-btn-primary,.social-btn-primary,.ap-btn-primary,.br-btn-accent),
.v4-app[data-ui=next] .v4-reputation button[style*="--accent,"],.v4-app[data-ui=next] .v4-reputation button[style*="--accent)"]{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.primary-button,.planning-btn-primary,.campaigns-btn-primary,.funnels-btn-primary,.forms-btn-primary,.social-btn-primary,.ap-btn-primary,.br-btn-accent):hover:not(:disabled){background:var(--gb-btn-hover)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.secondary-button,.planning-btn-ghost,.campaigns-btn-ghost,.funnels-btn-ghost,.forms-btn-ghost,.social-btn-ghost,.ap-btn-ghost,.ap-btn-tint,.br-btn-tint,.agency-btn,.planning-btn-danger),
.v4-app[data-ui=next] .v4-reputation button:not([style*="--accent,"]):not([style*="--accent)"]){background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.secondary-button,.planning-btn-ghost,.campaigns-btn-ghost,.funnels-btn-ghost,.forms-btn-ghost,.social-btn-ghost,.ap-btn-ghost,.ap-btn-tint,.br-btn-tint,.agency-btn,.planning-btn-danger):hover:not(:disabled),
.v4-app[data-ui=next] .v4-reputation button:not([style*="--accent,"]):not([style*="--accent)"]):hover:not(:disabled){background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(button,[role=tab]):active:not(:disabled){transform:scale(.97)}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-btn-danger,.agency-btn-bad){color:var(--gb-danger)!important}
.v4-app[data-ui=next] .ui-next-p5 button:disabled,.v4-app[data-ui=next] .ui-next-p5 button[disabled]{opacity:.4!important;cursor:default!important}
.v4-app[data-ui=next] .ui-next-p5 .icon-button{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--gb-ink-2);font-size:18px;line-height:1;cursor:pointer}
.v4-app[data-ui=next] .ui-next-p5 .icon-button:hover{background:var(--gb-fill);color:var(--gb-ink)}
/* Buttons that hand the work to the agent carry its orb, so "the AI does this" reads at a glance. */
.v4-app[data-ui=next] .ui-next-p5 :is(.social-head-actions>.social-btn-ghost,.campaigns-head-actions>.campaigns-btn-ghost)::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;background:var(--gb-fill-2) url(/assets/gb/orb-idle-128.webp) center/cover no-repeat}

/* 4 · segmented controls (views, tabs, modes) ------------------------------ */
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-tabs,.campaigns-tabs,.campaigns-results-days,.ap-modes){display:inline-flex!important;flex-wrap:wrap;gap:0!important;max-width:100%;padding:2px;border-radius:999px;background:var(--gb-fill)}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-tabs{margin-top:20px!important;align-self:flex-start}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-tab,.campaigns-tabs>button,.campaigns-results-days>button,.ap-mode-btn){display:inline-flex;align-items:center;min-height:32px;height:32px;padding:0 14px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--gb-ink)!important;font:400 13px/1 var(--gb-font)!important;box-shadow:none!important;white-space:nowrap;cursor:pointer}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-tab,.campaigns-tabs>button,.campaigns-results-days>button,.ap-mode-btn):hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-tab[data-on=true],.campaigns-tabs>button[data-on=true],.campaigns-results-days>button[data-on=true],.ap-mode-btn-on){background:var(--gb-seg-on)!important;box-shadow:var(--gb-shadow-0)!important;font-weight:500!important}
.v4-app[data-ui=next][data-v4-nav=command] .ui-next-p5>div:nth-child(2){display:inline-flex!important;flex-wrap:wrap;gap:0!important;margin-top:24px!important;padding:2px;border-radius:999px;background:var(--gb-fill)}
.v4-app[data-ui=next] .ui-next-p5 .command-tab{height:32px;padding:0 14px!important;border-radius:999px;background:transparent;color:var(--gb-ink);font:400 13px/1 var(--gb-font)}
.v4-app[data-ui=next] .ui-next-p5 .command-tab:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .ui-next-p5 .command-tab-active{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0);font-weight:500}

/* 5 · bubble cards (A depth) ----------------------------------------------- */
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-panel,.campaigns-panel,.funnels-panel,.forms-panel,.social-panel,.funnels-card,.social-card,.ap-card,.br-card,.crm-panel,.v4-companies-list,.command-card,.platform-card,.platform-tile,.v4-signature-kpi,.agency-client){background:var(--gb-surface)!important;color:var(--gb-ink)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-panel,.campaigns-panel,.funnels-panel,.forms-panel,.social-panel,.ap-card,.br-card,.crm-panel,.command-card){padding:20px!important;margin-top:20px}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-card-title,.br-card-title,.planning-scenario-title,.planning-board-title,.campaigns-run-title,.campaigns-batch-title,.forms-editor-title),
.v4-app[data-ui=next] :is(.agency-page h2,.v4-signature-page h3,.v4-companies-page h3,.forms-questions h3){display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font:600 15px/1.35 var(--gb-font)!important;letter-spacing:-.01em!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-card-sub,.br-card-sub,.campaigns-batch-note){margin-top:4px;font-size:13px!important;line-height:1.5!important;color:var(--gb-ink-2)!important;opacity:1!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-muted,.br-muted){margin-left:0!important;font:400 13px/1.35 var(--gb-font)!important;color:var(--gb-ink-2)!important}
/* Inner tiles are wells, not boxes inside boxes. */
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-scenario-cell,.ap-learned-row,.br-learned-row,.forms-question,.campaigns-run-count,.command-kpi-tile,.command-phase,.command-playbook-item,.ap-confirm,.ap-diff,.agency-confirm){background:var(--gb-fill)!important;border:0!important;border-radius:var(--gb-r-md)!important;box-shadow:none!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-board-card,.planning-board-hub){background:var(--gb-fill)!important;border:0!important;border-radius:var(--gb-r-md)!important;box-shadow:none!important;color:var(--gb-ink);transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-board-card,.planning-board-hub):hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-board-card.is-on,.planning-board-hub.is-on){background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0),inset 0 0 0 1.5px var(--gb-ink)!important}

/* 6 · fields ------------------------------------------------------------- */
.v4-app[data-ui=next] .ui-next-p5 :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=search]),select,textarea){min-height:40px;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-sm)!important;background:var(--gb-surface)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)!important;color:var(--gb-ink)!important;font:400 13px/1.4 var(--gb-font)!important;outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 textarea{padding:10px 12px!important;line-height:1.5!important}
.v4-app[data-ui=next] .ui-next-p5 :is(input,select,textarea)::placeholder{color:var(--gb-ink-2)!important;opacity:1}
.v4-app[data-ui=next] .ui-next-p5 :is(input:not([type=checkbox]):not([type=radio]):not([type=search]),select,textarea):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(input:not([type=checkbox]):not([type=radio]):not([type=search]),select,textarea):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)!important}
.v4-app[data-ui=next] .ui-next-p5 input[type=search]{min-height:36px;padding:0 14px!important;border:0!important;border-radius:999px!important;background:var(--gb-fill)!important;box-shadow:none!important;color:var(--gb-ink)!important;font:400 13px/1.4 var(--gb-font)!important;outline:none}
.v4-app[data-ui=next] .ui-next-p5 input[type=search]:hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .ui-next-p5 input[type=search]:focus{background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0),0 0 0 2px var(--gb-focus)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-field,.campaigns-field,.funnels-field,.forms-field,.social-field,.crm-field){gap:6px;font:500 12px/1.3 var(--gb-font)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(input[type=checkbox],input[type=radio]){accent-color:var(--gb-btn);width:16px;height:16px}
.v4-app[data-ui=next] .ui-next-p5 fieldset{border:0;margin:0;padding:0;min-width:0}

/* 7 · rows and tables ------------------------------------------------------ */
.v4-app[data-ui=next] .ui-next-p5 :is(.campaigns-table-head,.planning-table-head,.campaigns-results-head){min-height:36px;padding:0 10px!important;align-items:center;border:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair);font:600 12px/1.2 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.campaigns-row,.planning-table-row,.campaigns-results-row){min-height:48px;padding:6px 10px!important;border:0!important;border-radius:var(--gb-r-sm);font-size:13px;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 :is(.campaigns-row,.planning-table-row,.campaigns-results-row):nth-child(even){background:var(--gb-zebra)}
.v4-app[data-ui=next] .ui-next-p5 :is(.campaigns-row,.planning-table-row,.campaigns-results-row):hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-row[data-on=true]{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.campaigns-row-name,.planning-row-name){font-weight:600}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-table{padding:8px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-list{padding:8px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-row{display:flex;align-items:center;min-height:44px;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-sm);font:500 13px/1.3 var(--gb-font)!important;color:var(--gb-ink)!important;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 .planning-row+.planning-row{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .planning-row:hover{background:var(--gb-hover);box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .planning-row[data-on=true]{background:var(--gb-fill-2);box-shadow:none;font-weight:600!important}

/* 8 · pills and status (always a dot plus a word) -------------------------- */
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-badge,.br-pill,.ap-pill,.command-pill,.campaigns-run-pill,.command-pill-tag,.command-phase-when,.command-now-badge){display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px!important;border:0!important;border-radius:999px!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:500 12px/1 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}
.v4-app[data-ui=next] .ui-next-p5 .command-now-badge,.v4-app[data-ui=next] .ui-next-p5 .command-pill-accent,.v4-app[data-ui=next] .ui-next-p5 .command-pill-tag-ready{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}

/* 9 · messages and empty states ------------------------------------------- */
.v4-app[data-ui=next] .ui-next-p5 :is(.backend-alert,.planning-alert,.campaigns-alert,.funnels-alert,.forms-alert,.social-alert,.ap-error,.br-error,.platform-banner-bad,.agency-banner-bad){margin-top:12px;padding:10px 14px!important;border:0!important;border-radius:var(--gb-r-md)!important;background:color-mix(in srgb,var(--gb-danger) 8%,transparent)!important;color:var(--gb-danger)!important;font-size:13px!important;line-height:1.45}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-notice,.planning-notice,.campaigns-notice,.funnels-notice,.forms-notice,.social-notice,.ap-done,.agency-banner:not(.agency-banner-bad)){margin-top:12px;padding:10px 14px!important;border-radius:var(--gb-r-md)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font-size:13px!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-gated,.v4-companies-note,.planning-muted,.campaigns-muted,.funnels-muted,.forms-muted,.social-muted,.v4-signature-note,.v4-signature-hint,.agency-muted){font-size:12px!important;line-height:1.5;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-gated{margin-top:16px!important;padding:12px 16px!important;border:0!important;border-radius:var(--gb-r-md)!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-empty,.br-empty){padding:12px 0!important;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-empty,.funnels-empty,.social-empty,.forms-empty,.campaigns-empty,.planning-empty){margin-top:20px!important;padding:32px 16px!important;border:0!important;border-radius:var(--gb-r-lg);text-align:center;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-empty,.funnels-empty,.social-empty){background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}

/* 10 · live activity: what the agent did / is doing ------------------------------ */
@keyframes gbn-p5-live{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gb-sage) 55%,transparent)}100%{box-shadow:0 0 0 6px transparent}}
.v4-app[data-ui=next] .ui-next-p5 .ap-card:has(.ap-ladder-group) .ap-card-title::before,
.v4-app[data-ui=next] .ui-next-p5 .ap-trust>p:first-child::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;flex:none;align-self:center;border-radius:50%;background:var(--gb-sage);animation:gbn-p5-live 2.4s ease-out infinite}
.v4-app[data-ui=next] .ui-next-p5 .ap-ladder-group{margin-top:16px!important;padding-top:0!important;border:0!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-ladder-heading{font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-ladder-row{position:relative;padding:12px 0 12px 22px!important;border:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .ap-ladder-row:last-child{box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .ap-ladder-row::before{content:"";position:absolute;left:3px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--gb-sage)}
.v4-app[data-ui=next] .ui-next-p5 .ap-ladder-label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:500 15px/1.35 var(--gb-font)!important;letter-spacing:-.01em}
.v4-app[data-ui=next] .ui-next-p5 .ap-badge{margin-left:0!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-ladder-sub,.ap-ladder-note){font-size:12px!important;color:var(--gb-ink-2)!important}

/* 11 · page by page --------------------------------------------------------- */
/* Companies: records list + record panel (F-Customers pattern). */
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-search{display:flex;gap:8px;align-items:center}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-search input{width:240px}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-list{margin-top:24px!important;padding:8px!important;overflow:hidden}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row{min-height:56px;padding:8px 12px!important;border:0!important;border-radius:var(--gb-r-sm);gap:12px!important;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row+.v4-companies-row{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row:hover{background:var(--gb-hover)!important;box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row[aria-pressed=true]{background:var(--gb-fill-2)!important;box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row>span:first-child{width:32px!important;height:32px!important;flex:none;display:inline-grid!important;place-items:center;border-radius:9px!important;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b))!important;color:var(--gb-av-ink)!important;font:600 11px/1 var(--gb-font)!important;letter-spacing:.02em!important;border:0!important;box-shadow:none!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row-title{font:600 13px/17px var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row-segment{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row-owner{font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-row-value{font:600 13px/1 var(--gb-font)!important;width:96px}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-detail{margin-top:20px!important}
.v4-app[data-ui=next] .ui-next-p5 .crm-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v4-app[data-ui=next] .ui-next-p5 .crm-panel-title h2{margin:0;font:600 20px/1.2 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-detail-line{margin:4px 0 12px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-facts{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0!important;margin:0 0 12px;border-radius:var(--gb-r-md);background:var(--gb-fill);padding:4px 16px}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-facts :is(dt,dd){margin:0;padding:10px 0;font-size:13px}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-facts dt{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-facts :is(dt,dd):nth-child(n+3){box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-detail-notes{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-companies-page h3{margin-top:24px!important;margin-bottom:4px!important}
.v4-app[data-ui=next] .v4-signature-page h3{margin-bottom:4px!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-linked,.v4-companies-link-results){gap:0!important;margin:8px 0!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-linked,.v4-companies-link-results) li{min-height:44px;padding:8px 0!important;border:0!important;border-radius:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair);font-size:13px}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-linked,.v4-companies-link-results) li:last-child{box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .v4-companies-linked li :is(span,small){color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ui-next-p5 .crm-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}
.v4-app[data-ui=next] .ui-next-p5 .crm-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.v4-app[data-ui=next] .ui-next-p5 .crm-field{display:flex;flex-direction:column}
.v4-app[data-ui=next] .ui-next-p5 .crm-field[data-wide=true]{grid-column:1/-1}

/* Signature: KPI strip + today + features. */
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-kpis{gap:16px!important;margin-top:24px!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-kpi{padding:18px 20px 20px!important;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-kpi-value{margin-top:4px;font:600 28px/1.15 var(--gb-font)!important;letter-spacing:-.03em!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-kpi-label{margin:0!important;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.v4-signature-today,.v4-signature-features){margin-top:20px!important;padding:20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-today>p,.v4-app[data-ui=next] .ui-next-p5 .v4-signature-features>p{font-size:13px;color:var(--gb-ink-2);margin:8px 0 0}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-appointments{gap:0!important;margin:8px 0 0!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-appointments li{min-height:52px;padding:8px 0!important;border:0!important;border-radius:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair);gap:12px!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-appointments li:last-child{box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-appt-time{font:500 13px/1 var(--gb-font)!important;width:72px!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-appt-status{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-features input{margin-top:12px!important;width:100%!important;max-width:320px!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-feature-list{gap:8px!important;margin-top:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .v4-signature-feature-list li{display:flex;align-items:center;min-height:36px;padding:8px 14px!important;border:0!important;border-radius:var(--gb-r-sm)!important;background:var(--gb-fill)!important;font-size:13px!important;color:var(--gb-ink)}

/* Reputation: inline-styled v4 port — sources, rating, asks and reviews as bubbles. */
.v4-app[data-ui=next] .v4-reputation>div:first-child{align-items:flex-end!important}
.v4-app[data-ui=next] .v4-reputation div:is([style*="background:var(--panel,"],[style*="background: var(--panel,"]){background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important}
.v4-app[data-ui=next] .v4-reputation span[style*="width:34px"],.v4-app[data-ui=next] .v4-reputation span[style*="width: 34px"]{border:0!important;border-radius:10px!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next] .v4-reputation div[style*="border-top"]{border-top-color:var(--gb-hair)!important}
.v4-app[data-ui=next] .v4-reputation div[style*="#e5484d"]{color:var(--gb-danger)!important}
.v4-app[data-ui=next] .v4-reputation :is(textarea,input){width:100%}

/* Autopilot: operating mode, command line, evidence, the AI's recent work. */
.v4-app[data-ui=next] .ui-next-p5 .ap-card{margin-top:20px!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-cmd-row{gap:8px!important;margin-top:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-cmd-row .ap-input{min-width:240px}
.v4-app[data-ui=next] .ui-next-p5 .ap-confirm,.v4-app[data-ui=next] .ui-next-p5 .ap-diff{padding:16px!important;margin-top:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-diff-heard{font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-grid{gap:20px!important;margin-top:20px!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-grid .ap-card{margin-top:0!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-cap-value{font:600 28px/1.15 var(--gb-font)!important;letter-spacing:-.03em}
.v4-app[data-ui=next] .ui-next-p5 .ap-cap-label{margin-left:6px;font-size:13px!important;letter-spacing:0;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-switch{background:var(--gb-switch-off)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-knob{background:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.25)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-learned{gap:0!important;margin-top:12px!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-learned-row,.br-learned-row){padding:12px 16px!important;background:transparent!important;border-radius:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-learned-row,.br-learned-row):last-child{box-shadow:none!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-learned-q,.br-learned-q){font:500 13px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-learned-a,.br-learned-a){font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-conn-row,.br-conn-row){min-height:52px;padding:10px 0!important;border:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 :is(.ap-conn-name,.br-conn-name){font:500 13px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-conn-detail{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .ap-evidence-count{min-height:40px}

/* Planning: tabs, plan list, scenario numbers, go-to-market board. */
.v4-app[data-ui=next] .ui-next-p5 .planning-toolbar{margin-top:20px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-scenario-title{margin-bottom:12px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-scenario-grid{gap:12px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-scenario-cell{padding:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-scenario-value{font:600 20px/1.2 var(--gb-font)!important;letter-spacing:-.01em}
.v4-app[data-ui=next] .ui-next-p5 .planning-scenario-label{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board{gap:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-col-head{font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;opacity:1!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card-label{font:500 13px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card-value,.v4-app[data-ui=next] .ui-next-p5 .planning-board-card-status{opacity:1!important;font-size:12px!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card[data-status=live] .planning-board-card-status{color:var(--gb-sage-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card[data-status=attn] .planning-board-card-status{color:var(--gb-ember-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card-status::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--gb-ink-3);vertical-align:1px}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card[data-status=live] .planning-board-card-status::before{background:var(--gb-sage)}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-card[data-status=attn] .planning-board-card-status::before{background:var(--gb-ember)}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-move button{border:0!important;border-radius:8px!important;background:var(--gb-fill)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-move button:hover:not(:disabled){background:var(--gb-fill-2)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .planning-board-editor{border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 :is(.planning-map-canvas,.planning-map-off){border:0!important;border-radius:var(--gb-r-md)!important;background:var(--gb-fill)!important}

/* Campaigns: views, batch calling, campaign table, run. */
.v4-app[data-ui=next] .ui-next-p5 .campaigns-batch{background:var(--gb-surface)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-batch-label{font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;opacity:1!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-chip{min-height:36px;padding:0 14px!important;border:0!important;border-radius:999px!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font-size:13px!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-chip:hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-chip[data-on=true]{background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0),inset 0 0 0 1.5px var(--gb-ink)!important;font-weight:500}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-batch-start{width:auto!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-audience{border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-audience-list{gap:0!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-audience-list li{min-height:48px;padding:6px 0!important;border:0!important;border-radius:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-audience-list small{color:var(--gb-ink-2)!important;font-size:12px!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-btn-ghost[data-on=true]:not(.campaigns-row-pick){background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-row-pick{min-height:32px!important;padding:0 12px!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-run-count{padding:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-run-count-n{font:600 20px/1.2 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-run-count-l{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .campaigns-results-currency{font:600 15px/1.3 var(--gb-font)!important}

/* Funnels & Sites: page cards. */
.v4-app[data-ui=next] .ui-next-p5 .funnels-grid{gap:20px!important;margin-top:24px!important}
.v4-app[data-ui=next] .ui-next-p5 .funnels-card{padding:20px!important;display:flex;flex-direction:column}
.v4-app[data-ui=next] .ui-next-p5 .funnels-card-name{font:600 15px/1.35 var(--gb-font)!important;letter-spacing:-.01em}
.v4-app[data-ui=next] .ui-next-p5 .funnels-card-slug{font:400 12px/1.4 var(--gb-mono)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .funnels-card-steps{font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .funnels-card-foot{margin-top:auto!important;padding-top:12px!important;border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .funnels-card-foot .funnels-muted::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3);vertical-align:0}

/* Forms & Surveys: rows with counts. */
.v4-app[data-ui=next] .ui-next-p5 .forms-list{padding:8px!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row{min-height:64px;padding:8px 12px!important;border:0!important;border-radius:var(--gb-r-sm);gap:14px!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row+.forms-row,.v4-app[data-ui=next] .ui-next-p5 .forms-share+.forms-row,.v4-app[data-ui=next] .ui-next-p5 .forms-embed+.forms-row{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .forms-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-icon{width:36px!important;height:36px!important;border-radius:10px!important;background:var(--gb-fill)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-name span{font:600 13px/17px var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-name small{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-stat span{font:600 15px/1.2 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-stat small{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-actions{flex-wrap:wrap;gap:6px!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-row-actions .forms-btn-ghost{min-height:32px!important;padding:0 12px!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-share code,.v4-app[data-ui=next] .ui-next-p5 .forms-embed-code{border:0!important;border-radius:var(--gb-r-sm)!important;background:var(--gb-fill)!important;font:400 12px/1.5 var(--gb-mono)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-question{padding:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-question legend{float:left;width:100%;margin-bottom:10px;padding:0!important;font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .forms-questions{border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}

/* Social Planner: saved posts and plans as cards, plans waiting on you lead with a dot. */
.v4-app[data-ui=next] .ui-next-p5 .social-group{margin-top:24px!important}
.v4-app[data-ui=next] .ui-next-p5 .social-group-label{margin-bottom:12px!important;font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .social-grid{gap:20px!important}
.v4-app[data-ui=next] .ui-next-p5 .social-card{padding:20px!important;display:flex;flex-direction:column}
.v4-app[data-ui=next] .ui-next-p5 .social-card-head{font:600 13px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .social-when{flex:none;white-space:nowrap;font:400 11px/1.3 var(--gb-mono)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .social-card-head{flex-wrap:wrap;align-items:baseline!important}
.v4-app[data-ui=next] .ui-next-p5 .social-card-foot:not(:has(button)){margin:0!important;padding:0!important;box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .social-card-body{font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .social-card-foot{margin-top:auto!important;padding-top:12px!important;border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .social-row-actions :is(.social-btn-primary,.social-btn-ghost){min-height:32px!important;padding:0 12px!important;border-radius:999px!important}
.v4-app[data-ui=next] .ui-next-p5 .social-card:has(.social-btn-primary) .social-card-head>span:first-child::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--gb-ember);vertical-align:1px}

/* Platform: system map — KPI tiles and module cards with status dot + word. */
.v4-app[data-ui=next][data-v4-nav=platform] .ui-next-p5>div:nth-child(3){gap:16px!important;margin-top:24px!important}
.v4-app[data-ui=next][data-v4-nav=platform] .ui-next-p5>div:nth-child(4){gap:12px!important;margin-top:20px!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}
.v4-app[data-ui=next] .ui-next-p5 .platform-tile{padding:18px 20px 20px!important}
.v4-app[data-ui=next] .ui-next-p5 .platform-tile-label{font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .platform-tile-value{margin-top:4px!important;font:600 28px/1.15 var(--gb-font)!important;letter-spacing:-.03em;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .platform-card{padding:16px 18px!important;transition:box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .ui-next-p5 .platform-card:hover{box-shadow:var(--gb-shadow-2)!important;transform:translateY(-1px)}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:first-child>span:first-child{font:500 13px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:first-child>span:last-child{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px!important;border:0!important;border-radius:999px!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:500 11px/1 var(--gb-font)!important;letter-spacing:.04em!important}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:first-child>span:last-child::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:first-child>span:last-child[style*="accent-tint"]::before{background:var(--gb-sage)}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:first-child>span:last-child[style*="--chip"]::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-lav)}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:first-child>span:last-child[style*="panel-2"]::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .ui-next-p5 .platform-card>div:last-child{font:400 11px/1.3 var(--gb-mono)!important;color:var(--gb-ink-2)!important}

/* Command Center: today, roadmap, metrics, playbook. Today's one constraint is the owner's focus: a bubble with an ember dot. */
.v4-app[data-ui=next][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;padding:20px 24px!important}
.v4-app[data-ui=next][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]>div:first-child{display:flex;align-items:center;gap:8px;font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]>div:first-child::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gb-ember)}
.v4-app[data-ui=next][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]>div:nth-child(2){font-family:var(--gb-font)!important;font-weight:600!important;letter-spacing:-.025em!important}
.v4-app[data-ui=next][data-v4-nav=command] .ui-next-p5>div:nth-child(3){display:flex!important;flex-wrap:wrap;gap:8px!important;margin-top:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .command-card{margin-top:0}
.v4-app[data-ui=next] .ui-next-p5 .command-eyebrow,.v4-app[data-ui=next] .ui-next-p5 .command-input-label,.v4-app[data-ui=next] .ui-next-p5 .command-kpi-label{font:500 11px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .command-eyebrow-note{font-family:var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important}
.v4-app[data-ui=next] .ui-next-p5 .command-bar-track{background:var(--gb-track)!important}
.v4-app[data-ui=next] .ui-next-p5 .command-bar-fill{background:var(--gb-grad)!important}
.v4-app[data-ui=next] .ui-next-p5 .command-stepper{border:0!important;border-radius:999px!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next] .ui-next-p5 .command-stepper-btn{color:var(--gb-ink)!important;border-radius:999px}
.v4-app[data-ui=next] .ui-next-p5 .command-stepper-btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .ui-next-p5 .command-check-row{border-bottom:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .command-checkbox{border:0!important;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .ui-next-p5 .command-checkbox-done{background:var(--gb-btn)!important;box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .command-kpi-tile{padding:16px!important}
.v4-app[data-ui=next] .ui-next-p5 .command-kpi-value{font:600 28px/1.15 var(--gb-font)!important;letter-spacing:-.03em!important}
.v4-app[data-ui=next] .ui-next-p5 .command-phase-active{background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0),inset 0 0 0 1.5px var(--gb-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .command-list-row{border-bottom:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}

/* Businesses (agency). */
.v4-app[data-ui=next] .agency-page>section{margin-top:20px!important;padding:20px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .agency-page>section>h2{margin-bottom:8px!important}
.v4-app[data-ui=next] .ui-next-p5 .agency-row{max-width:none!important;min-height:56px;padding:8px 0!important;border-bottom:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .agency-row:last-child{box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .agency-name{font:600 13px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next] .ui-next-p5 .agency-counts{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .agency-client{margin:12px 0!important;box-shadow:none!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next] .ui-next-p5 .agency-statement{max-width:none!important;font-size:13px!important}
.v4-app[data-ui=next] .ui-next-p5 .agency-statement :is(th,td){border-bottom:0!important;box-shadow:inset 0 -1px 0 var(--gb-hair);padding:12px 10px!important}
.v4-app[data-ui=next] .ui-next-p5 .agency-statement th{font:600 12px/1.2 var(--gb-font)!important;color:var(--gb-ink-2)}

/* 12 · The Brain: what needs you first, one knowledge book --------------------- */
.v4-app[data-ui=next] .br-page{display:flex;flex-direction:column}
.v4-app[data-ui=next] .br-page>*{order:2}
.v4-app[data-ui=next] .br-page>:is(.br-eyebrow,h1,.br-lede,.br-note,.br-error){order:0}
/* "<agent name> proposes" (the third card) is what needs the owner: it leads the page. */
.v4-app[data-ui=next] .br-page>.br-card~.br-card~.br-card:not(.br-card~.br-card~.br-card~.br-card){order:1}
/* REMOVED (duplicate): the first knowledge-book card repeats the second card exactly, minus the withdraw
   controls. Every one of its buttons (Edit knowledge and FAQs, Publish reviewed draft, Restore) is in the
   second card, which stays visible directly below. Listed in the PR under "Removed (why)". */
.v4-app[data-ui=next] .br-page>.br-card:not(.br-card~.br-card){display:none}
.v4-app[data-ui=next] .ui-next-p5 .br-proposal-row{padding:14px 0 14px 20px!important;position:relative;border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .ui-next-p5 .br-card>.br-proposal-row:first-of-type{box-shadow:none}
.v4-app[data-ui=next] .ui-next-p5 .br-proposal-row:has(.br-proposal-actions .br-btn-accent)::before{content:"";position:absolute;left:2px;top:21px;width:7px;height:7px;border-radius:50%;background:var(--gb-ember)}
.v4-app[data-ui=next] .ui-next-p5 .br-proposal-name{font:500 15px/1.35 var(--gb-font)!important;letter-spacing:-.01em}
.v4-app[data-ui=next] .ui-next-p5 :is(.br-proposal-reason,.br-proposal-evidence,.br-proposal-outcome,.br-book-text,.br-sample-note){font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .ui-next-p5 .br-proposal-change{font:500 13px/1.5 var(--gb-font)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .ui-next-p5 .br-input{min-height:36px!important}
.v4-app[data-ui=next] .ui-next-p5 .br-book-heading{margin-top:24px!important}
.v4-app[data-ui=next] .ui-next-p5 .br-learned{gap:0!important}
.v4-app[data-ui=next] .ui-next-p5 .br-graph circle[fill="var(--accent-tint)"]{fill:var(--gb-fill-2)}

/* 13 · narrow main and phone --------------------------------------------------- */
@media (max-width:900px){
  .v4-app[data-ui=next] .ui-next-p5{padding:24px 20px 96px!important}
  .v4-app[data-ui=next][data-v4-nav=platform] .ui-next-p5>div:nth-child(3){grid-template-columns:1fr!important}
}
@media (max-width:760px){
  /* Businesses: the next button look sets min-height 36px at a higher specificity than agency.css, so the phone's 44px touch target was lost. */
  .v4-app[data-ui=next] .ui-next-p5 :is(.agency-btn,.agency-month){min-height:44px;min-width:44px}
}
@media (max-width:759px){
  .v4-app[data-ui=next] .ui-next-p5{padding:16px 16px 112px!important}
  .v4-app[data-ui=next] :is(.v4-companies-title,.v4-signature-title,.planning-title,.campaigns-title,.funnels-title,.forms-title,.social-title,.ap-head h1,.br-page>h1,.agency-page>header h1),
  .v4-app[data-ui=next] .v4-reputation>div:first-child>div:first-child>h1:first-child,
  .v4-app[data-ui=next] .ui-next-p5.premium-shell:not(.v4-reputation)>div:first-child>h1:nth-child(2){font-size:24px!important}
  .v4-app[data-ui=next] .ui-next-p5 :is(button,.planning-tab){white-space:normal!important;text-align:center}
  .v4-app[data-ui=next] .ui-next-p5 :is(.v4-companies-actions,.v4-companies-search){width:100%}
  .v4-app[data-ui=next] .ui-next-p5 .v4-companies-search input{flex:1;width:auto;min-width:0}
  .v4-app[data-ui=next] .ui-next-p5 :is(.campaigns-table,.campaigns-results,.planning-scenario){overflow-x:auto}
  .v4-app[data-ui=next] .ui-next-p5 .forms-row{flex-wrap:wrap}
  .v4-app[data-ui=next] .ui-next-p5 .ap-cmd-row .ap-input{min-width:0;width:100%}
  .v4-app[data-ui=next] .ui-next-p5 :is(.planning-board-grid,.ap-grid,.funnels-grid,.social-grid){grid-template-columns:minmax(0,1fr)!important}
  .v4-app[data-ui=next] :is(.v4-reputation,[data-v4-nav=command] .ui-next-p5) div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .v4-app[data-ui=next] .v4-reputation div[style*="min-width:240px"],.v4-app[data-ui=next] .v4-reputation div[style*="min-width: 240px"]{min-width:0!important}
}
/* N11 (sweep 3): until the Brain's first read answers (brainWaiting) the cards are not drawn (brain.html) and this
   placeholder holds their place. The cards then appear together, so nothing on screen moves. */
.v4-app[data-ui=next] .br-page>.br-wait{order:1;display:flex;flex-direction:column;gap:20px;margin-top:20px}
.v4-app[data-ui=next] .br-wait .br-wait-block{height:180px;border-radius:var(--gb-r-lg,22px);background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-br-wait 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .br-wait .br-wait-block:nth-of-type(2){height:320px}
.v4-app[data-ui=next] .br-wait .br-wait-block:nth-of-type(3){height:420px}
@keyframes gbn-br-wait{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .br-wait .br-wait-block{animation:none}}

/* UX sweep 5 U15: the Campaigns table (a sideways scroll region at narrow widths) and the Platform page are focusable
   regions, so a keyboard can reach and scroll them; they show the same focus ring as every other control. */
.v4-app[data-ui=next] .ui-next-p5 .campaigns-table:focus-visible,.v4-app[data-ui=next] .ui-next-p5[role=region][aria-label=Platform]:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}

/* Page insight rail in the GPT Business look (next). Moved here from src/metric-visuals.css: a classic stylesheet
   passes through the desktop presentation theme (themeCSS), and next rules must ship unthemed in the zz-next bucket
   that scripts/compose.mjs appends last (tests/v4-ui-next.test.mjs, v4-ui-next-presentation-theme.test.mjs). */
/* Live sweep 2026-10-20 L26 (next look): the page insight rail beside a page (Automations, People and the others)
   is inset from the window edge and uses the type sizes of Reporting's rail, instead of running to the right edge in
   11-13px text. Reporting and Payments keep their own, more specific placement (zz-next-reporting/payments.css). */
.v4-app[data-ui=next] .mv-page-layout[data-has-chart=true]>.mv-page-rail{box-sizing:border-box;padding:32px 24px 0 0}
.v4-app[data-ui=next] .mv-page-rail .mv-summary{border-radius:var(--gb-r-lg,22px);font-family:var(--gb-font)}
.v4-app[data-ui=next] .mv-page-rail .mv-summary-heading{font-size:15px;font-weight:600;letter-spacing:-.01em}
.v4-app[data-ui=next] .mv-page-rail .mv-summary small{font-size:12px!important}
.v4-app[data-ui=next] .mv-page-rail .mv-summary-link{font-size:13px}
@media (max-width:900px){.v4-app[data-ui=next] .mv-page-layout[data-has-chart=true]>.mv-page-rail{padding:16px 24px 0}}

/* ==========================================================================
   UI-NEXT · Payments ("Money") · A depth inside the B shell
   --------------------------------------------------------------------------
   Every selector starts with .v4-app[data-ui=next]; with the switch off nothing here matches.
   The markup is mostly inline-styled, so the page carries additive pay-n-* classes and this file
   overrides with !important (author !important beats inline). Premium's card skin targets
   .pay-panel and .mv-summary through #main-workspace, so those two rules repeat that id.

   Layout (reference: shots/A-Money-light.png, B-Money-light.png):
     header (gb-pagehead) → KPI cards | "Collected by week" chart → Collections (agent + unpaid
     work) | Money at risk → invoices table (gb-table) with the open invoice beside it.
   Nothing is hidden: CSS `order` only moves the Collections and Money at risk cards above the
   table; the page insight rail (.mv-page-rail) moves below the page so the page gets the full
   1104px column. Left out (no data on this page): expenses, payouts, price book, memberships,
   money-out line, estimates/payments tabs.
   ========================================================================== */

/* ---- page root: reset the shell's .v4-app flex/100vh/overflow and premium's #000 ------------- */
.v4-app[data-ui=next] .v4-payments{
  --font:var(--gb-font);--bg:var(--gb-ground);--panel:var(--gb-surface);--panel-2:var(--gb-column);--line:var(--gb-hair-2);--line-soft:var(--gb-hair);
  --fg:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--chip:var(--gb-fill);--hover:var(--gb-hover);
  --accent:var(--gb-btn);--accent-tint:var(--gb-fill);--accent-line:var(--gb-hair-2);--accent-ink:var(--gb-ink);--on-accent:var(--gb-btn-ink);
  --danger:var(--gb-danger);
  container:paypage/inline-size;
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:24px 20px;align-items:start;
  box-sizing:border-box;width:100%!important;max-width:var(--gb-page-max,1104px);height:auto!important;min-height:0!important;
  margin:0 auto!important;padding:32px 32px 72px!important;overflow:visible!important;background:transparent!important;
  font-family:var(--gb-font)!important;font-size:13px;line-height:1.45;color:var(--gb-ink)!important;
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;transition:none!important;
}
.v4-app[data-ui=next] .v4-payments>*{grid-column:1/-1;min-width:0;margin:0!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-top,.pay-n-work,.pay-n-coll,.pay-n-risk)>*{min-width:0}
/* visual order only (DOM order is unchanged): top row, then the two follow-up cards, then the table */
.v4-app[data-ui=next] .v4-payments>.pay-n-top{order:1}
.v4-app[data-ui=next] .v4-payments>:is(.pay-n-coll,.pay-n-risk){order:2;grid-column:auto;align-self:stretch}
.v4-app[data-ui=next] .v4-payments>.pay-n-work{order:3}
.v4-app[data-ui=next] .v4-payments:not(:has(>.pay-n-risk))>.pay-n-coll,
.v4-app[data-ui=next] .v4-payments:not(:has(>.pay-n-coll>*))>.pay-n-risk{grid-column:1/-1}

/* ---- buttons (gb-btn): one primary (ink) per group, the rest fill pills ------------------------ */
.v4-app[data-ui=next] .v4-payments :is(.pay-n-btn,.pay-primary-btn,.pay-secondary-btn,.pay-ghost-btn){
  display:inline-flex!important;align-items:center;justify-content:center;gap:6px!important;flex:none;
  height:36px;padding:0 16px!important;border:0!important;border-radius:var(--gb-r-full,999px)!important;
  background:var(--gb-fill)!important;color:var(--gb-ink)!important;box-shadow:none!important;
  font:var(--gb-fw-medium,500) 13px/1 var(--gb-font)!important;letter-spacing:normal!important;white-space:nowrap;cursor:pointer;
  transition:background-color var(--gb-dur-1,150ms) var(--gb-ease),transform var(--gb-dur-1,150ms) var(--gb-ease)!important;
}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-btn,.pay-primary-btn,.pay-secondary-btn,.pay-ghost-btn):hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-btn,.pay-primary-btn,.pay-secondary-btn,.pay-ghost-btn):active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-primary,.pay-primary-btn){background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-primary,.pay-primary-btn):hover{background:var(--gb-btn-hover)!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-btn,.pay-primary-btn,.pay-secondary-btn,.pay-ghost-btn):disabled{opacity:.4;cursor:default;pointer-events:none}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-btn,.pay-primary-btn,.pay-secondary-btn,.pay-ghost-btn) svg{width:16px;height:16px}
/* small (gb-btn--sm) inside rows */
.v4-app[data-ui=next] .v4-payments :is(.pay-n-c-act,.pay-n-chase,.pay-n-stage,.pay-ghost-btn,.pay-staged-row .pay-secondary-btn){height:32px;padding:0 12px!important;font-size:12.5px!important}
/* a disabled stage button carries an instruction ("Link a customer…"); keep it legible, not 40% */
.v4-app[data-ui=next] .v4-payments .pay-n-stage:disabled{opacity:1;background:transparent!important;color:var(--gb-ink-2)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)!important;white-space:normal;height:auto;min-height:32px;padding:6px 12px!important;line-height:1.35!important;text-align:left}

/* ---- header (gb-pagehead) --------------------------------------------------------------------- */
.v4-app[data-ui=next] .v4-payments .pay-n-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:0 8px!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-head-titles,.pay-n-head-state){display:contents!important}
.v4-app[data-ui=next] .v4-payments .pay-n-title{grid-column:1;grid-row:1;font:var(--gb-fw-semibold,600) 28px/1.15 var(--gb-font)!important;letter-spacing:-.025em!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-desc{grid-column:1;grid-row:2;margin-top:6px!important;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-state{grid-column:1;grid-row:3;justify-self:start;margin-top:12px;display:inline-flex!important;align-items:center;gap:7px!important;height:26px;padding:0 11px 0 8px!important;border:0!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-fill)!important;max-width:100%}
.v4-app[data-ui=next] .v4-payments .pay-n-state-icon{width:16px!important;height:16px!important;border-radius:0!important;background:transparent!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments .pay-n-state-icon svg{width:14px;height:14px}
.v4-app[data-ui=next] .v4-payments .pay-n-state-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-payments .pay-n-state-dot[data-on=true]{background:var(--gb-sage)!important;box-shadow:none}
.v4-app[data-ui=next] .v4-payments .pay-n-state-label{font:var(--gb-fw-regular,400) 12px/1.25 var(--gb-font)!important;color:var(--gb-ink)!important;min-width:0}
.v4-app[data-ui=next] .v4-payments .pay-n-setup{grid-column:2;grid-row:1/4}
.v4-app[data-ui=next] .v4-payments .pay-n-new-btn{grid-column:3;grid-row:1/4}

/* ---- page messages ----------------------------------------------------------------------------- */
.v4-app[data-ui=next] .v4-payments .pay-n-loading{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments .pay-n-notice{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--gb-r-md,16px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-size:13px!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-notice::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-sage)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-err,.pay-error){font-size:12px!important;color:var(--gb-danger)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-page-err{font-size:13px!important}

/* ---- new invoice form (gb-card + gb-field / gb-input) ------------------------------------------- */
.v4-app[data-ui=next] .v4-payments .pay-n-new{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:16px 12px!important;padding:20px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-payments .pay-n-new-title{display:block;flex-basis:100%;font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-field{gap:6px!important;font:var(--gb-fw-medium,500) 13px/1.3 var(--gb-font)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-field-amount{width:160px!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-input,.pay-input){
  width:100%;min-width:0;height:40px;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-sm,10px)!important;
  background:var(--gb-surface)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink)!important;
  font:var(--gb-fw-regular,400) 13px/1.2 var(--gb-font)!important;outline:none;transition:box-shadow var(--gb-dur-1,150ms) var(--gb-ease)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-input,.pay-input)::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-input,.pay-input):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-input,.pay-input):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .v4-payments .pay-n-new .pay-n-err{flex-basis:100%}

/* ---- top row: KPI cards (gb-kpi--card, hero 40px) beside the chart ------------------------------- */
.v4-app[data-ui=next] .v4-payments .pay-n-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.v4-app[data-ui=next] .v4-payments .pay-n-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:0!important}
.v4-app[data-ui=next] .v4-payments .pay-n-kpi{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;padding:18px 20px 20px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-kpi--hero{grid-column:1/-1}
.v4-app[data-ui=next] .v4-payments .pay-n-kpi-label{font:var(--gb-fw-regular,400) 13px/1.4 var(--gb-font)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-kpi-value{margin-top:4px!important;font:var(--gb-fw-semibold,600) 28px/1.15 var(--gb-font)!important;letter-spacing:-.03em!important;color:var(--gb-ink)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .v4-payments .pay-n-kpi--hero .pay-n-kpi-value{font-size:40px!important;letter-spacing:-.035em!important;margin-top:8px!important}
.v4-app[data-ui=next] .v4-payments .pay-n-kpi-note{margin-top:0!important;font:var(--gb-fw-regular,400) 12px/1.4 var(--gb-font)!important;color:var(--gb-ink-2)!important}

/* chart card: "Collected by week" (gb-card + gb-bars, this week = ember) */
.v4-app[data-ui=next] .v4-payments .pay-n-flow{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:4px 16px}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-titles{min-width:0;flex:1 1 200px}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-title{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-sub{margin-top:2px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-total{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-total b{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-total span{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments .pay-n-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:4px;margin-top:auto}
.v4-app[data-ui=next] .v4-payments .pay-n-bar{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next] .v4-payments .pay-n-bar-plot{position:relative;box-sizing:border-box;display:flex;align-items:flex-end;justify-content:center;width:100%;height:182px;padding-top:24px}
.v4-app[data-ui=next] .v4-payments .pay-n-bar-plot>i{position:relative;display:block;width:min(100%,24px);min-height:6px;border-radius:var(--gb-r-full,999px);background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-payments .pay-n-bar-v{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);font-size:12px;font-style:normal;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-payments .pay-n-bar-x{font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-payments .pay-n-bar[data-current=true] .pay-n-bar-plot>i{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-payments .pay-n-bar[data-current=true] :is(.pay-n-bar-v,.pay-n-bar-x){color:var(--gb-ink);font-weight:var(--gb-fw-semibold,600)}
.v4-app[data-ui=next] .v4-payments .pay-n-flow-empty{margin-top:auto;padding:28px 0 8px;font-size:13px;color:var(--gb-ink-2)}

/* ---- Collections card: the agent's live status + the existing unpaid-work aging rows (gb-hbar) ------- */
.v4-app[data-ui=next] .v4-payments .pay-n-coll{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-payments .pay-n-coll:not(:has(>*)){display:none!important} /* empty wrapper only: no control inside */
.v4-app[data-ui=next] .v4-payments .pay-n-agent{display:flex;flex-direction:column;gap:14px}
.v4-app[data-ui=next] .v4-payments .pay-n-agent-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:24px}
.v4-app[data-ui=next] .v4-payments .pay-n-agent-title{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-agent-src{display:flex;flex-wrap:wrap;gap:0 6px;margin-top:-10px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments .pay-n-agent-name::after{content:"\00b7";margin-left:6px}
/* until the shell provides agentName the binding is empty: drop the empty name and its separator */
.v4-app[data-ui=next] .v4-payments :is(.pay-n-agent-name:empty,.pay-n-agent-name:has(>.sc-interp:empty)){display:none}
.v4-app[data-ui=next] .v4-payments .pay-n-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-status,.pay-n-need)::before{content:"";display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-status,.pay-n-need)[data-dot=you]::before{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-status,.pay-n-need)[data-dot=run]::before{background:var(--gb-sage)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-status,.pay-n-need)[data-dot=wait]::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-lav)}
.v4-app[data-ui=next] .v4-payments .pay-n-status[data-dot=run]::before{animation:gbn-pay-live 2.4s ease-out infinite}
.v4-app[data-ui=next] .v4-payments .pay-n-agent-rows{display:flex;flex-direction:column;gap:14px}
.v4-app[data-ui=next] .v4-payments .pay-n-need{display:grid;grid-template-columns:7px minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:baseline}
.v4-app[data-ui=next] .v4-payments .pay-n-need::before{align-self:center;transform:translateY(-1px)}
.v4-app[data-ui=next] .v4-payments .pay-n-need-title{font-size:15px;letter-spacing:-.01em;line-height:1.35;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-need-amt{font-size:15px;font-weight:var(--gb-fw-semibold,600);text-align:right;white-space:nowrap;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-need-meta{grid-column:2/4;font-size:13px;color:var(--gb-ink-2)}
/* "Unpaid work": the existing aging section, now a sub-list of the card */
.v4-app[data-ui=next] .v4-payments .pay-n-coll-head{display:flex!important;align-items:center;flex-wrap:wrap;gap:6px 12px!important;margin:0!important;padding-top:16px;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-payments .pay-n-coll-head:first-child{padding-top:0;box-shadow:none}
.v4-app[data-ui=next] .v4-payments .pay-n-coll-title{font:var(--gb-fw-semibold,600) 13px/1.4 var(--gb-font)!important;letter-spacing:normal!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-autochase{gap:8px!important;font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-switch{width:30px!important;height:18px!important;padding:2px!important;background:var(--gb-switch-off,var(--gb-fill-2))!important;opacity:1!important}
.v4-app[data-ui=next] .v4-payments .pay-n-knob{width:14px!important;height:14px!important;background:#ffffff!important;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.v4-app[data-ui=next] .v4-payments .pay-n-aging{display:flex!important;flex-direction:column;gap:0!important;margin:-4px 0 0!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket{
  display:grid!important;grid-template-columns:minmax(76px,max-content) minmax(0,1fr) auto auto;
  grid-template-areas:"label track amt chase" "count track amt chase" "draft draft draft draft" "stage stage stage stage" "err err err err";
  column-gap:14px;row-gap:0;align-items:center;padding:12px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket+.pay-n-bucket{box-shadow:inset 0 1px 0 var(--gb-hair)!important}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-bucket-top,.pay-n-bucket-foot){display:contents!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket-label{grid-area:label;font:var(--gb-fw-medium,500) 13px/1.35 var(--gb-font)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket-count{grid-area:count;font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket-amt{grid-area:amt;font:var(--gb-fw-semibold,600) 13px/1 var(--gb-font)!important;text-align:right;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket .pay-n-chase{grid-area:chase}
.v4-app[data-ui=next] .v4-payments .pay-n-track{grid-area:track;height:8px!important;margin:0!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-track)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-fill{border-radius:inherit!important;background:var(--gb-bar)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket[data-bucket=b2] .pay-n-fill{background:var(--gb-ember)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket .pay-n-draft{grid-area:draft;margin-top:12px}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket .pay-n-stage{grid-area:stage;justify-self:start}
.v4-app[data-ui=next] .v4-payments .pay-n-bucket .pay-n-err{grid-area:err}
.v4-app[data-ui=next] .v4-payments .pay-n-draft{padding:12px 14px!important;border:0!important;border-radius:var(--gb-r-md,16px);background:var(--gb-fill);font-size:13px!important;line-height:1.55!important;color:var(--gb-ink)!important;white-space:pre-wrap}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-draft+.pay-n-stage){margin-top:8px!important}

/* ---- Money at risk card (quotes gone quiet) ------------------------------------------------------ */
.v4-app[data-ui=next] .v4-payments .pay-n-risk{display:flex;flex-direction:column;gap:0;padding:20px;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-payments .pay-n-risk>*{margin:0!important}
.v4-app[data-ui=next] .v4-payments .pay-n-risk-title{font:var(--gb-fw-semibold,600) 15px/1.4 var(--gb-font)!important;letter-spacing:-.01em!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-risk-sub{margin-top:2px!important;font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-risk-list{gap:0!important;margin-top:8px!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote{padding:14px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote+.pay-n-quote{box-shadow:inset 0 1px 0 var(--gb-hair)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote:last-child{padding-bottom:0!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote-top{gap:8px 12px!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote-main{min-width:0!important;flex:1 1 180px!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote-title{font:var(--gb-fw-regular,400) 15px/1.35 var(--gb-font)!important;letter-spacing:-.01em!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote-ago{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote .pay-n-draft{margin-top:12px!important}
.v4-app[data-ui=next] .v4-payments .pay-n-quote .pay-n-err{margin-top:8px!important}

/* ---- invoices table (gb-card--flush + gb-table), the open invoice beside it -------------------- */
.v4-app[data-ui=next] .v4-payments .pay-n-work{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.v4-app[data-ui=next] .v4-payments .pay-n-work:has(>.pay-panel){grid-template-columns:minmax(0,1fr) minmax(300px,368px)}
.v4-app[data-ui=next] .v4-payments .pay-n-table{margin:0!important;padding:8px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important;overflow:hidden}
.v4-app[data-ui=next] .v4-payments .pay-n-table-head{display:flex;align-items:baseline;gap:8px;padding:10px 10px 8px}
.v4-app[data-ui=next] .v4-payments .pay-n-table-title{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-n-table-count{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-payments :is(.pay-n-th,.pay-n-tr){grid-template-columns:minmax(72px,.7fr) minmax(120px,2fr) minmax(88px,1fr) minmax(108px,1.1fr) minmax(64px,.8fr) 76px!important;gap:12px!important;padding:0 10px!important;border:0!important}
.v4-app[data-ui=next] .v4-payments .pay-n-th{min-height:36px;background:transparent!important;box-shadow:inset 0 -1px 0 var(--gb-hair);font:var(--gb-fw-semibold,600) 12px/1 var(--gb-font)!important;color:var(--gb-ink-2)!important;text-transform:none!important;letter-spacing:normal!important}
.v4-app[data-ui=next] .v4-payments .pay-n-tr{min-height:48px;border-radius:var(--gb-r-sm,10px);transition:background-color var(--gb-dur-1,150ms) var(--gb-ease)}
.v4-app[data-ui=next] .v4-payments .pay-n-tr:nth-child(even of .pay-n-tr){background:var(--gb-zebra)}
.v4-app[data-ui=next] .v4-payments .pay-n-tr:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .v4-payments .pay-n-tr[data-open=true]{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-payments .pay-n-tr .pay-n-c-id{font:var(--gb-fw-regular,400) 12px/1.2 var(--gb-mono)!important;letter-spacing:-.01em;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-tr .pay-n-c-client{font:var(--gb-fw-semibold,600) 13px/1.3 var(--gb-font)!important;color:var(--gb-ink)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .v4-payments .pay-n-c-amt{justify-self:end;text-align:right}
.v4-app[data-ui=next] .v4-payments .pay-n-c-st{margin-left:14px!important}
.v4-app[data-ui=next] .v4-payments .pay-n-tr .pay-n-c-amt{font:var(--gb-fw-medium,500) 13px/1.2 var(--gb-font)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-n-tr .pay-n-c-date{font:var(--gb-fw-regular,400) 13px/1.2 var(--gb-font)!important;color:var(--gb-ink-2)!important;white-space:nowrap}
.v4-app[data-ui=next] .v4-payments .pay-n-c-act{justify-self:end}
/* status = dot + word; the word is the existing stLabel, the dot comes from the additive stKey */
.v4-app[data-ui=next] .v4-payments .pay-n-st{display:inline-flex!important;align-items:center;gap:7px;width:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;font:var(--gb-fw-regular,400) 13px/1.2 var(--gb-font)!important;color:var(--gb-ink)!important;white-space:nowrap}
.v4-app[data-ui=next] .v4-payments .pay-n-st::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-payments .pay-n-st[data-status=paid]::before{background:var(--gb-sage);box-shadow:none}
.v4-app[data-ui=next] .v4-payments .pay-n-st[data-status=open]::before{box-shadow:inset 0 0 0 1.5px var(--gb-lav)}
.v4-app[data-ui=next] .v4-payments .pay-n-st[data-status=partial]::before{background:var(--gb-lav);box-shadow:none}
.v4-app[data-ui=next] .v4-payments .pay-n-st[data-status=disputed]::before{background:var(--gb-ember);box-shadow:none}
.v4-app[data-ui=next] .v4-payments .pay-n-st[data-status=closed]::before{background:var(--gb-ink-3);box-shadow:none}
.v4-app[data-ui=next] .v4-payments .pay-n-empty{padding:20px 10px!important;font-size:13px!important;color:var(--gb-ink-2)!important}

/* the open invoice (pay-panel): premium skins it through #main-workspace, hence the id */
.v4-app[data-ui=next] .v4-payments .pay-panel,
.v4-app[data-ui=next] #main-workspace .v4-payments .pay-panel{position:sticky;top:72px;margin:0!important;padding:20px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-panel-head{align-items:flex-start;gap:12px}
.v4-app[data-ui=next] .v4-payments .pay-panel-title{font-size:15px!important;font-weight:var(--gb-fw-semibold,600)!important;letter-spacing:-.01em!important;line-height:1.35;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-panel-sub{margin-top:2px!important;font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-panel-section{margin-top:16px!important;padding-top:16px!important;border-top:0!important;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-payments .pay-panel-label{font-size:13px!important;font-weight:var(--gb-fw-semibold,600)!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-panel-hint{margin-top:4px!important;font-size:12px!important;line-height:1.5!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-payments .pay-panel-row{gap:8px!important;margin-top:10px!important}
.v4-app[data-ui=next] .v4-payments .pay-panel-row .pay-input{flex:1 1 160px;width:auto}
.v4-app[data-ui=next] .v4-payments .pay-input-narrow{flex:none!important;width:120px!important}
.v4-app[data-ui=next] .v4-payments select.pay-input{padding-right:8px!important;cursor:pointer}
.v4-app[data-ui=next] .v4-payments .pay-record-amount{font-size:15px!important;font-weight:var(--gb-fw-semibold,600)!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-payments .pay-staged-row{padding:8px 8px 8px 12px!important;border-radius:var(--gb-r-sm,10px)!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next] .v4-payments .pay-staged-label{font-size:12px!important;font-weight:var(--gb-fw-medium,500)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-payments .pay-door-link{font-size:13px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink);text-decoration:underline;text-underline-offset:3px}

/* ---- page insight rail: below the page as one slim bubble (the button and its link stay) ------- */
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments){display:block!important;margin:0!important}
.v4-app[data-ui=next] .mv-page-layout[data-has-chart=true]:has(>.mv-page-main>.v4-payments) .v4-payments{padding-bottom:24px!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments)>.mv-page-rail{position:static!important;box-sizing:border-box;width:100%;max-width:var(--gb-page-max,1104px);margin:0 auto!important;padding:0 32px 72px}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary,
.v4-app[data-ui=next] #main-workspace .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px!important;width:100%;
  padding:16px 20px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;
  box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important;font-family:var(--gb-font)!important;text-align:left;transition:box-shadow var(--gb-dur-1,150ms) var(--gb-ease)!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary:hover,
.v4-app[data-ui=next] #main-workspace .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary:hover{box-shadow:var(--gb-shadow-2)!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary>*{grid-column:1;min-width:0;margin:0!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary-heading{font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary-heading i{display:none}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary-value{font:var(--gb-fw-semibold,600) 20px/1.25 var(--gb-font)!important;letter-spacing:-.01em!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary small{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary-link{grid-column:2!important;grid-row:1/span 6;align-self:center;display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-radius:var(--gb-r-full,999px);background:var(--gb-fill);font-size:13px!important;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink)!important;white-space:nowrap}
.v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments) .mv-summary:hover .mv-summary-link{background:var(--gb-fill-2)}

/* ---- container-driven layout (the chat panel and phones narrow the page) ---------------------- */
@container paypage (max-width:900px){
  .v4-app[data-ui=next] .v4-payments .pay-n-top{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .v4-payments .pay-n-work:has(>.pay-panel){grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .v4-payments .pay-panel{position:static}
}
@container paypage (max-width:760px){
  .v4-app[data-ui=next] .v4-payments :is(.pay-n-th,.pay-n-tr){grid-template-columns:minmax(64px,.7fr) minmax(100px,2fr) minmax(80px,1fr) minmax(96px,1.1fr) minmax(56px,.7fr) 68px!important;gap:10px!important}
}
@container paypage (max-width:600px){
  /* header: titles, then the two actions on one row */
  .v4-app[data-ui=next] .v4-payments .pay-n-head{grid-template-columns:auto minmax(0,1fr)}
  .v4-app[data-ui=next] .v4-payments :is(.pay-n-title,.pay-n-desc,.pay-n-state){grid-column:1/-1}
  .v4-app[data-ui=next] .v4-payments .pay-n-setup{grid-column:1;grid-row:4;margin-top:16px;justify-self:start}
  .v4-app[data-ui=next] .v4-payments .pay-n-new-btn{grid-column:2;grid-row:4;margin-top:16px;justify-self:start}
  .v4-app[data-ui=next] .v4-payments .pay-n-state{height:auto;min-height:26px;padding:4px 11px 4px 8px!important}
  /* KPI values that still fit two-up */
  .v4-app[data-ui=next] .v4-payments .pay-n-kpi-value{font-size:24px!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-kpi--hero .pay-n-kpi-value{font-size:36px!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-kpi{padding:16px!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-bars{gap:2px}
  .v4-app[data-ui=next] .v4-payments :is(.pay-n-bar-v,.pay-n-bar-x){font-size:11px}
  .v4-app[data-ui=next] .v4-payments .pay-n-bar-plot>i{width:min(100%,18px)}
  /* table → readable two-line rows; every cell (date included) stays on screen */
  .v4-app[data-ui=next] .v4-payments :is(.pay-n-th,.pay-n-tr){grid-template-columns:auto auto minmax(0,1fr) auto!important;grid-template-areas:"client client client amt" "id st date act";row-gap:6px!important;column-gap:10px!important;padding:10px!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-th{min-height:0;padding-top:4px!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-client{grid-area:client}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-amt{grid-area:amt}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-id{grid-area:id}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-st{grid-area:st}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-date{grid-area:date}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-act{grid-area:act}
  .v4-app[data-ui=next] .v4-payments .pay-n-c-st{margin-left:0!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-th>.pay-n-c-act{display:none} /* the empty header cell; no control */
  /* aging rows: label/count, then the bar across, then amount + chase */
  .v4-app[data-ui=next] .v4-payments .pay-n-bucket{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"label amt chase" "count amt chase" "track track track" "draft draft draft" "stage stage stage" "err err err"}
  .v4-app[data-ui=next] .v4-payments .pay-n-track{margin-top:10px!important}
  .v4-app[data-ui=next] .v4-payments .pay-n-quote-main{flex-basis:100%!important}
}
@media (max-width:760px){
  .v4-app[data-ui=next] .v4-payments{padding:20px 16px 112px!important}
  .v4-app[data-ui=next] .mv-page-layout[data-has-chart=true]:has(>.mv-page-main>.v4-payments) .v4-payments{padding-bottom:24px!important}
  .v4-app[data-ui=next] .mv-page-layout:has(>.mv-page-main>.v4-payments)>.mv-page-rail{padding:0 16px 112px}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .v4-payments .pay-n-status::before{animation:none}
}
@keyframes gbn-pay-live{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gb-sage) 55%,transparent)}70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 0 0 transparent}}
/* QA F7: the skeleton tile while the first read is in flight (the shared payments.css copy goes through the theme
   pass, which drops its background). The value is a dash on a soft moving bar, never a real-looking $0.00. */
.v4-app[data-ui=next] .v4-payments [aria-busy="true"] :is(.pay-n-kpi-value,.pay-n-flow-total b,.pay-n-table-count){display:inline-block;min-width:3.2em;border-radius:8px;color:transparent!important;background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-pay-skeleton 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .v4-payments [aria-busy="true"] .pay-n-kpi-value *{color:transparent!important}
@keyframes gbn-pay-skeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .v4-payments [aria-busy="true"] :is(.pay-n-kpi-value,.pay-n-flow-total b,.pay-n-table-count){animation:none}}
/* R1 (sweep 2): no layout shift while the first read is in flight. The status line is read out but takes no
   room; the chart holds eight placeholder bars at the final plot height; and one placeholder holds the space of
   the collections card and the invoices table, which are drawn only once the rows are in (payWaiting). */
.v4-app[data-ui=next] .v4-payments .pay-n-loading{position:absolute;width:1px;height:1px;margin:-1px!important;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.v4-app[data-ui=next] .v4-payments[data-pay-wait=true]>:is(.pay-n-work,.pay-n-coll,.pay-n-risk){display:none!important}
.v4-app[data-ui=next] .v4-payments .pay-n-bars--wait .pay-n-bar-plot>i,
.v4-app[data-ui=next] .v4-payments .pay-n-wait>*{background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-pay-skeleton 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .v4-payments .pay-n-bars--wait .pay-n-bar-x{color:var(--gb-ink-2)} /* L19: week dates stay readable (4.5:1) while loading */
.v4-app[data-ui=next] .v4-payments .pay-n-wait{order:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:24px 20px}
.v4-app[data-ui=next] .v4-payments .pay-n-wait>*{border-radius:var(--gb-r-lg,22px)}
.v4-app[data-ui=next] .v4-payments .pay-n-wait-card{min-height:232px}
.v4-app[data-ui=next] .v4-payments .pay-n-wait-table{grid-column:1/-1;min-height:420px}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .v4-payments :is(.pay-n-bars--wait .pay-n-bar-plot>i,.pay-n-wait>*){animation:none}}

/* ==========================================================================
   UI-NEXT · Customers (v4 page id "people") · owned by the Customers page builder.
   Look: F-Customers / A-Customers — page header, the agent's queue for customers, KPI bubble
   cards + new-people chart, the list as one table bubble (status views, priority columns),
   and the selected person as a Contacts-style record inspector at the far right.
   SWITCH: every selector starts with .v4-app[data-ui=next]. Tokens come from
   zz-next-0-shell.css. Nothing here hides an existing control; additive cells/headers
   that drop at narrow widths are new in this look (classic never had them).
   `!important` only against inline styles or the ChatKit tail's !important .crm-panel rules.
   ========================================================================== */

/* The page is a container so table columns adapt to the room the chat panel leaves. */
.v4-app[data-ui=next][data-v4-nav=people] .mv-page-main{container:v4next-people / inline-size}
/* The shell's metric rail (New relationships → Insights) moves under the page so the record
   inspector can sit at the far right; the same button stays visible there. */
.v4-app[data-ui=next][data-v4-nav=people] .mv-page-layout[data-has-chart=true]{display:flex;flex-direction:column;align-items:stretch;gap:0}
.v4-app[data-ui=next][data-v4-nav=people] .mv-page-layout[data-has-chart=true] > .mv-page-rail{order:1;position:static;width:auto;max-width:360px;padding:0 32px 72px}
.v4-app[data-ui=next][data-v4-nav=people] .mv-page-rail .metric-visuals{--mv-ink:var(--gb-ink);--mv-muted:var(--gb-ink-2);--mv-line:transparent;--mv-surface:var(--gb-surface);--mv-blue:var(--gb-ember);--mv-violet:var(--gb-lav)}
.v4-app[data-ui=next][data-v4-nav=people] .mv-page-rail .mv-summary{border-radius:var(--gb-r-lg,22px);box-shadow:var(--gb-shadow-1)}

.v4-app[data-ui=next] .v4-people-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(20,auto) minmax(0,1fr);align-items:start;max-width:none;margin:0;padding:32px 32px 72px;box-sizing:border-box;color:var(--gb-ink);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .v4-people-page > *{grid-column:1;min-width:0;margin:0 0 20px;box-sizing:border-box}
/* order = where each block sits in the list column: header, then anything you are editing */
.v4-app[data-ui=next] .v4-people-head{order:0}
.v4-app[data-ui=next] .v4-people-conflict{order:1}
.v4-app[data-ui=next] .v4-people-editor{order:2}
.v4-app[data-ui=next] .v4-people-page > :is(section[aria-label="Possible duplicates"],.backend-alert,.v4-people-notice,p[role=status],.v4-people-empty){order:3}
.v4-app[data-ui=next] .v4-people-next-agent{order:4}
.v4-app[data-ui=next] .v4-people-next-overview{order:5}
.v4-app[data-ui=next] .v4-people-next-tools{order:6;margin-bottom:0!important}
.v4-app[data-ui=next] .v4-people-grid{order:7}

/* --- header ------------------------------------------------------------------ */
.v4-app[data-ui=next] .v4-people-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:24px}
.v4-app[data-ui=next] .v4-people-head > div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0}
.v4-app[data-ui=next] .v4-people-title{font-size:var(--gb-fs-28,28px);font-weight:var(--gb-fw-semibold,600);letter-spacing:var(--gb-tr-title,-.025em);line-height:1.15}
.v4-app[data-ui=next] .v4-people-subtitle{margin:0;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-next-desc{display:block;flex:1 1 100%;margin-top:2px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-actions{flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next] .v4-people-search{display:flex;align-items:center;gap:2px;height:36px;padding:0 2px 0 4px;border-radius:var(--gb-r-full,999px);background:var(--gb-fill);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-people-search:focus-within{background:var(--gb-surface);box-shadow:var(--gb-shadow-0),0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .v4-people-search input{width:200px;min-width:0;height:34px;padding:0 10px!important;border:0!important;border-radius:var(--gb-r-full,999px)!important;background:transparent!important;box-shadow:none!important;color:var(--gb-ink);font:inherit;font-size:13px;outline:none}
.v4-app[data-ui=next] .v4-people-search input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-search input::-webkit-search-cancel-button{display:none}

/* shared pills: every existing primary/secondary button on this page */
.v4-app[data-ui=next] .v4-people-page :is(.primary-button,.secondary-button,.v4-people-next-btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:0!important;height:36px;padding:0 16px!important;border:0!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:inherit;font-size:13px!important;font-weight:var(--gb-fw-medium,500)!important;line-height:1;white-space:nowrap;box-shadow:none!important;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-people-page :is(.primary-button,.secondary-button,.v4-people-next-btn):hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .v4-people-page :is(.primary-button,.secondary-button,.v4-people-next-btn):active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-people-page .primary-button{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .v4-people-page .primary-button:hover{background:var(--gb-btn-hover)!important}
.v4-app[data-ui=next] .v4-people-page :is(.primary-button,.secondary-button,.v4-people-next-btn):disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .v4-people-search .secondary-button{height:32px;padding:0 12px!important;background:transparent!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-people-search .secondary-button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-people-page :is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* bubble boxes */
.v4-app[data-ui=next] .v4-people-page :is(.v4-people-next-agent,.v4-people-next-kpi,.v4-people-next-chart,.v4-people-editor,.v4-people-conflict,section[aria-label="Possible duplicates"]){padding:20px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important}

/* --- The agent is waiting on you (approvals) -------------------------------------- */
.v4-app[data-ui=next] .v4-people-next-agent{display:flex;flex-direction:column;gap:4px}
.v4-app[data-ui=next] .v4-people-next-agent-head{display:flex;align-items:center;gap:8px;min-height:24px;margin-bottom:4px}
.v4-app[data-ui=next] .v4-people-next-agent-title{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:var(--gb-tr-ui,-.01em)}
.v4-app[data-ui=next] .v4-people-next-agent-count{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-next-link{display:inline-flex;align-items:center;gap:4px;margin:-6px -10px -6px auto;padding:6px 10px;border:0;border-radius:var(--gb-r-full,999px);background:transparent;color:var(--gb-ink-2);font:inherit;font-size:13px;cursor:pointer}
.v4-app[data-ui=next] .v4-people-next-link:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-next-agent-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:44px;margin:0 -10px;padding:4px 10px;border-radius:var(--gb-r-sm,10px)}
.v4-app[data-ui=next] .v4-people-next-agent-row{position:relative}
.v4-app[data-ui=next] .v4-people-next-agent-row + .v4-people-next-agent-row::before{content:"";position:absolute;top:0;left:32px;right:10px;height:1px;background:var(--gb-hair)}
.v4-app[data-ui=next] .v4-people-next-agent-text{display:flex;align-items:baseline;gap:10px;min-width:0}
.v4-app[data-ui=next] .v4-people-next-agent-text span{font-size:15px;letter-spacing:var(--gb-tr-ui,-.01em);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .v4-people-next-agent-text small{flex:none;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-next-dot{width:8px;height:8px;border-radius:50%;background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-people-page .v4-people-next-btn{height:32px;padding:0 14px!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .v4-people-page .v4-people-next-btn:hover{background:var(--gb-btn-hover)!important}

/* --- KPIs + new-people chart -------------------------------------------------- */
.v4-app[data-ui=next] .v4-people-next-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.v4-app[data-ui=next] .v4-people-next-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.v4-app[data-ui=next] .v4-people-next-kpi{display:flex;flex-direction:column;gap:4px;min-width:0;padding:18px 20px 20px!important}
.v4-app[data-ui=next] .v4-people-next-kpi-label{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-next-kpi-value{margin-top:4px;font-size:var(--gb-fs-28,28px);font-weight:var(--gb-fw-semibold,600);letter-spacing:-.03em;line-height:1.15}
.v4-app[data-ui=next] .v4-people-next-kpi-note{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-next-chart{display:flex;flex-direction:column;gap:12px;min-width:0}
.v4-app[data-ui=next] .v4-people-next-chart-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.v4-app[data-ui=next] .v4-people-next-chart-head b{font-size:15px;font-weight:var(--gb-fw-semibold,600);letter-spacing:var(--gb-tr-ui,-.01em)}
.v4-app[data-ui=next] .v4-people-next-chart-head>span{font-size:12px;color:var(--gb-ink-2)} /* L26: the word inside the title keeps the title's size */
.v4-app[data-ui=next] .v4-people-next-bars{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:4px;min-height:180px;padding-top:8px}
.v4-app[data-ui=next] .v4-people-next-col{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next] .v4-people-next-col > i{display:block;width:min(100%,28px);height:calc(120px * var(--v,.5));min-height:6px;border-radius:var(--gb-r-full,999px);background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-people-next-col :is(.v4-people-next-col-v,.v4-people-next-col-x){font-size:12px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-people-next-col[data-current=true] > i{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-people-next-col[data-current=true] :is(.v4-people-next-col-v,.v4-people-next-col-x){color:var(--gb-ink);font-weight:var(--gb-fw-semibold,600)}

/* --- the list: status views + rows, one bubble (tools on top, rows below) ------ */
.v4-app[data-ui=next] .v4-people-next-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 12px 8px;border-radius:var(--gb-r-lg,22px) var(--gb-r-lg,22px) 0 0;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);clip-path:inset(-60px -60px 0 -60px)}
.v4-app[data-ui=next] .v4-people-next-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;padding:2px;border-radius:var(--gb-r-full,999px);background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-people-next-seg > button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:var(--gb-r-full,999px);background:transparent;color:var(--gb-ink);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-people-next-seg > button:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .v4-people-next-seg > button[aria-pressed=true]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:var(--gb-fw-medium,500)}
.v4-app[data-ui=next] .v4-people-next-seg-n{font:400 11px/1 var(--gb-mono);color:var(--gb-ink-2)}

.v4-app[data-ui=next] .v4-people-grid{--v4p-cols:32px minmax(0,1.6fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,.9fr);container:v4next-people-list / inline-size;display:flex;flex-direction:column;gap:0;margin-top:0;padding:0 8px 8px;border-radius:0 0 var(--gb-r-lg,22px) var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);clip-path:inset(0 -60px -60px -60px)}
.v4-app[data-ui=next] .v4-people-next-thead{display:grid;grid-template-columns:var(--v4p-cols);align-items:center;column-gap:12px;height:36px;padding:0 10px;box-shadow:inset 0 -1px 0 var(--gb-hair);font-size:12px;font-weight:var(--gb-fw-semibold,600);color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-people-next-thead > span:first-child{grid-column:1 / span 2}
.v4-app[data-ui=next] .v4-people-card{display:grid;grid-template-columns:var(--v4p-cols);align-items:center;column-gap:12px;min-height:52px;padding:6px 10px;border:0;border-radius:var(--gb-r-sm,10px);background:transparent;box-shadow:none;font-size:13px;transform:none;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-people-card:nth-child(odd){background:var(--gb-zebra)}
.v4-app[data-ui=next] .v4-people-card:hover{background:var(--gb-hover);box-shadow:none;transform:none}
.v4-app[data-ui=next] .v4-people-card[aria-pressed=true]{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .v4-people-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));color:var(--gb-av-ink);font-size:11px;font-weight:var(--gb-fw-semibold,600)}
.v4-app[data-ui=next] .v4-people-card-title{font-size:13px;font-weight:var(--gb-fw-semibold,600);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-card:hover .v4-people-card-title{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next] .v4-people-card-role{font-size:12px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .v4-people-card-role:empty{display:none}
.v4-app[data-ui=next] .v4-people-next-cell{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-next-cell[data-col=status]{display:inline-flex;align-items:center;gap:6px}
.v4-app[data-ui=next] .v4-people-next-cell:is([data-col=email],[data-col=source]){color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-next-under{display:none;align-items:center;gap:6px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-page i[data-status]{flex:none;width:7px;height:7px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-people-page i[data-status=customer]{background:var(--gb-sage)}
.v4-app[data-ui=next] .v4-people-page i[data-status=lead]{background:var(--gb-lav)}
.v4-app[data-ui=next] .v4-people-page i[data-status=inactive]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-people-next-none{display:block;padding:24px 10px;font-size:13px;color:var(--gb-ink-2);text-align:center}
.v4-app[data-ui=next] .v4-people-empty{padding:40px 16px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink-2);text-align:center}
/* priority columns (new in this look): source drops below 960px of list, email below 760px and the status
   tucks under the name; phone stays down to 420px. The name, role and every row action never drop. */
@container v4next-people-list (max-width:960px){
  .v4-app[data-ui=next] .v4-people-grid > :is(.v4-people-card,.v4-people-next-thead){--v4p-cols:32px minmax(0,1.6fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.5fr)}
  .v4-app[data-ui=next] :is(.v4-people-next-cell,.v4-people-next-thead > span)[data-col=source]{display:none}
}
@container v4next-people-list (max-width:760px){
  .v4-app[data-ui=next] .v4-people-grid > :is(.v4-people-card,.v4-people-next-thead){--v4p-cols:32px minmax(0,1fr) max-content}
  .v4-app[data-ui=next] :is(.v4-people-next-cell,.v4-people-next-thead > span):is([data-col=email],[data-col=status]){display:none}
  .v4-app[data-ui=next] .v4-people-next-under{display:flex}
  .v4-app[data-ui=next] .v4-people-next-cell[data-col=phone]{text-align:right;color:var(--gb-ink-2)}
  .v4-app[data-ui=next] .v4-people-next-thead > span[data-col=phone]{text-align:right}
}
@container v4next-people-list (max-width:420px){
  .v4-app[data-ui=next] .v4-people-grid > :is(.v4-people-card,.v4-people-next-thead){--v4p-cols:32px minmax(0,1fr)}
  .v4-app[data-ui=next] :is(.v4-people-next-cell,.v4-people-next-thead > span)[data-col=phone]{display:none}
}

/* --- notices, duplicates, editor and conflict in the list column -------------- */
.v4-app[data-ui=next] .v4-people-page > :is(.backend-alert,.v4-people-notice,p[role=status]){margin:0 0 16px;font-size:13px}
.v4-app[data-ui=next] .v4-people-notice{color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-page :is(.v4-people-editor,.v4-people-conflict,section[aria-label="Possible duplicates"]) h2{font-size:15px!important;font-weight:var(--gb-fw-semibold,600)!important;letter-spacing:var(--gb-tr-ui,-.01em)}
.v4-app[data-ui=next] .v4-people-page section[aria-label="Possible duplicates"] .v4-people-card{display:flex;flex-wrap:wrap;gap:12px;background:transparent}
.v4-app[data-ui=next] .v4-people-page fieldset{margin:0;padding:0;border:0}
.v4-app[data-ui=next] .v4-people-page .crm-form-grid{gap:16px!important}

/* fields everywhere on this page (editor, inspector forms) */
.v4-app[data-ui=next] .v4-people-page .crm-field{display:flex;flex-direction:column;gap:6px!important;min-width:0;font-size:13px}
.v4-app[data-ui=next] .v4-people-page .crm-field > span{font-size:13px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-page .crm-field :is(input,select,textarea){width:100%;min-width:0;height:36px;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-sm,10px)!important;background:var(--gb-surface)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink)!important;font:inherit;font-size:13px;line-height:1.4!important;outline:none}
.v4-app[data-ui=next] .v4-people-page .crm-field textarea{height:auto;min-height:72px;padding:10px 12px!important}
.v4-app[data-ui=next] .v4-people-page .crm-field :is(input,select,textarea):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-people-page .crm-field :is(input,select,textarea):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .v4-people-page .crm-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}

/* --- record inspector (far right; a sheet below 1280px; full screen on phones) --- */
.v4-app[data-ui=next] .v4-people-page:has(> .v4-people-detail){grid-template-columns:minmax(0,1fr) var(--gb-inspector-w,344px);padding-right:0}
.v4-app[data-ui=next] .v4-people-page:has(> .v4-people-detail) > :not(.v4-people-detail){margin-right:32px}
.v4-app[data-ui=next] .v4-people-detail{grid-column:2;grid-row:1 / -1;position:sticky;top:0;z-index:var(--gb-z-rail,20);display:flex;flex-direction:column;gap:12px;height:calc(100dvh - var(--gb-topbar-h,56px));margin:-32px 0 0!important;padding:0 16px 32px!important;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:0!important;border-radius:0!important;background:var(--gb-chrome)!important;box-shadow:inset 1px 0 0 var(--gb-hair)!important;color:var(--gb-ink);font-size:13px}
.v4-app[data-ui=next] .v4-people-detail > *,
.v4-app[data-ui=next] .v4-people-detail > .sc-host-x > *{order:10;flex-shrink:0;margin:0;min-width:0}
.v4-app[data-ui=next] .v4-people-next-bar{order:0;position:sticky;top:0;z-index:1;flex:none;display:flex;align-items:center;gap:2px;height:var(--gb-topbar-h,56px);margin:0 -16px;padding:0 56px 0 10px;background:var(--gb-chrome-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.v4-app[data-ui=next] .v4-people-next-nav{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .v4-people-next-nav:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-next-nav:disabled{opacity:.35;cursor:default;background:transparent}
.v4-app[data-ui=next] .v4-people-next-pos{margin-left:6px;font:400 12px/1 var(--gb-mono);color:var(--gb-ink-2)}
/* the existing title row dissolves so its close button can ride the sticky bar */
.v4-app[data-ui=next] .v4-people-detail > .crm-panel-title{display:contents}
.v4-app[data-ui=next] .v4-people-detail > .crm-panel-title > .icon-button{order:0;position:sticky;top:12px;z-index:2;align-self:flex-end;display:grid;place-items:center;width:32px;height:32px;margin:-56px -4px 12px 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);font-size:20px;line-height:1;cursor:pointer}
.v4-app[data-ui=next] .v4-people-detail > .crm-panel-title > .icon-button:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-next-avatar{order:1;display:grid;place-items:center;align-self:center;width:72px;height:72px;margin-top:4px!important;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));box-shadow:var(--gb-shadow-0);color:var(--gb-av-ink);font-size:var(--gb-fs-28,28px);font-weight:var(--gb-fw-semibold,600);letter-spacing:-.02em}
.v4-app[data-ui=next] .v4-people-detail > .crm-panel-title > h2{order:2;margin:0!important;text-align:center;font-size:var(--gb-fs-28,28px)!important;font-weight:var(--gb-fw-semibold,600)!important;letter-spacing:-.03em!important;line-height:1.15!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-next-kind{order:3;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:-6px!important;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-detail-primary{order:4;justify-content:center;padding:4px 0 8px}
.v4-app[data-ui=next] .v4-people-page .v4-people-next-ask{display:inline-block;line-height:36px}
.v4-app[data-ui=next] .v4-people-next-waiting{order:5;display:flex;flex-direction:column;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] .v4-people-next-waiting h3{margin:0!important;padding:12px 16px 4px!important;font-size:12px!important;font-weight:var(--gb-fw-semibold,600)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-people-next-waiting-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:48px;padding:6px 10px 6px 16px}
.v4-app[data-ui=next] .v4-people-next-waiting-row + .v4-people-next-waiting-row{box-shadow:inset 16px 1px 0 -15px var(--gb-hair)}
.v4-app[data-ui=next] .v4-people-next-waiting-row > span:nth-child(2){font-size:13px;line-height:1.35}
/* grouped inset bubbles: facts and every list */
.v4-app[data-ui=next] .v4-people-detail .v4-people-facts{display:grid;grid-template-columns:minmax(80px,max-content) minmax(0,1fr);gap:0!important;padding:0 16px;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-size:13px}
.v4-app[data-ui=next] .v4-people-detail .v4-people-facts > :is(dt,dd){margin:0;padding:12px 0;min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .v4-people-detail .v4-people-facts > dt{padding-right:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-detail .v4-people-facts > dd{color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-people-detail .v4-people-facts > dt:not(:first-of-type),
.v4-app[data-ui=next] .v4-people-detail .v4-people-facts > dt:not(:first-of-type) + dd{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-people-detail h3{margin:12px 0 0!important;padding:0 16px;font-size:12px!important;font-weight:var(--gb-fw-semibold,600)!important;letter-spacing:0;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-people-detail :is(.v4-people-deals,.v4-people-timeline){display:flex;flex-direction:column;gap:0;margin:0;padding:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] .v4-people-detail :is(.v4-people-deals,.v4-people-timeline):not(:has(> li)){display:none}
.v4-app[data-ui=next] .v4-people-detail :is(.v4-people-deals,.v4-people-timeline) > li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;min-height:46px;padding:8px 16px;border:0;border-radius:0;font-size:13px}
.v4-app[data-ui=next] .v4-people-detail :is(.v4-people-deals,.v4-people-timeline) > li + li{box-shadow:inset 16px 1px 0 -15px var(--gb-hair)}
.v4-app[data-ui=next] .v4-people-detail :is(.v4-people-deals,.v4-people-timeline) > li > :is(span,time){color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .v4-people-detail > p,
.v4-app[data-ui=next] .v4-people-detail .v4-people-gated{margin:0;padding:0 16px;font-size:12px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-detail > .crm-actions:not(.v4-people-detail-primary),
.v4-app[data-ui=next] .v4-people-detail > form.crm-actions{padding:12px 16px 16px;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-people-detail > .crm-actions .crm-field{flex:1 1 140px}
.v4-app[data-ui=next] .v4-people-detail > .secondary-button{align-self:flex-start}
.v4-app[data-ui=next] .v4-people-detail .v4-people-token{margin:0;padding:12px 16px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-people-detail .contact-call-history{padding:12px 16px;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-people-detail .backend-alert{margin:0;padding:0 16px;color:var(--gb-danger)}

/* ≤1279: the inspector floats as a sheet over the page */
@media (max-width:1279px){
  .v4-app[data-ui=next] .v4-people-page:has(> .v4-people-detail){grid-template-columns:minmax(0,1fr);padding-right:32px}
  .v4-app[data-ui=next] .v4-people-page:has(> .v4-people-detail) > :not(.v4-people-detail){margin-right:0}
  .v4-app[data-ui=next] .v4-people-detail{position:fixed;top:12px;right:12px;bottom:12px;z-index:var(--gb-z-sheet,40);width:var(--gb-inspector-w,344px);height:auto;margin:0!important;border-radius:var(--gb-r-lg,22px)!important;box-shadow:var(--gb-shadow-3)!important}
  .v4-app[data-ui=next] .v4-people-next-bar{border-radius:var(--gb-r-lg,22px) var(--gb-r-lg,22px) 0 0}
}
/* phones: the inspector is a full-screen sheet */
@media (max-width:759px){
  .v4-app[data-ui=next] .v4-people-page:has(> .v4-people-detail){padding-right:16px}
  /* above the shell's fixed phone controls (z 81) so the record reads as its own screen */
  .v4-app[data-ui=next] .v4-people-detail{inset:0;z-index:100;width:auto;border-radius:0!important;padding-bottom:calc(32px + env(safe-area-inset-bottom))!important}
  .v4-app[data-ui=next] .v4-people-next-bar{border-radius:0}
}

/* --- container breakpoints (page width) --------------------------------------- */
@container v4next-people (max-width:900px){
  .v4-app[data-ui=next] .v4-people-next-overview{grid-template-columns:minmax(0,1fr)}
}
@container v4next-people (max-width:720px){
  .v4-app[data-ui=next] .v4-people-page{padding-left:24px}
  .v4-app[data-ui=next] .v4-people-page:not(:has(> .v4-people-detail)){padding-right:24px}
}
@media (max-width:759px){
  .v4-app[data-ui=next][data-v4-nav=people] .mv-page-layout[data-has-chart=true] > .mv-page-rail{max-width:none;padding:0 16px 112px}
}
@container v4next-people (max-width:640px){
  .v4-app[data-ui=next] .v4-people-page{padding:16px 16px 24px!important}
  .v4-app[data-ui=next] .v4-people-page > :not(.v4-people-detail){margin-right:0!important}
  .v4-app[data-ui=next] .v4-people-head{align-items:flex-start;margin-bottom:16px}
  .v4-app[data-ui=next] .v4-people-actions{width:100%}
  .v4-app[data-ui=next] .v4-people-search{flex:1 1 100%}
  .v4-app[data-ui=next] .v4-people-search input{flex:1;width:auto}
  .v4-app[data-ui=next] :is(.v4-people-next-kpis,.v4-people-next-overview){gap:12px}
  .v4-app[data-ui=next] .v4-people-next-kpi{padding:14px 16px 16px!important}
  .v4-app[data-ui=next] .v4-people-next-kpi-value{font-size:22px}
  .v4-app[data-ui=next] .v4-people-next-tools{padding:10px 8px 6px}
  .v4-app[data-ui=next] .v4-people-next-seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .v4-app[data-ui=next] .v4-people-next-agent-text{flex-direction:column;align-items:flex-start;gap:2px}
  .v4-app[data-ui=next] .v4-people-next-agent-text span{max-width:100%}
}

.v4-app[data-ui=next] .v4-people-page[data-people-wait=true] > :is(.v4-people-next-agent,.v4-people-next-overview,.v4-people-next-tools,.v4-people-grid,.v4-people-empty){display:none}
/* --- R1/N11 (sweep 2): no layout shift on a cold load ------------------------------------------------
   Until the first read of people lands (data-people-wait), the waiting card, overview, filters and list are not
   drawn and one placeholder holds their place; the loading line is read out but takes no room. They then appear
   together with their real rows, so nothing already on screen moves. */
.v4-app[data-ui=next] .v4-people-page[data-people-wait=true] > p[role=status]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.v4-app[data-ui=next] .v4-people-next-wait{order:4;display:grid;gap:20px}
.v4-app[data-ui=next] .v4-people-next-wait > *{border-radius:var(--gb-r-lg,22px);background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-people-wait 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .v4-people-next-wait-overview{min-height:261px}
.v4-app[data-ui=next] .v4-people-next-wait-tools{min-height:36px;max-width:420px;border-radius:var(--gb-r-full,999px)!important}
.v4-app[data-ui=next] .v4-people-next-wait-list{min-height:480px}
@keyframes gbn-people-wait{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .v4-people-next-wait > *{animation:none}}
/* E2E 2026-10-21: the editor states its field limits, and a save error shows in the editor beside Save. */
.v4-app[data-ui=next] .v4-people-editor .v4-people-editor-hint{margin:12px 0 0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-people-editor .backend-alert{margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* UX sweep 5 U17: the editor's close button is a 44px target (it was the bare × glyph, about 10px). U15: a person row
   is a real button and shows the focus ring. U3: the "Needs review" permission check is a card in the page's column
   with the page's gutters, not a bare full-width bar above the title. */
.v4-app[data-ui=next] .v4-people-editor .crm-panel-title .icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:22px;line-height:1}
.v4-app[data-ui=next] button.v4-people-card:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next][data-v4-nav=people] .mv-page-main>section.crm-panel[aria-label="People contact permissions"]{box-sizing:border-box;margin:32px 32px 0!important;padding:0 20px!important;border:0!important;border-radius:var(--gb-r-lg,22px)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink);font-family:var(--gb-font);font-size:13px}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"] details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;cursor:pointer;list-style:none;font-size:15px;font-weight:var(--gb-fw-semibold,600);color:var(--gb-ink)}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"] details>summary::-webkit-details-marker{display:none}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"] details>summary::after{content:"";width:8px;height:8px;margin-right:4px;border-right:2px solid var(--gb-ink-2);border-bottom:2px solid var(--gb-ink-2);transform:rotate(45deg) translateY(-2px);transition:transform var(--gb-dur-1,.15s) var(--gb-ease,ease)}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"] details[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"] details>summary:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px;border-radius:var(--gb-r-sm,10px)}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"] details[open]{padding-bottom:16px}
.v4-app[data-ui=next][data-v4-nav=people] section[aria-label="People contact permissions"]>:is(h3,.crm-actions,p,form):first-child{margin-top:20px}
@container v4next-people (max-width:640px){
  .v4-app[data-ui=next][data-v4-nav=people] .mv-page-main>section.crm-panel[aria-label="People contact permissions"]{margin:16px 16px 0!important;padding:0 16px!important}
}

/* Thin icon rail (owner reference, 2026-10-21): Chat, Customers, Calendar, Money, Calls, More; Light/Dark/Auto and the account at the
   bottom. Icons carry their names as tooltips and accessible names. Order from the left: this rail, the sidebar, the chat, the side pane.
   Phones use the bottom tab bar and the thread drawer instead, so everything here is desktop only. */
@media (min-width:761px){
  .v4-app[data-ui=next] .v4-sidebar .gbn-lrail{display:flex;flex-direction:column;gap:2px;width:100%;margin:8px 0 auto;padding:0 8px}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr{position:relative;display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;height:36px;margin:0;padding:0;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 13px/1 var(--gb-font);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr svg{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr:hover{background:var(--gb-fill);color:var(--gb-ink)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr:active{transform:scale(.97)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr:is([aria-current=page],[aria-pressed=true],[aria-expanded=true]){background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lr:focus-visible,.v4-app[data-ui=next] .v4-sidebar .gbn-theme button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
  /* every other page lives under More, as a flyout beside the rail */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-scroll{display:none!important}
  .v4-app[data-ui=next] .v4-sidebar[data-gbn-more=true] .sidebar-scroll{display:block!important;position:fixed;left:calc(var(--gb-rail-w) + 8px);top:12px;bottom:12px;z-index:131;width:248px;margin:0!important;padding:8px!important;overflow-y:auto;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-3);-webkit-mask-image:none;mask-image:none}
  .v4-app[data-ui=next] .v4-sidebar[data-gbn-more=true] .sidebar-scroll>div{align-items:stretch}
  .v4-app[data-ui=next] .v4-sidebar[data-gbn-more=true] .sidebar-scroll .sidebar-link{display:flex!important;align-items:center;justify-content:flex-start;width:100%!important;height:34px!important;margin:0!important;padding:0 10px!important;gap:10px!important}
  .v4-app[data-ui=next] .v4-sidebar[data-gbn-more=true] .sidebar-scroll .sidebar-link>span:first-of-type{position:static!important;flex:1;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;font-size:13px;text-align:left;white-space:nowrap!important}
  .v4-app[data-ui=next] .v4-sidebar[data-gbn-more=true] .sidebar-scroll .sidebar-link>span:not(:first-of-type){position:static!important;margin-left:auto}
  .v4-app[data-ui=next] .v4-sidebar[data-gbn-more=true] .sidebar-scroll .sidebar-group-label{width:auto!important;height:auto!important;margin:10px 10px 2px!important;background:transparent!important;color:var(--gb-ink-3)!important;font-size:11px!important;line-height:1.3!important}
  .v4-app[data-ui=next] .v4-sidebar .gbn-more-scrim{position:fixed;inset:0;z-index:130;border:0;padding:0;background:transparent;cursor:default}
  /* appearance: one tap, three choices, same setTheme as Settings */
  .v4-app[data-ui=next] .v4-sidebar .sidebar-user-area>button[aria-label^="Appearance"]{display:none!important}
  .v4-app[data-ui=next] .v4-sidebar .gbn-theme{display:flex;flex-direction:column;gap:2px;padding:2px;border-radius:var(--gb-r-md);background:var(--gb-fill)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-theme button{display:grid;place-items:center;width:30px;height:26px;padding:0;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-3);cursor:pointer}
  .v4-app[data-ui=next] .v4-sidebar .gbn-theme button:hover{color:var(--gb-ink)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-theme button[aria-pressed=true]{background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
  .v4-app[data-ui=next] .v4-sidebar .gbn-theme svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .v4-app[data-ui=next] .v4-sidebar .gbn-theme span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (max-width:760px){.v4-app[data-ui=next] .gbn-lrail,.v4-app[data-ui=next] .gbn-more-scrim,.v4-app[data-ui=next] .gbn-theme{display:none!important}}
/* L17: on a phone, Home is the chat; the activity strip covered its chips, so it is not drawn on Home (the bell and Needs you keep it) */
@media (max-width:760px){.v4-app[data-ui=next][data-v4-nav=home] .px-activity-stage{display:none!important}}
@media (min-width:761px){
  .v4-app[data-ui=next]{--gb-rail-w:52px}
  .v4-app[data-ui=next] .v4-sidebar .gbn-lrail{padding:0 6px}
  /* our logo at the top of the rail; it still opens the business picker */
  .v4-app[data-ui=next][data-theme] .v4-sidebar .sidebar-workspace>span{font-size:0!important;color:transparent!important;background:url(/favicon.svg) center/24px no-repeat!important;box-shadow:none!important}
  /* L13: the chat is the first rail item now, so the extra orb (which covered Settings at 1440x900) is not drawn here */
  .v4-app[data-ui=next] .v4-sidebar .gbn-rail-orb{display:none!important}
  .v4-app[data-ui=next] .v4-sidebar .sidebar-search{width:36px!important}
}
@media (min-width:761px){
  .v4-app[data-ui=next][data-sidebar-collapsed] .v4-sidebar[data-gbn-more=true] .sidebar-scroll .sidebar-link>span:first-of-type{display:block!important}
  .v4-app[data-ui=next][data-sidebar-collapsed] .v4-sidebar[data-gbn-more=true] .sidebar-scroll .sidebar-link{justify-content:flex-start!important;gap:10px!important}
}

/* ==========================================================================
   UI-NEXT · GPT Business look · P6: records (#crm) and approvals (#needs) outside the v4 shell
   --------------------------------------------------------------------------
   #crm and #needs are excluded from the v4 shell (src/v4/shell-model.js v4Enabled), so they render
   the classic desktop root (src/shell.html, .cf-shell) and, on a phone, the mobile root
   (src/mobile-shell.html, .mobile-app). Both roots carry data-ui="{{ v4Ui }}" (the same switch value
   the foundation puts on .v4-app). With data-ui="classic" (or absent) nothing here matches.

   SCOPING. Every selector starts with one of the two P6 roots:
     .cf-shell[data-ui=next]     classic desktop root (#crm records, #needs approvals)
     .mobile-app[data-ui=next]   phone root (the whole mobile app; see zz-next-mobile.css)
   (dark: the same root with [data-zwt=dark], the theme attribute these two roots already carry.)
   The only exceptions are @keyframes named gbn-*. tests/v4-ui-next-mobile.test.mjs enforces it.

   TOKENS. The gb tokens below are the foundation's (final/gb-ui.css v1.0) applied to the two roots
   that are not .v4-app. tests/v4-ui-next-mobile.test.mjs fails if they drift from final/gb-ui.css
   values as committed in zz-next-0-shell.css (when that file is present).

   SOURCES. Records = F-Customers (page header, bubble KPI/insight card, table card: th 36, zebra,
   monogram avatars). Approvals = A/B-Approvals (B layout, A depth): queue bubbles with one-tap actions.
   ========================================================================== */

/* 0 · tokens for the classic and phone roots ============================== */
/* also for the confirmation banner (src/action-confirmation.html): it renders as the root's next sibling, outside
   it, so the tokens would not inherit to it (§11) */
.cf-shell[data-ui=next],.mobile-app[data-ui=next],.cf-shell[data-ui=next]~.action-confirmation,.mobile-app[data-ui=next]~.action-confirmation{color-scheme:light;--gb-ground:#f5f5f3;--gb-chrome:#efefec;--gb-chrome-glass:rgba(239,239,236,.82);--gb-column:#f9f9f7;--gb-surface:#ffffff;--gb-raised:#ffffff;--gb-ink:#1d1d1f;--gb-ink-2:#646468;--gb-ink-3:#86868b;--gb-hair:rgba(0,0,0,.08);--gb-hair-2:rgba(0,0,0,.14);--gb-fill:rgba(0,0,0,.045);--gb-fill-2:rgba(0,0,0,.075);--gb-hover:rgba(0,0,0,.035);--gb-press:rgba(0,0,0,.07);--gb-select:rgba(0,0,0,.06);--gb-zebra:rgba(0,0,0,.018);--gb-btn:#1d1d1f;--gb-btn-ink:#ffffff;--gb-btn-hover:#3a3a3c;--gb-seg-on:#ffffff;--gb-switch-off:rgba(0,0,0,.14);--gb-focus:#6f6884;--gb-scrim:rgba(20,20,18,.28);--gb-hud:#1d1d1f;--gb-hud-ink:#ffffff;--gb-hud-ink-2:rgba(255,255,255,.72);--gb-hud-hover:rgba(255,255,255,.12);--gb-danger:#c0362c;--gb-ember:#dd9c7a;--gb-sage:#96ab88;--gb-lav:#b7aed0;--gb-ember-ink:#a4532a;--gb-sage-ink:#4d6a43;--gb-lav-ink:#5f5679;--gb-grad:linear-gradient(90deg,#b8b0d4,#dd9c7a,#8eaa8a);--gb-bar:rgba(0,0,0,.1);--gb-grid:rgba(0,0,0,.06);--gb-track:rgba(0,0,0,.07);--gb-av-a:#efefed;--gb-av-b:#e0e0dc;--gb-av-ink:#48484a;--gb-shadow-0:0 0 0 .5px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.07);--gb-shadow-1:0 0 0 .5px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.04),0 12px 32px -16px rgba(0,0,0,.16);--gb-shadow-2:0 0 0 .5px rgba(0,0,0,.05),0 2px 6px rgba(0,0,0,.05),0 24px 50px -20px rgba(0,0,0,.26);--gb-shadow-3:0 0 0 .5px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08),0 40px 80px -24px rgba(0,0,0,.32);--gb-glow:#ffffff;--gb-floor:rgba(70,40,20,.26);--gb-owner-bubble:#007aff;--gb-owner-bubble-ink:#ffffff}
.cf-shell[data-ui=next][data-zwt=dark],.mobile-app[data-ui=next][data-zwt=dark],.cf-shell[data-ui=next][data-zwt=dark]~.action-confirmation,.mobile-app[data-ui=next][data-zwt=dark]~.action-confirmation{color-scheme:dark;--gb-ground:#0f100f;--gb-chrome:#161716;--gb-chrome-glass:rgba(22,23,22,.84);--gb-column:#131413;--gb-surface:#1c1d1c;--gb-raised:#262726;--gb-ink:#f4f4f1;--gb-ink-2:#a6a9a3;--gb-ink-3:#6f726c;--gb-hair:rgba(255,255,255,.08);--gb-hair-2:rgba(255,255,255,.14);--gb-fill:rgba(255,255,255,.07);--gb-fill-2:rgba(255,255,255,.11);--gb-hover:rgba(255,255,255,.05);--gb-press:rgba(255,255,255,.1);--gb-select:rgba(255,255,255,.09);--gb-zebra:rgba(255,255,255,.022);--gb-btn:#f4f4f1;--gb-btn-ink:#141514;--gb-btn-hover:#ffffff;--gb-seg-on:#3a3b3a;--gb-switch-off:rgba(255,255,255,.18);--gb-focus:#b7aed0;--gb-scrim:rgba(0,0,0,.55);--gb-hud:#3a3b3a;--gb-hud-ink:#f4f4f1;--gb-hud-ink-2:rgba(244,244,241,.72);--gb-hud-hover:rgba(255,255,255,.1);--gb-danger:#ff8a80;--gb-ember-ink:#e3a989;--gb-sage-ink:#a9bd9c;--gb-lav-ink:#c9c1e0;--gb-bar:rgba(255,255,255,.16);--gb-grid:rgba(255,255,255,.07);--gb-track:rgba(255,255,255,.1);--gb-av-a:#363736;--gb-av-b:#2a2b2a;--gb-av-ink:#dcddd8;--gb-shadow-0:0 0 0 .5px rgba(255,255,255,.09),0 1px 2px rgba(0,0,0,.5);--gb-shadow-1:0 0 0 .5px rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.4),0 14px 34px -18px rgba(0,0,0,.7);--gb-shadow-2:0 0 0 .5px rgba(255,255,255,.12),0 2px 6px rgba(0,0,0,.4),0 26px 52px -18px rgba(0,0,0,.8);--gb-shadow-3:0 0 0 .5px rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.5),0 40px 80px -24px rgba(0,0,0,.85);--gb-glow:rgba(255,255,255,.06);--gb-floor:rgba(0,0,0,.75);--gb-owner-bubble:#0a84ff;--gb-owner-bubble-ink:#ffffff}
.cf-shell[data-ui=next],.mobile-app[data-ui=next],.cf-shell[data-ui=next]~.action-confirmation,.mobile-app[data-ui=next]~.action-confirmation{--gb-font:Geist,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--gb-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--gb-fs-11:11px;--gb-fs-12:12px;--gb-fs-13:13px;--gb-fs-15:15px;--gb-fs-20:20px;--gb-fs-28:28px;--gb-fs-40:40px;--gb-fs-56:56px;--gb-fw-regular:400;--gb-fw-medium:500;--gb-fw-semibold:600;--gb-lh-tight:1.1;--gb-lh-ui:1.45;--gb-lh-body:1.6;--gb-tr-display:-.035em;--gb-tr-title:-.025em;--gb-tr-ui:-.01em;--gb-s-1:4px;--gb-s-2:8px;--gb-s-3:12px;--gb-s-4:16px;--gb-s-5:20px;--gb-s-6:24px;--gb-s-8:32px;--gb-s-10:40px;--gb-s-12:48px;--gb-s-16:64px;--gb-r-xs:6px;--gb-r-sm:10px;--gb-r-md:16px;--gb-r-lg:22px;--gb-r-full:999px;--gb-ease:cubic-bezier(.2,.8,.2,1);--gb-ease-in-out:cubic-bezier(.65,0,.35,1);--gb-dur-1:150ms;--gb-dur-2:220ms;--gb-dur-3:320ms;--gb-dur-orb:450ms;--gb-rail-w:64px;--gb-list-w:272px;--gb-panel-w:400px;--gb-panel-min:360px;--gb-panel-max:560px;--gb-inspector-w:344px;--gb-topbar-h:56px;--gb-page-max:1104px;--gb-chat-max:720px;--gb-z-sticky:10;--gb-z-rail:20;--gb-z-bulk:30;--gb-z-sheet:40;--gb-z-pop:50;--gb-z-toast:60}

/* 1 · classic desktop root: ground, type ================================== */
.cf-shell[data-ui=next]{font-family:var(--gb-font);color:var(--gb-ink);background:var(--gb-ground)!important;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.cf-shell[data-ui=next] :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.cf-shell[data-ui=next] .workspace-main,.cf-shell[data-ui=next] .workspace-main>main,.cf-shell[data-ui=next] .app-stage,.cf-shell[data-ui=next] .screen-body{background:var(--gb-ground)!important;color:var(--gb-ink)}
.cf-shell[data-ui=next] .work-page,.cf-shell[data-ui=next] .dx-workspace-body,.mobile-app[data-ui=next] .work-page,.mobile-app[data-ui=next] .dx-workspace-body{background:transparent!important;border:0!important;box-shadow:none!important}
.cf-shell[data-ui=next] :is(button,input,select,textarea,h1,h2,h3,p,a,small,strong,span,summary,dt,dd,label){font-family:var(--gb-font)}

/* the legacy palettes resolve to gb tokens under next: --cf-* (scripts/presentation-theme.mjs; the phone uses them
   too, e.g. Insights, and the phone's in-app light mode never sets :root[data-cf-theme=light]) and the premium/mobile
   variables (src/document/premium-upgrade.css). Anything not restyled below still lands on warm paper with gb ink
   instead of the old black/blue. */
.cf-shell[data-ui=next],.mobile-app[data-ui=next]{--cf-canvas:var(--gb-ground);--cf-surface:var(--gb-surface);--cf-field:var(--gb-fill);--cf-hover:var(--gb-hover);--cf-text:var(--gb-ink);--cf-muted:var(--gb-ink-2);--cf-subtle:var(--gb-ink-2);--cf-border:var(--gb-hair);--cf-strong:var(--gb-hair-2);--cf-primary:var(--gb-btn);--cf-on-primary:var(--gb-btn-ink);--cf-focus:var(--gb-focus);--cf-positive:var(--gb-sage-ink);--cf-warning:var(--gb-ember-ink);--cf-negative:var(--gb-danger);--cf-shadow:var(--gb-shadow-1)}
.mobile-app[data-ui=next] #main-workspace,.mobile-app[data-ui=next] .px-activity-stage,.cf-shell[data-ui=next] #main-workspace,.cf-shell[data-ui=next] .px-activity-stage{--ink:var(--gb-ink);--ink2:var(--gb-ink-2);--ink3:var(--gb-ink-2);--screen:var(--gb-ground);--panel:var(--gb-surface);--card:var(--gb-surface);--line:var(--gb-hair);--line2:var(--gb-hair);--line3:var(--gb-hair-2);--hover:var(--gb-hover);--accent-ink:var(--gb-ink);--accent:var(--gb-ink);--warn:var(--gb-ember-ink);--fg-1:var(--gb-ink);--fg-2:var(--gb-ink-2);--fg-3:var(--gb-ink-2);--muted:var(--gb-ink-2);--mute:var(--gb-ink-2);--faint:var(--gb-ink-3);--prism-glass:var(--gb-surface);--prism-rim:var(--gb-surface);--card-border:var(--gb-hair)}

/* 2 · left column (the existing chat navigation) as the B list column ===== */
.cf-shell[data-ui=next] .anna-chatkit-sidebar{background:var(--gb-chrome)!important;border-right:1px solid var(--gb-hair)!important;color:var(--gb-ink);box-shadow:none}
.cf-shell[data-ui=next] .anna-chatkit-sidebar nav button,.cf-shell[data-ui=next] .anna-chatkit-sidebar .ck-team-toggle{border-radius:var(--gb-r-sm);color:var(--gb-ink);font-size:var(--gb-fs-13);font-weight:var(--gb-fw-medium);height:36px;min-height:36px;transition:background var(--gb-dur-1) var(--gb-ease)}
.cf-shell[data-ui=next] .anna-chatkit-sidebar nav button:hover,.cf-shell[data-ui=next] .anna-chatkit-sidebar .ck-team-toggle:hover,.cf-shell[data-ui=next] .anna-chatkit-sidebar footer button:hover{background:var(--gb-hover)}
.cf-shell[data-ui=next] .anna-chatkit-sidebar nav button svg{color:var(--gb-ink-2)}
.cf-shell[data-ui=next] .anna-chatkit-sidebar h2{font:var(--gb-fw-medium) var(--gb-fs-12)/1.3 var(--gb-font);color:var(--gb-ink-2);letter-spacing:0;text-transform:none}
.cf-shell[data-ui=next] .anna-chatkit-sidebar p,.cf-shell[data-ui=next] .anna-chatkit-sidebar small{color:var(--gb-ink-2)}
.cf-shell[data-ui=next] .anna-chatkit-sidebar footer{border-top:1px solid var(--gb-hair)}
.cf-shell[data-ui=next] .anna-chatkit-sidebar footer button{border-radius:var(--gb-r-sm)}
.cf-shell[data-ui=next] .anna-chatkit-sidebar header .anna-chatkit-brand,.mobile-app[data-ui=next] .anna-chatkit-sidebar header .anna-chatkit-brand{border-radius:50%!important;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;box-shadow:0 4px 12px -4px var(--gb-floor)!important;border:0!important}
/* the old mark image inside the home button: the button stays (same name, same action); the orb is its face */
.cf-shell[data-ui=next] .anna-chatkit-brand>img,.mobile-app[data-ui=next] .anna-chatkit-brand>img{opacity:0!important}
.cf-shell[data-ui=next] .anna-chatkit-account-mark{background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b))!important;color:var(--gb-av-ink)!important;box-shadow:inset 0 0 0 .5px var(--gb-hair)}

/* 3 · top bar: slim, sticky, 86% ground with blur ========================= */
.cf-shell[data-ui=next] .workspace-header.px-header{height:var(--gb-topbar-h);min-height:var(--gb-topbar-h);background:color-mix(in srgb,var(--gb-ground) 86%,transparent)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--gb-hair)!important;box-shadow:none!important}
.cf-shell[data-ui=next] .px-location button{color:var(--gb-ink-2);border-radius:var(--gb-r-full)}
.cf-shell[data-ui=next] .px-location button:hover{background:var(--gb-hover);color:var(--gb-ink)}
.cf-shell[data-ui=next] .px-location span{color:var(--gb-ink-2);font-size:var(--gb-fs-13)}
.cf-shell[data-ui=next] .dx-tabs .dx-tab{border-radius:var(--gb-r-full);background:transparent;border:0;box-shadow:none;color:var(--gb-ink-2)}
.cf-shell[data-ui=next] .dx-tabs .dx-tab button{color:inherit;font-size:var(--gb-fs-13);font-weight:var(--gb-fw-medium);background:transparent}
.cf-shell[data-ui=next] .dx-tabs .dx-tab:hover{background:var(--gb-hover);color:var(--gb-ink)}
.cf-shell[data-ui=next] .dx-tabs .dx-tab[data-active=true]{background:var(--gb-surface)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}
.cf-shell[data-ui=next] .px-header-tools button{border-radius:var(--gb-r-full);color:var(--gb-ink-2);font-size:var(--gb-fs-13);background:transparent}
.cf-shell[data-ui=next] .px-header-tools button:hover{background:var(--gb-hover);color:var(--gb-ink)}
.cf-shell[data-ui=next] .workspace-usage-toggle{border-radius:var(--gb-r-full)!important;background:var(--gb-surface)!important;border:0!important;box-shadow:inset 0 0 0 1px var(--gb-hair)!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-font)!important}
.cf-shell[data-ui=next] .header-actions .attention-bell{border-radius:var(--gb-r-full);color:var(--gb-ink-2);background:transparent}
.cf-shell[data-ui=next] .header-actions .attention-bell:hover{background:var(--gb-hover);color:var(--gb-ink)}
.cf-shell[data-ui=next] .attention-count,.mobile-app[data-ui=next] .attention-count{background:var(--gb-ember)!important;color:#1d1d1f!important;border:2px solid var(--gb-ground)!important;box-shadow:none!important;font:600 10px/1 var(--gb-font)!important}
.cf-shell[data-ui=next] .ck-workspace-controls button{border-radius:var(--gb-r-full);color:var(--gb-ink-2)}
.cf-shell[data-ui=next] .ck-workspace-controls button:hover{background:var(--gb-hover);color:var(--gb-ink)}
.cf-shell[data-ui=next] .ck-open-chat,.mobile-app[data-ui=next] .ck-open-chat{background:var(--gb-surface)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important;border:0!important;font-weight:var(--gb-fw-medium)!important}

/* 4 · page frame and header (both roots) ================================== */
.cf-shell[data-ui=next] #main-workspace .restoration-workspace,.cf-shell[data-ui=next] #main-workspace .backend-approvals{color:var(--gb-ink)}
.cf-shell[data-ui=next] #main-workspace .restoration-workspace .dx-workspace-columns{max-width:var(--gb-page-max);margin-inline:auto}
.cf-shell[data-ui=next] #main-workspace .restoration-workspace h1,.mobile-app[data-ui=next] #main-workspace .restoration-workspace h1,.cf-shell[data-ui=next] #main-workspace .backend-approvals h1,.mobile-app[data-ui=next] #main-workspace .backend-approvals h1{font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font)!important;letter-spacing:var(--gb-tr-title)!important;color:var(--gb-ink)!important;background:none!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .restoration-workspace .layout-heading-copy p,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .layout-heading-copy p{font-size:var(--gb-fs-15);line-height:var(--gb-lh-ui);color:var(--gb-ink-2)}
.cf-shell[data-ui=next] #main-workspace .restoration-workspace .work-heading,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .work-heading{border-bottom:0!important;padding-bottom:0}
.cf-shell[data-ui=next] #main-workspace .eyebrow,.mobile-app[data-ui=next] #main-workspace .backend-approvals .eyebrow,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .eyebrow{font:var(--gb-fw-medium) var(--gb-fs-11)/1.3 var(--gb-mono)!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--gb-ink-2)!important}

/* section tabs (Contacts · Leads · Customers · Companies) as a segmented control */
.cf-shell[data-ui=next] #main-workspace .ux-route-tabs,.mobile-app[data-ui=next] #main-workspace .ux-route-tabs{display:inline-flex!important;width:fit-content!important;max-width:100%;overflow-x:auto;scrollbar-width:none;gap:2px;padding:3px;border:0!important;border-radius:var(--gb-r-full);background:var(--gb-fill);box-shadow:none}
.cf-shell[data-ui=next] #main-workspace .ux-route-tabs a,.mobile-app[data-ui=next] #main-workspace .ux-route-tabs a{display:inline-flex;align-items:center;height:30px;padding:0 14px;border:0!important;border-radius:var(--gb-r-full);color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font);text-decoration:none;background:transparent;box-shadow:none}
.cf-shell[data-ui=next] #main-workspace .ux-route-tabs a:hover,.mobile-app[data-ui=next] #main-workspace .ux-route-tabs a:hover{color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .ux-route-tabs a[aria-current=page],.cf-shell[data-ui=next] #main-workspace .ux-route-tabs a[aria-current=true],.mobile-app[data-ui=next] #main-workspace .ux-route-tabs a[aria-current=page],.mobile-app[data-ui=next] #main-workspace .ux-route-tabs a[aria-current=true]{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}
.cf-shell[data-ui=next] #main-workspace .ux-route-tabs a::after,.mobile-app[data-ui=next] #main-workspace .ux-route-tabs a::after{display:none}

/* related links as quiet pill links */
.cf-shell[data-ui=next] #main-workspace .layout-neighbors,.mobile-app[data-ui=next] #main-workspace .layout-neighbors{border:0!important;gap:4px}
.cf-shell[data-ui=next] #main-workspace .layout-neighbors a,.mobile-app[data-ui=next] #main-workspace .layout-neighbors a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--gb-r-full);color:var(--gb-ink-2)!important;font-size:var(--gb-fs-13);text-decoration:none}
.cf-shell[data-ui=next] #main-workspace .layout-neighbors a:hover,.mobile-app[data-ui=next] #main-workspace .layout-neighbors a:hover{background:var(--gb-fill);color:var(--gb-ink)!important}

/* 5 · buttons (gb-btn: primary = ink pill, secondary = fill pill) ========== */
/* :not(#gbn-p6) adds one ID of specificity: the phone's inlined premium-upgrade.css paints .primary-button with
   an !important gradient at the same specificity and comes later in the document */
.cf-shell[data-ui=next] #main-workspace .primary-button,.mobile-app[data-ui=next] #main-workspace .primary-button:not(#gbn-p6),.cf-shell[data-ui=next] #main-workspace .approve-prism,.mobile-app[data-ui=next] #main-workspace .approve-prism:not(#gbn-p6){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;letter-spacing:0;box-shadow:none!important;text-shadow:none!important;transition:background var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.cf-shell[data-ui=next] #main-workspace .primary-button:hover,.mobile-app[data-ui=next] #main-workspace .primary-button:not(#gbn-p6):hover,.cf-shell[data-ui=next] #main-workspace .approve-prism:hover,.mobile-app[data-ui=next] #main-workspace .approve-prism:hover{background:var(--gb-btn-hover)!important}
.cf-shell[data-ui=next] #main-workspace .secondary-button,.mobile-app[data-ui=next] #main-workspace .secondary-button,.cf-shell[data-ui=next] #main-workspace .reject-glass,.mobile-app[data-ui=next] #main-workspace .reject-glass{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important}
.cf-shell[data-ui=next] #main-workspace .secondary-button:hover,.mobile-app[data-ui=next] #main-workspace .secondary-button:hover,.cf-shell[data-ui=next] #main-workspace .reject-glass:hover,.mobile-app[data-ui=next] #main-workspace .reject-glass:hover{background:var(--gb-fill-2)!important}
.cf-shell[data-ui=next] #main-workspace :is(.primary-button,.secondary-button,.approve-prism,.reject-glass):active,.mobile-app[data-ui=next] #main-workspace :is(.primary-button,.secondary-button,.approve-prism,.reject-glass):active{transform:scale(.97)}
.cf-shell[data-ui=next] #main-workspace :is(.primary-button,.secondary-button,.approve-prism,.reject-glass):disabled,.mobile-app[data-ui=next] #main-workspace :is(.primary-button,.secondary-button,.approve-prism,.reject-glass):disabled{opacity:.4}
.cf-shell[data-ui=next] #main-workspace .text-button,.mobile-app[data-ui=next] #main-workspace .text-button{color:var(--gb-ink-2)!important;border-radius:var(--gb-r-full);background:transparent!important;font-family:var(--gb-font)}
.cf-shell[data-ui=next] #main-workspace .text-button:hover,.mobile-app[data-ui=next] #main-workspace .text-button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .icon-button,.mobile-app[data-ui=next] #main-workspace .backend-approvals .icon-button{border-radius:var(--gb-r-full)!important;border:0!important;background:transparent!important;color:var(--gb-ink-2)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .icon-button:hover,.mobile-app[data-ui=next] #main-workspace .backend-approvals .icon-button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
/* "More page options" (•••) as a round icon button */
.cf-shell[data-ui=next] #main-workspace .layout-options>summary,.mobile-app[data-ui=next] #main-workspace .layout-options>summary{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .layout-options>summary:hover,.mobile-app[data-ui=next] #main-workspace .layout-options>summary:hover{background:var(--gb-fill-2)!important}
.cf-shell[data-ui=next] #main-workspace .layout-options>div,.mobile-app[data-ui=next] #main-workspace .layout-options>div{background:var(--gb-raised)!important;border:0!important;border-radius:var(--gb-r-md)!important;box-shadow:var(--gb-shadow-2)!important;padding:6px!important}
.cf-shell[data-ui=next] #main-workspace .layout-options>div button,.mobile-app[data-ui=next] #main-workspace .layout-options>div button{border-radius:var(--gb-r-sm)!important;color:var(--gb-ink)!important;background:transparent!important;font:var(--gb-fs-13)/1.35 var(--gb-font)!important;text-align:left;border:0!important}
.cf-shell[data-ui=next] #main-workspace .layout-options>div button:hover,.mobile-app[data-ui=next] #main-workspace .layout-options>div button:hover{background:var(--gb-hover)!important}

/* 6 · bubble boxes ======================================================== */
/* every card the premium sheet paints as a black slab (src/document/premium-upgrade.css, its card list less Home's,
   which zz-next-mobile.css §3 styles) is a gb bubble under next. The palette above already turns their text gb
   ink, so on a light phone a slab left black read dark-on-black (owner controls, booking, tool tiles, the ledger).
   Placed first, at the same weight as the specific rules below, so they win over it (.crm-stats>div sits outside
   :is() so it does not raise the whole list's weight). */
.cf-shell[data-ui=next] #main-workspace :is(.crm-panel,.backend-panel,.activity-stream,.activity-detail,.mv-card,.mv-summary,.teach-card,.backend-list,.crm-deal-card,.guide-group,.guide-shortcut,.anna-run-card,.teach-answer,.oc-card,.attention-card,.v4-card,.v4-panel,.ap-card,.automations-card,.br-card,.campaigns-panel,.command-card,.deals-card,.deals-panel,.fl-card,.fl-dial-card,.fl-dial-panel,.forms-panel,.funnels-panel,.pay-panel,.planning-panel,.platform-card,.social-card,.social-panel,.restoration-card,.restoration-table-wrap,.crm-table-wrap,.workspace-panel,.analytics-card,.chart-card,.layout-record-list,.restoration-inspector),.mobile-app[data-ui=next] #main-workspace :is(.crm-panel,.backend-panel,.activity-stream,.activity-detail,.mv-card,.mv-summary,.teach-card,.backend-list,.crm-deal-card,.guide-group,.guide-shortcut,.anna-run-card,.teach-answer,.oc-card,.attention-card,.v4-card,.v4-panel,.ap-card,.automations-card,.br-card,.campaigns-panel,.command-card,.deals-card,.deals-panel,.fl-card,.fl-dial-card,.fl-dial-panel,.forms-panel,.funnels-panel,.pay-panel,.planning-panel,.platform-card,.social-card,.social-panel,.restoration-card,.restoration-table-wrap,.crm-table-wrap,.workspace-panel,.analytics-card,.chart-card,.layout-record-list,.restoration-inspector),.cf-shell[data-ui=next] #main-workspace .crm-stats>div,.mobile-app[data-ui=next] #main-workspace .crm-stats>div{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink);backdrop-filter:none!important}
.cf-shell[data-ui=next] #main-workspace .crm-panel,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .crm-panel{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink);backdrop-filter:none!important}
.cf-shell[data-ui=next] #main-workspace .crm-panel h2,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .crm-panel h2{font:var(--gb-fw-semibold) var(--gb-fs-15)/1.3 var(--gb-font);letter-spacing:var(--gb-tr-ui);color:var(--gb-ink)}
.cf-shell[data-ui=next] #main-workspace .crm-panel p,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .crm-panel p{color:var(--gb-ink-2)}
.cf-shell[data-ui=next] #main-workspace .crm-badge,.mobile-app[data-ui=next] #main-workspace .crm-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--gb-r-full)!important;border:0!important;background:var(--gb-fill)!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-font)!important;box-shadow:none!important;letter-spacing:0;text-transform:none}

/* insight (metric visuals) as a KPI bubble */
.cf-shell[data-ui=next] #main-workspace .mv-page-rail .mv-summary,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .mv-summary{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important;padding:20px!important;text-align:left}
.cf-shell[data-ui=next] #main-workspace .mv-summary-heading,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .mv-summary-heading{color:var(--gb-ink-2)!important;font:var(--gb-fs-13)/1.3 var(--gb-font)!important}
.cf-shell[data-ui=next] #main-workspace .mv-summary-value,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .mv-summary-value{color:var(--gb-ink)!important;font:var(--gb-fw-semibold) var(--gb-fs-28)/1.1 var(--gb-font)!important;letter-spacing:var(--gb-tr-title)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.cf-shell[data-ui=next] #main-workspace .mv-summary small,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .mv-summary small{color:var(--gb-ink-2)!important;font-size:var(--gb-fs-12)!important}
.cf-shell[data-ui=next] #main-workspace .mv-summary-link,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .mv-summary-link{color:var(--gb-ink)!important;border-top:1px solid var(--gb-hair)!important;font-weight:var(--gb-fw-medium)}

/* 7 · records table (F-Customers table card) ============================== */
.cf-shell[data-ui=next] #main-workspace .backend-list,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-list{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:var(--gb-r-lg)!important}
.cf-shell[data-ui=next] #main-workspace .mv-page-rail:not(:empty),.mobile-app[data-ui=next] #main-workspace .restoration-workspace .mv-page-rail:not(:empty){margin-top:20px}
.cf-shell[data-ui=next] #main-workspace .layout-toolbar,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .layout-toolbar{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.cf-shell[data-ui=next] #main-workspace .backend-search,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-search{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;gap:8px}
.cf-shell[data-ui=next] #main-workspace .backend-search input,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-search input{height:36px!important;min-height:36px;padding:0 16px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .backend-search input::placeholder,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-search input::placeholder{color:var(--gb-ink-2)}
.cf-shell[data-ui=next] #main-workspace .backend-search input:focus,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-search input:focus{outline:0;box-shadow:0 0 0 1px var(--gb-ink-2),0 0 0 4px var(--gb-fill-2)!important}
.cf-shell[data-ui=next] #main-workspace .layout-count,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .layout-count{color:var(--gb-ink-2)!important;font:var(--gb-fs-12)/1 var(--gb-mono)!important}
.cf-shell[data-ui=next] #main-workspace .dx-table,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;padding:8px!important;overflow:visible}
.cf-shell[data-ui=next] #main-workspace .dx-table-head,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-head{min-height:36px!important;height:36px;background:transparent!important;border:0!important;border-bottom:1px solid var(--gb-hair)!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;align-items:center}
.cf-shell[data-ui=next] #main-workspace .dx-table-head span,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-head span{color:var(--gb-ink-2)!important;font:inherit!important}
.cf-shell[data-ui=next] #main-workspace .backend-row,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-row{border:0!important;background:transparent!important}
.cf-shell[data-ui=next] #main-workspace .dx-table-row,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-row{min-height:48px;border:0!important;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font-size:var(--gb-fs-13)}
.cf-shell[data-ui=next] #main-workspace .backend-row:nth-child(odd) .dx-table-row,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-row:nth-child(odd) .dx-table-row{background:var(--gb-zebra)}
.cf-shell[data-ui=next] #main-workspace .dx-table-row:hover,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-row:hover{background:var(--gb-hover)!important}
.cf-shell[data-ui=next] #main-workspace .backend-row[aria-current=true] .dx-table-row,.cf-shell[data-ui=next] #main-workspace .backend-row[data-selected=true] .dx-table-row,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .backend-row[aria-current=true] .dx-table-row{background:var(--gb-fill-2)!important}
.cf-shell[data-ui=next] #main-workspace .dx-table-open,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-open{color:var(--gb-ink)!important;background:transparent!important;border:0!important;text-align:left}
.cf-shell[data-ui=next] #main-workspace .dx-table-open strong,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-open strong{font:var(--gb-fw-semibold) var(--gb-fs-13)/1.3 var(--gb-font)!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .dx-table-open small,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-table-open small{font:var(--gb-fs-12)/1.3 var(--gb-font)!important;color:var(--gb-ink-2)!important}
.cf-shell[data-ui=next] #main-workspace .dx-avatar,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-avatar{width:28px!important;height:28px!important;border-radius:50%!important;border:0!important;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b))!important;color:var(--gb-av-ink)!important;font:var(--gb-fw-semibold) 10px/28px var(--gb-font)!important;box-shadow:inset 0 0 0 .5px var(--gb-hair)!important;text-align:center}
.cf-shell[data-ui=next] #main-workspace .dx-cell,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-cell{color:var(--gb-ink)!important;font-size:var(--gb-fs-13)}
.cf-shell[data-ui=next] #main-workspace .dx-cell .crm-badge,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-cell .crm-badge{background:transparent!important;padding:0;color:var(--gb-ink-2)!important}
.cf-shell[data-ui=next] #main-workspace .dx-cell .crm-badge::before,.mobile-app[data-ui=next] #main-workspace .restoration-workspace .dx-cell .crm-badge::before{content:"";width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--gb-ink-3);flex:none}

/* records as a list (phone, and the desktop list layout): grouped bubble rows */
.cf-shell[data-ui=next] #main-workspace .layout-record-list,.mobile-app[data-ui=next] #main-workspace .layout-record-list{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;padding:6px!important;overflow:hidden}
.cf-shell[data-ui=next] #main-workspace .layout-list-heading,.mobile-app[data-ui=next] #main-workspace .layout-list-heading{min-height:36px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--gb-hair)!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-font)!important;text-transform:none!important;letter-spacing:0!important}
.cf-shell[data-ui=next] #main-workspace .layout-list-heading span,.mobile-app[data-ui=next] #main-workspace .layout-list-heading span{color:var(--gb-ink-2)!important;font:inherit!important;text-transform:none!important;letter-spacing:0!important}
.cf-shell[data-ui=next] #main-workspace .layout-record-list .backend-row,.mobile-app[data-ui=next] #main-workspace .layout-record-list .backend-row{border:0!important;background:transparent!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .layout-record-list .backend-row>button,.mobile-app[data-ui=next] #main-workspace .layout-record-list .backend-row>button{min-height:60px!important;padding:10px 12px!important;border:0!important;border-radius:var(--gb-r-sm)!important;background:transparent!important;box-shadow:none!important;color:var(--gb-ink)!important;text-align:left}
.cf-shell[data-ui=next] #main-workspace .layout-record-list .backend-row:nth-of-type(odd)>button,.mobile-app[data-ui=next] #main-workspace .layout-record-list .backend-row:nth-of-type(odd)>button{background:var(--gb-zebra)!important}
.cf-shell[data-ui=next] #main-workspace .layout-record-list .backend-row>button:hover,.mobile-app[data-ui=next] #main-workspace .layout-record-list .backend-row>button:hover{background:var(--gb-hover)!important}
.cf-shell[data-ui=next] #main-workspace .layout-record-list .backend-row>button[aria-pressed=true],.mobile-app[data-ui=next] #main-workspace .layout-record-list .backend-row>button[aria-pressed=true]{background:var(--gb-fill-2)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .layout-avatar,.mobile-app[data-ui=next] #main-workspace .layout-avatar{width:32px!important;height:32px!important;border-radius:50%!important;border:0!important;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b))!important;color:var(--gb-av-ink)!important;font:var(--gb-fw-semibold) 11px/32px var(--gb-font)!important;text-align:center;box-shadow:inset 0 0 0 .5px var(--gb-hair)!important;display:grid!important;place-items:center}
.cf-shell[data-ui=next] #main-workspace .layout-record-copy strong,.mobile-app[data-ui=next] #main-workspace .layout-record-copy strong{color:var(--gb-ink)!important;font:var(--gb-fw-semibold) var(--gb-fs-15)/1.3 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui)!important}
.cf-shell[data-ui=next] #main-workspace .layout-record-copy small,.mobile-app[data-ui=next] #main-workspace .layout-record-copy small{color:var(--gb-ink-2)!important;font:var(--gb-fs-13)/1.35 var(--gb-font)!important}
.cf-shell[data-ui=next] #main-workspace .layout-record-copy time,.mobile-app[data-ui=next] #main-workspace .layout-record-copy time{color:var(--gb-ink-2)!important;font:var(--gb-fs-11)/1.35 var(--gb-mono)!important}
.cf-shell[data-ui=next] #main-workspace .backend-row-end,.mobile-app[data-ui=next] #main-workspace .backend-row-end{color:var(--gb-ink-3)!important}
/* the record panel (F-Customers inspector): chrome sheet, grouped bubbles inside */
.cf-shell[data-ui=next] #main-workspace .restoration-inspector:focus:not(:focus-visible),.mobile-app[data-ui=next] #main-workspace .restoration-inspector:focus:not(:focus-visible){outline:0!important}
.cf-shell[data-ui=next] #main-workspace .restoration-inspector,.mobile-app[data-ui=next] #main-workspace .restoration-inspector{background:var(--gb-chrome)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-3)!important;color:var(--gb-ink)!important;backdrop-filter:none!important}
.cf-shell[data-ui=next] #main-workspace .restoration-inspector .crm-panel-title,.mobile-app[data-ui=next] #main-workspace .restoration-inspector .crm-panel-title{border:0!important;background:transparent!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-stepper,.mobile-app[data-ui=next] #main-workspace .dx-record-stepper{gap:2px!important;color:var(--gb-ink-2)!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-stepper button,.mobile-app[data-ui=next] #main-workspace .dx-record-stepper button,.cf-shell[data-ui=next] #main-workspace .restoration-inspector .crm-panel-title .icon-button,.mobile-app[data-ui=next] #main-workspace .restoration-inspector .crm-panel-title .icon-button{width:32px!important;height:32px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--gb-ink-2)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-stepper button:hover,.mobile-app[data-ui=next] #main-workspace .dx-record-stepper button:hover,.cf-shell[data-ui=next] #main-workspace .restoration-inspector .crm-panel-title .icon-button:hover,.mobile-app[data-ui=next] #main-workspace .restoration-inspector .crm-panel-title .icon-button:hover{background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-stepper span,.mobile-app[data-ui=next] #main-workspace .dx-record-stepper span{font:var(--gb-fs-12)/1 var(--gb-mono)!important;color:var(--gb-ink-2)!important}
.cf-shell[data-ui=next] #main-workspace .restoration-inspector>h2,.mobile-app[data-ui=next] #main-workspace .restoration-inspector>h2{font:var(--gb-fw-semibold) var(--gb-fs-28)/1.15 var(--gb-font)!important;letter-spacing:var(--gb-tr-title)!important;color:var(--gb-ink)!important;text-align:center}
.cf-shell[data-ui=next] #main-workspace .ao-next-action,.mobile-app[data-ui=next] #main-workspace .ao-next-action{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .ao-eyebrow,.mobile-app[data-ui=next] #main-workspace .ao-eyebrow{font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.cf-shell[data-ui=next] #main-workspace .ao-next-action strong,.mobile-app[data-ui=next] #main-workspace .ao-next-action strong{font:var(--gb-fw-semibold) var(--gb-fs-15)/1.3 var(--gb-font)!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .ao-actions button,.mobile-app[data-ui=next] #main-workspace .ao-actions button{min-height:32px!important;padding:0 14px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-quick,.mobile-app[data-ui=next] #main-workspace .dx-record-quick{gap:8px!important;border:0!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-tabs,.mobile-app[data-ui=next] #main-workspace .dx-record-tabs{display:inline-flex!important;width:fit-content!important;gap:2px;padding:3px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-tabs button,.mobile-app[data-ui=next] #main-workspace .dx-record-tabs button{height:30px!important;min-height:30px!important;padding:0 14px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:transparent!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-tabs button[aria-selected=true],.mobile-app[data-ui=next] #main-workspace .dx-record-tabs button[aria-selected=true],.cf-shell[data-ui=next] #main-workspace .dx-record-tabs button[aria-pressed=true],.mobile-app[data-ui=next] #main-workspace .dx-record-tabs button[aria-pressed=true],.cf-shell[data-ui=next] #main-workspace .dx-record-tabs button[aria-current=page],.mobile-app[data-ui=next] #main-workspace .dx-record-tabs button[aria-current=page],.cf-shell[data-ui=next] #main-workspace .dx-record-tabs button[aria-current=true],.mobile-app[data-ui=next] #main-workspace .dx-record-tabs button[aria-current=true]{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-overview dl,.mobile-app[data-ui=next] #main-workspace .dx-record-overview dl{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;padding:4px 16px!important;overflow:hidden}
.cf-shell[data-ui=next] #main-workspace .dx-record-overview dt,.mobile-app[data-ui=next] #main-workspace .dx-record-overview dt{color:var(--gb-ink-2)!important;font:var(--gb-fs-13)/1.35 var(--gb-font)!important;border-color:var(--gb-hair)!important;text-transform:none!important;letter-spacing:0!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-overview dd,.mobile-app[data-ui=next] #main-workspace .dx-record-overview dd{color:var(--gb-ink)!important;font:var(--gb-fs-13)/1.35 var(--gb-font)!important;border-color:var(--gb-hair)!important}
.cf-shell[data-ui=next] #main-workspace .dx-record-overview h3,.mobile-app[data-ui=next] #main-workspace .dx-record-overview h3{font:var(--gb-fw-semibold) var(--gb-fs-13)/1.3 var(--gb-font)!important;color:var(--gb-ink-2)!important;letter-spacing:0!important;text-transform:none!important}
.cf-shell[data-ui=next] #main-workspace .dx-context-card,.mobile-app[data-ui=next] #main-workspace .dx-context-card{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .dx-context-card time,.mobile-app[data-ui=next] #main-workspace .dx-context-card time{font:var(--gb-fs-11)/1.3 var(--gb-mono)!important;color:var(--gb-ink-2)!important}
.cf-shell[data-ui=next] #main-workspace .dx-context-card strong,.mobile-app[data-ui=next] #main-workspace .dx-context-card strong{color:var(--gb-ink)!important;font:var(--gb-fw-semibold) var(--gb-fs-13)/1.3 var(--gb-font)!important}
.cf-shell[data-ui=next] #main-workspace .dx-context-card p,.mobile-app[data-ui=next] #main-workspace .dx-context-card p{color:var(--gb-ink-2)!important;font:var(--gb-fs-13)/1.4 var(--gb-font)!important}
.cf-shell[data-ui=next] #main-workspace .dx-preview-footer,.mobile-app[data-ui=next] #main-workspace .dx-preview-footer{border-color:var(--gb-hair)!important;background:transparent!important}
.cf-shell[data-ui=next] #main-workspace .dx-preview-footer button,.mobile-app[data-ui=next] #main-workspace .dx-preview-footer button{min-height:32px!important;padding:0 14px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important}
.cf-shell[data-ui=next] #main-workspace .dx-preview-footer span,.mobile-app[data-ui=next] #main-workspace .dx-preview-footer span{color:var(--gb-ink-2)!important;font-size:var(--gb-fs-12)!important}

/* 8 · approvals (#needs) — A/B-Approvals queue bubble ===================== */
.cf-shell[data-ui=next] #main-workspace .backend-approvals,.mobile-app[data-ui=next] #main-workspace .backend-approvals{background:transparent!important;color:var(--gb-ink)}
.cf-shell[data-ui=next] #main-workspace .backend-approvals>header,.mobile-app[data-ui=next] #main-workspace .backend-approvals>header{border:0!important}
/* phone: the approvals eyebrow stays on one line beside the position pill (it wrapped at 390) */
.mobile-app[data-ui=next] #main-workspace .backend-approvals>header .eyebrow{display:block;max-width:100%;font-size:10px!important;letter-spacing:.06em!important;white-space:normal;overflow-wrap:anywhere}
.cf-shell[data-ui=next] #main-workspace .backend-position,.mobile-app[data-ui=next] #main-workspace .backend-position{font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-mono)!important;color:var(--gb-ink-2)!important;background:var(--gb-fill)!important;border-radius:var(--gb-r-full)!important;padding:5px 9px!important;border:0!important}
.cf-shell[data-ui=next] #main-workspace .approval-tabs,.mobile-app[data-ui=next] #main-workspace .approval-tabs{display:inline-flex!important;width:fit-content!important;max-width:100%;min-height:0!important;gap:2px;padding:3px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;box-shadow:none!important;backdrop-filter:none!important}
.cf-shell[data-ui=next] #main-workspace .approval-tabs button,.mobile-app[data-ui=next] #main-workspace .approval-tabs button{min-height:32px!important;height:32px;padding:0 14px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:transparent!important;color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;box-shadow:none!important;flex:0 0 auto!important;width:auto!important;gap:6px}
.cf-shell[data-ui=next] #main-workspace .approval-tabs button[aria-pressed=true],.cf-shell[data-ui=next] #main-workspace .approval-tabs button[aria-selected=true],.cf-shell[data-ui=next] #main-workspace .approval-tabs button[aria-current=page],.mobile-app[data-ui=next] #main-workspace .approval-tabs button[aria-pressed=true],.mobile-app[data-ui=next] #main-workspace .approval-tabs button[aria-selected=true],.mobile-app[data-ui=next] #main-workspace .approval-tabs button[aria-current=page]{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}
.cf-shell[data-ui=next] #main-workspace .approval-tabs button>span:not(.sc-interp),.mobile-app[data-ui=next] #main-workspace .approval-tabs button>span:not(.sc-interp){color:var(--gb-ink-2)!important;font:var(--gb-fs-12)/1 var(--gb-mono)!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-card,.mobile-app[data-ui=next] #main-workspace .backend-approval-card{background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;color:var(--gb-ink)!important;backdrop-filter:none!important;overflow:hidden}
/* decorative glass rim/edge light of the old prism card (aria-hidden); the bubble shadow replaces it */
.cf-shell[data-ui=next] #main-workspace .backend-approval-card>.prism-rim,.cf-shell[data-ui=next] #main-workspace .backend-approval-card>.prism-edge-light,.mobile-app[data-ui=next] #main-workspace .backend-approval-card>.prism-rim,.mobile-app[data-ui=next] #main-workspace .backend-approval-card>.prism-edge-light{display:none!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-card::before,.cf-shell[data-ui=next] #main-workspace .backend-approval-card::after,.mobile-app[data-ui=next] #main-workspace .backend-approval-card::before,.mobile-app[data-ui=next] #main-workspace .backend-approval-card::after{display:none!important}
/* the AI's mark on a decision is the orb (the mark sprite inside stays, transparent) */
.cf-shell[data-ui=next] #main-workspace .backend-approval-card .glass-icon>*,.mobile-app[data-ui=next] #main-workspace .backend-approval-card .glass-icon>*{opacity:0!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-card .glass-icon,.mobile-app[data-ui=next] #main-workspace .backend-approval-card .glass-icon{width:36px!important;height:36px!important;border-radius:50%!important;border:0!important;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat!important;box-shadow:none!important;display:grid!important;place-items:center}
.cf-shell[data-ui=next] #main-workspace .backend-approval-card .crm-badge,.mobile-app[data-ui=next] #main-workspace .backend-approval-card .crm-badge{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-card h2,.mobile-app[data-ui=next] #main-workspace .backend-approval-card h2{font:var(--gb-fw-semibold) var(--gb-fs-20)/1.25 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui)!important;color:var(--gb-ink)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-card p,.mobile-app[data-ui=next] #main-workspace .backend-approval-card p{color:var(--gb-ink)!important;font:var(--gb-fs-15)/var(--gb-lh-body) var(--gb-font)!important}
.cf-shell[data-ui=next] #main-workspace .ao-decision-context,.mobile-app[data-ui=next] #main-workspace .ao-decision-context{background:var(--gb-fill)!important;border:0!important;border-radius:var(--gb-r-md)!important;box-shadow:none!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .ao-status,.mobile-app[data-ui=next] #main-workspace .ao-status{display:inline-flex;align-items:center;gap:6px;background:transparent!important;border:0!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-font)!important;padding:0!important}
.cf-shell[data-ui=next] #main-workspace .ao-status::before,.mobile-app[data-ui=next] #main-workspace .ao-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gb-ember)}
.cf-shell[data-ui=next] #main-workspace .ao-decision-context dt,.mobile-app[data-ui=next] #main-workspace .ao-decision-context dt,.cf-shell[data-ui=next] #main-workspace .backend-approval-facts>div>span,.mobile-app[data-ui=next] #main-workspace .backend-approval-facts>div>span{color:var(--gb-ink-2)!important;font:var(--gb-fs-12)/1.4 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important}
.cf-shell[data-ui=next] #main-workspace .ao-decision-context dd,.mobile-app[data-ui=next] #main-workspace .ao-decision-context dd,.cf-shell[data-ui=next] #main-workspace .backend-approval-facts strong,.mobile-app[data-ui=next] #main-workspace .backend-approval-facts strong{color:var(--gb-ink)!important;font:var(--gb-fs-15)/1.45 var(--gb-font)!important}
.cf-shell[data-ui=next] #main-workspace .ao-decision-context button,.mobile-app[data-ui=next] #main-workspace .ao-decision-context button{border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;padding:0 14px!important}
.cf-shell[data-ui=next] #main-workspace .ao-decision-context small,.mobile-app[data-ui=next] #main-workspace .ao-decision-context small,.cf-shell[data-ui=next] #main-workspace .approval-swipe-hint,.mobile-app[data-ui=next] #main-workspace .approval-swipe-hint{color:var(--gb-ink-2)!important;font-size:var(--gb-fs-12)!important}
.cf-shell[data-ui=next] #main-workspace .approval-original summary,.mobile-app[data-ui=next] #main-workspace .approval-original summary{color:var(--gb-ink-2)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;border-top:0!important}
.cf-shell[data-ui=next] #main-workspace .approval-original p,.mobile-app[data-ui=next] #main-workspace .approval-original p{color:var(--gb-ink)!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-actions,.mobile-app[data-ui=next] #main-workspace .backend-approval-actions{gap:8px!important;background:transparent!important;border:0!important}
.cf-shell[data-ui=next] #main-workspace .backend-approval-actions button,.mobile-app[data-ui=next] #main-workspace .backend-approval-actions button{min-height:44px!important;height:44px!important;font-size:var(--gb-fs-15)!important}
.cf-shell[data-ui=next] #main-workspace .backend-approvals>footer,.mobile-app[data-ui=next] #main-workspace .backend-approvals>footer{color:var(--gb-ink-2)}

/* 9 · the AI's live status bar (bottom of the page) ======================= */
.cf-shell[data-ui=next] .px-activity-stage{background:color-mix(in srgb,var(--gb-ground) 86%,transparent)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-top:1px solid var(--gb-hair)!important;box-shadow:none!important}
.cf-shell[data-ui=next] .header-activity,.mobile-app[data-ui=next] .header-activity{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--gb-ink)!important}
.cf-shell[data-ui=next] .header-activity-label,.cf-shell[data-ui=next] .header-activity-label *,.mobile-app[data-ui=next] .header-activity-label,.mobile-app[data-ui=next] .header-activity-label *{text-transform:uppercase!important}
.cf-shell[data-ui=next] .header-activity-label,.mobile-app[data-ui=next] .header-activity-label{font:var(--gb-fw-medium) 10px/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.cf-shell[data-ui=next] .header-activity-message strong,.mobile-app[data-ui=next] .header-activity-message strong{color:var(--gb-ink)!important;font:var(--gb-fw-semibold) var(--gb-fs-13)/1.3 var(--gb-font)!important}
.cf-shell[data-ui=next] .header-activity-message small,.mobile-app[data-ui=next] .header-activity-message small{color:var(--gb-ink-2)!important;font-size:var(--gb-fs-12)!important}
.cf-shell[data-ui=next] .header-activity-mark .px-signal,.mobile-app[data-ui=next] .header-activity-mark .px-signal{background:var(--gb-sage)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-sage) 30%,transparent)!important;animation:gbn-p6-live 2s var(--gb-ease) infinite}
.cf-shell[data-ui=next] .px-open-activity,.mobile-app[data-ui=next] .px-open-activity{border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important;color:var(--gb-ink)!important;font:var(--gb-fw-medium) var(--gb-fs-12)/1 var(--gb-font)!important}
.cf-shell[data-ui=next] .px-open-activity b,.mobile-app[data-ui=next] .px-open-activity b{color:var(--gb-ink-2)!important;font-weight:var(--gb-fw-medium)!important}
.cf-shell[data-ui=next] .header-activity-pause,.mobile-app[data-ui=next] .header-activity-pause{color:var(--gb-ink-2)!important;border-radius:var(--gb-r-full)!important;background:transparent!important;border:0!important}
.cf-shell[data-ui=next] .header-activity-pause:hover,.mobile-app[data-ui=next] .header-activity-pause:hover{background:var(--gb-fill)!important}
@keyframes gbn-p6-live{0%,100%{box-shadow:0 0 0 2px color-mix(in srgb,var(--gb-sage) 35%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--gb-sage) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){.cf-shell[data-ui=next] .header-activity-mark .px-signal,.mobile-app[data-ui=next] .header-activity-mark .px-signal{animation:none}}

/* 10 · the floating voice launcher ("Ask your agent") wears the orb ======= */
.cf-shell[data-ui=next] .anna-voice-compact-host{bottom:64px!important}
.cf-shell[data-ui=next] .anna-voice-compact-button{height:44px;padding:0 16px 0 6px!important;gap:10px;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-raised)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-2)!important;font:var(--gb-fw-medium) var(--gb-fs-13)/1 var(--gb-font)!important;backdrop-filter:none!important}
.cf-shell[data-ui=next] .anna-voice-compact-mark{width:32px;height:32px;flex:none;border-radius:50%;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat;color:transparent!important;font-size:0!important;box-shadow:none!important}
.cf-shell[data-ui=next] .anna-voice-compact-arrow{color:var(--gb-ink-2)!important}

/* 11 · the confirmation banner ("Light mode applied…") as the gb toast ====== */
/* It is the root's sibling, not inside it: reached with ~, its tokens come from §0. Classic gave it var(--panel),
   undefined outside the root, so on a light next page its white text had no background at all. */
.cf-shell[data-ui=next]~.action-confirmation,.mobile-app[data-ui=next]~.action-confirmation{align-items:center;gap:10px;min-height:44px;padding:6px 6px 6px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-2);font:var(--gb-fw-medium) var(--gb-fs-13)/1.45 var(--gb-font);animation:gbn-confirm-in var(--gb-dur-2) var(--gb-ease) both}
.cf-shell[data-ui=next]~.action-confirmation::before,.mobile-app[data-ui=next]~.action-confirmation::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--gb-sage)}
.cf-shell[data-ui=next]~.action-confirmation[data-kind=error]::before,.mobile-app[data-ui=next]~.action-confirmation[data-kind=error]::before{background:var(--gb-danger)}
.cf-shell[data-ui=next]~.action-confirmation>div,.mobile-app[data-ui=next]~.action-confirmation>div{flex:1;min-width:0;gap:2px}
.cf-shell[data-ui=next]~.action-confirmation>div>strong,.mobile-app[data-ui=next]~.action-confirmation>div>strong{color:var(--gb-hud-ink-2);font:var(--gb-fw-medium) var(--gb-fs-11)/1.3 var(--gb-font)}
.cf-shell[data-ui=next]~.action-confirmation>div>span,.mobile-app[data-ui=next]~.action-confirmation>div>span{color:var(--gb-hud-ink);font:var(--gb-fw-medium) var(--gb-fs-13)/1.45 var(--gb-font)}
.cf-shell[data-ui=next]~.action-confirmation>button,.mobile-app[data-ui=next]~.action-confirmation>button{flex:none;border-radius:50%;color:var(--gb-hud-ink-2);font:400 20px/1 var(--gb-font)}
.cf-shell[data-ui=next]~.action-confirmation>button:hover,.mobile-app[data-ui=next]~.action-confirmation>button:hover{background:var(--gb-hud-hover);color:var(--gb-hud-ink)}
.cf-shell[data-ui=next]~.action-confirmation>button:focus-visible,.mobile-app[data-ui=next]~.action-confirmation>button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
/* a slide only: an opacity-0 frame would read as hiding a control (§3 lint) */
@keyframes gbn-confirm-in{from{transform:translate(-50%,12px)}to{transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.cf-shell[data-ui=next]~.action-confirmation,.mobile-app[data-ui=next]~.action-confirmation{animation:none}}

/* ==========================================================================
   UI-NEXT · Reports (v4 "reporting" page) — A depth inside the B shell.
   Every selector starts with .v4-app[data-ui=next]; classic never matches (tests/v4-ui-next-reporting.test.mjs).
   Values are copied from redesign-20261014/final/gb-ui.css (sections 4, 7, 8, 10); colours are gb tokens only.
   The page markup is mostly inline style=, so the rep-n-* hooks below override with !important.
   Additive blocks (.rep-n-period, .rep-n-ai, .rep-n-revenue, .rep-n-goal) are hidden outside
   data-ui=next by reporting.css and are shown here. Nothing interactive is hidden.
   Layout: the page root wraps (flex-wrap); full-width rows by default, the revenue chart and the
   quarter target share one row when both fit, and stack otherwise (phone).
   ========================================================================== */

/* 1 · page --------------------------------------------------------------- */
.v4-app[data-ui=next] .v4-reporting-page{container:rep-n-page/inline-size;display:flex;flex-wrap:wrap;align-items:stretch;align-content:flex-start;gap:24px 20px;width:100%;max-width:var(--gb-page-max,1104px);margin:0 auto;padding:32px 32px 72px;color:var(--gb-ink);font-family:var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .v4-reporting-page > *{flex:1 1 100%;min-width:0;margin:0!important}
.v4-app[data-ui=next] .v4-reporting-page :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* header (gb-pagehead): title 28/600, the report period beside it, description 13 ink-2 */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-title{margin:0;flex:0 1 auto;align-self:baseline;font-size:var(--gb-fs-28,28px)!important;font-weight:600!important;letter-spacing:-.025em!important;line-height:1.15;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-period{display:block;flex:1 1 auto;align-self:baseline;margin-left:-8px!important;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-desc{margin-top:-18px!important;font-size:13px!important;color:var(--gb-ink-2)!important}

/* 2 · bubble boxes (gb-card) ---------------------------------------------- */
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-section,
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai,
.v4-app[data-ui=next] .v4-reporting-page .rep-n-revenue{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-section > *{margin-top:0!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-card-title{font-size:15px!important;font-weight:600!important;letter-spacing:-.01em;line-height:1.3;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-empty{padding:0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-error{font-size:13px!important;color:var(--gb-danger)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-done{font-size:13px!important;color:var(--gb-sage-ink)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--gb-sage)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-dot--ember{background:var(--gb-ember)}

/* 3 · what the AI did (ADDENDUM 1 §4) — real call + deal rows, shown at the top ---------- */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai{display:flex;gap:10px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-kicker{display:inline-block;font-size:13px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-kicker > .rep-n-dot{margin-right:8px;vertical-align:1px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-basis{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-facts{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;margin:0;font-size:20px;line-height:1.35;letter-spacing:-.01em;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-fact{white-space:nowrap}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-fact b{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-fact + .rep-n-ai-fact::before{content:"·";margin:0 10px;color:var(--gb-ink-3)}

/* 4 · KPI cards (gb-kpi--card) --------------------------------------------- */
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:16px}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile{container-type:inline-size;display:flex;flex-direction:column;gap:4px;min-width:0;padding:18px 20px 20px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile-label{font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
/* The number ticker (NumberFlow) draws a box 12px taller than the line for its roll mask; a fixed
   box with centred content keeps ticker values and plain-text values ("18 days") on one baseline. */
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile-value{display:flex;align-items:center;height:calc(1.15em + 12px);margin:-2px 0 -6px;overflow:hidden;font-family:var(--gb-font);font-size:clamp(20px,18cqi,28px);font-weight:600;line-height:1.15;letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile[data-empty=true] .v4-reporting-tile-value{display:block;height:auto;margin:8px 0 0;font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:normal;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile-delta{margin-top:0;font-size:12px;font-weight:500;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile-delta[data-tone=good]{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-tile-delta[data-tone=bad]{color:var(--gb-ember-ink)}

/* 5 · revenue chart (gb-bars; latest bucket = ember) ------------------------ */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-revenue{display:flex;flex:999 1 420px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-chart-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-chart-sub{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-legend{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-bars{--h:168px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:4px;margin-top:auto;padding-top:8px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-bars .gb-bars__col{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-bars .gb-bars__col > i{display:block;width:min(100%,var(--gb-bar-w,24px));height:calc(var(--h,168px) * var(--v,.5));min-height:6px;border-radius:var(--gb-r-full,999px);background:var(--gb-bar)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-bars .gb-bars__col.is-current > i{background:var(--gb-ember)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-bars :is(.gb-bars__v,.gb-bars__x){min-height:16px;font-size:12px;line-height:16px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-bars .gb-bars__col.is-current :is(.gb-bars__v,.gb-bars__x){font-weight:600;color:var(--gb-ink)}

/* 6 · quarter target (bubble: number, progress, input + one primary) -------- */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-target{flex:1 1 260px;gap:12px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-target-row{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px 8px!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-target-value{flex:1 0 100%;font-size:28px!important;font-weight:600!important;line-height:1.15;letter-spacing:-.03em;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-target-value[data-set=false]{font-size:15px!important;font-weight:500!important;letter-spacing:-.01em;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-goal{display:flex;flex:1 0 100%;flex-direction:column;gap:8px;margin-bottom:4px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-goal-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-goal-row b{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-progress{height:6px;overflow:hidden;border-radius:var(--gb-r-full,999px);background:var(--gb-track)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-progress > span{display:block;height:100%;border-radius:inherit;background:var(--gb-grad)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-input{flex:1 1 120px;min-width:0;width:auto!important;height:40px;padding:0 12px!important;border:0!important;border-radius:var(--gb-r-sm,10px)!important;background:var(--gb-surface)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink)!important;font-family:var(--gb-font)!important;font-size:13px!important;outline:none;transition:box-shadow var(--gb-dur-1,150ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-input::placeholder{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-input:hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-input:focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;height:36px;padding:0 16px!important;border:0!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;font-family:var(--gb-font)!important;font-size:13px!important;font-weight:500!important;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1,150ms) var(--gb-ease,ease),transform var(--gb-dur-1,150ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-btn:hover{background:var(--gb-btn-hover)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-btn:active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-btn:disabled{opacity:.4;cursor:default}

/* 7 · call intelligence: section heading + compact KPI strip ---------------- */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-sechead{display:flex!important;align-items:center;gap:12px!important;margin-top:16px!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-secicon{width:36px!important;height:36px!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-fill)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-sectitle{font-size:20px!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.25;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-secsub{margin-top:2px;font-size:13px!important;color:var(--gb-ink-2)!important}
/* one bubble, four cells split by hairlines (the gap shows the hairline colour) */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-callkpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:-8px!important;overflow:hidden;border-radius:var(--gb-r-lg,22px);background:var(--gb-hair);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-callkpis > .v4-reporting-tile{gap:2px;padding:16px 20px;border-radius:0;background:var(--gb-surface);box-shadow:none}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-callkpis .v4-reporting-tile-label{order:2;font-size:12px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-callkpis .v4-reporting-tile-value{margin:-6px 0 -4px;font-size:clamp(18px,15cqi,24px)}

/* 8 · two-up rows ------------------------------------------------------------ */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:20px!important;align-items:stretch}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-grid--wide{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important}

/* 9 · ranked bars (gb-hbars): label · 8px pill track · value; the top row is ember.
   The label row becomes display:contents so its spans join one subgrid with the track,
   which keeps every track starting at the same x. */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbars{display:grid!important;grid-template-columns:minmax(84px,max-content) minmax(0,1fr) minmax(44px,auto);gap:12px!important;align-items:center}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbars--src{grid-template-columns:minmax(84px,max-content) minmax(0,1fr) auto minmax(36px,auto)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;min-height:20px;font-size:13px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar-row{display:contents!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar-label{grid-column:1;grid-row:1;max-width:180px;overflow:hidden;font-size:13px!important;font-weight:400!important;white-space:nowrap;text-overflow:ellipsis;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar-track{grid-column:2;grid-row:1;height:8px!important;overflow:hidden;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-track)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar-fill{height:100%!important;border-radius:var(--gb-r-full,999px)!important;background:var(--gb-bar)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar:first-child .rep-n-hbar-fill{background:var(--gb-ember)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar-pct{grid-column:3;grid-row:1;margin:0!important;text-align:right;font-family:var(--gb-font)!important;font-size:13px!important;font-weight:400!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbars--src .rep-n-hbar-value{grid-column:3;grid-row:1;margin:0!important;text-align:right;font-family:var(--gb-font)!important;font-size:13px!important;font-weight:600!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbars--src .rep-n-hbar-pct{grid-column:4}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-hbar:first-child :is(.rep-n-hbar-label,.rep-n-hbar-pct){font-weight:600!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-foot{padding-top:12px;font-size:12px!important;color:var(--gb-ink-2)!important;box-shadow:inset 0 1px 0 var(--gb-hair)}

/* 10 · "<AI> on the phone" as a small gb-table; workload as rows ------------- */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-phone,
.v4-app[data-ui=next] .v4-reporting-page .rep-n-workload{gap:4px}
.v4-app[data-ui=next] .v4-reporting-page :is(.rep-n-phone,.rep-n-workload) > .rep-n-card-title{margin-bottom:8px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-thead{display:grid!important;grid-template-columns:minmax(0,1fr) 72px 72px!important;gap:8px!important;align-items:center;height:36px;padding:0 10px;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-2)!important;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-row{border:0;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-agent-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 72px;gap:8px;align-items:center;min-height:56px;padding:4px 10px;border-radius:var(--gb-r-sm,10px)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-who{min-width:0}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-who-name{font-size:13px!important;font-weight:600!important;line-height:17px;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-who-sub{font-size:12px!important;line-height:16px;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-num{text-align:right;font-family:var(--gb-font)!important;font-size:13px!important;font-variant-numeric:tabular-nums;color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-thead .rep-n-num{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-rows{gap:0!important;margin:0 -10px!important}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-load-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 10px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-load-row + .rep-n-load-row{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-money{font-size:15px!important;font-weight:600!important;letter-spacing:-.01em}
/* monogram avatar (gb-avatar, 32) */
.v4-app[data-ui=next] .v4-reporting-page .v4-reporting-avatar{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));box-shadow:inset 0 0 0 .5px var(--gb-hair);color:var(--gb-av-ink);font-family:var(--gb-font);font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1}

/* 11 · the shell's metric summary beside this page, as a bubble (scoped to Reports only) */
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail{padding:32px 24px 0 0}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .metric-visuals{--mv-surface:var(--gb-surface);--mv-raised:var(--gb-surface);--mv-ink:var(--gb-ink);--mv-muted:var(--gb-ink-2);--mv-line:var(--gb-hair);--mv-blue:var(--gb-ember);--mv-track:var(--gb-track)}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary{padding:20px;border:0;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-family:var(--gb-font);transition:box-shadow var(--gb-dur-1,150ms) var(--gb-ease,ease),transform var(--gb-dur-1,150ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary:hover{box-shadow:var(--gb-shadow-2);transform:translateY(-1px)}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary-heading{font-size:15px;font-weight:600;letter-spacing:-.01em}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary-value{font-weight:600;letter-spacing:-.03em}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary small{font-size:12px!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary-trend .mv-line{stroke:var(--gb-ink);stroke-width:2}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary-link{font-size:13px;color:var(--gb-ink-2);border-top-color:var(--gb-hair)}
.v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary:hover .mv-summary-link{color:var(--gb-ink)}

/* 12 · narrow containers and phone ----------------------------------------- */
@container rep-n-page (max-width:760px){
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-grid,
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-grid--wide{grid-template-columns:minmax(0,1fr)!important}
}
@container rep-n-page (max-width:560px){
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-callkpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-ai-facts{font-size:17px}
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-legend{margin-left:0;flex-basis:100%}
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-bars{--h:132px;gap:2px}
}
@media (max-width:900px){
  .v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail{padding:24px 32px 0}
  /* N11 (sweep 2): above the page, the summary's value has its own row. Beside the title it took the width of whatever
     it showed, so "…" turning into the real value re-wrapped the title and pushed the whole report down. */
  .v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail .mv-summary-value{grid-column:1;grid-row:auto;align-self:start}
}
@media (max-width:700px){
  .v4-app[data-ui=next] .mv-page-layout:has(.v4-reporting-page) .mv-page-rail{padding:16px 16px 0}
  .v4-app[data-ui=next] .v4-reporting-page{gap:20px 16px;padding:16px 16px 112px}
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-desc{margin-top:-14px!important}
  .v4-app[data-ui=next] .v4-reporting-page .rep-n-period{flex-basis:100%;margin:-14px 0 0!important;order:0}
}
/* N11 (sweep 3): no layout shift on a cold load. Until the first read answers (reportingWaiting) the AI summary, tiles,
   target and the sections below are not drawn (reporting.html) and this placeholder holds their place; the period
   beside the title is held at its final width, invisible. They then appear together, so nothing on screen moves. */
.v4-app[data-ui=next] .v4-reporting-page .rep-n-period-wait{flex:1 1 auto;align-self:baseline;margin-left:-8px!important;font-size:15px;color:transparent;user-select:none}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait{display:flex;flex-direction:column;gap:24px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.v4-app[data-ui=next] .v4-reporting-page :is(.rep-n-wait-ai,.rep-n-wait-kpis>div,.rep-n-wait-target,.rep-n-wait-more){border-radius:var(--gb-r-lg,22px);background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-rep-wait 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait-ai{min-height:96px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait-kpis>div{min-height:104px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait-target{min-height:141px}
.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait-more{min-height:420px}
@container rep-n-page (max-width:560px){.v4-app[data-ui=next] .v4-reporting-page .rep-n-wait-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.v4-app[data-ui=next] .v4-reporting-page .rep-n-period-wait{flex-basis:100%;margin:-14px 0 0!important;order:0}}
@keyframes gbn-rep-wait{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .v4-reporting-page :is(.rep-n-wait-ai,.rep-n-wait-kpis>div,.rep-n-wait-target,.rep-n-wait-more){animation:none}}

/* ==========================================================================
   UI-NEXT · Settings + Phone (P4) — B "Studio" layout in the gb tokens with A's bubble depth.
   Every selector starts with .v4-app[data-ui=next]; classic (no data-ui) matches nothing here.
   The markup is the classic v4 Settings page (src/v4/pages/settings.html plus the injected
   src/settings-workspace.html, src/agent-voice-settings.html, booking and email settings), which
   carries most of its look inline. Inline styles only lose to !important, so this file uses it —
   always inside the switch. NOTE: the template runtime writes inline styles through the CSSOM, so
   the style attribute is the browser's serialization ("border: 1px solid var(--line)", "flex: 1 1 0%",
   "border-style: none", colours as rgb()), and the [style*=…] hooks below match that form.
   Colours come from the foundation's re-pointed classic vars (--panel, --line, --fg-3 … → gb tokens)
   plus the gb tokens directly.
   Nothing here hides a control. The one exception is the classic chip strip of section links, which
   next replaces with the grouped column of the SAME links (.gbn-setnav); see §2.
   ========================================================================== */

/* 1 · page frame: header across, section nav column + one content column ---------------- */
.v4-app[data-ui=next] .v4-settings{
  display:grid;grid-template-columns:200px minmax(0,800px);grid-template-areas:"head head" "nav body";
  justify-content:center;column-gap:48px;padding:0 32px 96px!important;
  color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;line-height:var(--gb-lh-ui);
}
.v4-app[data-ui=next] .v4-settings > :first-child{grid-area:head;padding:32px 0 28px!important}
.v4-app[data-ui=next] .v4-settings > :first-child > :first-child{font-size:var(--gb-fs-28)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-title)!important;line-height:1.15}
.v4-app[data-ui=next] .v4-settings > :first-child > :nth-child(2){margin-top:6px!important;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-settings > .v4-settings-body{grid-area:body;min-width:0;padding:0!important}

/* The metric-visuals rail beside the page is empty on Settings (no chart), yet data-has-chart=true reserves
   228px + gap for it. Give that width back to the page; the rail element stays in place, it is only empty. */
.v4-app[data-ui=next] .mv-page-layout:has(> .mv-page-main > .v4-settings):has(> .mv-page-rail:empty){grid-template-columns:minmax(0,1fr)}

/* 2 · section nav. Classic shows the links as a sticky chip strip (.v4-settings-tabs). In next the SAME
   links (settingsNavGroups is built from settingsNavItems; unknown ones land in "More settings") render as
   the grouped column .gbn-setnav, so the strip is replaced, not removed — it moved to .gbn-setnav.
   Hand-off: once the foundation's left column renders settingsNavGroups inside an element marked
   [data-settings-nav], the in-page column hides and the content takes the full width. */
.v4-app[data-ui=next] .v4-settings > .v4-settings-tabs{display:none!important} /* moved to .gbn-setnav (same links, grouped) */
/* P2-8 (sweep 4): the column is held to what the page's scroll area shows above the activity strip, at its starting place
   (the top bar, plus 232px for the page heading above it and the strip below), so its last links ("Communities" … "System map" at
   1440×900) are never drawn under the strip; the column scrolls on its own for the rest. */
.v4-app[data-ui=next] .v4-settings .gbn-setnav{grid-area:nav;align-self:start;position:sticky;top:20px;display:flex!important;flex-direction:column;gap:20px;max-height:calc(100vh - 150px);max-height:calc(100dvh - var(--gb-topbar-h,56px) - 232px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 2px 24px}
.v4-app[data-ui=next] .gbn-setnav__group{display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next] .gbn-setnav__head{display:flex;align-items:center;height:28px;padding:0 10px;font-size:12px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-setnav__item{display:flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:var(--gb-r-sm);font-size:13px;line-height:1.3;color:var(--gb-ink)!important;text-decoration:none!important;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-setnav__item:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gbn-setnav__item:active{background:var(--gb-press)}
.v4-app[data-ui=next] .gbn-setnav__item:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next]:has([data-settings-nav]) .v4-settings{grid-template-columns:minmax(0,816px);grid-template-areas:"head" "body"}
.v4-app[data-ui=next]:has([data-settings-nav]) .v4-settings .gbn-setnav{display:none!important} /* the same links are in the foundation's left column ([data-settings-nav]) */

/* 3 · "what the agent is doing" strip (next-only markup, rows the page already loaded) ----------- */
.v4-app[data-ui=next] .v4-settings .gbn-glance{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 40px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] .gbn-glance__cell{display:flex;flex-direction:column;gap:2px;min-width:0;padding:16px 20px 18px;color:var(--gb-ink)!important;text-decoration:none!important;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gbn-glance__cell + .gbn-glance__cell{box-shadow:inset 1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next] .gbn-glance__cell:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .gbn-glance__cell:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next] .gbn-kicker{display:inline-flex;align-items:center;gap:8px;font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-glance__cell b{margin-top:8px;font-size:15px;font-weight:var(--gb-fw-medium);letter-spacing:var(--gb-tr-ui);line-height:1.3}
.v4-app[data-ui=next] .gbn-glance__cell small{font-size:12px;color:var(--gb-ink-2);line-height:1.45}
.v4-app[data-ui=next] .gbn-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next] [data-state="run"] .gbn-dot{background:var(--gb-sage);box-shadow:none}
.v4-app[data-ui=next] [data-state="wait"] .gbn-dot{box-shadow:inset 0 0 0 1.5px var(--gb-lav)}

/* 4 · section rhythm and type ------------------------------------------------------------- */
.v4-app[data-ui=next] .v4-settings-body > :is(div,section)[id^="set-"]:not(#set-booking){margin-top:56px!important}
.v4-app[data-ui=next] .v4-settings-body > #set-booking{margin-top:0!important}
/* in-page links land below the sticky bars */
.v4-app[data-ui=next] .v4-settings-body :is([id^="set-"],.gbn-phone){scroll-margin-top:24px}
@media (max-width:1100px){.v4-app[data-ui=next] .v4-settings-body :is([id^="set-"],.gbn-phone){scroll-margin-top:72px}}
.v4-app[data-ui=next] .v4-settings-body [style*="font-size: 17px"]{font-size:var(--gb-fs-20)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)!important;line-height:1.25}
.v4-app[data-ui=next] .v4-settings-body [style*="color: var(--fg-3)"],.v4-app[data-ui=next] .v4-settings-body [style*="color: var(--fg-2)"]{color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .v4-settings-body [id^="set-"] > [style*="font-size: 12.5px; color: var(--fg-3); margin-top: 3px"]{margin-top:4px!important;font-size:13px!important}
.v4-app[data-ui=next] .v4-settings-body [style*="text-transform: uppercase"]{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .v4-settings-body [style*="letter-spacing: 0.08em"]{margin-top:24px!important;font-size:13px!important;font-weight:var(--gb-fw-semibold)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-settings-body :is([style*="font-weight: 750"],[style*="font-weight: 700"]){font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-settings-body [style*="font-weight: 650"]{font-weight:var(--gb-fw-medium)!important}
.v4-app[data-ui=next] .v4-settings-body :is([style*="font-size: 11px"],[style*="font-size: 11.5px"]){font-size:12px!important}
.v4-app[data-ui=next] .v4-settings-body :is([style*="font-size: 12.5px"],[style*="font-size: 13.5px"]){font-size:13px!important}
.v4-app[data-ui=next] .v4-settings-body :is([style*="color: rgb(179, 38, 30)"],[style*="color:#b3261e"],[role="alert"]){color:var(--gb-danger)!important}
.v4-app[data-ui=next] .v4-settings-body :is([style*="background: rgba(179, 38, 30, 0.1)"],[style*="background:rgba(179,38,30,.1)"]){background:color-mix(in srgb,var(--gb-danger) 8%,transparent)!important;border:0!important;border-radius:var(--gb-r-md)!important}
.v4-app[data-ui=next] .v4-settings-body :is([style*="font-family: monospace"],code,pre){font-family:var(--gb-mono)!important}
.v4-app[data-ui=next] .v4-settings-body :is(h2,h3,h4){color:var(--gb-ink);letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance,.settings-hub) p{color:var(--gb-ink-2);font-size:13px;line-height:1.55}
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance) strong{color:var(--gb-ink)}

/* 5 · bubble boxes: the outermost bordered box of a section becomes a bubble (.gb-card depth);
   a box inside a bubble becomes an inset well, never a second bubble (no box inside a box). */
.v4-app[data-ui=next] .v4-settings-body :is(div,details)[style*="border: 1px solid var(--line)"][style*="border-radius"]:not(.v4-settings-body :is(.crm-panel,.agent-voice-settings,[style*="border: 1px solid var(--line)"][style*="border-radius"]) *),
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance),
.v4-app[data-ui=next] .v4-settings-body section[style*="border: 1px solid var(--line)"]{
  background:var(--gb-surface)!important;border:0!important;border-radius:var(--gb-r-lg)!important;box-shadow:var(--gb-shadow-1)!important;
}
.v4-app[data-ui=next] .v4-settings-body :is(div,details)[style*="border: 1px solid var(--line)"][style*="border-radius"][style*="opacity"]{opacity:1!important;background:color-mix(in srgb,var(--gb-surface) 55%,transparent)!important;box-shadow:inset 0 0 0 1px var(--gb-hair)!important}
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]){padding:24px!important;margin-top:56px!important}
.v4-app[data-ui=next] .v4-settings-body .simple-appearance{margin-top:16px!important}
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]) > h2:first-child,
.v4-app[data-ui=next] .v4-settings-body .crm-panel h2{margin:0 0 6px!important;font-size:var(--gb-fs-20)!important;font-weight:var(--gb-fw-semibold)!important;line-height:1.25}
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance) h3{font-size:15px!important;font-weight:var(--gb-fw-semibold)!important}
.v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,[style*="border: 1px solid var(--line)"][style*="border-radius"]) :is(div,details)[style*="border: 1px solid var(--line)"][style*="border-radius"]{
  background:var(--gb-fill)!important;border:0!important;border-radius:var(--gb-r-md)!important;box-shadow:none!important;
}
.v4-app[data-ui=next] .v4-settings-body [style*="padding: 18px 20px"]:is(div,section),.v4-app[data-ui=next] .v4-settings-body [style*="padding: 20px 22px"]{padding:20px 24px!important}
/* row lists inside bubbles: hairlines, no last rule, a gentle hover */
.v4-app[data-ui=next] .v4-settings-body [style*="border-bottom: 1px solid var(--line-soft)"]{border-bottom-color:var(--gb-hair)!important}
.v4-app[data-ui=next] .v4-settings-body [style*="overflow: hidden"] > [style*="border-bottom: 1px solid var(--line"]:last-child{border-bottom:0!important}
.v4-app[data-ui=next] .v4-settings-body [style*="overflow: hidden"] > [style*="border-bottom: 1px solid var(--line-soft)"]{min-height:56px}
.v4-app[data-ui=next] .v4-settings-body [style*="border-bottom: 1px solid var(--line); font-size: 11px"]{background:transparent!important;border-bottom-color:var(--gb-hair)!important}
.v4-app[data-ui=next] .v4-settings-body [style*="background: var(--panel-2)"]:not(button){background:var(--gb-fill)!important;border:0!important;border-radius:var(--gb-r-md)!important}
.v4-app[data-ui=next] .v4-settings-body [style*="display: grid"][style*="gap: 12px"]{gap:16px!important}

/* B form rows: the Business and Authority tile grids become one grouped bubble of rows — label on the
   left (200), control on the right; they stack on a phone. */
.v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"]{display:flex!important;flex-direction:column;gap:0!important;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div{display:grid!important;grid-template-columns:200px minmax(0,1fr);align-items:center;column-gap:24px;min-height:64px;margin:0!important;padding:12px 20px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div + div{box-shadow:inset 0 1px 0 var(--gb-hair)!important}
.v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :first-child{font-size:13px!important;font-weight:var(--gb-fw-medium)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :nth-child(n+2){margin-top:0!important;max-width:360px;width:100%}
.v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :nth-child(n+2):not(input){font-size:13px!important;font-weight:var(--gb-fw-regular)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] #set-authority > [style*="display: grid"] input[style*="font-size: 20px"]{font-size:15px!important;min-height:40px}
.v4-app[data-ui=next] #set-authority > [style*="display: grid"] + [style*="display: grid"],.v4-app[data-ui=next] #set-authority > [style*="display: grid"] + div{margin-top:16px!important}

/* 6 · controls ---------------------------------------------------------------------------- */
/* text fields → .gb-input */
.v4-app[data-ui=next] .v4-settings :where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){
  font-family:var(--gb-font)!important;font-size:13px;color:var(--gb-ink)!important;background:var(--gb-surface)!important;
  border:0!important;border-radius:var(--gb-r-sm)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)!important;outline:none;
  transition:box-shadow var(--gb-dur-1) var(--gb-ease);
}
.v4-app[data-ui=next] .v4-settings :where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select){min-height:40px;padding:0 12px!important}
.v4-app[data-ui=next] .v4-settings input[style*="font-size: 16px"],.v4-app[data-ui=next] .v4-settings input[style*="font-size: 12.5px"],.v4-app[data-ui=next] .v4-settings input[style*="font-size: 14px"]{font-size:13px!important}
.v4-app[data-ui=next] .v4-settings :where(textarea){padding:10px 12px!important;line-height:1.5!important}
.v4-app[data-ui=next] .v4-settings :where(input,select,textarea):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)!important}
.v4-app[data-ui=next] .v4-settings :where(input,select,textarea):focus{box-shadow:inset 0 0 0 1px var(--gb-ink-2),0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)!important}
.v4-app[data-ui=next] .v4-settings :is(input,select,textarea):disabled{opacity:.5}
.v4-app[data-ui=next] .v4-settings :is(input,textarea)::placeholder{color:var(--gb-ink-2);opacity:1}
/* naked inline editors (price book cells) stay quiet until touched */
.v4-app[data-ui=next] .v4-settings input[style*="border-style: none"]{box-shadow:none!important;background:transparent!important;min-height:36px}
.v4-app[data-ui=next] .v4-settings input[style*="border-style: none"]:is(:hover,:focus){background:var(--gb-surface)!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)!important}
/* the big numeric fields (caps, discounts) keep a display size */
.v4-app[data-ui=next] .v4-settings input[style*="font-size: 20px"]{font-size:20px!important;font-weight:var(--gb-fw-medium)!important;min-height:44px;letter-spacing:-.01em}
.v4-app[data-ui=next] .v4-settings :is(input[type=checkbox],input[type=radio]){accent-color:var(--gb-btn);width:16px;height:16px}

/* buttons — default: secondary pill (.gb-btn) */
.v4-app[data-ui=next] .v4-settings :where(button:not(.settings-hub-open,.avs-voice,.settings-hub-pin)){
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px!important;
  border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;
  font-family:var(--gb-font)!important;font-size:13px!important;font-weight:var(--gb-fw-medium)!important;line-height:1.2;text-align:center;
  box-shadow:none!important;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease);
}
.v4-app[data-ui=next] .v4-settings :where(button:not(.settings-hub-open,.avs-voice,.settings-hub-pin)):hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .v4-settings :where(button:not(.settings-hub-open,.avs-voice,.settings-hub-pin)):active{transform:scale(.97)}
.v4-app[data-ui=next] .v4-settings button:disabled{opacity:.4!important;cursor:default}
/* primary: ink pill (one per group in the markup already) */
.v4-app[data-ui=next] .v4-settings button[style*="background: var(--accent)"]:not([style*="flex: 1 1 0%"]):not([style*="padding: 7px 14px"]),
.v4-app[data-ui=next] .v4-settings .avs-save{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .v4-settings button[style*="background: var(--accent)"]:not([style*="flex: 1 1 0%"]):not([style*="padding: 7px 14px"]):hover,
.v4-app[data-ui=next] .v4-settings .avs-save:hover{background:var(--gb-btn-hover)!important}
/* destructive */
.v4-app[data-ui=next] .v4-settings button:is([style*="background: rgb(179, 38, 30)"],[style*="background:#b3261e"]){background:var(--gb-danger)!important;color:#fff!important}
.v4-app[data-ui=next] .v4-settings button:is([style*="color: rgb(179, 38, 30)"],[style*="color:#b3261e"]){color:var(--gb-danger)!important}
/* text buttons ("+ Add a line item", "Open branding editor →", "Cancel") → .gb-link */
.v4-app[data-ui=next] .v4-settings button[style*="background: none"][style*="border-style: none"]:not([style*="flex: 1 1 0%"]):not([style*="padding: 7px 14px"]){
  min-height:32px;padding:0 10px!important;margin-left:-10px;background:transparent!important;color:var(--gb-ink)!important;
}
.v4-app[data-ui=next] .v4-settings button[style*="background: none"][style*="border-style: none"]:not([style*="flex: 1 1 0%"]):not([style*="padding: 7px 14px"]):hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next] .v4-settings button:is([style*="width: 26px; height: 26px"],[aria-label^="Remove this question"]){width:32px;min-height:32px;padding:0!important;margin:0;color:var(--gb-ink-2)!important}
/* a.secondary-button (Manage billing ↗) → raised pill */
.v4-app[data-ui=next] .v4-settings a.secondary-button{display:inline-flex!important;align-items:center;gap:6px;min-height:36px!important;padding:0 16px!important;border:0!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;box-shadow:none!important;color:var(--gb-ink)!important;font-size:13px!important;font-weight:var(--gb-fw-medium)!important;text-decoration:none!important}
.v4-app[data-ui=next] .v4-settings a.secondary-button:hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next] .v4-settings-body a:not(.secondary-button):not(.gbn-glance__cell){color:var(--gb-ink)!important;text-decoration:underline;text-decoration-color:var(--gb-hair-2);text-underline-offset:3px}

/* segmented controls: operating mode and theme → .gb-seg (selected = white chip on the fill track) */
.v4-app[data-ui=next] .v4-settings :is([style*="background: var(--chip); border-radius: 9px; padding: 3px"],[role="group"][aria-label="Theme"]){background:var(--gb-fill)!important;border-radius:var(--gb-r-full)!important;padding:3px!important;gap:2px!important}
.v4-app[data-ui=next] .v4-settings :is([style*="background: var(--chip); border-radius: 9px; padding: 3px"],[role="group"][aria-label="Theme"]) > button{
  min-height:30px;white-space:nowrap;padding:0 14px!important;background:transparent!important;color:var(--gb-ink-2)!important;border-radius:var(--gb-r-full)!important;box-shadow:none!important;font-size:12px!important;margin:0}
.v4-app[data-ui=next] .v4-settings :is([style*="background: var(--chip); border-radius: 9px; padding: 3px"],[role="group"][aria-label="Theme"]) > button[style*="background: var(--accent)"]{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}

/* Motion effects / Workspace mode toggles → .gb-seg */
.v4-app[data-ui=next] .v4-settings .simple-mode-options{display:inline-flex;gap:2px!important;padding:3px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next] .v4-settings .simple-mode-options > .simple-toggle{min-height:30px;padding:0 14px!important;background:transparent!important;color:var(--gb-ink-2)!important;font-size:12px!important;border-radius:var(--gb-r-full)!important}
.v4-app[data-ui=next] .v4-settings .simple-mode-options > .simple-toggle[aria-pressed="true"]{background:var(--gb-seg-on)!important;color:var(--gb-ink)!important;box-shadow:var(--gb-shadow-0)!important}

/* the classic div switches (Ask permission for everything, booking "always") → .gb-switch look */
.v4-app[data-ui=next] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"]{width:38px!important;height:22px!important;padding:2px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-switch-off)!important}
.v4-app[data-ui=next] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"][style*="background: var(--accent"]{background:var(--gb-btn)!important}
.v4-app[data-ui=next] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"] > div{width:18px!important;height:18px!important;background:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.v4-app[data-ui=next] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"] > div[style*="translateX"]{transform:translateX(16px)!important;background:var(--gb-btn-ink)!important}

/* text drawn in the classic accent ink ("0 actions", "+ Add a question") reads as plain ink */
.v4-app[data-ui=next] .v4-settings-body [style*="color: var(--accent-ink)"]{color:var(--gb-ink)!important}
.v4-app[data-ui=next] .v4-settings-body div[style*="color: var(--accent-ink)"]{color:var(--gb-ink-2)!important;font-weight:var(--gb-fw-regular)!important;font-family:var(--gb-mono)!important;font-size:12px!important}

/* status chips (Owner, Switched off for this workspace) → .gb-pill; quiet status words */
.v4-app[data-ui=next] .v4-settings span[style*="border-radius: 100px"]{display:inline-flex;align-items:center;height:22px;padding:0 9px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font-family:var(--gb-font)!important;font-size:12px!important;font-weight:var(--gb-fw-regular)!important}
.v4-app[data-ui=next] .v4-settings span[style*="font-family: var(--font); font-size: 11px; font-weight: 600"]{font-size:12px!important;font-weight:var(--gb-fw-regular)!important;color:var(--gb-ink-2)!important}

/* 7 · settings search (settings-workspace.html) → .gb-search pill ------------------------- */
.v4-app[data-ui=next] .settings-hub{margin:0 0 8px!important}
.v4-app[data-ui=next] .settings-hub-search{gap:8px!important;margin:0!important;font-size:12px!important;font-weight:var(--gb-fw-semibold)!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-settings .settings-hub-search input{min-height:40px;padding:0 16px 0 40px!important;border-radius:var(--gb-r-full)!important;background:var(--gb-fill) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") 14px 50%/16px no-repeat!important;box-shadow:none!important}
.v4-app[data-ui=next] .v4-settings .settings-hub-search input:focus{background-color:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0),0 0 0 2px var(--gb-focus)!important}
.v4-app[data-ui=next] .v4-settings .settings-hub-groups button{min-height:30px!important;padding:0 12px!important;font-size:12px!important}
.v4-app[data-ui=next] .v4-settings .settings-hub-groups button[aria-pressed="true"]{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next] .settings-hub-cards{gap:16px}
.v4-app[data-ui=next] .settings-hub-card{border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);padding:16px 18px}
.v4-app[data-ui=next] .settings-hub-card-heading{font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .settings-hub-pin{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .settings-hub-open strong{font-size:15px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .settings-hub-open > :is(span,small){color:var(--gb-ink-2)}

/* 8 · Phone (B-Phone): header + receptionist card, then the receptionist as grouped bubbles --- */
.v4-app[data-ui=next] .v4-settings .gbn-phone{display:flex!important;flex-direction:column;gap:16px;margin:56px 0 0}
.v4-app[data-ui=next] .gbn-phone__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px}
.v4-app[data-ui=next] .gbn-phone__title{margin:0;font-size:var(--gb-fs-28);font-weight:var(--gb-fw-semibold);letter-spacing:var(--gb-tr-title);line-height:1.15}
.v4-app[data-ui=next] .gbn-phone__line{font:var(--gb-fw-regular) 13px/1.2 var(--gb-mono);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-phone__desc{margin:-8px 0 0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-phone__card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 20px;padding:20px 24px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gbn-phone__orb{grid-row:span 3;width:72px;height:72px}
.v4-app[data-ui=next] .gbn-phone__who{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px}
.v4-app[data-ui=next] .gbn-phone__who b{font-size:var(--gb-fs-20);font-weight:var(--gb-fw-semibold);letter-spacing:-.02em}
.v4-app[data-ui=next] .gbn-phone__who > span{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gbn-phone__status{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:13px;color:var(--gb-ink)}
.v4-app[data-ui=next] .gbn-phone__status small{flex-basis:100%;padding-left:15px;color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .gbn-phone__status small:empty{display:none}
.v4-app[data-ui=next] .gbn-phone__greeting{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--gb-ink)}
.v4-app[data-ui=next] .gbn-phone__greeting::before{content:"\201C"}
.v4-app[data-ui=next] .gbn-phone__greeting::after{content:"\201D"}
.v4-app[data-ui=next] .gbn-phone__greeting:empty{display:none}
/* The agent's name is the owner's choice and is set here, beside the orb (ADDENDUM 2). .gbn-phone__name is the Agent Voice
   Settings "Agent name" field (same value, handler and enable rule), so the original field and its one-line help are hidden in
   next only; classic keeps them. */
.v4-app[data-ui=next] .gbn-phone__who:has(> .gbn-phone__name){align-items:flex-end;gap:6px 14px}
.v4-app[data-ui=next] .gbn-phone__name{display:flex;flex-direction:column;gap:6px;flex:0 1 340px;min-width:0}
.v4-app[data-ui=next] .gbn-phone__name > span{font:var(--gb-fw-medium) 11px/1.2 var(--gb-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .v4-settings .gbn-phone__name > input{width:100%;box-sizing:border-box;min-height:48px;padding:0 14px!important;background:var(--gb-fill)!important;border-radius:var(--gb-r-md)!important;font-size:var(--gb-fs-20);font-weight:var(--gb-fw-semibold);letter-spacing:-.02em}
.v4-app[data-ui=next] .v4-settings .gbn-phone__name > input::placeholder{color:var(--gb-ink-3);font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] #set-agent-voice .avs-section > .avs-grid > label:has(> input[maxlength="80"][autocomplete="off"]){display:none!important} /* moved to .gbn-phone__name (Phone card, beside the orb) */
.v4-app[data-ui=next] #set-agent-voice .avs-section > .avs-grid:has(> label > input[maxlength="80"][autocomplete="off"]) + .avs-help{display:none!important} /* help text for the moved name field; its sentence is in .gbn-phone__desc */

/* the receptionist section: no outer box, each part is its own bubble */
.v4-app[data-ui=next] .v4-settings-body section.agent-voice-settings.crm-panel{margin-top:16px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:flex;flex-direction:column;gap:16px}
.v4-app[data-ui=next] .v4-settings .agent-voice-settings > *{margin:0!important}
.v4-app[data-ui=next] .avs-heading{align-items:flex-end!important;padding:8px 4px 0}
.v4-app[data-ui=next] .avs-eyebrow{font:var(--gb-fw-medium) var(--gb-fs-11)/1.2 var(--gb-mono)!important;letter-spacing:.14em!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .avs-heading h2{margin:6px 0 4px!important;font-size:var(--gb-fs-20)!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)!important}
.v4-app[data-ui=next] .agent-voice-settings p{color:var(--gb-ink-2)!important;font-size:13px!important}
.v4-app[data-ui=next] .agent-voice-settings fieldset{display:flex;flex-direction:column;gap:16px}
.v4-app[data-ui=next] .v4-settings :is(.avs-presets,.avs-section,.avs-advanced,.avs-transfer,.avs-recovery,.avs-footer){
  margin:0!important;padding:20px 24px!important;border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important}
.v4-app[data-ui=next] .v4-settings :is(.avs-presets,.avs-section,.avs-advanced,.avs-transfer,.avs-recovery) :is(.avs-section,.avs-presets){padding:0!important;box-shadow:none!important;background:transparent!important}
.v4-app[data-ui=next] .agent-voice-settings h3{margin:0 0 12px!important;font-size:15px!important;font-weight:var(--gb-fw-semibold)!important;letter-spacing:var(--gb-tr-ui)}
.v4-app[data-ui=next] .agent-voice-settings label{gap:6px!important;font-size:13px!important;font-weight:var(--gb-fw-medium)!important;color:var(--gb-ink)}
.v4-app[data-ui=next] .agent-voice-settings :is(.avs-help,.avs-control-help,.avs-preset-actions > span,.avs-line small,.avs-transfer small){color:var(--gb-ink-2)!important;font-size:12px!important}
.v4-app[data-ui=next] .avs-line{gap:4px!important;font-size:13px!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .avs-line strong{font-family:var(--gb-mono);font-size:15px!important;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .v4-settings :is(.avs-advanced > summary,.avs-recovery summary){min-height:28px!important;padding:0!important;font-size:15px!important;font-weight:var(--gb-fw-semibold)!important;color:var(--gb-ink)}
/* voice choices → segmented tiles: fill track, selected = white chip */
.v4-app[data-ui=next] .avs-voices{gap:4px!important;padding:4px;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .avs-voice-card{border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:flex;flex-direction:column}
.v4-app[data-ui=next] .avs-voice-card[data-selected="true"]{background:var(--gb-seg-on)!important;box-shadow:var(--gb-shadow-0)!important}
.v4-app[data-ui=next] .v4-settings .avs-voice{gap:6px!important;padding:14px 14px 8px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--gb-ink)!important;font-family:var(--gb-font)}
.v4-app[data-ui=next] .avs-voice strong{font-size:15px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .avs-voice > span:last-child{font-size:12px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .avs-voice[aria-pressed="true"] > span:last-child{color:var(--gb-ink)!important}
.v4-app[data-ui=next] .avs-wave{display:block;max-width:100%;overflow:hidden;white-space:nowrap;font-size:11px!important;line-height:1!important;letter-spacing:1px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .avs-voice[aria-pressed="true"] .avs-wave{color:var(--gb-ember-ink)!important}
.v4-app[data-ui=next] .v4-settings .avs-demo{align-self:flex-start;white-space:nowrap;margin:0 10px 12px!important;min-height:30px!important;padding:0 12px!important;font-size:12px!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-0)!important}
.v4-app[data-ui=next] .avs-transfer{display:flex}
.v4-app[data-ui=next] .avs-transfer h3{margin-bottom:4px!important}
.v4-app[data-ui=next] .avs-footer{align-items:center;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next] .agent-voice-settings :is(.avs-error,.avs-success){padding:12px 16px!important;border:0!important;border-radius:var(--gb-r-md)!important;font-size:13px!important}
.v4-app[data-ui=next] .agent-voice-settings .avs-error{background:color-mix(in srgb,var(--gb-danger) 8%,transparent)!important}
.v4-app[data-ui=next] .agent-voice-settings .avs-success{background:color-mix(in srgb,var(--gb-sage) 16%,transparent)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next] .avs-delete-review{border:0!important;border-radius:var(--gb-r-md)!important;background:color-mix(in srgb,var(--gb-ember) 12%,transparent)!important}

/* line, readiness, texting registration, forwarding wizard: Phone group bubbles */
.v4-app[data-ui=next] .v4-settings #set-line strong{font-family:var(--gb-mono);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .v4-settings #set-line code{padding:2px 6px;border-radius:var(--gb-r-xs);background:var(--gb-fill);font-size:13px}

/* 9 · legal footer (Settings only, next-only markup) ---------------------------------------- */
.v4-app[data-ui=next] .v4-settings .gbn-legal{display:block!important;margin:64px 0 0;padding-top:20px;box-shadow:inset 0 1px 0 var(--gb-hair);font-size:12px;color:var(--gb-ink-2)}

/* 10 · widths: below 1100px the nav column becomes a horizontal pill strip; phone gets 16px gutters */
@media (max-width:1100px){
  .v4-app[data-ui=next] .v4-settings{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "nav" "body";padding:0 24px 96px!important}
  .v4-app[data-ui=next] .v4-settings .gbn-setnav{top:0;z-index:var(--gb-z-sticky);flex-direction:row;gap:16px;max-height:none;overflow-x:auto;overflow-y:hidden;margin:0 -24px 24px;padding:8px 24px;background:color-mix(in srgb,var(--gb-ground) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 -1px 0 var(--gb-hair)}
  .v4-app[data-ui=next] .gbn-setnav__group{flex-direction:row;align-items:center;gap:4px;flex:none}
  .v4-app[data-ui=next] .gbn-setnav__head{padding:0 4px 0 0;white-space:nowrap}
  .v4-app[data-ui=next] .gbn-setnav__item{flex:none;white-space:nowrap;border-radius:var(--gb-r-full);background:var(--gb-fill)}
}
/* The pill strip scrolls sideways. Its edges fade where more links are out of view, so a chip cut at the edge reads as
   "scroll for more" (UX sweep 3, N20 remainder). Without scroll-driven animations only the right edge fades. The fade
   follows the scroll position, not time, so nothing moves on its own: it is exempt from the reduced-motion and
   motion-off resets (app.css, shell.css), hence the !important. The fade widths are plain custom properties, so each
   edge switches on just after the strip leaves that end. */
@keyframes gbn-setnav-fade{0%{--gbn-setnav-fade-l:0px;--gbn-setnav-fade-r:40px}6%{--gbn-setnav-fade-l:40px}94%{--gbn-setnav-fade-r:40px}100%{--gbn-setnav-fade-l:40px;--gbn-setnav-fade-r:0px}}
@media (max-width:1100px){
  .v4-app[data-ui=next] .v4-settings .gbn-setnav{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--gbn-setnav-fade-l,0px),#000 calc(100% - var(--gbn-setnav-fade-r,40px)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--gbn-setnav-fade-l,0px),#000 calc(100% - var(--gbn-setnav-fade-r,40px)),transparent)}
  @supports (animation-timeline:scroll()){.v4-app[data-ui=next] .v4-settings .gbn-setnav{animation:gbn-setnav-fade linear both!important;animation-timeline:scroll(self inline)!important}}
}
@media (max-width:759px){
  .v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div{grid-template-columns:minmax(0,1fr);row-gap:8px;padding:14px 16px!important}
  .v4-app[data-ui=next] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :nth-child(n+2){max-width:none}
  .v4-app[data-ui=next] .v4-settings{padding:0 16px 112px!important}
  .v4-app[data-ui=next] .v4-settings > :first-child{padding:20px 0 16px!important}
  .v4-app[data-ui=next] .v4-settings .gbn-setnav{margin:0 -16px 20px;padding:8px 16px}
  .v4-app[data-ui=next] .v4-settings .gbn-glance{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .gbn-glance__cell + .gbn-glance__cell{box-shadow:inset 0 1px 0 var(--gb-hair)}
  .v4-app[data-ui=next] .v4-settings-body :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]),
  .v4-app[data-ui=next] .v4-settings :is(.avs-presets,.avs-section,.avs-advanced,.avs-transfer,.avs-recovery,.avs-footer),
  .v4-app[data-ui=next] .v4-settings-body [style*="padding: 18px 20px"]:is(div,section),.v4-app[data-ui=next] .v4-settings-body [style*="padding: 20px 22px"]{padding:16px!important}
  .v4-app[data-ui=next] .gbn-phone__card{padding:16px;gap:4px 14px}
  .v4-app[data-ui=next] .gbn-phone__orb{width:56px;height:56px}
  .v4-app[data-ui=next] .gbn-phone__name{flex-basis:100%}
  .v4-app[data-ui=next] .v4-settings :where(button:not(.settings-hub-open,.avs-voice,.settings-hub-pin)){min-height:44px}
  .v4-app[data-ui=next] .v4-settings :where(input:not([type=checkbox],[type=radio]),select){min-height:44px}
}
/* S6 (sweep 3): the Settings placeholder (settings.css) in the new look's surfaces. */
.v4-app[data-ui=next] .settings-wait{gap:20px;margin-top:0}
.v4-app[data-ui=next] .settings-wait .settings-wait-block{border-radius:var(--gb-r-lg,22px);background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-settings-wait 1.4s ease-in-out infinite}
@keyframes gbn-settings-wait{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next] .settings-wait .settings-wait-block{animation:none}}

/* QA sweeps 4 and 5: the shell's top bar and its touch targets.
   P2-5 / D5: with the chat sidebar open the main column is 468px at 768 and 1140px at 1440. The top bar overlapped
   itself at 768 (the Ask bar and the agent squeezed to 10px under their neighbours) and cut "Prism…" and
   "AI Manager · 1 ac…" at 1440. Each item now keeps its own width or steps aside whole, still named for screen readers:
   below 1240px of main the agent's status words and the Install app word go; below 600px the Ask bar goes (the Chat
   button and ⌘J open the same chat) and the mode pill shows its dot only. Loaded after zz-next-0-shell.css. */
@media (min-width:761px){.v4-app[data-ui=next] .v4-workspace-header>span:nth-of-type(-n+3){flex:none}}
.v4-app[data-ui=next] .gbn-presence{min-width:36px;flex-shrink:0}
.v4-app[data-ui=next] .gbn-askbar{min-width:200px}
.v4-app[data-ui=next] .gbn-askbar__input{text-overflow:ellipsis}
/* the agent's name is drawn inside <b> as an interpolated <span>: hiding the status words must not hide the name too */
.v4-app[data-ui=next] .gbn-presence__text b>span{display:inline}
@container gb-main (max-width:1240px){
  .v4-app[data-ui=next] .gbn-presence__text>span{display:none}
  .v4-app[data-ui=next] .v4-workspace-header>.v4-install-app .v4-install-app__icon{display:block}
  .v4-app[data-ui=next] .v4-workspace-header>.v4-install-app{width:34px;min-width:34px;padding:0!important}
  .v4-app[data-ui=next] .v4-workspace-header>.v4-install-app .v4-install-app__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@container gb-main (max-width:600px){
  .v4-app[data-ui=next] .v4-workspace-header{gap:6px!important}
  .v4-app[data-ui=next] .v4-workspace-header .gbn-askbar{display:none}
  .v4-app[data-ui=next] .gbn-presence__text{display:none}
  .v4-app[data-ui=next] .gbn-presence{padding:0 5px}
  .v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label]){width:36px!important;min-width:36px;padding:0!important;justify-content:center}
  .v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label])>.sc-interp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap}
}

/* D10: on a phone every shell control is at least 44 by 44: the top bar's conversation list, agent, Needs you, mode and
   bell, and the activity strip's pause and "AI activity" buttons (the strip is 44px tall, so they fill it). */
@media (max-width:760px){
  .v4-app[data-ui=next] .v4-workspace-header{padding-left:56px!important}
  .v4-app[data-ui=next]:has(.ck-workspace-controls) .v4-workspace-header{padding-left:56px!important}
  .v4-app[data-ui=next] .ck-workspace-controls{top:4px!important;left:6px!important}
  .v4-app[data-ui=next] .ck-workspace-controls>button{min-width:44px!important;min-height:44px!important}
  .v4-app[data-ui=next] .v4-workspace-header :is(.gbn-presence,.gbn-needs){min-width:44px!important;height:44px!important;min-height:44px!important;justify-content:center}
  .v4-app[data-ui=next] .v4-workspace-header button[title^="Everything"]:not([aria-label]),.v4-app[data-ui=next] .v4-workspace-header button[aria-label^="What"]{width:44px!important;height:44px!important;min-height:44px!important}
  .v4-app[data-ui=next] .header-activity :is(.px-open-activity,.header-activity-pause){min-width:44px!important;min-height:44px!important;height:44px!important}
  .v4-app[data-ui=next] .header-activity-main{min-height:44px!important}
}

/* QA sweep 4 P2-1: changing page no longer moves it.
   "Your business" (Home's dashboard behind the full chat): the full chat keeps the conversation list beside it, so the
   page under it is laid out beside that list too. Closing the chat used to slide the page from the rail to the list. */
@media (min-width:761px){
  .v4-app[data-ui=next][data-chatkit-shell=true]:not([data-chatkit-collapsed=true])[data-anna-open=true][data-anna-view=full]{--gbn-left:calc(var(--gb-rail-w) + var(--gb-list-w))}
}
/* "Library" (Files) and the other record pages: while the first read is in flight only its "loading your business
   records" line shows. The blocks that fill in during that read (reference files, deletion history) appear together
   with the list instead of pushing each other down one by one. */
.v4-app[data-ui=next] .mv-page-main:has(>p[role=status] .au-loading-context)>:not(p[role=status]),.cf-shell[data-ui=next] .mv-page-main:has(>p[role=status] .au-loading-context)>:not(p[role=status]){visibility:hidden}

/* ==========================================================================
   UI-NEXT · smart chat surfaces · boards and visual workspace (ff:smart_chat, default off)
   --------------------------------------------------------------------------
   Drawn by src/surfaces/components/boards.js: StickyBoard (.gs-board*), KanbanBoard (.gs-kanban*), CalendarWeek
   (.gs-cal*), MapCard (.gs-map*), FilePreview and AudioPlayer (.gs-file*), Gallery and Carousel (.gs-gallery*). Shared pieces of the
   group (buttons, icons, menus, the drag ghost, screen-reader text) are .gs-board-*. Every selector starts with
   .v4-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it); colour comes from --gb-* tokens, so light and dark
   follow data-theme. Each card is a size container, so the layout follows the chat column, not the window: boards
   stack, the pipeline scrolls by stage and the week turns into a day list on a phone (down to 360px).
   ========================================================================== */

/* 1 · shared card, type and controls */
.v4-app[data-ui=next] .gs-board,.v4-app[data-ui=next] .gs-kanban,.v4-app[data-ui=next] .gs-cal,.v4-app[data-ui=next] .gs-map,.v4-app[data-ui=next] .gs-file,.v4-app[data-ui=next] .gs-gallery{container-type:inline-size;position:relative;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:18px 18px 16px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);font-size:14px;line-height:1.45;text-align:left}
.v4-app[data-ui=next] .gs-board *,.v4-app[data-ui=next] .gs-kanban *,.v4-app[data-ui=next] .gs-cal *,.v4-app[data-ui=next] .gs-map *,.v4-app[data-ui=next] .gs-file *,.v4-app[data-ui=next] .gs-gallery *{box-sizing:border-box}
.v4-app[data-ui=next] .gs-board :is(h3,h4,p,ul,ol,figure),.v4-app[data-ui=next] .gs-kanban :is(h3,h4,p,ul,ol),.v4-app[data-ui=next] .gs-cal :is(h3,h4,p,ul,ol),.v4-app[data-ui=next] .gs-map :is(h3,h4,p,ul,ol),.v4-app[data-ui=next] .gs-file :is(h3,h4,p,figure),.v4-app[data-ui=next] .gs-gallery :is(h3,h4,p,ul,figure){margin:0;padding:0}
.v4-app[data-ui=next] .gs-board :is(ul,ol),.v4-app[data-ui=next] .gs-kanban :is(ul,ol),.v4-app[data-ui=next] .gs-cal :is(ul,ol),.v4-app[data-ui=next] .gs-map :is(ul,ol),.v4-app[data-ui=next] .gs-gallery :is(ul,ol){list-style:none}
.v4-app[data-ui=next] .gs-board__kicker{margin:0 0 4px;font:var(--gb-fw-medium) 11px/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-board__title,.v4-app[data-ui=next] .gs-kanban__title-main,.v4-app[data-ui=next] .gs-cal__title,.v4-app[data-ui=next] .gs-map__title,.v4-app[data-ui=next] .gs-gallery__title{font-size:17px;font-weight:var(--gb-fw-semibold);line-height:1.25;letter-spacing:-.01em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-board__meta{margin-top:3px;font-size:12.5px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-board-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.v4-app[data-ui=next] .gs-board-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gs-board-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) 13px/1 var(--gb-font);white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-board-btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-board-btn:disabled{cursor:default;opacity:.55}
.v4-app[data-ui=next] .gs-board-btn--primary{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-board-btn--primary:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] :is(.gs-board,.gs-kanban,.gs-cal,.gs-map,.gs-file,.gs-gallery) :is(button,a,textarea,[tabindex]):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] :is(.gs-board,.gs-kanban,.gs-cal,.gs-map,.gs-file,.gs-gallery) :is(button,a,textarea,[tabindex]):focus:not(:focus-visible){outline:none}

/* inline action menu */
.v4-app[data-ui=next] .gs-board-menu{display:flex;flex-direction:column;gap:1px;margin-top:8px;padding:4px;border-radius:12px;background:var(--gb-raised);box-shadow:var(--gb-shadow-2);cursor:default}
.v4-app[data-ui=next] .gs-board-menu__head{padding:7px 8px 3px;font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-board-menu__item{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 9px;border:0;border-radius:8px;background:none;color:var(--gb-ink);font:var(--gb-fw-regular) 13px/1.2 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gs-board-menu__item:hover,.v4-app[data-ui=next] .gs-board-menu__item:focus-visible{background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-board-menu__item:focus-visible{outline-offset:-2px}
.v4-app[data-ui=next] .gs-board-menu__item .gs-board-icon{width:15px;height:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-board-menu__item.is-danger,.v4-app[data-ui=next] .gs-board-menu__item.is-danger .gs-board-icon{color:var(--gb-danger)}


/* 2 · StickyBoard */
.v4-app[data-ui=next] .gs-board__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.v4-app[data-ui=next] .gs-board__titles{min-width:0}
.v4-app[data-ui=next] .gs-board__head>.gs-board-btn{flex:none}
.v4-app[data-ui=next] .gs-board__head>.gs-board-btn .gs-board-icon{color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-board.is-dragging,.v4-app[data-ui=next] .gs-kanban.is-dragging{-webkit-user-select:none;user-select:none}
.v4-app[data-ui=next] .gs-board__cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:2px}
.v4-app[data-ui=next] .gs-board__col{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border-radius:var(--gb-r-md);background:var(--gb-fill);scroll-snap-align:start}
.v4-app[data-ui=next] .gs-board__colhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 2px 4px}
.v4-app[data-ui=next] .gs-board__collabel{font-size:13px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-board__colcount,.v4-app[data-ui=next] .gs-kanban__colcount{flex:none;min-width:22px;height:20px;padding:0 7px;border-radius:var(--gb-r-full);background:var(--gb-fill-2);color:var(--gb-ink-2);font:var(--gb-fw-medium) 11px/20px var(--gb-mono);text-align:center}
.v4-app[data-ui=next] .gs-board__list{display:flex;flex-direction:column;gap:8px;min-height:44px;border-radius:12px;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-board__list[data-drop=on],.v4-app[data-ui=next] .gs-kanban__list[data-drop=on]{background:color-mix(in srgb,var(--gb-focus) 9%,transparent)}
.v4-app[data-ui=next] .gs-board__empty{padding:14px 10px;border:1.5px dashed var(--gb-hair-2);border-radius:12px;color:var(--gb-ink-3);font-size:12px;text-align:center}
.v4-app[data-ui=next] .gs-board__drop,.v4-app[data-ui=next] .gs-kanban__drop{list-style:none;min-height:40px;border:2px dashed color-mix(in srgb,var(--gb-focus) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--gb-focus) 10%,transparent)}
.v4-app[data-ui=next] .gs-board__list[data-drop=on]>.gs-board__empty,.v4-app[data-ui=next] .gs-kanban__list[data-drop=on]>.gs-kanban__empty{display:none}

.v4-app[data-ui=next] .gs-board__note{--gs-note:#f2cf63;--gs-note-mix:40%;position:relative;padding:9px 10px 8px 12px;border-radius:12px;background:color-mix(in srgb,var(--gs-note) var(--gs-note-mix),var(--gb-surface));box-shadow:0 0 0 .5px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.06),0 8px 18px -12px rgba(0,0,0,.28);cursor:grab;transition:box-shadow var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-board__note[data-color=yellow]{--gs-note:#f2cf63}
.v4-app[data-ui=next] .gs-board__note[data-color=pink]{--gs-note:#f0a3b6}
.v4-app[data-ui=next] .gs-board__note[data-color=blue]{--gs-note:#93bfef}
.v4-app[data-ui=next] .gs-board__note[data-color=green]{--gs-note:#a3cf8c}
.v4-app[data-ui=next] .gs-board__note[data-color=purple]{--gs-note:#bfb0ea}
.v4-app[data-ui=next] .gs-board__note[data-color=orange]{--gs-note:#f2ae84}
.v4-app[data-ui=next] .gs-board__note[data-color=gray]{--gs-note:#c8c8c2}
.v4-app[data-ui=next] .gs-board__note[data-author=manager]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gb-lav-ink) 26%,transparent),0 1px 2px rgba(0,0,0,.06),0 8px 18px -12px rgba(0,0,0,.28)}
.v4-app[data-ui=next] .gs-board__note:hover{box-shadow:0 0 0 .5px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.07),0 14px 26px -14px rgba(0,0,0,.34)}
.v4-app[data-ui=next] .gs-board__note.is-dragging{display:none}
.v4-app[data-ui=next] .gs-board__note.is-grabbed{outline:2px solid var(--gb-focus);outline-offset:2px;transform:scale(1.015)}
.v4-app[data-ui=next] .gs-board__notehead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}
.v4-app[data-ui=next] .gs-board__by{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px 0 6px;border-radius:var(--gb-r-full);background:color-mix(in srgb,var(--gb-surface) 70%,transparent);color:var(--gb-lav-ink);font:var(--gb-fw-semibold) 11px/1 var(--gb-font)}
.v4-app[data-ui=next] .gs-board__by .gs-board-icon{width:12px;height:12px;stroke-width:2}
.v4-app[data-ui=next] .gs-board__by--you{padding:0 2px;background:none;color:color-mix(in srgb,var(--gb-ink) 55%,transparent);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gs-board__grip{display:grid;place-items:center;width:28px;height:24px;margin-right:-4px;padding:0;border:0;border-radius:7px;background:none;color:color-mix(in srgb,var(--gb-ink) 45%,transparent);cursor:grab;touch-action:none;opacity:.7}
.v4-app[data-ui=next] .gs-board__grip .gs-board-icon{width:16px;height:16px;stroke-width:3}
.v4-app[data-ui=next] .gs-board__grip:hover,.v4-app[data-ui=next] .gs-board__grip[aria-pressed=true]{opacity:1;background:color-mix(in srgb,var(--gb-surface) 60%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-board__text{margin:5px 0 8px;font-size:14px;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-board__notefoot{display:flex;align-items:center;justify-content:space-between;gap:6px}
.v4-app[data-ui=next] .gs-board__vote{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px 0 7px;border:0;border-radius:var(--gb-r-full);background:color-mix(in srgb,var(--gb-surface) 68%,transparent);color:var(--gb-ink);font:var(--gb-fw-semibold) 12px/1 var(--gb-font);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-board__vote .gs-board-icon{width:14px;height:14px;stroke-width:2.2}
.v4-app[data-ui=next] .gs-board__vote:hover{background:var(--gb-surface)}
.v4-app[data-ui=next] .gs-board__vote[aria-pressed=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-board__note>.gs-board__notefoot>.gs-board__votes{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-board__more{display:grid;place-items:center;width:28px;height:26px;padding:0;border:0;border-radius:8px;background:none;color:color-mix(in srgb,var(--gb-ink) 60%,transparent);cursor:pointer}
.v4-app[data-ui=next] .gs-board__more:hover,.v4-app[data-ui=next] .gs-board__more[aria-expanded=true]{background:color-mix(in srgb,var(--gb-surface) 60%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-board__more .gs-board-icon{stroke-width:3}
.v4-app[data-ui=next] .gs-board__add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:34px;border:1.5px dashed var(--gb-hair-2);border-radius:10px;background:none;color:var(--gb-ink-2);font:var(--gb-fw-medium) 13px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .gs-board__add:hover{background:var(--gb-surface);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-board__editor{display:flex;flex-direction:column;gap:6px;margin-top:4px;cursor:auto}
.v4-app[data-ui=next] .gs-board__input{display:block;width:100%;min-height:68px;padding:8px 10px;resize:vertical;border:1px solid var(--gb-hair-2);border-radius:10px;background:var(--gb-surface);color:var(--gb-ink);font:var(--gb-fw-regular) 14px/1.4 var(--gb-font)}
.v4-app[data-ui=next] .gs-board__editbar{display:flex;gap:6px}
.v4-app[data-ui=next] .gs-board__editbar .gs-board-btn{height:30px;padding:0 12px}

/* 3 · KanbanBoard */
.v4-app[data-ui=next] .gs-kanban__head{margin-bottom:14px}
.v4-app[data-ui=next] .gs-kanban__tabs{display:none;gap:6px;margin:-4px 0 10px;overflow-x:auto;scrollbar-width:none}
.v4-app[data-ui=next] .gs-kanban__tabs::-webkit-scrollbar{display:none}
.v4-app[data-ui=next] .gs-kanban__tab{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 6px 0 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font:var(--gb-fw-medium) 12.5px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .gs-kanban__tab[aria-current=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-kanban__tabcount{min-width:20px;height:20px;padding:0 6px;border-radius:var(--gb-r-full);background:color-mix(in srgb,currentColor 14%,transparent);font:var(--gb-fw-medium) 11px/20px var(--gb-mono);text-align:center}
.v4-app[data-ui=next] .gs-kanban__cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(136px,1fr);gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:2px}
.v4-app[data-ui=next] .gs-kanban__col{display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;border-radius:var(--gb-r-md);background:var(--gb-fill);scroll-snap-align:start}
.v4-app[data-ui=next] .gs-kanban__colhead{padding:2px 4px 4px}
.v4-app[data-ui=next] .gs-kanban__colline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v4-app[data-ui=next] .gs-kanban__collabel{font-size:13px;font-weight:var(--gb-fw-semibold);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-kanban__total{margin-top:2px;font-size:16px;font-weight:var(--gb-fw-semibold);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-kanban__list{display:flex;flex-direction:column;gap:8px;min-height:48px;border-radius:12px}
.v4-app[data-ui=next] .gs-kanban__empty{padding:14px 10px;border:1.5px dashed var(--gb-hair-2);border-radius:12px;color:var(--gb-ink-3);font-size:12px;text-align:center}
.v4-app[data-ui=next] .gs-kanban__card{position:relative;list-style:none;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0);transition:box-shadow var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-kanban__card:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gs-kanban__card.is-dragging{display:none}
.v4-app[data-ui=next] .gs-kanban__open{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:10px 11px 10px 11px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gs-kanban__open:focus-visible{outline-offset:-2px}
.v4-app[data-ui=next] .gs-kanban__kind{font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-kanban__value{font-size:13px;font-weight:var(--gb-fw-semibold);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-kanban__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;align-self:stretch;padding-right:20px;font-size:13.5px;font-weight:var(--gb-fw-medium);line-height:1.3;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-kanban__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.v4-app[data-ui=next] .gs-kanban__due,.v4-app[data-ui=next] .gs-kanban__pending{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-height:20px;padding:2px 7px;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink-2);font-size:11.5px;font-weight:var(--gb-fw-medium);line-height:1.2}
.v4-app[data-ui=next] .gs-kanban__due[data-tone=late]{background:color-mix(in srgb,var(--gb-danger) 12%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-kanban__due[data-tone=today]{background:color-mix(in srgb,var(--gb-ember) 22%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-kanban__pending{background:color-mix(in srgb,var(--gb-lav) 26%,transparent);color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-kanban__pending .gs-board-icon{width:12px;height:12px;stroke-width:2.2}
.v4-app[data-ui=next] .gs-kanban__card[data-pending=true]{background:color-mix(in srgb,var(--gb-lav) 7%,var(--gb-surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gb-lav) 70%,transparent)}
.v4-app[data-ui=next] .gs-kanban__card[data-pending=true] .gs-kanban__title{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-kanban__grip{position:absolute;top:5px;right:4px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:8px;background:none;color:var(--gb-ink-3);cursor:grab;touch-action:none}
.v4-app[data-ui=next] .gs-kanban__grip .gs-board-icon{stroke-width:3}
.v4-app[data-ui=next] .gs-kanban__grip:hover,.v4-app[data-ui=next] .gs-kanban__grip[aria-expanded=true]{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-kanban__card>.gs-board-menu{margin:0 8px 8px}

/* 4 · CalendarWeek */
.v4-app[data-ui=next] .gs-cal{--gs-cal-row:50px}
.v4-app[data-ui=next] .gs-cal__head{margin-bottom:12px}
.v4-app[data-ui=next] .gs-cal__grid{display:grid;grid-template-columns:46px repeat(var(--gs-cal-days,7),minmax(0,1fr));grid-template-rows:auto calc(var(--gs-cal-hours,10) * var(--gs-cal-row));padding:4px 0 6px}
.v4-app[data-ui=next] .gs-cal__dayhead{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 0 10px;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-cal__corner{border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-cal__wd{font:var(--gb-fw-medium) 10.5px/1 var(--gb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-cal__dn{display:grid;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:var(--gb-r-full);font-size:16px;font-weight:var(--gb-fw-semibold);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-cal__dayhead[data-today=true] .gs-cal__dn{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-cal__dayhead[data-today=true] .gs-cal__wd{color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-cal__times{position:relative}
.v4-app[data-ui=next] .gs-cal__hour{position:absolute;right:8px;transform:translateY(-50%);font-size:10.5px;color:var(--gb-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-cal__hour:first-child{transform:translateY(2px)}
.v4-app[data-ui=next] .gs-cal__day{position:relative;min-width:0;border-left:1px solid var(--gb-hair);background-image:repeating-linear-gradient(to bottom,var(--gb-grid) 0,var(--gb-grid) 1px,transparent 1px,transparent var(--gs-cal-row))}
.v4-app[data-ui=next] .gs-cal__day:last-child{border-right:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-cal__day[data-today=true]{background-color:color-mix(in srgb,var(--gb-lav) 8%,transparent)}
.v4-app[data-ui=next] .gs-cal__event,.v4-app[data-ui=next] .gs-cal__item{--gs-tone:var(--gb-sage)}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=sage]{--gs-tone:var(--gb-sage)}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=ember]{--gs-tone:var(--gb-ember)}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=lav]{--gs-tone:var(--gb-lav)}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=sky]{--gs-tone:#86b6e6}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=gold]{--gs-tone:#e2c160}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=rose]{--gs-tone:#e79aab}
.v4-app[data-ui=next] :is(.gs-cal__event,.gs-cal__item)[data-tone=gray]{--gs-tone:#b4b4ae}
.v4-app[data-ui=next] .gs-cal__event{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;min-height:18px;padding:3px 6px;overflow:hidden;border:0;border-left:3px solid var(--gs-tone);border-radius:7px;background:color-mix(in srgb,var(--gs-tone) 30%,var(--gb-surface));color:var(--gb-ink);font:inherit;text-align:left;box-shadow:0 0 0 1px var(--gb-surface)}
.v4-app[data-ui=next] button.gs-cal__event{cursor:pointer}
.v4-app[data-ui=next] button.gs-cal__event:hover{background:color-mix(in srgb,var(--gs-tone) 42%,var(--gb-surface));z-index:2}
.v4-app[data-ui=next] .gs-cal__event-title{flex:none;font-size:12px;font-weight:var(--gb-fw-semibold);line-height:15px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--gs-lines,2);-webkit-box-orient:vertical;overflow-wrap:break-word}
.v4-app[data-ui=next] .gs-cal[data-days="7"] .gs-cal__event{padding-left:5px;padding-right:4px}
.v4-app[data-ui=next] .gs-cal[data-days="7"] .gs-cal__event-title{font-size:11.5px}
.v4-app[data-ui=next] .gs-cal__event-time{flex:none;font-size:11px;line-height:14px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-cal__event.is-short{justify-content:center;padding-top:1px;padding-bottom:1px}
.v4-app[data-ui=next] .gs-cal__event.is-short .gs-cal__event-title{-webkit-line-clamp:1;font-size:11.5px}
.v4-app[data-ui=next] .gs-cal__event.is-lane{box-shadow:0 0 0 1.5px var(--gb-surface),0 2px 6px -2px rgba(0,0,0,.25)}
.v4-app[data-ui=next] .gs-cal__event.is-lane .gs-cal__event-title{overflow-wrap:normal}
.v4-app[data-ui=next] .gs-cal__free{position:absolute;left:3px;right:3px;z-index:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow:hidden;padding:4px 6px;border:1.5px dashed color-mix(in srgb,var(--gb-sage) 85%,transparent);border-radius:7px;background:color-mix(in srgb,var(--gb-sage) 10%,transparent);color:var(--gb-sage-ink);font:var(--gb-fw-semibold) 11.5px/1.2 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .gs-cal__free-time{font-weight:var(--gb-fw-regular);font-size:11px;line-height:1.25;text-align:left}
.v4-app[data-ui=next] .gs-cal__free:hover{background:color-mix(in srgb,var(--gb-sage) 20%,transparent)}
.v4-app[data-ui=next] .gs-cal__now{position:absolute;left:-1px;right:0;z-index:3;height:2px;background:var(--gb-danger);pointer-events:none}
.v4-app[data-ui=next] .gs-cal__now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--gb-danger)}
.v4-app[data-ui=next] .gs-cal__list{display:none}
.v4-app[data-ui=next] .gs-cal__lday{padding:12px 0 4px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-cal__lday:first-child{border-top:0;padding-top:2px}
.v4-app[data-ui=next] .gs-cal__lhead{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-cal__today{height:18px;padding:0 7px;border-radius:var(--gb-r-full);background:var(--gb-btn);color:var(--gb-btn-ink);font:var(--gb-fw-medium) 10.5px/18px var(--gb-font)}
.v4-app[data-ui=next] .gs-cal__lrows{display:flex;flex-direction:column;gap:6px}
.v4-app[data-ui=next] .gs-cal__item{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:baseline;gap:10px;width:100%;padding:9px 10px;border:0;border-left:3px solid var(--gs-tone);border-radius:9px;background:color-mix(in srgb,var(--gs-tone) 22%,var(--gb-surface));color:var(--gb-ink);font:inherit;text-align:left}
.v4-app[data-ui=next] button.gs-cal__item{cursor:pointer}
.v4-app[data-ui=next] .gs-cal__item-time{grid-column:1;grid-row:1;font-size:12px;color:var(--gb-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-cal__item-title{grid-column:2;grid-row:1;font-size:13.5px;font-weight:var(--gb-fw-medium);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-cal__lfree{display:flex;width:100%;min-height:36px;align-items:center;padding:0 12px;border:1.5px dashed color-mix(in srgb,var(--gb-sage) 85%,transparent);border-radius:9px;background:color-mix(in srgb,var(--gb-sage) 10%,transparent);color:var(--gb-sage-ink);font:var(--gb-fw-semibold) 12.5px/1.2 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next] .gs-cal__lempty{padding:2px 0 6px;font-size:12.5px;color:var(--gb-ink-3)}

/* 5 · MapCard */
.v4-app[data-ui=next] .gs-map__head{margin-bottom:12px}
.v4-app[data-ui=next] .gs-map__canvas{position:relative;z-index:0;isolation:isolate;height:320px;overflow:hidden;border-radius:14px;background:var(--gb-fill);font-family:var(--gb-font)}
.v4-app[data-ui=next] .gs-map[data-engine=list] .gs-map__canvas{display:none}
.v4-app[data-ui=next] .gs-map[data-engine=loading] .gs-map__canvas{background:linear-gradient(100deg,var(--gb-fill) 30%,var(--gb-fill-2) 50%,var(--gb-fill) 70%) 0 0/300% 100%;animation:gbn-gs-shimmer 1.4s linear infinite}
.v4-app[data-ui=next] .gs-map__canvas .leaflet-control-attribution{font-size:10px;background:color-mix(in srgb,var(--gb-surface) 82%,transparent);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-map__canvas .leaflet-control-attribution a{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-map__canvas .leaflet-bar{border:0;box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gs-map__canvas .leaflet-bar a{background:var(--gb-surface);color:var(--gb-ink);border-bottom-color:var(--gb-hair)}
.v4-app[data-ui=next] .gs-map__pin{display:grid;place-items:center;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);box-shadow:0 0 0 2.5px var(--gb-surface),0 6px 14px -4px rgba(0,0,0,.45);font:var(--gb-fw-semibold) 12px/1 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .gs-map__pin:focus-visible{outline:2px solid var(--gb-focus);outline-offset:3px}
.v4-app[data-ui=next] .gs-map__canvas path.gs-map__area{stroke:var(--gb-lav-ink);stroke-width:1.5;stroke-dasharray:5 5;fill:var(--gb-lav);fill-opacity:.14}
.v4-app[data-ui=next] .gs-map__tip{font:var(--gb-fw-medium) 12px/1.2 var(--gb-font)}
.v4-app[data-ui=next] .gs-map__note{margin:8px 2px 0;font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-map__note:empty{display:none}
.v4-app[data-ui=next] .gs-map__list{display:flex;flex-direction:column;margin-top:10px}
.v4-app[data-ui=next] .gs-map__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-map__item:first-child{border-top:0}
.v4-app[data-ui=next] .gs-map__num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--gb-btn);color:var(--gb-btn-ink);font:var(--gb-fw-semibold) 12px/1 var(--gb-font)}
.v4-app[data-ui=next] .gs-map__label{font-size:14px;font-weight:var(--gb-fw-medium);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-map__sub{margin-top:2px;font-size:12.5px;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-map__acts{display:flex;gap:6px}
.v4-app[data-ui=next] .gs-map__acts .gs-board-btn{height:30px;padding:0 11px;font-size:12.5px}
.v4-app[data-ui=next] .gs-map__ext .gs-board-icon{width:13px;height:13px}
.v4-app[data-ui=next] .gs-map__empty{padding:8px 0;color:var(--gb-ink-3);font-size:13px}

/* 6 · FilePreview */
.v4-app[data-ui=next] .gs-file__head{display:flex;align-items:center;gap:12px}
.v4-app[data-ui=next] .gs-file__badge{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:11px;background:color-mix(in srgb,var(--gs-file,var(--gb-ink-3)) 22%,var(--gb-surface));color:var(--gs-file-ink,var(--gb-ink-2));font:var(--gb-fw-semibold) 10px/1 var(--gb-mono);letter-spacing:.06em}
.v4-app[data-ui=next] .gs-file[data-kind=pdf]{--gs-file:#e07a6a;--gs-file-ink:#b34232}
.v4-app[data-ui=next] .gs-file[data-kind=csv],.v4-app[data-ui=next] .gs-file[data-kind=xlsx]{--gs-file:var(--gb-sage);--gs-file-ink:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-file[data-kind=docx]{--gs-file:#86b6e6;--gs-file-ink:#2f6aa8}
.v4-app[data-ui=next] .gs-file[data-kind=image]{--gs-file:var(--gb-lav);--gs-file-ink:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-file__text{flex:1;min-width:0}
.v4-app[data-ui=next] .gs-file__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:var(--gb-fw-semibold);line-height:1.3;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-file__meta{margin-top:2px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-file__head>.gs-board-btn{flex:none}
.v4-app[data-ui=next] .gs-file__body{margin-top:14px}
.v4-app[data-ui=next] .gs-file__body:empty{display:none}
.v4-app[data-ui=next] .gs-file__figure{display:grid;place-items:center;overflow:hidden;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-file__img{display:block;max-width:100%;max-height:440px;object-fit:contain}
.v4-app[data-ui=next] .gs-file__scroll{max-height:440px;overflow:auto;border:1px solid var(--gb-hair);border-radius:12px;overscroll-behavior:contain;background:linear-gradient(to right,var(--gb-surface) 40%,transparent) left center/28px 100% no-repeat local,linear-gradient(to left,var(--gb-surface) 40%,transparent) right center/28px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.16),transparent) left center/12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.16),transparent) right center/12px 100% no-repeat scroll}
.v4-app[data-ui=next] .gs-file__table{min-width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-file__table th{position:sticky;top:0;z-index:1;padding:8px 10px;border-bottom:1px solid var(--gb-hair-2);background:var(--gb-surface);font-weight:var(--gb-fw-semibold);text-align:left;white-space:nowrap}
.v4-app[data-ui=next] .gs-file__table td{max-width:240px;padding:7px 10px;border-top:1px solid var(--gb-hair);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-file__table tbody tr:first-child td{border-top:0}
.v4-app[data-ui=next] .gs-file__table tbody tr:nth-child(even) td{background:var(--gb-zebra)}
.v4-app[data-ui=next] .gs-file__table :is(td,th).is-num{text-align:right}
.v4-app[data-ui=next] .gs-file__table .is-formula{font-family:var(--gb-mono);font-size:11.5px;color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-file__foot{margin-top:8px;font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-file__frame{display:block;width:100%;height:440px;border:0;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-file__pre{max-height:320px;margin:0;padding:12px 14px;overflow:auto;border-radius:12px;background:var(--gb-fill);font:12px/1.5 var(--gb-mono);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-file__none{display:flex;align-items:center;gap:16px;padding:18px;border:1.5px dashed var(--gb-hair-2);border-radius:14px}
.v4-app[data-ui=next] .gs-file__bigicon{position:relative;display:grid;place-items:center;flex:none;width:52px;height:60px;color:var(--gs-file-ink,var(--gb-ink-2))}
.v4-app[data-ui=next] .gs-file__bigicon .gs-board-icon{width:52px;height:60px;stroke-width:1.1}
.v4-app[data-ui=next] .gs-file__ext{position:absolute;bottom:13px;font:var(--gb-fw-semibold) 9px/1 var(--gb-mono);letter-spacing:.06em}
.v4-app[data-ui=next] .gs-file__bigicon[data-kind=image] .gs-file__ext{display:none}
.v4-app[data-ui=next] .gs-file__nonote{font-size:13px;color:var(--gb-ink-2)}
/* A PDF the page can't draw: name, size and why, then Open PDF; under a drawn frame, Open PDF as a quiet link. */
.v4-app[data-ui=next] .gs-file__none--open{padding:14px 16px;gap:14px}
.v4-app[data-ui=next] .gs-file__none--open .gs-file__bigicon,.v4-app[data-ui=next] .gs-file__none--open .gs-file__bigicon .gs-board-icon{width:40px;height:46px}
.v4-app[data-ui=next] .gs-file__none--open .gs-file__ext{bottom:10px;font-size:8px}
.v4-app[data-ui=next] .gs-file__nonetext{flex:1;min-width:0}
.v4-app[data-ui=next] .gs-file__nonename{overflow:hidden;font-size:13.5px;font-weight:var(--gb-fw-semibold);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .gs-file__none--open .gs-file__nonote{margin-top:2px;font-size:12.5px}
.v4-app[data-ui=next] .gs-file__open{flex:none}
.v4-app[data-ui=next] .gs-file__open .gs-board-icon,.v4-app[data-ui=next] .gs-file__link .gs-board-icon{width:13px;height:13px}
.v4-app[data-ui=next] .gs-file__link{display:inline-flex;align-items:center;gap:5px;border-radius:6px;color:var(--gb-ink-2);font-weight:var(--gb-fw-medium);text-decoration:none}
.v4-app[data-ui=next] .gs-file__link:hover{color:var(--gb-ink);text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next] .gs-file__loading{padding:28px 0;border-radius:12px;background:linear-gradient(100deg,var(--gb-fill) 30%,var(--gb-fill-2) 50%,var(--gb-fill) 70%) 0 0/300% 100%;color:var(--gb-ink-2);font-size:13px;text-align:center;animation:gbn-gs-shimmer 1.4s linear infinite}
/* the audio player (AudioPlayer: a call recording on the file card; every control is at least 44px tall on a phone) */
.v4-app[data-ui=next] .gs-file[data-kind=audio]{--gs-file:var(--gb-ember);--gs-file-ink:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-file--audio .gs-file__badge .gs-board-icon{width:20px;height:20px;stroke-width:2}
.v4-app[data-ui=next] .gs-file__player{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.v4-app[data-ui=next] .gs-file__player>.gs-file__loading{padding:13px 0}
.v4-app[data-ui=next] .gs-file__play{align-self:flex-start;min-height:44px;height:auto;padding:0 20px 0 16px;font-size:14px}
.v4-app[data-ui=next] .gs-file__play .gs-board-icon{fill:currentColor;stroke-width:1.4}
.v4-app[data-ui=next] .gs-file__play[aria-disabled=true]{cursor:progress;opacity:.72}
.v4-app[data-ui=next] .gs-file__audio{display:block;width:100%;min-height:44px;color-scheme:light}
.v4-app[data-ui=next] .gs-file__audio:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px;border-radius:var(--gb-r-full)}
.v4-app[data-ui=next] .gs-file__state{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:1.5px dashed var(--gb-hair-2);border-radius:14px}
.v4-app[data-ui=next] .gs-file__state.is-error{border-style:solid;border-color:color-mix(in srgb,var(--gb-danger) 40%,var(--gb-hair-2))}
.v4-app[data-ui=next] .gs-file__statemain{font-size:14px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-file__state>.gs-board-btn{margin-top:8px}
.v4-app[data-ui=next] .gs-file__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v4-app[data-ui=next] .gs-file__acts:empty{display:none}

/* 7 · Gallery and Carousel */
.v4-app[data-ui=next] .gs-gallery__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.v4-app[data-ui=next] .gs-gallery__head>.gs-board__meta{margin:0}
.v4-app[data-ui=next] .gs-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.v4-app[data-ui=next] .gs-gallery__grid:is([data-count="2"],[data-count="4"]){grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-app[data-ui=next] .gs-gallery__grid:is([data-count="2"],[data-count="4"]) .gs-gallery__media{aspect-ratio:16/10}
.v4-app[data-ui=next] .gs-gallery__grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.v4-app[data-ui=next] .gs-gallery__grid[data-count="1"]{grid-template-columns:minmax(0,360px)}
.v4-app[data-ui=next] .gs-gallery__item{display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gs-gallery__fig{display:flex;flex-direction:column;flex:1;min-width:0}
.v4-app[data-ui=next] .gs-gallery__media{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-gallery__img{display:block;width:100%;height:100%;object-fit:cover}
.v4-app[data-ui=next] .gs-gallery__ph{width:30px;height:30px;color:var(--gb-ink-3);stroke-width:1.4}
.v4-app[data-ui=next] .gs-gallery__cap{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}
.v4-app[data-ui=next] .gs-gallery__name{font-size:14px;font-weight:var(--gb-fw-semibold);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-gallery__caption{font-size:12.5px;line-height:1.4;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-gallery__item>.gs-gallery__act{align-self:flex-start;margin:-2px 12px 12px}
.v4-app[data-ui=next] .gs-gallery__cap>.gs-gallery__act{align-self:flex-start;margin-top:6px}
.v4-app[data-ui=next] .gs-gallery__track{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:14px}
.v4-app[data-ui=next] .gs-gallery__track::-webkit-scrollbar{display:none}
.v4-app[data-ui=next] .gs-gallery__slide{flex:0 0 100%;min-width:0;scroll-snap-align:center}
.v4-app[data-ui=next] .gs-gallery--carousel .gs-gallery__media{aspect-ratio:16/10;border-radius:14px}
.v4-app[data-ui=next] .gs-gallery--carousel .gs-gallery__cap{padding:10px 2px 0}
.v4-app[data-ui=next] .gs-gallery__bar{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}
.v4-app[data-ui=next] .gs-gallery__nav{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink);cursor:pointer}
.v4-app[data-ui=next] .gs-gallery__nav:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-gallery__nav:disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next] .gs-gallery__dots{display:flex;align-items:center;gap:6px}
.v4-app[data-ui=next] .gs-gallery__dot{width:8px;height:8px;padding:0;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill-2);cursor:pointer;transition:width var(--gb-dur-2) var(--gb-ease),background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next] .gs-gallery__dot[aria-current=true]{width:20px;background:var(--gb-ink)}

/* the note or card that follows the pointer while dragging (appended to .v4-app; the doubled class outranks the
   note and card rules above) */
.v4-app[data-ui=next] .gs-board-ghost.gs-board-ghost{position:fixed;z-index:var(--gb-z-pop,60);margin:0;list-style:none;pointer-events:none;opacity:.97;box-shadow:var(--gb-shadow-3);transform-origin:20% 20%;transition:none;cursor:grabbing}

/* 8 · dark */
.v4-app[data-ui=next][data-theme=dark] .gs-board__note{--gs-note-mix:26%;box-shadow:0 0 0 .5px rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.4),0 10px 22px -12px rgba(0,0,0,.6)}
.v4-app[data-ui=next][data-theme=dark] .gs-board__note[data-author=manager]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gb-lav-ink) 34%,transparent),0 1px 2px rgba(0,0,0,.4),0 10px 22px -12px rgba(0,0,0,.6)}
.v4-app[data-ui=next][data-theme=dark] .gs-board__by{background:color-mix(in srgb,var(--gb-ground) 40%,transparent)}
.v4-app[data-ui=next][data-theme=dark] .gs-board__vote,.v4-app[data-ui=next][data-theme=dark] .gs-board__grip:hover,.v4-app[data-ui=next][data-theme=dark] .gs-board__more:hover,.v4-app[data-ui=next][data-theme=dark] .gs-board__more[aria-expanded=true]{background:color-mix(in srgb,var(--gb-ground) 38%,transparent)}
.v4-app[data-ui=next][data-theme=dark] .gs-board__vote:hover{background:color-mix(in srgb,var(--gb-ground) 60%,transparent)}
.v4-app[data-ui=next][data-theme=dark] .gs-board__vote[aria-pressed=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-theme=dark] .gs-board__col,.v4-app[data-ui=next][data-theme=dark] .gs-kanban__col{background:rgba(255,255,255,.035)}
.v4-app[data-ui=next][data-theme=dark] .gs-kanban__card{background:var(--gb-raised)}
.v4-app[data-ui=next][data-theme=dark] .gs-kanban__card[data-pending=true]{background:color-mix(in srgb,var(--gb-lav) 10%,var(--gb-raised))}
.v4-app[data-ui=next][data-theme=dark] .gs-cal__event{background:color-mix(in srgb,var(--gs-tone) 24%,var(--gb-surface))}
.v4-app[data-ui=next][data-theme=dark] button.gs-cal__event:hover{background:color-mix(in srgb,var(--gs-tone) 34%,var(--gb-surface))}
.v4-app[data-ui=next][data-theme=dark] .gs-cal__item{background:color-mix(in srgb,var(--gs-tone) 18%,var(--gb-surface))}
.v4-app[data-ui=next][data-theme=dark] .gs-cal__free,.v4-app[data-ui=next][data-theme=dark] .gs-cal__lfree{border-color:color-mix(in srgb,var(--gb-sage) 60%,transparent);background:color-mix(in srgb,var(--gb-sage) 8%,transparent)}
.v4-app[data-ui=next][data-theme=dark] .gs-map__canvas .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.88) saturate(.7)}
.v4-app[data-ui=next][data-theme=dark] .gs-map__canvas{background:#1f2120}
.v4-app[data-ui=next][data-theme=dark] .gs-file[data-kind=pdf]{--gs-file-ink:#f0a092}
.v4-app[data-ui=next][data-theme=dark] .gs-file[data-kind=docx]{--gs-file-ink:#9cc3ec}
.v4-app[data-ui=next][data-theme=dark] .gs-file__audio{color-scheme:dark}
.v4-app[data-ui=next][data-theme=dark] .gs-gallery__item{background:var(--gb-raised)}

/* 9 · narrow cards (phones from 360px, or a narrow chat column) */
@container (max-width:560px){
  .v4-app[data-ui=next] .gs-board__cols{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);overflow-x:visible}
  .v4-app[data-ui=next] .gs-board__col{min-height:0}
  .v4-app[data-ui=next] .gs-kanban__cols{grid-auto-columns:78%;scroll-snap-type:x mandatory}
  .v4-app[data-ui=next] .gs-cal__grid{display:none}
  .v4-app[data-ui=next] .gs-cal__list{display:block}
  .v4-app[data-ui=next] .gs-map__canvas{height:240px}
  .v4-app[data-ui=next] .gs-map__item{grid-template-columns:auto minmax(0,1fr)}
  .v4-app[data-ui=next] .gs-map__acts{grid-column:2;flex-wrap:wrap}
  .v4-app[data-ui=next] .gs-gallery__grid:not([data-count="1"]){grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
  .v4-app[data-ui=next] .gs-kanban__tabs{display:flex}
  .v4-app[data-ui=next] .gs-file__img,.v4-app[data-ui=next] .gs-file__scroll,.v4-app[data-ui=next] .gs-file__frame{max-height:360px}
  .v4-app[data-ui=next] .gs-file__frame{height:360px}
  .v4-app[data-ui=next] .gs-file__play{align-self:stretch}
  .v4-app[data-ui=next] .gs-file--audio .gs-board-btn{min-height:44px;height:auto}
}
@container (max-width:400px){
  .v4-app[data-ui=next] .gs-board__head{flex-wrap:wrap}
  .v4-app[data-ui=next] .gs-file__head>.gs-board-btn{width:36px;height:36px;padding:0}
  .v4-app[data-ui=next] .gs-file__head>.gs-board-btn>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .v4-app[data-ui=next] .gs-gallery__grid:not([data-count="1"]){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .v4-app[data-ui=next] .gs-gallery__cap{padding:8px 10px 10px}
  .v4-app[data-ui=next] .gs-gallery__name{font-size:13px}
  .v4-app[data-ui=next] .gs-file__none--open{flex-wrap:wrap}
  .v4-app[data-ui=next] .gs-file__none--open .gs-file__open{width:100%}
}
@media (max-width:440px){
  .v4-app[data-ui=next] .gs-board,.v4-app[data-ui=next] .gs-kanban,.v4-app[data-ui=next] .gs-cal,.v4-app[data-ui=next] .gs-map,.v4-app[data-ui=next] .gs-file,.v4-app[data-ui=next] .gs-gallery{padding:14px 14px 12px;border-radius:var(--gb-r-md)}
}
@media (hover:none){
  .v4-app[data-ui=next] .gs-board__grip{opacity:1}
}
@media (pointer:coarse){
  .v4-app[data-ui=next] .gs-file--audio .gs-board-btn{min-height:44px;height:auto}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] :is(.gs-board,.gs-kanban,.gs-cal,.gs-map,.gs-file,.gs-gallery),.v4-app[data-ui=next] :is(.gs-board,.gs-kanban,.gs-cal,.gs-map,.gs-file,.gs-gallery) *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
    .v4-app[data-ui=next] .gs-board__note.is-grabbed{transform:none}
}
@keyframes gbn-gs-shimmer{to{background-position:-300% 0}}

/* ==========================================================================
   UI-NEXT · smart chat surfaces · DATA components (ff:smart_chat, default off)
   --------------------------------------------------------------------------
   Chart, Kpi, Sparkline and Table from src/surfaces/components/data.js. Every class is .gs-chart*, .gs-kpi*, .gs-table*,
   .gs-spark* or .gs-status*; every selector starts with .v4-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it).
   Colour comes from the --gb-* tokens, so light and dark follow data-theme; the few chart-only colours (delta and
   status tones, the sparkline accent) are local --gs-* properties set for both themes below. The canvas colours live
   in src/surfaces/chart-options.js (PALETTES), validated against the same light and dark surfaces.
   A parent card can drop the data components' own chrome: --gs-data-bg, --gs-data-shadow, --gs-data-pad.
   Widths down to 360px: the Chart's tools wrap under its title, a row of KPI tiles reflows to two columns, and a Table
   under 480px becomes stacked cards (data-layout=cards, set from its own width).
   ========================================================================== */

.v4-app[data-ui=next] .gs-chart,.v4-app[data-ui=next] .gs-kpi,.v4-app[data-ui=next] .gs-table,.v4-app[data-ui=next] .gs-spark{--gs-good:#0b6e0b;--gs-bad:#b42323;--gs-warn:#8a5a00;--gs-good-bg:rgba(12,163,12,.11);--gs-bad-bg:rgba(208,59,59,.1);--gs-warn-bg:rgba(237,161,0,.15);--gs-spark:#2a78d6;box-sizing:border-box;font-family:var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-theme=dark] .gs-chart,.v4-app[data-ui=next][data-theme=dark] .gs-kpi,.v4-app[data-ui=next][data-theme=dark] .gs-table,.v4-app[data-ui=next][data-theme=dark] .gs-spark{--gs-good:#4cc95a;--gs-bad:#ff8a80;--gs-warn:#e8b04a;--gs-good-bg:rgba(12,163,12,.18);--gs-bad-bg:rgba(230,103,103,.17);--gs-warn-bg:rgba(201,133,0,.2);--gs-spark:#3987e5}
.v4-app[data-ui=next] .gs-chart *,.v4-app[data-ui=next] .gs-table *,.v4-app[data-ui=next] .gs-kpi *{box-sizing:border-box}
.v4-app[data-ui=next] .gs-chart .gs-sr,.v4-app[data-ui=next] .gs-kpi .gs-sr,.v4-app[data-ui=next] .gs-table .gs-sr,.v4-app[data-ui=next] .gs-spark .gs-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v4-app[data-ui=next] .gs-ic{flex:none;width:14px;height:14px}
.v4-app[data-ui=next] .gs-chart button,.v4-app[data-ui=next] .gs-table button,.v4-app[data-ui=next] .gs-table select,.v4-app[data-ui=next] .gs-table input{font-family:var(--gb-font)}
.v4-app[data-ui=next] .gs-chart :focus-visible,.v4-app[data-ui=next] .gs-table :focus-visible,.v4-app[data-ui=next] .gs-kpi:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-num{text-align:right!important}

/* 1 · Chart ----------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-chart{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;margin:0;padding:var(--gs-data-pad,16px 16px 12px);border-radius:var(--gb-r-lg);background:var(--gs-data-bg,var(--gb-surface));box-shadow:var(--gs-data-shadow,var(--gb-shadow-1));container-type:inline-size}
.v4-app[data-ui=next] .gs-chart__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 12px}
.v4-app[data-ui=next] .gs-chart__titles{flex:1 1 220px;min-width:0}
.v4-app[data-ui=next] .gs-chart__title{margin:0;font-size:15px;font-weight:var(--gb-fw-semibold);line-height:1.3;letter-spacing:-.01em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-chart__subtitle{margin:2px 0 0;font-size:12.5px;line-height:1.4;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-chart__title[hidden],.v4-app[data-ui=next] .gs-chart__subtitle[hidden],.v4-app[data-ui=next] .gs-chart [hidden]{display:none}
.v4-app[data-ui=next] .gs-chart__tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.v4-app[data-ui=next] .gs-chart__seg{display:inline-flex;gap:2px;padding:2px;border-radius:var(--gb-r-full);background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-chart__seg-btn{height:26px;padding:0 11px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-chart__seg-btn:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-chart__seg-btn[aria-pressed=true]{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gs-chart__tool{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-chart__tool:hover{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-chart__tool[aria-pressed=true],.v4-app[data-ui=next] .gs-chart__tool[aria-expanded=true]{background:var(--gb-ink);color:var(--gb-surface)}
.v4-app[data-ui=next] .gs-chart__legend{display:flex;flex-wrap:wrap;gap:2px 4px;margin:-4px 0 0 -6px}
.v4-app[data-ui=next] .gs-chart__legend-item{display:inline-flex;align-items:center;gap:7px;min-height:28px;max-width:100%;padding:3px 9px 3px 7px;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1.25;text-align:left}
.v4-app[data-ui=next] button.gs-chart__legend-item{cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] button.gs-chart__legend-item:hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-chart__legend-item[aria-pressed=false]{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-chart__legend-item[aria-pressed=false] .gs-chart__key{opacity:.28}
.v4-app[data-ui=next] .gs-chart__legend-item[aria-pressed=false] .gs-chart__key-name{text-decoration:line-through;text-decoration-color:var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-chart__key{flex:none;width:10px;height:10px;border-radius:3px}
.v4-app[data-ui=next] .gs-chart__key[data-mark=dot]{border-radius:50%}
.v4-app[data-ui=next] .gs-chart__key[data-mark=line],.v4-app[data-ui=next] .gs-chart__key[data-mark=dashed]{width:16px;height:0;border-top:2px solid currentColor;border-radius:1px}
.v4-app[data-ui=next] .gs-chart__key[data-mark=dashed]{height:2px;border-top:0;background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px)}
.v4-app[data-ui=next] .gs-chart__key-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:24ch}
.v4-app[data-ui=next] .gs-chart__key-value{color:var(--gb-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .gs-chart__plot{position:relative;width:100%;min-width:0;min-height:120px}
.v4-app[data-ui=next] .gs-chart__skeleton{position:absolute;inset:6px 0 0;border-radius:var(--gb-r-sm);background:linear-gradient(90deg,var(--gb-fill) 0%,var(--gb-fill-2) 50%,var(--gb-fill) 100%);background-size:200% 100%;animation:gbn-gs-shimmer 1.4s linear infinite}
@keyframes gbn-gs-shimmer{from{background-position:200% 0}to{background-position:0 0}}
.v4-app[data-ui=next] .gs-chart__svg{display:block;width:100%;height:auto;overflow:visible}
.v4-app[data-ui=next] .gs-chart__svg text{font-family:var(--gb-font);font-size:11px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-chart__svg .gs-chart__svg-label{font-size:12px}
.v4-app[data-ui=next] .gs-chart__note{margin:0;font-size:12px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-chart__error{margin:0;padding:18px;border-radius:var(--gb-r-sm);background:var(--gb-fill);color:var(--gb-ink-2);font-size:13px;text-align:center}
.v4-app[data-ui=next] .gs-chart[data-state=error] .gs-chart__plot,.v4-app[data-ui=next] .gs-chart[data-state=fallback] .gs-chart__plot,.v4-app[data-ui=next] .gs-chart[data-state=empty] .gs-chart__plot{min-height:0}
.v4-app[data-ui=next] .gs-chart__table-scroll{max-height:320px;overflow:auto;border-radius:var(--gb-r-sm);box-shadow:inset 0 0 0 1px var(--gb-hair);overscroll-behavior:contain}
.v4-app[data-ui=next] .gs-chart__table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-chart__table th,.v4-app[data-ui=next] .gs-chart__table td{padding:7px 12px;border-bottom:1px solid var(--gb-hair);text-align:left;white-space:nowrap}
.v4-app[data-ui=next] .gs-chart__table thead th{position:sticky;top:0;z-index:1;background:var(--gb-surface);color:var(--gb-ink-2);font-size:11.5px;font-weight:var(--gb-fw-medium);border-bottom-color:var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-chart__table tbody th{font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gs-chart__table tbody tr:last-child>*{border-bottom:0}
.v4-app[data-ui=next] .gs-chart__drill{padding:0;border:0;background:none;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gb-hair-2);text-underline-offset:3px}
.v4-app[data-ui=next] .gs-chart__drill:hover{text-decoration-color:currentColor}
/* the HTML tooltip (ECharts appends it inside the plot; every value in it is escaped by chart-options.js) */
.v4-app[data-ui=next] .gs-chart__tip{font-family:var(--gb-font)!important}
.v4-app[data-ui=next] .gs-chart__tip-title{margin:0 0 6px;color:var(--gb-ink);font-size:12px;font-weight:var(--gb-fw-semibold);line-height:1.3}
.v4-app[data-ui=next] .gs-chart__tip-row{display:flex;align-items:center;gap:8px;min-width:160px;line-height:1.75}
.v4-app[data-ui=next] .gs-chart__tip-key{flex:none;width:8px;height:8px;border-radius:50%}
.v4-app[data-ui=next] .gs-chart__tip-key--dashed{width:12px;height:0;border-top:2px dashed;border-radius:0;background:none!important}
.v4-app[data-ui=next] .gs-chart__tip-name{flex:1;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-chart__tip-value{color:var(--gb-ink);font-weight:var(--gb-fw-semibold);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-chart__tip-note{margin-top:4px;color:var(--gb-ink-3);font-size:11.5px}
@container (max-width:430px){
  .v4-app[data-ui=next] .gs-chart__head{flex-direction:column;align-items:stretch}
  .v4-app[data-ui=next] .gs-chart__titles{flex-basis:auto}
  /* icons only (each tool keeps its aria-label and title), so the type switcher and the tools stay on one line */
  .v4-app[data-ui=next] .gs-chart__tool-text{display:none}
  .v4-app[data-ui=next] .gs-chart__tool{padding:0 10px}
  /* on a phone the slider and pinch zoom; dragging a range would fight the page scroll */
  .v4-app[data-ui=next] .gs-chart__tool[aria-label="Select range"]{display:none}
}
@media (max-width:480px){.v4-app[data-ui=next] .gs-chart{padding:var(--gs-data-pad,14px 12px 10px)}}

/* 2 · Kpi and a row of KPI tiles ------------------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-kpi{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;margin:0;padding:14px 16px;border:0;border-radius:var(--gb-r-md);background:var(--gs-data-bg,var(--gb-surface));box-shadow:var(--gs-data-shadow,var(--gb-shadow-0));color:var(--gb-ink);font:inherit;text-align:left}
.v4-app[data-ui=next] .gs-kpi--action{cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-kpi--action:hover{box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next] .gs-kpi--action:active{transform:scale(.99)}
.v4-app[data-ui=next] .gs-kpi__label{color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1.3;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-kpi__value{overflow:hidden;color:var(--gb-ink);font-size:26px;font-weight:var(--gb-fw-semibold);line-height:1.15;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-kpi__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;line-height:1.3}
.v4-app[data-ui=next] .gs-kpi__delta{display:inline-flex;align-items:center;gap:2px;padding:2px 8px 2px 5px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-weight:var(--gb-fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .gs-kpi__delta .gs-ic{width:13px;height:13px}
.v4-app[data-ui=next] .gs-kpi__delta[data-tone=good]{background:var(--gs-good-bg);color:var(--gs-good)}
.v4-app[data-ui=next] .gs-kpi__delta[data-tone=bad]{background:var(--gs-bad-bg);color:var(--gs-bad)}
.v4-app[data-ui=next] .gs-kpi__caption{flex-basis:100%;min-width:0;color:var(--gb-ink-3);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-kpi__spark{margin-top:auto;padding-top:6px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-kpi__spark .gs-spark__dot{fill:var(--gs-spark)}
.v4-app[data-ui=next] :has(>.gs-kpi+.gs-kpi){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:stretch!important;gap:10px}

/* 3 · Sparkline ----------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-spark{position:relative;display:inline-flex;align-items:center;vertical-align:middle;color:var(--gs-spark)}
.v4-app[data-ui=next] .gs-spark__svg{display:block;overflow:visible}
.v4-app[data-ui=next] .gs-spark__line{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gs-spark__area{fill:currentColor;stroke:none;opacity:.1}
.v4-app[data-ui=next] .gs-spark__dot{fill:currentColor;stroke:var(--gb-surface);stroke-width:1.5}

/* 4 · Table --------------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-table{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;padding:var(--gs-data-pad,14px 14px 10px);border-radius:var(--gb-r-lg);background:var(--gs-data-bg,var(--gb-surface));box-shadow:var(--gs-data-shadow,var(--gb-shadow-1));font-size:13px}
.v4-app[data-ui=next] .gs-table [hidden]{display:none!important}
.v4-app[data-ui=next] .gs-table__title{margin:0 2px;font-size:15px;font-weight:var(--gb-fw-semibold);line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-table__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .gs-table__field{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%}
.v4-app[data-ui=next] .gs-table__field--search{flex:1 1 200px;gap:6px;height:32px;padding:0 12px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-table__field--search:focus-within{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next] .gs-table__search{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--gb-ink);font-size:13px;outline:none;-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next] .gs-table__search::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-table__select-input{max-width:100%;height:32px;padding:0 30px 0 12px;border:0;border-radius:var(--gb-r-full);background-color:var(--gb-fill);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;color:var(--gb-ink);font-size:12.5px;text-overflow:ellipsis;cursor:pointer;-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next] .gs-table__field--sort{display:none}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__field--sort{display:inline-flex}
.v4-app[data-ui=next] .gs-table__bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:var(--gb-r-md);background:var(--gb-select)}
.v4-app[data-ui=next] .gs-table__bulk-count{margin-right:auto;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-table__scroll{max-height:min(560px,70vh);overflow:auto;border-radius:var(--gb-r-sm);box-shadow:inset 0 0 0 1px var(--gb-hair);overscroll-behavior:contain;
  /* a soft shadow on a side that has more columns to scroll to (covered by the surface where the table ends) */
  background:linear-gradient(90deg,var(--gb-surface) 40%,transparent) left/24px 100% no-repeat local,linear-gradient(270deg,var(--gb-surface) 40%,transparent) right/24px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--gb-ink) 18%,transparent),transparent) left/12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--gb-ink) 18%,transparent),transparent) right/12px 100% no-repeat scroll}
.v4-app[data-ui=next] .gs-table__grid{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-table__grid thead th{position:sticky;top:0;z-index:2;padding:0;border-bottom:1px solid var(--gb-hair-2);background:var(--gb-surface);color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);text-align:left;white-space:nowrap}
.v4-app[data-ui=next] .gs-table__sort{display:flex;align-items:center;gap:4px;width:100%;padding:9px 12px;border:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer}
.v4-app[data-ui=next] .gs-table__sort:hover{color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-table__th.gs-align-right .gs-table__sort{justify-content:flex-end}
.v4-app[data-ui=next] .gs-table__sort-ic{width:13px;height:13px;opacity:.4}
.v4-app[data-ui=next] .gs-table__th[aria-sort=ascending] .gs-table__sort-ic,.v4-app[data-ui=next] .gs-table__th[aria-sort=descending] .gs-table__sort-ic{opacity:1;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-table__th[aria-sort=ascending],.v4-app[data-ui=next] .gs-table__th[aria-sort=descending]{color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-table__grid td{padding:9px 12px;border-bottom:1px solid var(--gb-hair);color:var(--gb-ink);vertical-align:middle}
.v4-app[data-ui=next] .gs-table__grid tbody tr:last-child td{border-bottom:0}
.v4-app[data-ui=next] .gs-table__grid tbody tr:hover td{background:var(--gb-hover)}
.v4-app[data-ui=next] .gs-table__grid tbody tr[aria-selected=true] td{background:var(--gb-select)}
.v4-app[data-ui=next] .gs-align-right{text-align:right}
.v4-app[data-ui=next] .gs-align-center{text-align:center}
.v4-app[data-ui=next] .gs-type-date,.v4-app[data-ui=next] .gs-type-number,.v4-app[data-ui=next] .gs-type-currency,.v4-app[data-ui=next] .gs-type-status,.v4-app[data-ui=next] .gs-table__grid td.gs-table__td--nowrap{white-space:nowrap}
.v4-app[data-ui=next] .gs-table .gs-table__select{width:40px;padding-right:0;padding-left:14px}
.v4-app[data-ui=next] .gs-table__check{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:var(--gb-ink);cursor:pointer}
.v4-app[data-ui=next] .gs-table__record{padding:0;border:0;background:none;color:var(--gb-ink);font:inherit;font-weight:var(--gb-fw-medium);text-align:left;text-decoration:underline;text-decoration-color:var(--gb-hair-2);text-underline-offset:3px;cursor:pointer}
.v4-app[data-ui=next] .gs-table__record:hover{text-decoration-color:currentColor}
.v4-app[data-ui=next] .gs-table__row-actions{text-align:right;white-space:nowrap}
.v4-app[data-ui=next] .gs-table__action{height:28px;padding:0 12px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-table__action:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-table__action+.gs-table__action{margin-left:6px}
.v4-app[data-ui=next] .gs-table__action--danger{color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-table__action--quiet{background:transparent;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-table__bulk .gs-table__action{margin-left:0;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gs-table__bulk .gs-table__action--quiet{background:transparent;box-shadow:none}
.v4-app[data-ui=next] .gs-table__empty td{padding:26px 12px;color:var(--gb-ink-2);text-align:center}
.v4-app[data-ui=next] .gs-table__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:28px;padding:0 4px;color:var(--gb-ink-2);font-size:12px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-table__pager{display:inline-flex;align-items:center;gap:8px}
.v4-app[data-ui=next] .gs-table__page{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink);cursor:pointer}
.v4-app[data-ui=next] .gs-table__page:disabled{opacity:.38;cursor:default}
/* status pill: a dot and the word, never colour alone */
.v4-app[data-ui=next] .gs-status{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 9px 2px 8px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:12px;font-weight:var(--gb-fw-medium);line-height:1.5;white-space:nowrap}
.v4-app[data-ui=next] .gs-status__dot{flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next] .gs-status[data-tone=good]{background:var(--gs-good-bg);color:var(--gs-good)}
.v4-app[data-ui=next] .gs-status[data-tone=bad]{background:var(--gs-bad-bg);color:var(--gs-bad)}
.v4-app[data-ui=next] .gs-status[data-tone=warn]{background:var(--gs-warn-bg);color:var(--gs-warn)}
/* phone: under 480px of its own width the table becomes stacked cards, each value next to its column label; the
   checkbox and the row actions share the card's first line */
.v4-app[data-ui=next] .gs-table[data-layout=cards]{padding:var(--gs-data-pad,12px 10px 8px)}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__scroll{max-height:none;overflow:visible;border-radius:0;box-shadow:none;background:none}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid,.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid tbody{display:block}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;margin:0 0 8px;padding:8px 14px 10px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid tbody tr:last-child{margin-bottom:0}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid tbody tr[aria-selected=true]{box-shadow:0 0 0 2px var(--gb-focus)}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid td{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:26px;padding:3px 0;border:0;background:none;text-align:right;white-space:normal}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid td::before{content:attr(data-label);flex:none;max-width:45%;color:var(--gb-ink-2);font-size:12px;text-align:left}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid td.gs-table__select{grid-column:1;grid-row:1;justify-content:flex-start;width:auto;min-height:32px;padding:0}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid td.gs-table__select::before,.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid td.gs-table__row-actions::before,.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__empty td::before{content:none}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__grid td.gs-table__row-actions{grid-column:2;grid-row:1;justify-content:flex-end;min-height:32px;padding:0}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__empty td{justify-content:center}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__bar .gs-table__field{flex:1 1 140px}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__bulk{gap:6px;padding:6px 6px 6px 12px}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__bulk .gs-table__action{padding:0 10px}
.v4-app[data-ui=next] .gs-table[data-layout=cards] .gs-table__bar .gs-table__select-input{width:100%}

@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .gs-chart__skeleton{animation:none}
  .v4-app[data-ui=next] .gs-chart *,.v4-app[data-ui=next] .gs-table *,.v4-app[data-ui=next] .gs-kpi{transition:none!important}
  .v4-app[data-ui=next] .gs-kpi--action:active{transform:none}
}
@media (forced-colors:active){
  .v4-app[data-ui=next] .gs-status,.v4-app[data-ui=next] .gs-kpi__delta{border:1px solid CanvasText}
}

/* ==========================================================================
   UI-NEXT · smart chat surfaces: decision and workflow cards (ff:smart_chat, default off)
   --------------------------------------------------------------------------
   Drawn by src/surfaces/components/decisions.js (DecisionCard, PriceSlider/DiscountSlider, CompareCard, Form,
   SlotPicker, Checklist/Plan, Timeline, Diff, Progress) into the Home chat. Classes: .gs-decision*, .gs-compare*,
   .gs-form*, .gs-slot*, .gs-plan*, .gs-timeline*, .gs-diff*, .gs-progress*. Every selector starts with
   .v4-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it). Colour only from --gb-* tokens, so light and dark
   follow data-theme. Narrow layouts follow the card's own width (container queries), down to 360px phones.
   ========================================================================== */

/* 0 · card frame, shared pieces ------------------------------------------------- */
.v4-app[data-ui=next] :is(.gs-decision,.gs-compare,.gs-form,.gs-slot,.gs-plan,.gs-timeline,.gs-diff,.gs-progress){container-type:inline-size;box-sizing:border-box;width:100%;max-width:var(--gb-chat-max,720px);margin:0;padding:16px 18px;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;line-height:1.45;text-align:left}
.v4-app[data-ui=next] :is(.gs-decision,.gs-compare,.gs-form,.gs-slot,.gs-plan,.gs-timeline,.gs-diff,.gs-progress) *{box-sizing:border-box}
.v4-app[data-ui=next] :is(.gs-decision,.gs-compare,.gs-form,.gs-slot,.gs-plan,.gs-timeline,.gs-diff,.gs-progress) :is(button,input,select,textarea){font-family:var(--gb-font)}
/* the reset stays below every component rule's specificity (:where counts for nothing) */
.v4-app[data-ui=next] :where(.gs-decision,.gs-compare,.gs-form,.gs-slot,.gs-plan,.gs-timeline,.gs-diff,.gs-progress) :where(h3,h4,p,ul,ol,dl,dd,fieldset){margin:0}
.v4-app[data-ui=next] :is(.gs-decision,.gs-compare,.gs-form,.gs-slot,.gs-plan,.gs-timeline,.gs-diff,.gs-progress) :is(button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-decision-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v4-app[data-ui=next] .gs-decision-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gs-decision-kicker{margin:0 0 6px;font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] :is(.gs-decision__q,.gs-compare__title,.gs-form__title,.gs-slot__title,.gs-plan__title,.gs-timeline__title,.gs-diff__title,.gs-progress__title){font-size:15px;font-weight:var(--gb-fw-semibold);line-height:1.3;letter-spacing:-.01em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] :is(.gs-decision__context,.gs-compare__context,.gs-form__context,.gs-diff__context){margin-top:4px;color:var(--gb-ink-2);white-space:pre-line;overflow-wrap:anywhere}
.v4-app[data-ui=next] :is(.gs-decision__head,.gs-compare__head,.gs-form__head,.gs-slot__head,.gs-plan__head,.gs-timeline__head,.gs-diff__head,.gs-progress__head){margin-bottom:14px}

/* buttons */
.v4-app[data-ui=next] .gs-decision-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;max-width:100%;padding:0 16px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:13px;font-weight:var(--gb-fw-medium);line-height:1.2;text-align:center;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-decision-btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .gs-decision-btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-decision-btn:active{transform:scale(.98)}
.v4-app[data-ui=next] .gs-decision-btn--primary{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-decision-btn--primary:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .gs-decision-btn--ghost{background:transparent;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-decision-btn--ghost:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-decision-btn--icon{width:36px;padding:0;flex:none}
.v4-app[data-ui=next] .gs-decision-btn:disabled{cursor:default;opacity:.4;transform:none}
.v4-app[data-ui=next] .gs-decision-btn:disabled:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-decision-btn--primary:disabled:hover{background:var(--gb-btn)}
.v4-app[data-ui=next] .gs-decision-btn--ghost:disabled:hover{background:transparent}
.v4-app[data-ui=next] :is(.gs-decision__actions,.gs-form__actions,.gs-slot__actions,.gs-plan__actions,.gs-diff__actions){display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}

/* decided: the card collapses to one line of result */
.v4-app[data-ui=next] .gs-decision__decided{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--gb-r-md);background:color-mix(in srgb,var(--gb-sage) 16%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-decision__decided:focus{outline:none}
.v4-app[data-ui=next] .gs-decision__decided:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-decision__decided-mark{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;background:var(--gb-sage-ink);color:var(--gb-surface)}
.v4-app[data-ui=next] .gs-decision__decided-mark .gs-decision-icon{width:13px;height:13px;stroke-width:2.4}
.v4-app[data-ui=next] .gs-decision__decided-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-decision__decided-text>strong{font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-decision__decided-text>span{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .is-decided :is(.gs-decision__head,.gs-compare__head,.gs-form__head,.gs-slot__head,.gs-diff__head){margin-bottom:10px}
.v4-app[data-ui=next] .is-decided :is(.gs-decision__q,.gs-compare__title,.gs-form__title,.gs-slot__title,.gs-diff__title){font-size:14px;color:var(--gb-ink-2)}

/* 1 · DecisionCard ---------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-decision__deadline{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 10px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .gs-decision__deadline .gs-decision-icon{width:13px;height:13px}
.v4-app[data-ui=next] .gs-decision__deadline.is-past{background:color-mix(in srgb,var(--gb-danger) 12%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-decision__options{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next] .gs-decision__opt{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:var(--gb-r-md);box-shadow:inset 0 0 0 1px var(--gb-hair-2);background:var(--gb-surface);cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease),background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-decision__opt:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-decision__opt.is-recommended{background:color-mix(in srgb,var(--gb-sage) 9%,var(--gb-surface))}
.v4-app[data-ui=next] .gs-decision__opt.is-selected{box-shadow:inset 0 0 0 2px var(--gb-ink)}
.v4-app[data-ui=next] .gs-decision__opt:has(.gs-decision__input:focus-visible){outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-decision__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.v4-app[data-ui=next] .gs-decision__radio{position:relative;width:20px;height:20px;margin-top:1px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3);background:var(--gb-surface)}
.v4-app[data-ui=next] .gs-decision__opt.is-selected .gs-decision__radio{box-shadow:inset 0 0 0 6px var(--gb-ink)}
.v4-app[data-ui=next] .gs-decision__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.v4-app[data-ui=next] .gs-decision__label{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;font-weight:var(--gb-fw-semibold);line-height:1.3;overflow-wrap:anywhere}
.v4-app[data-ui=next] :is(.gs-decision__badge,.gs-compare__badge){display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--gb-r-full);background:var(--gb-sage-ink);color:var(--gb-surface);font-size:11px;font-weight:var(--gb-fw-semibold);letter-spacing:.01em;white-space:nowrap}
.v4-app[data-ui=next] :is(.gs-decision__badge,.gs-compare__badge) .gs-decision-icon{width:12px;height:12px;fill:currentColor;stroke-width:1}
.v4-app[data-ui=next] .gs-decision__reason{color:var(--gb-sage-ink);font-weight:var(--gb-fw-medium);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-decision__detail{color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-decision__impact{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.v4-app[data-ui=next] .gs-decision__chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .gs-decision__chip.is-good{background:color-mix(in srgb,var(--gb-sage) 20%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-decision__chip.is-warn{background:color-mix(in srgb,var(--gb-ember) 22%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-decision__chip.is-bad{background:color-mix(in srgb,var(--gb-danger) 12%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-decision__procon{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px 16px;margin-top:2px}
.v4-app[data-ui=next] :is(.gs-decision__pros,.gs-decision__cons){padding:0;list-style:none;color:var(--gb-ink-2);font-size:12.5px}
.v4-app[data-ui=next] :is(.gs-decision__pros,.gs-decision__cons)>li{position:relative;padding-left:14px;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-decision__pros>li::before{content:"+";position:absolute;left:0;color:var(--gb-sage-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-decision__cons>li::before{content:"\2212";position:absolute;left:0;color:var(--gb-danger);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-decision__other{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.v4-app[data-ui=next] :is(.gs-decision__other-label,.gs-slot__other-label){font-size:12px;font-weight:var(--gb-fw-medium);color:var(--gb-ink-2)}
.v4-app[data-ui=next] :is(.gs-decision__other-text,.gs-form__input,.gs-slot__other-input){width:100%;min-height:38px;padding:8px 12px;border:0;border-radius:var(--gb-r-sm);box-shadow:inset 0 0 0 1px var(--gb-hair-2);background:var(--gb-surface);color:var(--gb-ink);font-size:14px;line-height:1.4}
.v4-app[data-ui=next] :is(.gs-decision__other-text,.gs-form__input,.gs-slot__other-input)::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next] :is(.gs-decision__other-text,.gs-form__input,.gs-slot__other-input):focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next] :is(.gs-decision__other-text,.gs-form__input,.gs-slot__other-input)[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--gb-danger)}
.v4-app[data-ui=next] .gs-decision__other-text{resize:vertical}
.v4-app[data-ui=next] .gs-decision__other-error{color:var(--gb-danger);font-size:12px}
.v4-app[data-ui=next] .gs-decision__other-actions{display:flex;gap:8px}
/* approve mode: the draft the owner is approving */
.v4-app[data-ui=next] .gs-decision__draft{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-decision__draft-to{font-size:12px;font-weight:var(--gb-fw-medium);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-decision__draft-body{white-space:pre-line;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-decision__lines{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-decision__lines>div{display:flex;justify-content:space-between;gap:12px}
.v4-app[data-ui=next] .gs-decision__lines dt{color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-decision__lines dd{font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next] .gs-decision__total{padding-top:4px;border-top:1px solid var(--gb-hair);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-decision__total dt{color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-decision__status{margin-top:8px;color:var(--gb-ink-3);font-size:12px}
/* slider decisions */
.v4-app[data-ui=next] .gs-decision__slider{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next] .gs-decision__slider-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.v4-app[data-ui=next] .gs-decision__slider-value{font-size:28px;font-weight:var(--gb-fw-semibold);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-decision__slider-base{color:var(--gb-ink-3);font-size:12px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-decision__slider-row{display:flex;align-items:center;gap:10px}
.v4-app[data-ui=next] .gs-decision__range{flex:1;min-width:0;height:36px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.v4-app[data-ui=next] .gs-decision__range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--gb-ink) 0,var(--gb-ink) var(--gs-fill,0%),var(--gb-fill-2) var(--gs-fill,0%),var(--gb-fill-2) 100%)}
.v4-app[data-ui=next] .gs-decision__range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border:0;border-radius:50%;background:var(--gb-surface);box-shadow:0 0 0 1px var(--gb-hair-2),0 1px 4px rgba(0,0,0,.24);-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next] .gs-decision__range::-moz-range-track{height:6px;border-radius:3px;background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-decision__range::-moz-range-progress{height:6px;border-radius:3px;background:var(--gb-ink)}
.v4-app[data-ui=next] .gs-decision__range::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--gb-surface);box-shadow:0 0 0 1px var(--gb-hair-2),0 1px 4px rgba(0,0,0,.24)}
.v4-app[data-ui=next] .gs-decision__slider-scale{display:flex;justify-content:space-between;padding:0 46px;color:var(--gb-ink-3);font-size:11.5px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-decision__effects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.v4-app[data-ui=next] .gs-decision__effect{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-decision__effect dt{color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .gs-decision__effect dd{display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next] .gs-decision__effect-value{font-size:17px;font-weight:var(--gb-fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-decision__effect-note{color:var(--gb-ink-3);font-size:11.5px}
.v4-app[data-ui=next] .gs-decision__effect.is-good .gs-decision__effect-value{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-decision__effect.is-warn .gs-decision__effect-value{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-decision__effect.is-bad .gs-decision__effect-value{color:var(--gb-danger)}
@container (max-width:460px){
  .v4-app[data-ui=next] .gs-decision__effects{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next] .gs-decision__effect{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
  .v4-app[data-ui=next] .gs-decision__effect dd{align-items:flex-end;text-align:right}
  .v4-app[data-ui=next] :is(.gs-decision__actions,.gs-diff__actions)>.gs-decision-btn{flex:1 1 0}
  .v4-app[data-ui=next] :is(.gs-decision__actions,.gs-diff__actions)>.gs-decision-btn--primary{flex-basis:100%}
  .v4-app[data-ui=next] .gs-decision__procon{grid-template-columns:minmax(0,1fr)}
}
.v4-app[data-ui=next][data-theme=dark] .gs-decision__range::-webkit-slider-thumb{background:var(--gb-ink)}
.v4-app[data-ui=next][data-theme=dark] .gs-decision__range::-moz-range-thumb{background:var(--gb-ink)}

/* 2 · CompareCard ----------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-compare__wide{overflow-x:auto;margin:0 -4px;padding:0 4px}
.v4-app[data-ui=next] .gs-compare__table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;table-layout:fixed}
.v4-app[data-ui=next] .gs-compare__table :is(th,td){padding:9px 10px;border-bottom:1px solid var(--gb-hair);vertical-align:top;text-align:left}
.v4-app[data-ui=next] .gs-compare__table thead th{vertical-align:bottom;border-bottom-color:var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-compare__table tfoot td{border-bottom:0;padding-top:12px}
.v4-app[data-ui=next] .gs-compare__corner{width:24%}
.v4-app[data-ui=next] .gs-compare__item{font-size:14px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-compare__item-label{display:block;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-compare__item .gs-compare__badge{margin-top:4px}
.v4-app[data-ui=next] .gs-compare__table .is-recommended{background:color-mix(in srgb,var(--gb-sage) 8%,transparent)}
.v4-app[data-ui=next] .gs-compare__table thead .is-recommended{border-radius:var(--gb-r-md) var(--gb-r-md) 0 0}
.v4-app[data-ui=next] .gs-compare__table tfoot .is-recommended{border-radius:0 0 var(--gb-r-md) var(--gb-r-md)}
.v4-app[data-ui=next] .gs-compare__field{color:var(--gb-ink-2);font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .gs-compare__value{overflow-wrap:anywhere}
.v4-app[data-ui=next] .is-best .gs-compare__value{font-weight:var(--gb-fw-semibold);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-compare__best{display:inline-flex;align-items:center;gap:2px;margin-left:6px;padding:0 6px;height:18px;border-radius:var(--gb-r-full);background:color-mix(in srgb,var(--gb-sage) 22%,transparent);color:var(--gb-sage-ink);font-size:10.5px;font-weight:var(--gb-fw-semibold);vertical-align:1px;white-space:nowrap}
.v4-app[data-ui=next] .gs-compare__best .gs-decision-icon{width:11px;height:11px;stroke-width:2.4}
.v4-app[data-ui=next] .gs-compare__pick .gs-decision-btn{width:100%}
.v4-app[data-ui=next] .gs-compare__narrow{display:none}
.v4-app[data-ui=next] .gs-compare__cards{display:flex;gap:10px;margin:0 -18px;padding:2px 18px 8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 18px;overscroll-behavior-inline:contain;scrollbar-width:none}
.v4-app[data-ui=next] .gs-compare__cards::-webkit-scrollbar{display:none}
.v4-app[data-ui=next] .gs-compare__card{display:flex;flex:0 0 86%;flex-direction:column;gap:10px;padding:14px;border-radius:var(--gb-r-md);box-shadow:inset 0 0 0 1px var(--gb-hair-2);scroll-snap-align:start}
.v4-app[data-ui=next] .gs-compare__card.is-recommended{box-shadow:inset 0 0 0 2px var(--gb-sage-ink);background:color-mix(in srgb,var(--gb-sage) 8%,var(--gb-surface))}
.v4-app[data-ui=next] .gs-compare__card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;font-size:15px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-compare__dl{display:flex;flex-direction:column}
.v4-app[data-ui=next] .gs-compare__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--gb-hair);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-compare__row:last-child{border-bottom:0}
.v4-app[data-ui=next] .gs-compare__row dt{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-compare__row dd{text-align:right}
.v4-app[data-ui=next] .gs-compare__card .gs-decision-btn{margin-top:auto;width:100%}
.v4-app[data-ui=next] .gs-compare__hint{margin-top:4px;color:var(--gb-ink-3);font-size:12px;text-align:center}
@container (max-width:520px){
  .v4-app[data-ui=next] .gs-compare__wide{display:none}
  .v4-app[data-ui=next] .gs-compare__narrow{display:block}
}

/* 3 · Form ------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-form__form{display:flex;flex-direction:column;gap:14px}
.v4-app[data-ui=next] .gs-form__required{color:var(--gb-ink-3);font-size:12px}
.v4-app[data-ui=next] .gs-form__star{color:var(--gb-danger);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-form__summary{padding:10px 12px;border-radius:var(--gb-r-md);background:color-mix(in srgb,var(--gb-danger) 9%,transparent);box-shadow:inset 3px 0 0 var(--gb-danger)}
.v4-app[data-ui=next] .gs-form__summary:focus{outline:none}
.v4-app[data-ui=next] .gs-form__summary:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-form__summary-title{font-weight:var(--gb-fw-semibold);color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-form__summary ul{margin-top:4px;padding-left:18px}
.v4-app[data-ui=next] .gs-form__summary-link{padding:2px 0;border:0;background:none;color:var(--gb-ink);font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.v4-app[data-ui=next] .gs-form__field{display:flex;flex-direction:column;gap:5px;min-width:0}
.v4-app[data-ui=next] .gs-form__label{display:block;padding:0;font-size:12.5px;font-weight:var(--gb-fw-medium);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-form__sublabel{font-size:11.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-form__textarea{min-height:76px;resize:vertical}
.v4-app[data-ui=next] .gs-form__select{-webkit-appearance:none;appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--gb-ink-2) 50%),linear-gradient(135deg,var(--gb-ink-2) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.v4-app[data-ui=next] .gs-form__money{position:relative;display:flex}
.v4-app[data-ui=next] .gs-form__prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gb-ink-3);font-size:14px;pointer-events:none}
.v4-app[data-ui=next] .gs-form__money .gs-form__input{padding-left:24px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-form__group{min-width:0;padding:0;border:0}
.v4-app[data-ui=next] .gs-form__group>legend{margin-bottom:6px}
.v4-app[data-ui=next] .gs-form__checkrow{display:flex;align-items:flex-start;gap:10px}
.v4-app[data-ui=next] .gs-form__checkrow .gs-form__label{font-weight:var(--gb-fw-regular);font-size:13px;padding-top:1px}
.v4-app[data-ui=next] .gs-form__check{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--gb-ink);cursor:pointer}
.v4-app[data-ui=next] .gs-form__multi{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next] .gs-form__pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 10px;border-radius:var(--gb-r-full);box-shadow:inset 0 0 0 1px var(--gb-hair-2);cursor:pointer}
.v4-app[data-ui=next] .gs-form__pill:has(:checked){box-shadow:inset 0 0 0 1.5px var(--gb-ink);background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-form__pill .gs-form__check{margin:0;width:16px;height:16px}
.v4-app[data-ui=next] .gs-form__address{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
.v4-app[data-ui=next] .gs-form__address-part{display:flex;flex-direction:column;gap:4px;min-width:0}
.v4-app[data-ui=next] .gs-form__address-part--line1{grid-column:1/-1}
.v4-app[data-ui=next] .gs-form__help{color:var(--gb-ink-3);font-size:12px}
.v4-app[data-ui=next] .gs-form__error{display:flex;align-items:center;gap:6px;color:var(--gb-danger);font-size:12px;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gs-form__error .gs-decision-icon{width:14px;height:14px}
.v4-app[data-ui=next] .gs-form__field.is-invalid .gs-form__group>legend{color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-form__actions{margin-top:2px}
.v4-app[data-ui=next] .gs-form__sent{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:10px 12px;border-radius:var(--gb-r-md);background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-form__sent>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}
.v4-app[data-ui=next] .gs-form__sent dt{color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-form__sent dd{overflow-wrap:anywhere}
@container (min-width:560px){
  .v4-app[data-ui=next] .gs-form__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
  .v4-app[data-ui=next] .gs-form__form>:is(.gs-form__required,.gs-form__summary,.gs-form__actions,.gs-form__field--textarea,.gs-form__field--address,.gs-form__field--multiselect,.gs-form__field--checkbox){grid-column:1/-1}
}
@container (max-width:400px){
  .v4-app[data-ui=next] .gs-form__address{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .v4-app[data-ui=next] .gs-form__address-part--city{grid-column:1/-1}
  .v4-app[data-ui=next] .gs-form__actions>.gs-decision-btn{flex:1 1 100%}
  .v4-app[data-ui=next] .gs-form__sent>div{grid-template-columns:minmax(0,1fr)}
}

/* 4 · SlotPicker ------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-slot__meta{display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--gb-ink-2);font-size:12px}
.v4-app[data-ui=next] .gs-slot__meta .gs-decision-icon{width:14px;height:14px}
.v4-app[data-ui=next] .gs-slot__days{display:flex;gap:8px;margin:0 -18px;padding:2px 18px 10px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:0 18px;scrollbar-width:none}
.v4-app[data-ui=next] .gs-slot__days::-webkit-scrollbar{display:none}
.v4-app[data-ui=next] .gs-slot__day{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:1px;min-width:84px;padding:8px 12px;border:0;border-radius:var(--gb-r-md);background:var(--gb-fill);color:var(--gb-ink);text-align:left;cursor:pointer;scroll-snap-align:start;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-slot__day:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-slot__day[aria-selected=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-slot__day-name{font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.v4-app[data-ui=next] .gs-slot__day-date{font-size:14px;font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-slot__day-count{font-size:11.5px;opacity:.7}
.v4-app[data-ui=next] .gs-slot__times{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.v4-app[data-ui=next] .gs-slot__time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:44px;padding:6px 10px;border:0;border-radius:var(--gb-r-md);box-shadow:inset 0 0 0 1px var(--gb-hair-2);background:var(--gb-surface);color:var(--gb-ink);cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease),background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next] .gs-slot__time:hover{box-shadow:inset 0 0 0 1.5px var(--gb-ink);background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-slot__time-label{font-size:14px;font-weight:var(--gb-fw-semibold);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-slot__staff{color:var(--gb-ink-3);font-size:11.5px}
.v4-app[data-ui=next] .gs-slot__note{margin-top:12px;color:var(--gb-ink-3);font-size:12px}
.v4-app[data-ui=next] .gs-slot__empty{padding:14px;border-radius:var(--gb-r-md);background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-slot__actions{margin-top:8px}
.v4-app[data-ui=next] .gs-slot__other{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.v4-app[data-ui=next] .gs-slot__other-row{display:flex;gap:8px}
.v4-app[data-ui=next] .gs-slot__other-row .gs-slot__other-input{flex:1;min-width:0}
@container (max-width:400px){
  .v4-app[data-ui=next] .gs-slot__times{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 5 · Checklist / Plan ------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-plan__summary{display:flex;align-items:center;gap:10px;margin-top:8px}
.v4-app[data-ui=next] .gs-plan__count{flex:none;color:var(--gb-ink-2);font-size:12px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] :is(.gs-plan__bar,.gs-progress__bar){position:relative;display:block;flex:1;height:6px;overflow:hidden;border-radius:3px;background:var(--gb-fill-2)}
.v4-app[data-ui=next] :is(.gs-plan__fill,.gs-progress__fill){position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--gb-sage-ink);transition:width var(--gb-dur-2,.24s) var(--gb-ease)}
.v4-app[data-ui=next] .gs-plan__list{display:flex;flex-direction:column;padding:0;list-style:none}
.v4-app[data-ui=next] .gs-plan__item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-plan__check{width:18px;height:18px;margin:1px 0 0 2px;accent-color:var(--gb-sage-ink);cursor:pointer}
.v4-app[data-ui=next] .gs-plan__mark{display:inline-grid;place-items:center;width:18px;height:18px;margin:1px 0 0 2px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3);color:var(--gb-surface)}
.v4-app[data-ui=next] .gs-plan__mark.is-done{background:var(--gb-sage-ink);box-shadow:none}
.v4-app[data-ui=next] .gs-plan__item--manager .gs-plan__mark:not(.is-done){box-shadow:none;border:1.5px dashed var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-plan__mark .gs-decision-icon{width:12px;height:12px;stroke-width:2.6}
.v4-app[data-ui=next] .gs-plan__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .gs-plan__label{font-size:13.5px;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-plan__item.is-done .gs-plan__label{color:var(--gb-ink-3);text-decoration:line-through;text-decoration-color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-plan__meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--gb-ink-3);font-size:12px}
.v4-app[data-ui=next] .gs-plan__item--manager .gs-plan__owner{color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-plan__due.is-late{color:var(--gb-danger);font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gs-plan__status{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink-2);font-size:11.5px;font-weight:var(--gb-fw-medium);white-space:nowrap}
.v4-app[data-ui=next] .gs-plan__status--working{background:color-mix(in srgb,var(--gb-lav) 26%,transparent);color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-plan__status--done{background:color-mix(in srgb,var(--gb-sage) 22%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] :is(.gs-plan__status--waiting,.gs-plan__status--needs_ok){background:color-mix(in srgb,var(--gb-ember) 24%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] :is(.gs-plan__status--blocked,.gs-plan__status--failed){background:color-mix(in srgb,var(--gb-danger) 12%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-plan__actions{margin-top:10px;padding-top:12px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next] .gs-plan__note{color:var(--gb-ink-2);font-size:12px}

/* 6 · Timeline -------------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-timeline__day+.gs-timeline__day{margin-top:14px}
.v4-app[data-ui=next] .gs-timeline__day-label{margin:0 0 8px;font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-timeline__list{position:relative;display:flex;flex-direction:column;gap:12px;padding:0;list-style:none}
.v4-app[data-ui=next] .gs-timeline__list::before{content:"";position:absolute;top:14px;bottom:14px;left:13.5px;width:1px;background:var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-timeline__item{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.v4-app[data-ui=next] .gs-timeline__icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-timeline__icon .gs-decision-icon{width:15px;height:15px}
.v4-app[data-ui=next] .gs-timeline__item--call .gs-timeline__icon{background:color-mix(in srgb,var(--gb-lav) 28%,var(--gb-surface));color:var(--gb-lav-ink);box-shadow:none}
.v4-app[data-ui=next] .gs-timeline__item--text .gs-timeline__icon{background:color-mix(in srgb,var(--gb-sage) 26%,var(--gb-surface));color:var(--gb-sage-ink);box-shadow:none}
.v4-app[data-ui=next] .gs-timeline__item--email .gs-timeline__icon{background:var(--gb-fill-2);color:var(--gb-ink);box-shadow:none}
.v4-app[data-ui=next] .gs-timeline__item--payment .gs-timeline__icon{background:color-mix(in srgb,var(--gb-sage-ink) 85%,transparent);color:var(--gb-surface);box-shadow:none}
.v4-app[data-ui=next] .gs-timeline__item--job .gs-timeline__icon{background:color-mix(in srgb,var(--gb-ember) 30%,var(--gb-surface));color:var(--gb-ember-ink);box-shadow:none}
.v4-app[data-ui=next] .gs-timeline__body{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:4px}
.v4-app[data-ui=next] .gs-timeline__line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.v4-app[data-ui=next] .gs-timeline__what{font-weight:var(--gb-fw-medium);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-timeline__time{flex:none;color:var(--gb-ink-3);font-size:12px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-timeline__detail{color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-timeline__record{display:inline-flex;align-self:flex-start;align-items:center;gap:4px;min-height:28px;margin-top:2px;padding:0 10px;border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font-size:12px;font-weight:var(--gb-fw-medium);cursor:pointer}
.v4-app[data-ui=next] .gs-timeline__record:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-timeline__record .gs-decision-icon{width:13px;height:13px}
.v4-app[data-ui=next] .gs-timeline__empty{color:var(--gb-ink-3)}

/* 7 · Diff ------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-diff__stats{display:flex;gap:8px;margin-top:6px;font-size:12px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-diff__stat--ins{color:var(--gb-sage-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-diff__stat--del{color:var(--gb-danger);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-diff__text{padding:12px 14px;border-radius:var(--gb-r-md);background:var(--gb-fill);font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-diff__del{padding:1px 2px;border-radius:3px;background:color-mix(in srgb,var(--gb-danger) 15%,transparent);color:var(--gb-danger);text-decoration:line-through;text-decoration-thickness:1px}
.v4-app[data-ui=next] .gs-diff__ins{padding:1px 2px;border-radius:3px;background:color-mix(in srgb,var(--gb-sage) 30%,transparent);color:var(--gb-sage-ink);text-decoration:none;font-weight:var(--gb-fw-medium)}
.v4-app[data-ui=next] .gs-diff__scroll{overflow-x:auto}
.v4-app[data-ui=next] .gs-diff__fields{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-diff__fields :is(th,td){padding:8px 10px 8px 0;border-bottom:1px solid var(--gb-hair);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-diff__fields thead th{color:var(--gb-ink-3);font:var(--gb-fw-medium) 10.5px/1.2 var(--gb-mono);letter-spacing:.1em;text-transform:uppercase}
.v4-app[data-ui=next] .gs-diff__fields tbody th{width:30%;color:var(--gb-ink-2);font-weight:var(--gb-fw-regular)}
.v4-app[data-ui=next] .gs-diff__row.is-same td{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-diff__none{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-diff__toggle{margin-top:8px;padding:4px 0;border:0;background:none;color:var(--gb-ink-2);font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.v4-app[data-ui=next] .gs-diff__same{color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-diff__note{color:var(--gb-ink-3);font-size:12px}
.v4-app[data-ui=next] .gs-diff.is-decided .gs-decision__decided{margin-top:12px}

/* 8 · Progress -------------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-progress__meter{display:flex;align-items:center;gap:10px}
.v4-app[data-ui=next] .gs-progress__pct{flex:none;min-width:36px;font-size:13px;font-weight:var(--gb-fw-semibold);text-align:right;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-progress.is-failed .gs-progress__fill{background:var(--gb-danger)}
.v4-app[data-ui=next] .gs-progress__status{margin-top:6px;color:var(--gb-ink-2);font-size:12.5px}
.v4-app[data-ui=next] .gs-progress.is-failed .gs-progress__status{color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-progress__steps{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:0;list-style:none}
.v4-app[data-ui=next] .gs-progress__step{position:relative;display:flex;align-items:center;gap:10px;min-height:30px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-progress__step+.gs-progress__step::before{content:"";position:absolute;left:10px;top:-9px;width:1px;height:12px;background:var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-progress__dot{display:inline-grid;place-items:center;width:21px;height:21px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3);color:var(--gb-surface)}
.v4-app[data-ui=next] .gs-progress__dot .gs-decision-icon{width:12px;height:12px;stroke-width:2.6}
.v4-app[data-ui=next] .gs-progress__step.is-done .gs-progress__dot{background:var(--gb-sage-ink);box-shadow:none}
.v4-app[data-ui=next] .gs-progress__step.is-active{color:var(--gb-ink);font-weight:var(--gb-fw-semibold)}
.v4-app[data-ui=next] .gs-progress__step.is-active .gs-progress__dot{background:var(--gb-btn);box-shadow:0 0 0 4px color-mix(in srgb,var(--gb-ink) 12%,transparent);color:var(--gb-btn-ink);animation:gbn-gs-pulse 1.6s var(--gb-ease) infinite}
.v4-app[data-ui=next] .gs-progress__step.is-failed{color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-progress__step.is-failed .gs-progress__dot{background:var(--gb-danger);box-shadow:none}
.v4-app[data-ui=next] .gs-progress__step.is-todo .gs-progress__label{color:var(--gb-ink-3)}
@keyframes gbn-gs-pulse{0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-ink) 14%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--gb-ink) 4%,transparent)}}

/* touch, motion ------------------------------------------------------------------- */
@media (pointer:coarse){
  .v4-app[data-ui=next] .gs-decision-btn{min-height:44px}
  .v4-app[data-ui=next] .gs-decision-btn--icon{width:44px}
  .v4-app[data-ui=next] :is(.gs-form__input,.gs-slot__other-input,.gs-decision__other-text){min-height:44px;font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] :is(.gs-decision,.gs-compare,.gs-form,.gs-slot,.gs-plan,.gs-timeline,.gs-diff,.gs-progress) *{transition:none!important;animation:none!important}
  .v4-app[data-ui=next] :is(.gs-compare__cards,.gs-slot__days){scroll-behavior:auto}
}

/* ==========================================================================
   UI-NEXT · smart chat surfaces · CRM records (ff:smart_chat, default off)
   --------------------------------------------------------------------------
   RecordCard (.gs-record*), RecordChip (.gs-chip*), the record sheet (.gs-record-sheet*) and the "Mentioned" strip
   (.gs-record-mentions*), drawn by src/surfaces/components/records.js and src/surfaces/record-mentions.js. Every
   selector starts with .v4-app[data-ui=next] (tests/v4-ui-next.test.mjs lints it). Colour only from --gb-* tokens,
   so light and dark follow the root's data-theme. Phone layout down to 360px. Motion stops under reduced motion.
   ========================================================================== */

/* card ------------------------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-record{--gs-accent:var(--gb-lav);--gs-accent-ink:var(--gb-lav-ink);position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px;min-width:0;padding:16px 18px;border-radius:var(--gb-r-lg,18px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);font-size:13px;line-height:1.45;text-align:left;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next] .gs-record *,.v4-app[data-ui=next] .gs-record *::before,.v4-app[data-ui=next] .gs-record *::after{box-sizing:border-box}
.v4-app[data-ui=next] .gs-record p,.v4-app[data-ui=next] .gs-record h3,.v4-app[data-ui=next] .gs-record h4,.v4-app[data-ui=next] .gs-record dl,.v4-app[data-ui=next] .gs-record dd,.v4-app[data-ui=next] .gs-record ol,.v4-app[data-ui=next] .gs-record ul,.v4-app[data-ui=next] .gs-record blockquote{margin:0;padding:0}
.v4-app[data-ui=next] .gs-record ol,.v4-app[data-ui=next] .gs-record ul{list-style:none}
.v4-app[data-ui=next] .gs-record--compact{gap:10px;max-width:400px;padding:12px 14px;border-radius:var(--gb-r-md,14px)}
.v4-app[data-ui=next] .gs-record--deal,.v4-app[data-ui=next] .gs-record--job,.v4-app[data-ui=next] .gs-record--task{--gs-accent:var(--gb-sage);--gs-accent-ink:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-record--quote,.v4-app[data-ui=next] .gs-record--invoice,.v4-app[data-ui=next] .gs-record--payment,.v4-app[data-ui=next] .gs-record--purchase_order,.v4-app[data-ui=next] .gs-record--expense,.v4-app[data-ui=next] .gs-record--product,.v4-app[data-ui=next] .gs-record--campaign{--gs-accent:var(--gb-ember);--gs-accent-ink:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-record--file{--gs-accent:var(--gb-ink-3);--gs-accent-ink:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v4-app[data-ui=next] .gs-record__ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* head: kind icon, kind, title, status */
.v4-app[data-ui=next] .gs-record__head{display:flex;align-items:flex-start;gap:12px;min-width:0}
.v4-app[data-ui=next] .gs-record__badge-ico{display:inline-grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--gs-accent) 26%,transparent);color:var(--gs-accent-ink)}
.v4-app[data-ui=next] .gs-record--compact .gs-record__badge-ico{width:32px;height:32px;border-radius:10px}
.v4-app[data-ui=next] .gs-record__titles{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .gs-record__kind{font:var(--gb-fw-medium,500) 10.5px/1.3 var(--gb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__title{font-size:17px;font-weight:var(--gb-fw-semibold,600);line-height:1.25;letter-spacing:-.01em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-record--compact .gs-record__title{font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-record__sub{font-size:12.5px;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-record--compact .gs-record__sub{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/* compact head: icon | kind · status on one line, then the title and subtitle across the full width */
.v4-app[data-ui=next] .gs-record--compact .gs-record__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;row-gap:2px;align-items:center}
.v4-app[data-ui=next] .gs-record--compact .gs-record__titles{display:contents}
.v4-app[data-ui=next] .gs-record--compact .gs-record__badge-ico{grid-row:1/span 2;grid-column:1;align-self:start}
.v4-app[data-ui=next] .gs-record--compact .gs-record__kind{grid-row:1;grid-column:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-record--compact .gs-record__head>.gs-record__status{grid-row:1;grid-column:3;max-width:none;height:22px;padding:0 9px;font-size:11px}
.v4-app[data-ui=next] .gs-record--compact .gs-record__title{grid-row:2;grid-column:2/4}
.v4-app[data-ui=next] .gs-record--compact .gs-record__sub{grid-row:3;grid-column:2/4}
.v4-app[data-ui=next] .gs-record__status{display:inline-flex;align-items:center;flex:none;height:24px;max-width:45%;padding:0 10px;border-radius:var(--gb-r-full,999px);background:var(--gb-fill-2);color:var(--gb-ink-2);font-size:11.5px;font-weight:var(--gb-fw-medium,500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-record__status--good{background:color-mix(in srgb,var(--gb-sage) 26%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-record__status--info{background:color-mix(in srgb,var(--gb-lav) 30%,transparent);color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-record__status--warn{background:color-mix(in srgb,var(--gb-ember) 26%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-record__status--bad{background:color-mix(in srgb,var(--gb-danger) 14%,transparent);color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-record__summary{font-size:12.5px;color:var(--gb-ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* hero: person / amount / when / quote */
.v4-app[data-ui=next] .gs-record__hero{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-record__hero--person,.v4-app[data-ui=next] .gs-record__hero--when{flex-direction:row;align-items:center;gap:14px}
.v4-app[data-ui=next] .gs-record__hero-label{font:var(--gb-fw-medium,500) 10.5px/1.3 var(--gb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__amount{font-size:28px;font-weight:var(--gb-fw-semibold,600);line-height:1.15;letter-spacing:-.02em;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__hero-sub{font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__meter{position:relative;height:6px;margin-top:8px;overflow:hidden;border-radius:var(--gb-r-full,999px);background:var(--gb-track)}
.v4-app[data-ui=next] .gs-record__meter-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--gb-lav-ink);transition:width var(--gb-dur-2,240ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .gs-record__meter--good .gs-record__meter-fill{background:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-record__meter--warn .gs-record__meter-fill{background:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-record__meter--bad .gs-record__meter-fill{background:var(--gb-danger)}
.v4-app[data-ui=next] .gs-record__meter-label{font-size:11.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__avatar{display:inline-grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:var(--gb-grad);color:#1d1d1f;font-size:16px;font-weight:var(--gb-fw-semibold,600);letter-spacing:.02em}
.v4-app[data-ui=next] .gs-record__stats{display:grid;flex:1;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px 14px;min-width:0}
.v4-app[data-ui=next] .gs-record__stat{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .gs-record__stat dt{font-size:11px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__stat dd{font-size:13px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-record__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:60px;flex:none;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gs-record__date-m{font:var(--gb-fw-semibold,600) 10.5px/1.2 var(--gb-mono);letter-spacing:.1em;color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-record__date-d{font-size:24px;font-weight:var(--gb-fw-semibold,600);line-height:1.1;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__when{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .gs-record__when-day{font-size:15px;font-weight:var(--gb-fw-semibold,600);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__when-sub{font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__quote{padding-left:12px;border-left:3px solid color-mix(in srgb,var(--gs-accent) 70%,transparent);font-size:14px;line-height:1.5;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__quote-by{margin-top:6px;font-size:12px;color:var(--gb-ink-3)}

/* key fields */
.v4-app[data-ui=next] .gs-record__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.v4-app[data-ui=next] .gs-record__field{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .gs-record__field--wide{grid-column:1/-1}
.v4-app[data-ui=next] .gs-record__field dt{font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__field dd{display:flex;align-items:flex-start;gap:4px;min-width:0;font-size:13.5px;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__value{flex:0 1 auto;min-width:0;overflow-wrap:anywhere;white-space:pre-line}
.v4-app[data-ui=next] .gs-record__mono .gs-record__value{font-family:var(--gb-mono);font-size:12.5px}
.v4-app[data-ui=next] .gs-record__pen{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;margin:-2px 0 -2px 2px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--gb-ink-3);cursor:pointer;opacity:0;transition:opacity var(--gb-dur-1,140ms) var(--gb-ease,ease),background-color var(--gb-dur-1,140ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .gs-record__pen .gs-record__ico{width:14px;height:14px}
.v4-app[data-ui=next] .gs-record__field:hover .gs-record__pen,.v4-app[data-ui=next] .gs-record__pen:focus-visible,.v4-app[data-ui=next] .gs-record__pen[aria-expanded=true]{opacity:1}
.v4-app[data-ui=next] .gs-record__pen:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__pending{display:inline-flex;align-items:center;margin-left:4px;padding:1px 8px;border-radius:var(--gb-r-full,999px);background:color-mix(in srgb,var(--gb-lav) 30%,transparent);color:var(--gb-lav-ink);font-size:11.5px;font-weight:var(--gb-fw-medium,500)}

/* sections: list, timeline, stages, lines, note */
.v4-app[data-ui=next] .gs-record__section{display:flex;flex-direction:column;gap:6px;min-width:0}
.v4-app[data-ui=next] .gs-record__section-title{font:var(--gb-fw-medium,500) 10.5px/1.3 var(--gb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__empty{font-size:12.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__note-text{font-size:13px;color:var(--gb-ink-2);white-space:pre-line}
.v4-app[data-ui=next] .gs-record__list,.v4-app[data-ui=next] .gs-record__timeline{display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next] .gs-record__item-btn,.v4-app[data-ui=next] .gs-record__item-row{display:flex;align-items:center;gap:10px;width:calc(100% + 16px);min-height:40px;margin:0 -8px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left}
.v4-app[data-ui=next] .gs-record__item-btn{cursor:pointer;transition:background-color var(--gb-dur-1,140ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .gs-record__item-btn:hover{background:var(--gb-hover)}
.v4-app[data-ui=next] .gs-record__item-words{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next] .gs-record__item-title{font-size:13px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-record__item-meta{font-size:12px;color:var(--gb-ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-record__item-value{flex:none;font-size:13px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__item--bad .gs-record__item-meta{color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-record__item--muted .gs-record__item-title{color:var(--gb-ink-3);font-weight:var(--gb-fw-regular,400)}
.v4-app[data-ui=next] .gs-record__timeline .gs-record__item{position:relative}
.v4-app[data-ui=next] .gs-record__timeline .gs-record__item:not(:last-child)::after{content:"";position:absolute;left:11px;top:34px;bottom:-8px;width:1.5px;background:var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-record__tl-ico{position:relative;z-index:1;display:inline-grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__tl-ico .gs-record__ico{width:13px;height:13px}
.v4-app[data-ui=next] .gs-record__stages{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.v4-app[data-ui=next] .gs-record__stage{display:flex;flex:1 0 auto;flex-direction:column;gap:6px;min-width:64px}
.v4-app[data-ui=next] .gs-record__stage-dot{display:block;height:6px;border-radius:var(--gb-r-full,999px);background:var(--gb-track)}
.v4-app[data-ui=next] .gs-record__stage-name{font-size:11.5px;color:var(--gb-ink-3);white-space:nowrap}
.v4-app[data-ui=next] .gs-record__stage--done .gs-record__stage-dot{background:color-mix(in srgb,var(--gb-sage-ink) 60%,transparent)}
.v4-app[data-ui=next] .gs-record__stage--current .gs-record__stage-dot,.v4-app[data-ui=next] .gs-record__stage--won .gs-record__stage-dot{background:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-record__stage--lost .gs-record__stage-dot{background:var(--gb-danger)}
.v4-app[data-ui=next] .gs-record__stage--proposed .gs-record__stage-dot{background:repeating-linear-gradient(90deg,var(--gb-lav-ink) 0 7px,transparent 7px 10px)}
.v4-app[data-ui=next] .gs-record__stage--proposed .gs-record__stage-name{color:var(--gb-lav-ink);font-weight:var(--gb-fw-semibold,600)}
.v4-app[data-ui=next] .gs-record__stage-hint{font-size:10.5px;line-height:1.2;color:var(--gb-lav-ink);white-space:nowrap}
.v4-app[data-ui=next] .gs-record__stage--current .gs-record__stage-name,.v4-app[data-ui=next] .gs-record__stage--won .gs-record__stage-name,.v4-app[data-ui=next] .gs-record__stage--lost .gs-record__stage-name{color:var(--gb-ink);font-weight:var(--gb-fw-semibold,600)}
.v4-app[data-ui=next] .gs-record__lines{width:100%;border-collapse:collapse;font-size:13px}
.v4-app[data-ui=next] .gs-record__lines th{padding:0 0 6px;font-size:11px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink-3);text-align:left}
.v4-app[data-ui=next] .gs-record__lines td{padding:8px 0;border-top:1px solid var(--gb-hair);vertical-align:top}
.v4-app[data-ui=next] .gs-record__lines .gs-record__num{width:1%;padding-left:16px;text-align:right;white-space:nowrap}
.v4-app[data-ui=next] .gs-record__line{display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next] .gs-record__lines td.gs-record__line{display:table-cell}
.v4-app[data-ui=next] .gs-record__line-title{display:block;color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__line-meta{display:block;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record__lines tfoot th{padding:6px 0 0;font-size:12.5px;font-weight:var(--gb-fw-regular,400);color:var(--gb-ink-2);text-align:right}
.v4-app[data-ui=next] .gs-record__lines tfoot td{padding:6px 0 0;border-top:0}
.v4-app[data-ui=next] .gs-record__lines tfoot tr:first-child th,.v4-app[data-ui=next] .gs-record__lines tfoot tr:first-child td{padding-top:10px;border-top:1px solid var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-record__lines .gs-record__total th,.v4-app[data-ui=next] .gs-record__lines .gs-record__total td{font-size:14px;font-weight:var(--gb-fw-semibold,600);color:var(--gb-ink)}

/* actions, forms and the status line */
.v4-app[data-ui=next] .gs-record__foot{display:flex;flex-direction:column;gap:10px}
.v4-app[data-ui=next] .gs-record__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next] .gs-record__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:var(--gb-r-full,999px);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium,500) 13px/1 var(--gb-font);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1,140ms) var(--gb-ease,ease),opacity var(--gb-dur-1,140ms) var(--gb-ease,ease),transform var(--gb-dur-1,140ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .gs-record__btn .gs-record__ico{width:15px;height:15px}
.v4-app[data-ui=next] .gs-record__btn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-record__btn:active{transform:scale(.97)}
.v4-app[data-ui=next] .gs-record__btn--primary{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next] .gs-record__btn--primary:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next] .gs-record__btn--ghost{background:transparent}
.v4-app[data-ui=next] .gs-record__btn--ghost:hover{background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-record__btn--icon{width:32px;padding:0}
.v4-app[data-ui=next] .gs-record__btn[aria-disabled=true]{cursor:default;opacity:.45}
.v4-app[data-ui=next] .gs-record__btn[aria-disabled=true]:active{transform:none}
.v4-app[data-ui=next] .gs-record__btn[aria-busy=true]{opacity:1;color:transparent}
.v4-app[data-ui=next] .gs-record__btn[aria-busy=true] .gs-record__ico{opacity:0}
.v4-app[data-ui=next] .gs-record__btn[aria-pressed=true]{background:color-mix(in srgb,var(--gb-lav) 34%,transparent);color:var(--gb-lav-ink)}
.v4-app[data-ui=next] .gs-record__btn[aria-expanded=true]{box-shadow:inset 0 0 0 1.5px var(--gb-hair-2)}
.v4-app[data-ui=next] .gs-record__btn-label{pointer-events:none}
.v4-app[data-ui=next] .gs-record--compact .gs-record__btn{height:28px;padding:0 11px;font-size:12.5px}
.v4-app[data-ui=next] .gs-record--compact .gs-record__btn--icon{width:28px;padding:0}
.v4-app[data-ui=next] .gs-record--compact .gs-record__btn[data-action=open]{margin-left:auto}
.v4-app[data-ui=next] .gs-record--compact .gs-record__foot{margin-top:auto}
.v4-app[data-ui=next] .gs-record__actions-end{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
.v4-app[data-ui=next] .gs-record__spin{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid var(--gb-ink-3);border-top-color:transparent;border-radius:50%;animation:gbn-gsr-spin .8s linear infinite}
.v4-app[data-ui=next] .gs-record__btn--primary .gs-record__spin{border-color:var(--gb-btn-ink);border-top-color:transparent}
.v4-app[data-ui=next] .gs-record button:focus-visible,.v4-app[data-ui=next] .gs-record__input:focus-visible,.v4-app[data-ui=next] .gs-chip:focus-visible,.v4-app[data-ui=next] .gs-record-sheet__close:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-record__tray:empty{display:none}
.v4-app[data-ui=next] .gs-record__form{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next] .gs-record__form--inline{margin-top:4px;padding:10px}
.v4-app[data-ui=next] .gs-record__label{font-size:12px;font-weight:var(--gb-fw-medium,500);color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__input{width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--gb-hair-2);border-radius:10px;background:var(--gb-surface);color:var(--gb-ink);font:400 13.5px/1.4 var(--gb-font)}
.v4-app[data-ui=next] textarea.gs-record__input{resize:vertical}
.v4-app[data-ui=next] .gs-record__form-row{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next] .gs-record__form-error{font-size:12px;color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-record__form-error:empty,.v4-app[data-ui=next] .gs-record__note:empty{display:none}
.v4-app[data-ui=next] .gs-record__note{font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next] .gs-record__note--ok{color:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-record__note--error{color:var(--gb-danger)}

/* loading, not found, no access, error */
.v4-app[data-ui=next] .gs-record__skeleton{display:flex;flex-direction:column;gap:10px}
.v4-app[data-ui=next] .gs-record__bar{display:block;height:10px;border-radius:6px;background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-record__bar--sm{width:30%;height:8px}
.v4-app[data-ui=next] .gs-record__bar--lg{width:62%;height:14px}
.v4-app[data-ui=next] .gs-record__skeleton>.gs-record__bar:nth-child(3){width:86%}
.v4-app[data-ui=next] .gs-record__skeleton>.gs-record__bar:nth-child(4){width:72%}
.v4-app[data-ui=next] .gs-record__skeleton>.gs-record__bar:nth-child(5){width:54%}
.v4-app[data-ui=next] .gs-record__skeleton .gs-record__badge-ico{background:var(--gb-fill-2)}
.v4-app[data-ui=next] .gs-record__shimmer{background:linear-gradient(90deg,var(--gb-fill-2) 0%,var(--gb-fill) 50%,var(--gb-fill-2) 100%);background-size:200% 100%;animation:gbn-gsr-shimmer 1.4s ease-in-out infinite}
.v4-app[data-ui=next] .gs-record__problem{display:flex;align-items:center;gap:12px}
.v4-app[data-ui=next] .gs-record__problem-ico{width:36px;height:36px;flex:none;padding:8px;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink-2);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gs-record--no-access .gs-record__problem-ico{color:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-record--error .gs-record__problem-ico{color:var(--gb-danger)}
.v4-app[data-ui=next] .gs-record__problem-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next] .gs-record__problem-title{font-size:13.5px;font-weight:var(--gb-fw-semibold,600);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record__problem-body{font-size:12.5px;color:var(--gb-ink-2)}

/* chip ------------------------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-chip-wrap{position:relative;display:inline}
.v4-app[data-ui=next] .gs-chip{--gs-accent:var(--gb-lav);--gs-accent-ink:var(--gb-lav-ink);display:inline-flex;align-items:center;gap:4px;max-width:100%;height:1.6em;margin:0 1px;padding:0 .55em 0 .2em;border:0;border-radius:var(--gb-r-full,999px);background:color-mix(in srgb,var(--gs-accent) 22%,transparent);color:var(--gb-ink);font:var(--gb-fw-medium,500) .94em/1 var(--gb-font);vertical-align:-.28em;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1,140ms) var(--gb-ease,ease),box-shadow var(--gb-dur-1,140ms) var(--gb-ease,ease)}
.v4-app[data-ui=next] .gs-chip:hover,.v4-app[data-ui=next] .gs-chip[aria-expanded=true],.v4-app[data-ui=next] .gs-chip-wrap--peek .gs-chip{background:color-mix(in srgb,var(--gs-accent) 38%,transparent)}
.v4-app[data-ui=next] .gs-chip[aria-disabled=true]{cursor:default;opacity:.6}
.v4-app[data-ui=next] .gs-chip--deal,.v4-app[data-ui=next] .gs-chip--job,.v4-app[data-ui=next] .gs-chip--task{--gs-accent:var(--gb-sage);--gs-accent-ink:var(--gb-sage-ink)}
.v4-app[data-ui=next] .gs-chip--quote,.v4-app[data-ui=next] .gs-chip--invoice,.v4-app[data-ui=next] .gs-chip--payment,.v4-app[data-ui=next] .gs-chip--purchase_order,.v4-app[data-ui=next] .gs-chip--expense,.v4-app[data-ui=next] .gs-chip--product,.v4-app[data-ui=next] .gs-chip--campaign{--gs-accent:var(--gb-ember);--gs-accent-ink:var(--gb-ember-ink)}
.v4-app[data-ui=next] .gs-chip__ico{display:inline-grid;place-items:center;width:1.25em;height:1.25em;flex:none;border-radius:50%;background:var(--gb-surface);color:var(--gs-accent-ink)}
.v4-app[data-ui=next] .gs-chip__svg{width:.82em;height:.82em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next] .gs-chip__label{overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-chip__peek{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:block;width:340px;max-width:calc(100vw - 24px);font-size:13px;line-height:1.45;white-space:normal;animation:gbn-gsr-rise var(--gb-dur-2,200ms) var(--gb-ease,ease) both}
.v4-app[data-ui=next] .gs-chip__peek--up{top:auto;bottom:calc(100% + 8px)}
.v4-app[data-ui=next] .gs-chip__peek .gs-record{max-width:none;box-shadow:var(--gb-shadow-3)}

/* the record sheet (Modal): centred dialog on a desktop, bottom sheet on a phone ----------------------------------- */
.v4-app[data-ui=next] .gs-record-sheet{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.v4-app[data-ui=next] .gs-record-sheet__scrim{position:absolute;inset:0;background:var(--gb-scrim);animation:gbn-gsr-fade var(--gb-dur-2,200ms) var(--gb-ease,ease) both}
.v4-app[data-ui=next] .gs-record-sheet__panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:600px;max-height:min(86vh,860px);overflow:auto;overscroll-behavior:contain;border-radius:22px;background:var(--gb-raised);box-shadow:var(--gb-shadow-3);animation:gbn-gsr-rise var(--gb-dur-2,220ms) var(--gb-ease,ease) both}
.v4-app[data-ui=next] .gs-record-sheet__panel:focus{outline:none}
.v4-app[data-ui=next] .gs-record-sheet__panel>.gs-record{max-width:none;padding:22px 22px 20px;border-radius:0;background:transparent;box-shadow:none}
.v4-app[data-ui=next] .gs-record-sheet__panel>.gs-record>.gs-record__head{padding-right:40px}
.v4-app[data-ui=next] .gs-record-sheet__grab{display:none}
.v4-app[data-ui=next] .gs-record-sheet__close{position:absolute;top:14px;right:14px;z-index:2;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next] .gs-record-sheet__close:hover{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next] .gs-record-sheet__close .gs-record__ico{width:16px;height:16px}

/* the Mentioned strip under a Manager message -------------------------------------------------------------------- */
.v4-app[data-ui=next] .gs-record-mentions{display:flex;flex-direction:column;gap:8px;margin-top:4px;min-width:0}
.v4-app[data-ui=next] .gs-record-mentions__title{margin:0;font:var(--gb-fw-medium,500) 10.5px/1.3 var(--gb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-3)}
.v4-app[data-ui=next] .gs-record-mentions__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .gs-record-mentions__item{display:flex;min-width:0}
.v4-app[data-ui=next] .gs-record-mentions__item>.gs-record{max-width:none;box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next] .gs-record-mentions__more{margin:0;font-size:12px;color:var(--gb-ink-3)}

/* dark: the tinted fills need a little more weight on a dark surface */
.v4-app[data-ui=next][data-theme=dark] .gs-record__badge-ico,.v4-app[data-ui=next][data-theme=dark] .gs-chip{background:color-mix(in srgb,var(--gs-accent) 30%,transparent)}
.v4-app[data-ui=next][data-theme=dark] .gs-chip__ico{background:var(--gb-raised)}
.v4-app[data-ui=next][data-theme=dark] .gs-record__avatar{color:#141514}
.v4-app[data-ui=next][data-theme=dark] .gs-record__date{background:var(--gb-raised)}

/* touch: edit pencils always show; there is no hover to reveal them */
@media (hover:none){
  .v4-app[data-ui=next] .gs-record__pen{opacity:1}
}

/* phone ----------------------------------------------------------------------------------------------------------- */
@media (max-width:640px){
  .v4-app[data-ui=next] .gs-record-sheet{align-items:flex-end;padding:0}
  .v4-app[data-ui=next] .gs-record-sheet__panel{max-width:none;max-height:90vh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation-name:gbn-gsr-sheet}
  .v4-app[data-ui=next] .gs-record-sheet__grab{display:block;width:40px;height:5px;margin:8px auto 0;flex:none;border-radius:3px;background:var(--gb-hair-2)}
  .v4-app[data-ui=next] .gs-record-sheet__panel>.gs-record{padding:14px 16px 20px}
  .v4-app[data-ui=next] .gs-record-sheet__close{top:12px;right:12px}
  /* The strip bleeds to the chat's edge: --gs-bleed is the host's side padding (12px in the Home chat log). */
  .v4-app[data-ui=next] .gs-record-mentions__list{display:flex;gap:10px;margin:0 calc(-1*var(--gs-bleed,12px));padding:0 var(--gs-bleed,12px) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .v4-app[data-ui=next] .gs-record-mentions__item{flex:0 0 min(84%,300px);scroll-snap-align:start}
}
@media (max-width:420px){
  .v4-app[data-ui=next] .gs-record{padding:14px}
  .v4-app[data-ui=next] .gs-record__title{font-size:16px}
  .v4-app[data-ui=next] .gs-record__amount{font-size:24px}
  .v4-app[data-ui=next] .gs-record__fields{grid-auto-flow:row dense;gap:10px 14px}
  .v4-app[data-ui=next] .gs-record__field--long{grid-column:1/-1}
  .v4-app[data-ui=next] .gs-record__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next] .gs-record__stat:last-child:nth-child(odd){grid-column:1/-1}
  /* the stage strip turns into a short vertical stepper so every stage name reads in full */
  .v4-app[data-ui=next] .gs-record__stages{flex-direction:column;gap:7px;overflow:visible}
  .v4-app[data-ui=next] .gs-record__stage{flex-direction:row;align-items:center;gap:10px;min-width:0}
  .v4-app[data-ui=next] .gs-record__stage-dot{flex:none;width:28px}
  .v4-app[data-ui=next] .gs-record__stage-hint{margin-left:auto}
  .v4-app[data-ui=next] .gs-record__hero{padding:12px 14px}
  .v4-app[data-ui=next] .gs-record__hero--person{align-items:flex-start}
  .v4-app[data-ui=next] .gs-record__avatar{width:40px;height:40px;font-size:14px}
  .v4-app[data-ui=next] .gs-record__status{max-width:40%}
  .v4-app[data-ui=next] .gs-record__btn{padding:0 11px}
  .v4-app[data-ui=next] .gs-chip__peek{width:300px}
}

@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next] .gs-record__shimmer,.v4-app[data-ui=next] .gs-record__spin,.v4-app[data-ui=next] .gs-chip__peek,.v4-app[data-ui=next] .gs-record-sheet__panel,.v4-app[data-ui=next] .gs-record-sheet__scrim{animation:none}
  .v4-app[data-ui=next] .gs-record__btn,.v4-app[data-ui=next] .gs-chip,.v4-app[data-ui=next] .gs-record__pen,.v4-app[data-ui=next] .gs-record__meter-fill,.v4-app[data-ui=next] .gs-record__item-btn{transition:none}
}

@keyframes gbn-gsr-spin{to{transform:rotate(360deg)}}
@keyframes gbn-gsr-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@keyframes gbn-gsr-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-gsr-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-gsr-sheet{from{transform:translateY(100%)}to{transform:none}}

/* ==========================================================================
   UI-NEXT · smart chat surfaces (ff:smart_chat, default off)
   --------------------------------------------------------------------------
   Drawn by src/surfaces/ (surface-core.js, components/*.js) into the Home chat's message hook
   (src/surfaces/surface-hooks.js): A2UI v0.9 surfaces and the old ChatKit cards through the widget adapter.
   Every class is .gs-*; every selector starts with .v4-app[data-ui=next] or .mobile-app[data-ui=next]
   (tests/v4-ui-next.test.mjs lints it). Colour comes from the --gb-* tokens, so light and dark follow
   data-theme (desktop) and data-zwt (phone), as the hybrid chat CSS does. Focus rings on every control,
   360px phones, and prefers-reduced-motion (and the desktop's own motion setting) respected.
   Component files from other groups add their own .gs-* rules in this file or a zz-next-surfaces-*.css.
   ========================================================================== */

/* 0 · tokens: every colour comes from the --gb-* tokens (light and dark follow data-theme / data-zwt), with fallbacks */
.v4-app[data-ui=next] .gs,.mobile-app[data-ui=next] .gs{--gs-ink:var(--gb-ink,#1d1d1f);--gs-ink-2:var(--gb-ink-2,#646468);--gs-ink-3:var(--gb-ink-3,#86868b);--gs-surface:var(--gb-surface,#fff);--gs-raised:var(--gb-raised,#fff);--gs-fill:var(--gb-fill,rgba(0,0,0,.045));--gs-fill-2:var(--gb-fill-2,rgba(0,0,0,.075));--gs-hair:var(--gb-hair,rgba(0,0,0,.08));--gs-hair-2:var(--gb-hair-2,rgba(0,0,0,.14));--gs-focus:var(--gb-focus,#6f6884);--gs-btn:var(--gb-btn,#1d1d1f);--gs-btn-ink:var(--gb-btn-ink,#fff);--gs-btn-hover:var(--gb-btn-hover,#3a3a3c);--gs-danger:var(--gb-danger,#c0362c);--gs-danger-ink:#fff;--gs-track:var(--gb-track,rgba(0,0,0,.07));--gs-accent:#4f7bd9;--gs-link:#2c5cc5;--gs-info:#2c5cc5;--gs-success:var(--gb-sage-ink,#4d6a43);--gs-warning:var(--gb-ember-ink,#a4532a);--gs-discovery:var(--gb-lav-ink,#5f5679);--gs-scrim:var(--gb-scrim,rgba(20,20,18,.28));--gs-r-sm:var(--gb-r-sm,10px);--gs-r-md:var(--gb-r-md,16px);--gs-r-lg:var(--gb-r-lg,22px);--gs-font:var(--gb-font,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif);--gs-mono:var(--gb-mono,ui-monospace,Menlo,Consolas,monospace);--gs-dur:var(--gb-dur-1,150ms);--gs-ease:var(--gb-ease,cubic-bezier(.2,.8,.2,1))}
.v4-app[data-ui=next][data-theme=dark] .gs,.mobile-app[data-ui=next][data-zwt=dark] .gs{--gs-danger-ink:#1f0d0b;--gs-accent:#8fb0ff;--gs-link:#a3c0ff;--gs-info:#a3c0ff}

/* 1 · base, mount, focus ---------------------------------------------------------- */
.v4-app[data-ui=next] .gs,.mobile-app[data-ui=next] .gs{box-sizing:border-box;font-family:var(--gs-font);font-size:14px;line-height:1.45;color:var(--gs-ink)}
.v4-app[data-ui=next] .gs *,.mobile-app[data-ui=next] .gs *,.v4-app[data-ui=next] .gs *::before,.mobile-app[data-ui=next] .gs *::before,.v4-app[data-ui=next] .gs *::after,.mobile-app[data-ui=next] .gs *::after{box-sizing:border-box}
.v4-app[data-ui=next] .gs [hidden],.mobile-app[data-ui=next] .gs [hidden]{display:none!important}
/* the chat's own element rules stop at a card: its composer textarea's side margins and height cap, and its 17px icon
   size on every svg (an svg that carries its own width and height keeps them; :where keeps class sizes in charge) */
.v4-app[data-ui=next] .gs textarea,.mobile-app[data-ui=next] .gs textarea{margin:0;max-height:none}
.v4-app[data-ui=next] :where(.gs svg[width][height]),.mobile-app[data-ui=next] :where(.gs svg[width][height]){width:auto;height:auto}
.v4-app[data-ui=next] .gs-mount,.mobile-app[data-ui=next] .gs-mount{display:block;width:100%;min-width:0;max-width:var(--gb-chat-max,720px);margin-top:10px}
.v4-app[data-ui=next] .gs-mount__surfaces,.mobile-app[data-ui=next] .gs-mount__surfaces,.v4-app[data-ui=next] .gs-mount__widgets,.mobile-app[data-ui=next] .gs-mount__widgets{display:flex;flex-direction:column;gap:12px;min-width:0}
.v4-app[data-ui=next] .gs-mount__surfaces:empty,.mobile-app[data-ui=next] .gs-mount__surfaces:empty,.v4-app[data-ui=next] .gs-mount__widgets:empty,.mobile-app[data-ui=next] .gs-mount__widgets:empty{display:none}
.v4-app[data-ui=next] .gs-mount__surfaces:not(:empty)+.gs-mount__widgets:not(:empty),.mobile-app[data-ui=next] .gs-mount__surfaces:not(:empty)+.gs-mount__widgets:not(:empty){margin-top:12px}
.v4-app[data-ui=next] .gs-surface,.mobile-app[data-ui=next] .gs-surface{display:block;min-width:0}
.v4-app[data-ui=next] .gs-surface[aria-busy=true],.mobile-app[data-ui=next] .gs-surface[aria-busy=true]{min-height:20px}
.v4-app[data-ui=next] .gs :focus,.mobile-app[data-ui=next] .gs :focus{outline:none}
.v4-app[data-ui=next] .gs :focus-visible,.mobile-app[data-ui=next] .gs :focus-visible{outline:2px solid var(--gs-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-mount__status,.mobile-app[data-ui=next] .gs-mount__status{margin:8px 0 0;color:var(--gs-danger);font-size:12.5px;line-height:1.4}
/* the island did not load (src/smart-surfaces-stub.js): the message keeps its text, and this quiet note stands in for its cards */
.v4-app[data-ui=next] .gs-island-note,.mobile-app[data-ui=next] .gs-island-note{margin:8px 0 0;color:var(--gs-ink-3);font-size:12.5px;line-height:1.4}
.v4-app[data-ui=next] .gs-unknown,.mobile-app[data-ui=next] .gs-unknown{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;padding:6px 10px;border-radius:var(--gs-r-sm);background:var(--gs-fill);color:var(--gs-ink-3);font-size:12px;font-style:normal;line-height:1.3}
.v4-app[data-ui=next] .gs-pending,.mobile-app[data-ui=next] .gs-pending,.v4-app[data-ui=next] .gs-capped,.mobile-app[data-ui=next] .gs-capped{display:none}

/* 2 · Text ------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-text,.mobile-app[data-ui=next] .gs-text{display:block;min-width:0;margin:0;color:var(--gs-ink);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.v4-app[data-ui=next] .gs-text--h1,.mobile-app[data-ui=next] .gs-text--h1{font-size:20px;font-weight:var(--gb-fw-semibold,600);line-height:1.25;letter-spacing:-.015em}
.v4-app[data-ui=next] .gs-text--h2,.mobile-app[data-ui=next] .gs-text--h2{font-size:17px;font-weight:var(--gb-fw-semibold,600);line-height:1.3;letter-spacing:-.01em}
.v4-app[data-ui=next] .gs-text--h3,.mobile-app[data-ui=next] .gs-text--h3,.v4-app[data-ui=next] .gs-text--h4,.mobile-app[data-ui=next] .gs-text--h4,.v4-app[data-ui=next] .gs-text--h5,.mobile-app[data-ui=next] .gs-text--h5{font-size:15px;font-weight:var(--gb-fw-semibold,600);line-height:1.35}
.v4-app[data-ui=next] .gs-text--caption,.mobile-app[data-ui=next] .gs-text--caption{font-size:12.5px;line-height:1.4;color:var(--gs-ink-2)}
.v4-app[data-ui=next] .gs-text[data-weight=medium],.mobile-app[data-ui=next] .gs-text[data-weight=medium]{font-weight:500}
.v4-app[data-ui=next] .gs-text[data-weight=semibold],.mobile-app[data-ui=next] .gs-text[data-weight=semibold]{font-weight:600}
.v4-app[data-ui=next] .gs-text[data-weight=bold],.mobile-app[data-ui=next] .gs-text[data-weight=bold]{font-weight:700}
.v4-app[data-ui=next] .gs-text[data-align=center],.mobile-app[data-ui=next] .gs-text[data-align=center]{text-align:center}
.v4-app[data-ui=next] .gs-text[data-align=end],.mobile-app[data-ui=next] .gs-text[data-align=end]{text-align:right}
.v4-app[data-ui=next] .gs-text strong,.mobile-app[data-ui=next] .gs-text strong{font-weight:600}
.v4-app[data-ui=next] .gs-link,.mobile-app[data-ui=next] .gs-link{color:var(--gs-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.v4-app[data-ui=next] .gs-link:hover,.mobile-app[data-ui=next] .gs-link:hover{text-decoration-thickness:2px}
.v4-app[data-ui=next] .gs-code,.mobile-app[data-ui=next] .gs-code{padding:1px 5px;border-radius:6px;background:var(--gs-fill);font-family:var(--gs-mono);font-size:.92em}
.v4-app[data-ui=next] .gs-badge,.mobile-app[data-ui=next] .gs-badge{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;padding:2px 9px;border-radius:999px;background:var(--gs-fill);color:var(--gs-ink-2);font-size:11.5px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next] .gs-row>.gs-badge,.mobile-app[data-ui=next] .gs-row>.gs-badge{align-self:center}
.v4-app[data-ui=next] .gs-badge[data-tone=success],.mobile-app[data-ui=next] .gs-badge[data-tone=success]{background:color-mix(in srgb,var(--gs-success) 15%,transparent);color:var(--gs-success)}
.v4-app[data-ui=next] .gs-badge[data-tone=danger],.mobile-app[data-ui=next] .gs-badge[data-tone=danger]{background:color-mix(in srgb,var(--gs-danger) 13%,transparent);color:var(--gs-danger)}
.v4-app[data-ui=next] .gs-badge[data-tone=warning],.mobile-app[data-ui=next] .gs-badge[data-tone=warning]{background:color-mix(in srgb,var(--gs-warning) 15%,transparent);color:var(--gs-warning)}
.v4-app[data-ui=next] .gs-badge[data-tone=info],.mobile-app[data-ui=next] .gs-badge[data-tone=info]{background:color-mix(in srgb,var(--gs-info) 13%,transparent);color:var(--gs-info)}
.v4-app[data-ui=next] .gs-badge[data-tone=discovery],.mobile-app[data-ui=next] .gs-badge[data-tone=discovery]{background:color-mix(in srgb,var(--gs-discovery) 15%,transparent);color:var(--gs-discovery)}

/* 3 · Row, Column, bars ----------------------------------------------------------- */
.v4-app[data-ui=next] .gs-flex,.mobile-app[data-ui=next] .gs-flex{display:flex;min-width:0;gap:var(--gs-gap,8px)}
.v4-app[data-ui=next] .gs-row,.mobile-app[data-ui=next] .gs-row{flex-direction:row}
.v4-app[data-ui=next] .gs-row[data-wrap=true],.mobile-app[data-ui=next] .gs-row[data-wrap=true]{flex-wrap:wrap}
.v4-app[data-ui=next] .gs-row>*,.mobile-app[data-ui=next] .gs-row>*{min-width:0}
.v4-app[data-ui=next] .gs-col,.mobile-app[data-ui=next] .gs-col{flex-direction:column}
.v4-app[data-ui=next] .gs-flex[data-gap=none],.mobile-app[data-ui=next] .gs-flex[data-gap=none]{--gs-gap:0px}
.v4-app[data-ui=next] .gs-flex[data-gap=xs],.mobile-app[data-ui=next] .gs-flex[data-gap=xs]{--gs-gap:4px}
.v4-app[data-ui=next] .gs-flex[data-gap=sm],.mobile-app[data-ui=next] .gs-flex[data-gap=sm]{--gs-gap:8px}
.v4-app[data-ui=next] .gs-flex[data-gap=md],.mobile-app[data-ui=next] .gs-flex[data-gap=md]{--gs-gap:12px}
.v4-app[data-ui=next] .gs-flex[data-gap=lg],.mobile-app[data-ui=next] .gs-flex[data-gap=lg]{--gs-gap:16px}
.v4-app[data-ui=next] .gs-flex[data-gap=xl],.mobile-app[data-ui=next] .gs-flex[data-gap=xl]{--gs-gap:24px}
.v4-app[data-ui=next] .gs-flex[data-justify=center],.mobile-app[data-ui=next] .gs-flex[data-justify=center]{justify-content:center}
.v4-app[data-ui=next] .gs-flex[data-justify=end],.mobile-app[data-ui=next] .gs-flex[data-justify=end]{justify-content:flex-end}
.v4-app[data-ui=next] .gs-flex[data-justify=between],.mobile-app[data-ui=next] .gs-flex[data-justify=between]{justify-content:space-between}
.v4-app[data-ui=next] .gs-flex[data-justify=around],.mobile-app[data-ui=next] .gs-flex[data-justify=around]{justify-content:space-around}
.v4-app[data-ui=next] .gs-flex[data-justify=evenly],.mobile-app[data-ui=next] .gs-flex[data-justify=evenly]{justify-content:space-evenly}
.v4-app[data-ui=next] .gs-flex[data-justify=stretch]>*,.mobile-app[data-ui=next] .gs-flex[data-justify=stretch]>*{flex:1 1 0}
.v4-app[data-ui=next] .gs-flex[data-align=start],.mobile-app[data-ui=next] .gs-flex[data-align=start]{align-items:flex-start}
.v4-app[data-ui=next] .gs-flex[data-align=center],.mobile-app[data-ui=next] .gs-flex[data-align=center]{align-items:center}
.v4-app[data-ui=next] .gs-flex[data-align=end],.mobile-app[data-ui=next] .gs-flex[data-align=end]{align-items:flex-end}
.v4-app[data-ui=next] .gs-flex[data-align=stretch],.mobile-app[data-ui=next] .gs-flex[data-align=stretch]{align-items:stretch}
.v4-app[data-ui=next] .gs-flex[data-align=baseline],.mobile-app[data-ui=next] .gs-flex[data-align=baseline]{align-items:baseline}
.v4-app[data-ui=next] .gs-flex[data-fill],.mobile-app[data-ui=next] .gs-flex[data-fill]{flex:none;gap:0;overflow:hidden}
.v4-app[data-ui=next] .gs-flex[data-fill=track],.mobile-app[data-ui=next] .gs-flex[data-fill=track]{background:var(--gs-track)}
.v4-app[data-ui=next] .gs-flex[data-fill=accent],.mobile-app[data-ui=next] .gs-flex[data-fill=accent]{background:var(--gs-accent)}
.v4-app[data-ui=next] .gs-flex[data-fill=surface],.mobile-app[data-ui=next] .gs-flex[data-fill=surface]{background:var(--gs-surface)}
.v4-app[data-ui=next] .gs-flex[data-fill=muted],.mobile-app[data-ui=next] .gs-flex[data-fill=muted]{background:var(--gs-fill)}
.v4-app[data-ui=next] .gs-flex[data-radius=sm],.mobile-app[data-ui=next] .gs-flex[data-radius=sm]{border-radius:6px}
.v4-app[data-ui=next] .gs-flex[data-radius=md],.mobile-app[data-ui=next] .gs-flex[data-radius=md]{border-radius:10px}
.v4-app[data-ui=next] .gs-flex[data-radius=lg],.mobile-app[data-ui=next] .gs-flex[data-radius=lg]{border-radius:16px}
.v4-app[data-ui=next] .gs-flex[data-radius=full],.mobile-app[data-ui=next] .gs-flex[data-radius=full]{border-radius:999px}
.v4-app[data-ui=next] .gs-flex[data-pad=xs],.mobile-app[data-ui=next] .gs-flex[data-pad=xs]{padding:4px}
.v4-app[data-ui=next] .gs-flex[data-pad=sm],.mobile-app[data-ui=next] .gs-flex[data-pad=sm]{padding:8px}
.v4-app[data-ui=next] .gs-flex[data-pad=md],.mobile-app[data-ui=next] .gs-flex[data-pad=md]{padding:12px}
.v4-app[data-ui=next] .gs-flex[data-pad=lg],.mobile-app[data-ui=next] .gs-flex[data-pad=lg]{padding:16px}
.v4-app[data-ui=next] .gs-flex[data-pad=xl],.mobile-app[data-ui=next] .gs-flex[data-pad=xl]{padding:24px}

/* 4 · Card, List ------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-card,.mobile-app[data-ui=next] .gs-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px 18px;border-radius:var(--gs-r-lg);background:var(--gs-surface);box-shadow:var(--gb-shadow-1,0 0 0 .5px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.06))}
.v4-app[data-ui=next] .gs-card .gs-card,.mobile-app[data-ui=next] .gs-card .gs-card{padding:12px 14px;border-radius:var(--gs-r-md);background:var(--gs-fill);box-shadow:none}
/* a chart, table or KPI inside a card (an adapted ChatKit card, or the Manager's own) drops its own frame: one card, not two */
.v4-app[data-ui=next] .gs-card,.mobile-app[data-ui=next] .gs-card{--gs-data-bg:transparent;--gs-data-shadow:none;--gs-data-pad:0}
.v4-app[data-ui=next] .gs-list,.mobile-app[data-ui=next] .gs-list{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next] .gs-list__item,.mobile-app[data-ui=next] .gs-list__item{min-width:0}
.v4-app[data-ui=next] .gs-list[data-direction=horizontal],.mobile-app[data-ui=next] .gs-list[data-direction=horizontal]{flex-direction:row;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.v4-app[data-ui=next] .gs-list[data-direction=horizontal]>.gs-list__item,.mobile-app[data-ui=next] .gs-list[data-direction=horizontal]>.gs-list__item{flex:0 0 auto;max-width:85%;scroll-snap-align:start}

/* 5 · the table built from rows and cells (ChatKit Table) ---------------------------- */
.v4-app[data-ui=next] .gs-gridwrap,.mobile-app[data-ui=next] .gs-gridwrap{width:100%;max-width:100%;overflow-x:auto;border-radius:var(--gs-r-sm);box-shadow:inset 0 0 0 1px var(--gs-hair);-webkit-overflow-scrolling:touch}
.v4-app[data-ui=next] .gs-grid,.mobile-app[data-ui=next] .gs-grid{display:table;width:100%;border-collapse:collapse;font-size:13px}
.v4-app[data-ui=next] .gs-grid:has(>.gs-tr>.gs-td:nth-child(4)),.mobile-app[data-ui=next] .gs-grid:has(>.gs-tr>.gs-td:nth-child(4)){min-width:520px}
.v4-app[data-ui=next] .gs-tr,.mobile-app[data-ui=next] .gs-tr{display:table-row}
.v4-app[data-ui=next] .gs-td,.mobile-app[data-ui=next] .gs-td{display:table-cell;padding:8px 12px;border-top:1px solid var(--gs-hair);text-align:left;vertical-align:middle}
.v4-app[data-ui=next] .gs-tr:first-child>.gs-td,.mobile-app[data-ui=next] .gs-tr:first-child>.gs-td{border-top:0}
.v4-app[data-ui=next] .gs-td[role=columnheader],.mobile-app[data-ui=next] .gs-td[role=columnheader]{background:var(--gs-fill);color:var(--gs-ink-2);font-size:12px;font-weight:600;white-space:nowrap}
.v4-app[data-ui=next] .gs-td[role=columnheader] .gs-text,.mobile-app[data-ui=next] .gs-td[role=columnheader] .gs-text{color:inherit;font-size:inherit;font-weight:inherit}
.v4-app[data-ui=next] .gs-td .gs-text,.mobile-app[data-ui=next] .gs-td .gs-text{font-size:13px}
.v4-app[data-ui=next] .gs-td[data-align=center],.mobile-app[data-ui=next] .gs-td[data-align=center]{text-align:center}
.v4-app[data-ui=next] .gs-td[data-align=end],.mobile-app[data-ui=next] .gs-td[data-align=end]{text-align:right}
.v4-app[data-ui=next] .gs-td .gs-btn,.mobile-app[data-ui=next] .gs-td .gs-btn{min-height:28px;padding:0 10px;font-size:12px}

/* 6 · Tabs, Modal ------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-tabs,.mobile-app[data-ui=next] .gs-tabs{display:flex;flex-direction:column;min-width:0}
.v4-app[data-ui=next] .gs-tabs__list,.mobile-app[data-ui=next] .gs-tabs__list{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--gs-hair);scrollbar-width:none}
.v4-app[data-ui=next] .gs-tab,.mobile-app[data-ui=next] .gs-tab{flex:none;height:34px;margin-bottom:-1px;padding:0 12px;border:0;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--gs-ink-2);font:500 13px/1 var(--gs-font);cursor:pointer;transition:color var(--gs-dur) var(--gs-ease),background-color var(--gs-dur) var(--gs-ease)}
.v4-app[data-ui=next] .gs-tab:hover,.mobile-app[data-ui=next] .gs-tab:hover{background:var(--gs-fill);color:var(--gs-ink)}
.v4-app[data-ui=next] .gs-tab[aria-selected=true],.mobile-app[data-ui=next] .gs-tab[aria-selected=true]{border-bottom-color:var(--gs-ink);color:var(--gs-ink)}
.v4-app[data-ui=next] .gs-tab:focus-visible,.mobile-app[data-ui=next] .gs-tab:focus-visible{outline-offset:-2px}
.v4-app[data-ui=next] .gs-tabs__panel,.mobile-app[data-ui=next] .gs-tabs__panel{min-width:0;padding-top:12px}
.v4-app[data-ui=next] .gs-modal,.mobile-app[data-ui=next] .gs-modal{position:fixed;inset:0;z-index:var(--gb-z-sheet,40);display:flex;align-items:center;justify-content:center;padding:24px}
.v4-app[data-ui=next] .gs-modal__scrim,.mobile-app[data-ui=next] .gs-modal__scrim{position:absolute;inset:0;background:var(--gs-scrim)}
.v4-app[data-ui=next] .gs-modal__dialog,.mobile-app[data-ui=next] .gs-modal__dialog{position:relative;display:flex;flex-direction:column;gap:12px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px 20px 22px;border-radius:var(--gs-r-lg);background:var(--gs-raised);box-shadow:var(--gb-shadow-3,0 24px 60px rgba(0,0,0,.28));animation:gbn-gs-rise var(--gb-dur-2,220ms) var(--gs-ease)}
.v4-app[data-ui=next] .gs-modal__title,.mobile-app[data-ui=next] .gs-modal__title{padding-right:40px}
.v4-app[data-ui=next] .gs-modal__close,.mobile-app[data-ui=next] .gs-modal__close{position:absolute;top:12px;right:12px;width:32px;min-height:32px;padding:0}
@keyframes gbn-gs-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* 7 · Button ------------------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-btn,.mobile-app[data-ui=next] .gs-btn{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;max-width:100%;min-height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--gs-fill);color:var(--gs-ink);font:500 13px/1.2 var(--gs-font);text-align:center;cursor:pointer;transition:background-color var(--gs-dur) var(--gs-ease),opacity var(--gs-dur) var(--gs-ease),transform var(--gs-dur) var(--gs-ease)}
.v4-app[data-ui=next] .gs-btn:hover,.mobile-app[data-ui=next] .gs-btn:hover{background:var(--gs-fill-2)}
.v4-app[data-ui=next] .gs-btn:active,.mobile-app[data-ui=next] .gs-btn:active{transform:scale(.98)}
.v4-app[data-ui=next] .gs-btn[data-variant=primary],.mobile-app[data-ui=next] .gs-btn[data-variant=primary]{background:var(--gs-btn);color:var(--gs-btn-ink)}
.v4-app[data-ui=next] .gs-btn[data-variant=primary]:hover,.mobile-app[data-ui=next] .gs-btn[data-variant=primary]:hover{background:var(--gs-btn-hover)}
.v4-app[data-ui=next] .gs-btn[data-variant=danger],.mobile-app[data-ui=next] .gs-btn[data-variant=danger]{background:var(--gs-danger);color:var(--gs-danger-ink)}
.v4-app[data-ui=next] .gs-btn[data-variant=danger]:hover,.mobile-app[data-ui=next] .gs-btn[data-variant=danger]:hover{background:color-mix(in srgb,var(--gs-danger) 86%,var(--gs-ink))}
.v4-app[data-ui=next] .gs-btn[data-variant=ghost],.mobile-app[data-ui=next] .gs-btn[data-variant=ghost]{background:transparent}
.v4-app[data-ui=next] .gs-btn[data-variant=ghost]:hover,.mobile-app[data-ui=next] .gs-btn[data-variant=ghost]:hover{background:var(--gs-fill)}
.v4-app[data-ui=next] .gs-btn:disabled,.mobile-app[data-ui=next] .gs-btn:disabled,.v4-app[data-ui=next] .gs-btn[aria-disabled=true],.mobile-app[data-ui=next] .gs-btn[aria-disabled=true]{cursor:default;opacity:.45;transform:none}
.v4-app[data-ui=next] .gs-btn[data-busy=true],.mobile-app[data-ui=next] .gs-btn[data-busy=true]{cursor:progress;opacity:.8}
.v4-app[data-ui=next] .gs-btn .gs-text,.mobile-app[data-ui=next] .gs-btn .gs-text{display:inline;color:inherit;font:inherit}
.v4-app[data-ui=next] .gs-btn .gs-icon,.mobile-app[data-ui=next] .gs-btn .gs-icon{width:16px;height:16px}
.v4-app[data-ui=next] .gs-btn__label,.mobile-app[data-ui=next] .gs-btn__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next] .gs-btn__spinner,.mobile-app[data-ui=next] .gs-btn__spinner{display:none;flex:none;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gbn-gs-spin .8s linear infinite}
.v4-app[data-ui=next] .gs-btn[data-busy=true] .gs-btn__spinner,.mobile-app[data-ui=next] .gs-btn[data-busy=true] .gs-btn__spinner{display:inline-block}
.v4-app[data-ui=next] .gs-btn--block,.mobile-app[data-ui=next] .gs-btn--block{display:flex;width:100%;min-height:44px;justify-content:flex-start;padding:10px 12px;border-radius:var(--gs-r-sm);font-weight:400;text-align:left}
.v4-app[data-ui=next] .gs-btn--block .gs-text,.mobile-app[data-ui=next] .gs-btn--block .gs-text{display:block}
.v4-app[data-ui=next] .gs-btn--block>.gs-row,.mobile-app[data-ui=next] .gs-btn--block>.gs-row{flex:1}
@keyframes gbn-gs-spin{to{transform:rotate(360deg)}}

/* 8 · fields: TextField, CheckBox, ChoicePicker, DateTimeInput, Slider ------------------ */
.v4-app[data-ui=next] .gs-field,.mobile-app[data-ui=next] .gs-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.v4-app[data-ui=next] .gs-field__label,.mobile-app[data-ui=next] .gs-field__label{padding:0;color:var(--gs-ink-2);font-size:12.5px;font-weight:500;line-height:1.3}
.v4-app[data-ui=next] .gs-input,.mobile-app[data-ui=next] .gs-input{width:100%;min-width:0;height:38px;padding:0 12px;border:0;border-radius:var(--gs-r-sm);background:var(--gs-surface);box-shadow:inset 0 0 0 1px var(--gs-hair-2);color:var(--gs-ink);font:400 14px/1.4 var(--gs-font);transition:box-shadow var(--gs-dur) var(--gs-ease)}
.v4-app[data-ui=next] .gs-input::placeholder,.mobile-app[data-ui=next] .gs-input::placeholder{color:var(--gs-ink-3)}
.v4-app[data-ui=next] .gs-input:hover,.mobile-app[data-ui=next] .gs-input:hover{box-shadow:inset 0 0 0 1px var(--gs-ink-3)}
.v4-app[data-ui=next] .gs-input:focus-visible,.mobile-app[data-ui=next] .gs-input:focus-visible{outline:2px solid var(--gs-focus);outline-offset:1px;box-shadow:inset 0 0 0 1px var(--gs-focus)}
.v4-app[data-ui=next] .gs-input:disabled,.mobile-app[data-ui=next] .gs-input:disabled{cursor:not-allowed;opacity:.55}
.v4-app[data-ui=next] .gs-input[aria-invalid=true],.mobile-app[data-ui=next] .gs-input[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--gs-danger)}
.v4-app[data-ui=next] .gs-input--multi,.mobile-app[data-ui=next] .gs-input--multi{height:auto;min-height:84px;padding:9px 12px;resize:vertical}
.v4-app[data-ui=next] .gs-input--date,.mobile-app[data-ui=next] .gs-input--date{max-width:260px}
.v4-app[data-ui=next] .gs-row>.gs-field>.gs-input--date,.mobile-app[data-ui=next] .gs-row>.gs-field>.gs-input--date{max-width:none}
.v4-app[data-ui=next] .gs-select,.mobile-app[data-ui=next] .gs-select{padding-right:8px;cursor:pointer}
.v4-app[data-ui=next] .gs-field__error,.mobile-app[data-ui=next] .gs-field__error{margin:0;color:var(--gs-danger);font-size:12px;line-height:1.35}
.v4-app[data-ui=next] .gs-check,.mobile-app[data-ui=next] .gs-check{display:inline-flex;align-items:center;gap:10px;min-height:32px;font-size:14px;cursor:pointer}
.v4-app[data-ui=next] .gs-check__box,.mobile-app[data-ui=next] .gs-check__box,.v4-app[data-ui=next] .gs-choice__input,.mobile-app[data-ui=next] .gs-choice__input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--gs-btn);cursor:pointer}
.v4-app[data-ui=next] .gs-choice,.mobile-app[data-ui=next] .gs-choice{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;border:0}
.v4-app[data-ui=next] .gs-choice>legend,.mobile-app[data-ui=next] .gs-choice>legend{margin:0 0 6px;padding:0}
.v4-app[data-ui=next] .gs-choice[data-direction=row],.mobile-app[data-ui=next] .gs-choice[data-direction=row],.v4-app[data-ui=next] .gs-choice[data-display=chips],.mobile-app[data-ui=next] .gs-choice[data-display=chips]{flex-direction:row;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next] .gs-choice__opt,.mobile-app[data-ui=next] .gs-choice__opt{display:inline-flex;align-items:center;gap:8px;min-height:32px;font-size:14px;cursor:pointer}
.v4-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt,.mobile-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt{position:relative;min-height:34px;padding:0 14px;border-radius:999px;background:var(--gs-fill);font-size:13px;transition:background-color var(--gs-dur) var(--gs-ease),color var(--gs-dur) var(--gs-ease)}
.v4-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt:hover,.mobile-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt:hover{background:var(--gs-fill-2)}
.v4-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt[data-checked=true],.mobile-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt[data-checked=true]{background:var(--gs-btn);color:var(--gs-btn-ink)}
.v4-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__input,.mobile-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.v4-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt:has(.gs-choice__input:focus-visible),.mobile-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt:has(.gs-choice__input:focus-visible){outline:2px solid var(--gs-focus);outline-offset:2px}
.v4-app[data-ui=next] .gs-choice[aria-invalid=true],.mobile-app[data-ui=next] .gs-choice[aria-invalid=true]{border-radius:var(--gs-r-sm);box-shadow:0 0 0 1.5px var(--gs-danger);padding:6px}
.v4-app[data-ui=next] .gs-slider,.mobile-app[data-ui=next] .gs-slider{display:flex;align-items:center;gap:12px;min-width:0}
.v4-app[data-ui=next] .gs-slider__input,.mobile-app[data-ui=next] .gs-slider__input{flex:1;min-width:0;height:24px;margin:0;accent-color:var(--gs-btn);cursor:pointer}
.v4-app[data-ui=next] .gs-slider__value,.mobile-app[data-ui=next] .gs-slider__value{min-width:3ch;color:var(--gs-ink-2);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}

/* 9 · Image, Icon, Divider ------------------------------------------------------------ */
.v4-app[data-ui=next] .gs-image,.mobile-app[data-ui=next] .gs-image{display:block;max-width:100%;height:auto;border-radius:var(--gs-r-sm);object-fit:cover}
.v4-app[data-ui=next] .gs-image[data-fit=contain],.mobile-app[data-ui=next] .gs-image[data-fit=contain]{object-fit:contain}
.v4-app[data-ui=next] .gs-image[data-fit=fill],.mobile-app[data-ui=next] .gs-image[data-fit=fill]{object-fit:fill}
.v4-app[data-ui=next] .gs-image[data-fit=none],.mobile-app[data-ui=next] .gs-image[data-fit=none]{object-fit:none}
.v4-app[data-ui=next] .gs-image[data-fit=scale-down],.mobile-app[data-ui=next] .gs-image[data-fit=scale-down]{object-fit:scale-down}
.v4-app[data-ui=next] .gs-image[data-variant=icon],.mobile-app[data-ui=next] .gs-image[data-variant=icon]{width:24px;height:24px;border-radius:4px}
.v4-app[data-ui=next] .gs-image[data-variant=avatar],.mobile-app[data-ui=next] .gs-image[data-variant=avatar]{width:40px;height:40px;border-radius:50%}
.v4-app[data-ui=next] .gs-image[data-variant=smallFeature],.mobile-app[data-ui=next] .gs-image[data-variant=smallFeature]{width:100%;max-height:120px}
.v4-app[data-ui=next] .gs-image[data-variant=mediumFeature],.mobile-app[data-ui=next] .gs-image[data-variant=mediumFeature]{width:100%;max-height:220px}
.v4-app[data-ui=next] .gs-image[data-variant=largeFeature],.mobile-app[data-ui=next] .gs-image[data-variant=largeFeature]{width:100%;max-height:340px}
.v4-app[data-ui=next] .gs-image[data-variant=header],.mobile-app[data-ui=next] .gs-image[data-variant=header]{width:100%;height:160px;border-radius:var(--gs-r-md)}
.v4-app[data-ui=next] .gs-image--blocked,.mobile-app[data-ui=next] .gs-image--blocked{display:inline-flex;align-items:center;align-self:flex-start;width:auto;padding:6px 10px;background:var(--gs-fill);color:var(--gs-ink-3);font-size:12px}
.v4-app[data-ui=next] .gs-icon,.mobile-app[data-ui=next] .gs-icon{display:inline-block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.v4-app[data-ui=next] .gs-icon[data-size=sm],.mobile-app[data-ui=next] .gs-icon[data-size=sm]{width:14px;height:14px}
.v4-app[data-ui=next] .gs-icon[data-size=lg],.mobile-app[data-ui=next] .gs-icon[data-size=lg]{width:24px;height:24px}
.v4-app[data-ui=next] .gs-icon[data-size=xl],.mobile-app[data-ui=next] .gs-icon[data-size=xl]{width:32px;height:32px}
.v4-app[data-ui=next] .gs-icon[data-icon=play],.mobile-app[data-ui=next] .gs-icon[data-icon=play],.v4-app[data-ui=next] .gs-icon[data-icon=dot],.mobile-app[data-ui=next] .gs-icon[data-icon=dot]{fill:currentColor}
.v4-app[data-ui=next] .gs-divider,.mobile-app[data-ui=next] .gs-divider{flex:none;width:100%;height:1px;margin:2px 0;border:0;background:var(--gs-hair)}
.v4-app[data-ui=next] .gs-divider--vertical,.mobile-app[data-ui=next] .gs-divider--vertical{align-self:stretch;width:1px;height:auto;min-height:16px;margin:0 2px}

/* 10 · phones down to 360px ------------------------------------------------------------ */
@media (max-width:600px){
.v4-app[data-ui=next] .gs-card,.mobile-app[data-ui=next] .gs-card{padding:14px;border-radius:var(--gs-r-md)}
.v4-app[data-ui=next] .gs-btn,.mobile-app[data-ui=next] .gs-btn{min-height:40px;padding:0 16px}
.v4-app[data-ui=next] .gs-td .gs-btn,.mobile-app[data-ui=next] .gs-td .gs-btn{min-height:32px}
.v4-app[data-ui=next] .gs-input,.mobile-app[data-ui=next] .gs-input{height:42px;font-size:16px}
.v4-app[data-ui=next] .gs-input--multi,.mobile-app[data-ui=next] .gs-input--multi{height:auto}
.v4-app[data-ui=next] .gs-td,.mobile-app[data-ui=next] .gs-td{padding:7px 9px}
.v4-app[data-ui=next] .gs-row[data-wrap=true]>.gs-btn,.mobile-app[data-ui=next] .gs-row[data-wrap=true]>.gs-btn{flex:1 1 auto}
.v4-app[data-ui=next] .gs-row[data-wrap=true]>.gs-divider--vertical,.mobile-app[data-ui=next] .gs-row[data-wrap=true]>.gs-divider--vertical{display:none}
.v4-app[data-ui=next] .gs-text--h1,.mobile-app[data-ui=next] .gs-text--h1{font-size:18px}
.v4-app[data-ui=next] .gs-modal,.mobile-app[data-ui=next] .gs-modal{align-items:flex-end;padding:0}
.v4-app[data-ui=next] .gs-modal__dialog,.mobile-app[data-ui=next] .gs-modal__dialog{width:100%;max-height:88vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:var(--gs-r-lg) var(--gs-r-lg) 0 0}
}
@media (max-width:380px){
.v4-app[data-ui=next] .gs-card,.mobile-app[data-ui=next] .gs-card{padding:12px}
.v4-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt,.mobile-app[data-ui=next] .gs-choice[data-display=chips] .gs-choice__opt{padding:0 12px}
}

/* 11 · reduced motion ---------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
.v4-app[data-ui=next] .gs *,.mobile-app[data-ui=next] .gs *,.v4-app[data-ui=next] .gs *::before,.mobile-app[data-ui=next] .gs *::before,.v4-app[data-ui=next] .gs *::after,.mobile-app[data-ui=next] .gs *::after{animation:none!important;transition:none!important}
.v4-app[data-ui=next] .gs-btn[data-busy=true] .gs-btn__spinner,.mobile-app[data-ui=next] .gs-btn[data-busy=true] .gs-btn__spinner{border-right-color:currentColor;opacity:.6}
}
.v4-app[data-ui=next][data-motion=false] .gs *,.v4-app[data-ui=next][data-motion=false] .gs *::before,.v4-app[data-ui=next][data-motion=false] .gs *::after{animation:none!important;transition:none!important}

/* ==========================================================================
   UI-NEXT · phone tap targets (UX sweep 5 U8)
   --------------------------------------------------------------------------
   At 390 the page controls were under the 44px minimum: segmented tabs 32px (Calendar, Deals, Conversations,
   Autopilot, AI Manager, Campaigns, Clients), primary "New …" buttons 36px, Settings "Go to …" links 81×18,
   Approvals "Review rules for future actions" 13px tall, the classic Clients sub-links 28px and People "Review"
   72×32; the same check found the Deals chips, Autopilot and Brain row buttons, the Settings section list and the
   classic Clients and Approvals buttons at 28-40px. Phone widths only (max-width:600px): nothing here applies to a desktop or tablet window.
   Only sizes change (min-height/min-width and the containers that must grow with them); no colour, no text.
   `!important` only where a page sheet already sets the height with !important (People's pills).
   The shell's own controls (top bar, sidebar, tab bar, activity strip) belong to the shell and are not here.
   ========================================================================== */
@media (max-width:600px){
  /* Segmented tabs and filters */
  .v4-app[data-ui=next] :is(.v4-conv-tab,.v4-cal-seg,.deals-seg,.ap-mode-btn,.fl-tab,.campaigns-tab,.planning-tab,.v4-people-next-seg>button,.gbn-auto-cats>button){min-height:44px!important;height:auto!important}
  /* Primary and secondary page buttons */
  .v4-app[data-ui=next] .mv-page-main :is(.primary-button,.secondary-button,.v4-cal-primary-btn,.v4-cal-nav-btn,.deals-new-btn,.fl-btn-primary,.fl-btn-ghost,.campaigns-btn-primary,.campaigns-btn-ghost,.automations-btn-solid,.automations-btn-ghost,.planning-btn-primary,.funnels-btn-primary,.forms-btn-primary,.social-btn-primary,.social-btn-ghost,.pay-n-btn,.br-btn-accent,.rep-connect,.rep-n-btn,.v4-people-next-btn){min-height:44px!important;height:auto!important}
  .v4-app[data-ui=next] .mv-page-main :is(.deals-chip,.deals-sortbtn,.ap-btn-primary,.ap-btn-ghost,.ap-btn-tint,.br-btn-tint,.text-button,.simple-toggle,.gbn-setnav__item){min-height:44px!important;height:auto!important}
  .v4-app[data-ui=next] .mv-page-main :is(.v4-cal-nav-btn,.gbn-auto-cats>button){min-width:44px}
  /* Text links that act as buttons */
  .v4-app[data-ui=next] :is(.v4-people-next-link,.fl-n-link){display:inline-flex;align-items:center;min-height:44px}
  .v4-app[data-ui=next] .settings-load-issues__actions a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
  /* Search fields and pickers on the page */
  .v4-app[data-ui=next] .mv-page-main :is(input[type=search],input:not([type]),input[type=text],select){min-height:44px!important}
  .v4-app[data-ui=next] .v4-people-search{height:auto;min-height:44px}
  .v4-app[data-ui=next] .v4-people-search input{height:44px}
  /* Classic workspace pages in the GPT Business look: Clients sub-links, Approvals tabs and links */
  .cf-shell[data-ui=next] #main-workspace .layout-neighbors a,.cf-shell[data-ui=next] #main-workspace .approval-tabs button{min-height:44px!important;height:auto!important}
  .cf-shell[data-ui=next] #main-workspace .ao-decision-context>button{display:inline-flex;align-items:center;min-height:44px}
  .cf-shell[data-ui=next] #main-workspace :is(.ux-route-tabs a,.primary-button,.secondary-button,.text-button,.dx-table-open,input[type=search],input:not([type]),input[type=text],select){min-height:44px!important;height:auto!important}
  .cf-shell[data-ui=next] #main-workspace .icon-button{min-width:44px!important;min-height:44px!important}
}

.v4-app[data-ui=next] .whisper-coach,
.mobile-app[data-ui=next] .whisper-coach,
.cf-shell[data-ui=next] .whisper-coach {
  color: var(--gb-ink);
  background: var(--gb-surface);
  border-radius: var(--gb-r-md);
  box-shadow: var(--gb-shadow-1);
  padding: 16px 18px;
  font: 400 13px/1.45 var(--gb-font);
  overflow-wrap: anywhere;
}
.v4-app[data-ui=next] .whisper-coach h3,
.mobile-app[data-ui=next] .whisper-coach h3,
.cf-shell[data-ui=next] .whisper-coach h3 { margin: 0 0 8px; font-size: 15px; font-weight: 600; }
.v4-app[data-ui=next] .whisper-coach__note,
.mobile-app[data-ui=next] .whisper-coach__note,
.cf-shell[data-ui=next] .whisper-coach__note { color: var(--gb-ink-2); }
.v4-app[data-ui=next] .whisper-coach__suggestions,
.mobile-app[data-ui=next] .whisper-coach__suggestions,
.cf-shell[data-ui=next] .whisper-coach__suggestions { padding: 12px 12px 12px 28px; border-radius: var(--gb-r-sm); background: color-mix(in srgb, var(--gb-lav) 16%, transparent); }
.v4-app[data-ui=next] .whisper-coach__actions,
.mobile-app[data-ui=next] .whisper-coach__actions,
.cf-shell[data-ui=next] .whisper-coach__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.v4-app[data-ui=next] .whisper-coach button,
.mobile-app[data-ui=next] .whisper-coach button,
.cf-shell[data-ui=next] .whisper-coach button { min-height: 44px; padding: 8px 14px; border: 0; border-radius: var(--gb-r-full); background: var(--gb-fill); color: var(--gb-ink); font: inherit; cursor: pointer; }
.v4-app[data-ui=next] .whisper-coach button:disabled,
.mobile-app[data-ui=next] .whisper-coach button:disabled,
.cf-shell[data-ui=next] .whisper-coach button:disabled { color: var(--gb-ink-3); cursor: default; }
.v4-app[data-ui=next] .whisper-coach :focus-visible,
.mobile-app[data-ui=next] .whisper-coach :focus-visible,
.cf-shell[data-ui=next] .whisper-coach :focus-visible { outline: 2px solid var(--gb-focus); outline-offset: 2px; }
.v4-app[data-ui=next] .whisper-coach summary,
.mobile-app[data-ui=next] .whisper-coach summary,
.cf-shell[data-ui=next] .whisper-coach summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
.v4-app[data-ui=next] .whisper-coach__transcript,
.mobile-app[data-ui=next] .whisper-coach__transcript,
.cf-shell[data-ui=next] .whisper-coach__transcript { max-height: 240px; overflow-y: auto; padding-left: 22px; }
@media (max-width: 760px) {
  .v4-app[data-ui=next] .whisper-coach,
  .mobile-app[data-ui=next] .whisper-coach,
  .cf-shell[data-ui=next] .whisper-coach { padding: 12px 14px; }
}

/* ==========================================================================
   Live re-test fixes (2026-10-21), next look. Sorted after every other zz-next file, so it wins ties.
   1 · phone: the chat ends above the bottom tab bar, so the tab bar stays visible and tappable on Home and on
       every page (z-order unchanged: chat 130, tab bar 108, call layer 135/160 above both).
   1b· phone: the chat drawer's page links (Pages).
   2 · the classic workspace views (#crm: All tools, Library, Activity, Business Knowledge Book) in the next chrome:
       the rail on the left, a slim page header, no old workspace top bar and no chat sidebar.
   3 · phone More drawer: Your business, Library, Activity and Rules are labelled rows; no empty bar over AI Manager.
   4 · the Rules & autonomy card is never clipped: it keeps its full height and the chat column scrolls.
   5 · desktop: the chat column's space is reserved while the session check settles (CLS, sweep 4 P1-3).
   6 · the chat sidebar's secondary text at WCAG AA (sweep 4 P2-2, sweep 5 D6).
   7 · phone: the AI activity strip sits above the tab bar, not under it (sweep 4 P2-6, sweep 5 D3).
   ========================================================================== */

/* 1 · phone: the chat sheet (Home and every other page) stops at the tab bar's top edge */
@media (max-width:760px){
  .v4-app[data-ui=next]{--gbn-tabbar-h:calc(56px + env(safe-area-inset-bottom,0px))}
  .v4-app[data-ui=next] .anna-sidechat[data-open=true],.v4-app[data-ui=next][data-chatkit-shell=true] .anna-sidechat[data-open=true]{bottom:var(--gbn-tabbar-h)!important}
  /* the tab bar already keeps the safe area, so the composer does not add it a second time */
  .v4-app[data-ui=next] .anna-sidechat[data-open=true] .anna-fallback-composer{padding-bottom:12px}
  /* with the chat open the orb sits inside the bar (no lip under the sheet) */
  .v4-app[data-ui=next][data-anna-open=true] .gbn-tabbar .gbn-tabbar__orb{width:48px;height:48px;margin-top:0}
  .v4-app[data-ui=next][data-anna-open=true] .gbn-tabbar .gbn-tabbar__orb .orb{width:34px;height:34px;box-shadow:none}
}

/* 1b · the chat drawer's Pages list: phone only (the desktop rail already lists these pages) */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages{display:none}
@media (max-width:760px){
  .v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px;padding:8px 0;border-top:.5px solid var(--gb-hair);border-bottom:.5px solid var(--gb-hair)}
  .v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages>h2{margin:0 10px 4px;font:var(--gb-fw-semibold) 11px/1.3 var(--gb-font);letter-spacing:.02em;color:var(--gb-ink-2)}
  .v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages>button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink);font:var(--gb-fw-medium) 14px/1.3 var(--gb-font);text-align:left;cursor:pointer}
  .v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages>button svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--gb-ink-2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages>button:hover,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages>button[aria-current=page]{background:var(--gb-select)}
  .v4-app[data-ui=next] .anna-chatkit-sidebar .ck-pages>button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
}

/* 2 · classic workspace views in the next chrome (src/shell.html .cfn-rail / .cfn-header, gated by cfnChrome: signed in,
   not the phone app, a view without a v4 page). The chat sidebar and its "Chat" controls step aside: the rail is the
   navigation here, as on every v4 page. */
.cf-shell[data-ui=next]:has(>.cfn-rail) :is(.anna-chatkit-sidebar,.anna-chatkit-backdrop,.ck-workspace-controls,.ck-nav-swipe-edge){display:none!important}
.cf-shell[data-ui=next]:has(>.cfn-rail){--cfn-rail-w:60px;padding-left:var(--cfn-rail-w)!important;background:var(--gb-ground)}
.cf-shell[data-ui=next] .cfn-rail{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;align-items:center;gap:2px;width:var(--cfn-rail-w,60px);padding:12px 8px;overflow-y:auto;background:var(--gb-chrome);box-shadow:inset -1px 0 0 var(--gb-hair)}
.cf-shell[data-ui=next] .cfn-rail__item{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:40px;margin:0;padding:0;border:0;border-radius:var(--gb-r-sm);background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.cf-shell[data-ui=next] .cfn-rail__item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cf-shell[data-ui=next] .cfn-rail__item span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cf-shell[data-ui=next] .cfn-rail__business{margin-bottom:6px}
/* Simple Mode in the next chrome: the Operating mode control sits in .cfn-header; on narrow screens it takes its own row, as it does
   in the classic .workspace-header (simple-workspace.css) */
@media (max-width:760px){.cf-shell[data-ui=next][data-screen="simple-mode"] .cfn-header{height:auto;min-height:52px;flex-wrap:wrap}.cf-shell[data-ui=next][data-screen="simple-mode"] .cfn-header>.simple-operating{flex:0 0 100%;width:100%;margin:0 0 8px;box-sizing:border-box}}
/* Simple Mode on the rail: the Approvals count, as the classic Simple sidebar shows it */
.cf-shell[data-ui=next] .cfn-rail__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--gb-r-full);background:var(--gb-fill-2);color:var(--gb-ink);font:var(--gb-fw-semibold) 10px/16px var(--gb-font);text-align:center}
.cf-shell[data-ui=next] .cfn-rail__item:hover{background:var(--gb-fill);color:var(--gb-ink)}
.cf-shell[data-ui=next] .cfn-rail__item[aria-current=page]{background:var(--gb-select);color:var(--gb-ink)}
.cf-shell[data-ui=next] .cfn-rail__item:focus-visible,.cf-shell[data-ui=next] .cfn-header button:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.cf-shell[data-ui=next] .cfn-rail__item[data-page=chat]{margin-bottom:6px}
.cf-shell[data-ui=next] .cfn-rail__item[data-page=settings]{margin-top:auto}
.cf-shell[data-ui=next] .cfn-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;flex:none;height:52px;min-height:52px;padding:0 16px;background:var(--gb-ground);box-shadow:inset 0 -1px 0 var(--gb-hair);color:var(--gb-ink);font-family:var(--gb-font)}
.cf-shell[data-ui=next] .cfn-header :is(.cfn-back,.cfn-search){display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:var(--gb-r-full);background:transparent;color:var(--gb-ink-2);cursor:pointer}
.cf-shell[data-ui=next] .cfn-header :is(.cfn-back,.cfn-search):hover:not(:disabled){background:var(--gb-fill);color:var(--gb-ink)}
.cf-shell[data-ui=next] .cfn-header .cfn-back:disabled{opacity:.4;cursor:default}
.cf-shell[data-ui=next] .cfn-header svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cf-shell[data-ui=next] .cfn-where{flex:none;font-size:13px;font-weight:var(--gb-fw-semibold);color:var(--gb-ink);white-space:nowrap}
.cf-shell[data-ui=next] .cfn-tabs{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.cf-shell[data-ui=next] .cfn-tab{display:inline-flex;align-items:center;flex:none;height:28px;border-radius:var(--gb-r-full);background:transparent}
.cf-shell[data-ui=next] .cfn-tab[data-active=true]{background:var(--gb-fill-2)}
/* the history also records the v4 pages it passed through ("v4-home"); they are pages of the rail, not open workspaces */
.cf-shell[data-ui=next] .cfn-tab[data-section^="v4-"]{display:none}
.cf-shell[data-ui=next] .cfn-tab button{height:28px;padding:0 6px 0 12px;border:0;background:transparent;color:var(--gb-ink-2);font:var(--gb-fw-medium) 12.5px/1 var(--gb-font);white-space:nowrap;cursor:pointer}
.cf-shell[data-ui=next] .cfn-tab button+button{min-width:24px;padding:0 10px 0 4px;font-size:14px}
.cf-shell[data-ui=next] .cfn-tab[data-active=true] button{color:var(--gb-ink)}
.cf-shell[data-ui=next] .cfn-tools{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto}
@media (max-width:760px){
  .cf-shell[data-ui=next]:has(>.cfn-rail){padding-left:0!important}
  .cf-shell[data-ui=next] .cfn-rail{display:none}
  .cf-shell[data-ui=next] .cfn-header{padding:0 8px}
  .cf-shell[data-ui=next] .cfn-where{display:none}
}

/* 3 · phone More drawer: the Home places are rows (icon and label) like every other drawer link, and the rail's orb
   (desktop only; the tab bar has the same orb) no longer leaves an empty grey bar over the AI Manager row */
@media (max-width:760px){
  .v4-app[data-ui=next] .v4-sidebar .gbn-rail-orb{display:none!important}
  .v4-app[data-ui=next] .v4-sidebar .gbn-more-places{margin:10px 0 6px}
  .v4-app[data-ui=next] .v4-sidebar .gbn-more-place{display:flex!important;align-items:center;gap:11px;width:100%;min-height:40px;margin:0;padding:8px 10px;border:0;border-radius:var(--gb-r-sm)!important;background:transparent!important;box-shadow:none!important;color:var(--gb-ink-2);font:var(--gb-fw-medium) 13.5px/1.3 var(--gb-font);text-align:left;cursor:pointer}
  .v4-app[data-ui=next] .v4-sidebar .gbn-more-place svg{flex:none;width:17px;height:17px}
  .v4-app[data-ui=next] .v4-sidebar .gbn-more-place:hover{background:var(--gb-hover)!important;color:var(--gb-ink)}
}

/* 4 · Rules & autonomy card: it was capped at 55vh and shrunk by the chat column, so its last lines were cut off at the
   bottom edge. It now takes the column's free height (the composer stays, the empty-state headline and chips step aside
   while it is open), scrolls inside with room under its last line, and lines up with the chat column on wide screens. */
.v4-app[data-ui=next] .anna-sidechat .anna-conversation-rules{box-sizing:border-box;flex:1 1 0;min-height:0;max-height:none;width:calc(100% - 24px);max-width:736px;margin:8px auto 12px;padding:18px 18px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-main:has(>.anna-conversation-rules)>.anna-dot-shell{flex:0 0 auto;max-height:40%;overflow:hidden}
.v4-app[data-ui=next] .anna-sidechat .anna-chatkit-main:has(>.anna-conversation-rules) :is(.anna-fallback-hello,.anna-fallback-empty,.anna-fallback-chips){display:none}
.v4-app[data-ui=next] .anna-sidechat .anna-conversation-rules button{border:0;border-radius:var(--gb-r-full);background:var(--gb-fill);color:var(--gb-ink);font:var(--gb-fw-medium) 13px/1.2 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next] .anna-sidechat .anna-conversation-rules button:hover{background:var(--gb-fill-2)}

/* 5 · Sweep 4 P1-3 (CLS): the chat column's space is reserved while the session check settles (data-chatkit-pending),
   so main does not jump from x=52 to x=300 when the column mounts. Same widths as zz-next-0-shell.css §3. */
@media (min-width:761px){
  .v4-app[data-ui=next][data-chatkit-pending=true]:not([data-chatkit-collapsed=true]):not([data-anna-open=true]){--gbn-left:calc(var(--gb-rail-w) + var(--gb-list-w))}
}

/* 6 · Chat sidebar text at WCAG AA (sweep 4 P2-2, sweep 5 D6): the Projects heading, the main chat's "Main chat" line
   and the empty Threads line used --gb-ink-3 (2.0–3.7:1 on the chrome). They take --gb-ink-2, as the thread rows do. */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-convo-head h2{color:var(--gb-ink-2)!important}
/* chatkit-live-tail.css also fades both to .65 opacity, which took them back under 4.5:1 */
.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-main-text small,.v4-app[data-ui=next] .anna-chatkit-sidebar .ck-threads-empty{color:var(--gb-ink-2);opacity:1}

/* 7 · Sweep 4 P2-6, sweep 5 D3: on the phone the AI activity strip (activity, pause, "Open AI activity") is main's last
   row, under its scrolling page, so the fixed tab bar covered it. It ends at the tab bar's top edge instead; the page
   above it ends where the strip starts. Home hides the strip (zz-next-rail.css). */
@media (max-width:760px){
  .v4-app[data-ui=next]:not([data-v4-nav=home]) .px-activity-stage{margin-bottom:var(--gbn-tabbar-h)}
}

/* ==========================================================================
   UI-REDESIGN · the Manager look · tokens (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   Owner brief 2026-10-23: iMessage and apple.com, mixed with the clean ChatGPT / Claude feel.
   Black and white, iMessage blue for the owner's bubbles, grey for the Manager's, lots of
   room. Option D is full chat mode; Home is a calm dashboard with a message box and a call
   button.

   SWITCH. Every rule in the zz-next-zzz-rd-* files starts with .v4-app[data-ui=next][data-redesign].
   data-redesign is on the root only when automation_settings.feature_overrides['ff.ui.redesign']
   is exactly true for the signed-in business (uiRedesignOn in src/v4/shell-model.js). With the flag
   off nothing here matches and the current look is untouched.

   LOAD ORDER. "zz-next-zzz-" sorts after zz-next-zz-live-fixes.css, so these files load last.
   Light tokens sit on (0,3,0) and dark on (0,4,0); both also reach the confirmation banner,
   which renders as the root's next sibling.

   FONTS. Apple devices get the system face (-apple-system); everyone else gets the self-hosted
   Geist. Nothing is fetched from another origin (the CSP is default-src 'self').
   ========================================================================== */

.v4-app[data-ui=next][data-redesign],.v4-app[data-ui=next][data-redesign]~.action-confirmation{color-scheme:light;
  --gb-ground:#ffffff;--gb-chrome:#f9f9f9;--gb-chrome-glass:rgba(255,255,255,.78);--gb-column:#f9f9f9;--gb-surface:#ffffff;--gb-raised:#ffffff;
  --gb-ink:#1d1d1f;--gb-ink-2:#6e6e73;--gb-ink-3:#8e8e93;
  --gb-hair:rgba(0,0,0,.08);--gb-hair-2:rgba(0,0,0,.13);--gb-fill:rgba(118,118,128,.08);--gb-fill-2:rgba(118,118,128,.14);
  --gb-hover:rgba(0,0,0,.035);--gb-press:rgba(0,0,0,.07);--gb-select:rgba(0,0,0,.055);--gb-zebra:rgba(0,0,0,.016);
  --gb-btn:#1d1d1f;--gb-btn-ink:#ffffff;--gb-btn-hover:#3a3a3c;--gb-seg-on:#ffffff;--gb-switch-off:rgba(120,120,128,.16);
  --gb-focus:#007aff;--gb-scrim:rgba(0,0,0,.24);--gb-hud:#1d1d1f;--gb-hud-ink:#ffffff;--gb-hud-ink-2:rgba(255,255,255,.72);--gb-hud-hover:rgba(255,255,255,.12);
  --gb-danger:#ff3b30;--gb-ember:#ff9500;--gb-sage:#34c759;--gb-lav:#af52de;--gb-ember-ink:#c45500;--gb-sage-ink:#248a3d;--gb-lav-ink:#8944ab;
  --gb-grad:linear-gradient(90deg,#5ac8fa,#007aff,#5856d6);--gb-bar:rgba(0,0,0,.09);--gb-grid:rgba(0,0,0,.06);--gb-track:rgba(120,120,128,.14);
  --gb-av-a:#e5e5ea;--gb-av-b:#d1d1d6;--gb-av-ink:#3a3a3c;
  --gb-shadow-0:0 0 0 .5px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.05);
  --gb-shadow-1:0 0 0 .5px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.12);
  --gb-shadow-2:0 0 0 .5px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.05),0 20px 44px -18px rgba(0,0,0,.22);
  --gb-shadow-3:0 0 0 .5px rgba(0,0,0,.07),0 10px 30px rgba(0,0,0,.08),0 36px 80px -24px rgba(0,0,0,.3);
  --gb-glow:#ffffff;--gb-floor:rgba(0,0,0,.18);
  --gb-owner-bubble:#007aff;--gb-owner-bubble-ink:#ffffff;
  /* iMessage set. rd-in is the grey bubble, rd-sms the green of a plain text message, rd-blue the system blue for links and live states. */
  --rd-blue:#007aff;--rd-blue-ink:#ffffff;--rd-in:#e9e9eb;--rd-in-ink:#000000;--rd-sms:#34c759;--rd-sms-ink:#ffffff;
  --rd-orange:#ff9500;--rd-red:#ff3b30;--rd-green:#34c759;--rd-yellow:#ffcc00;--rd-purple:#af52de;--rd-teal:#30b0c7;
  --rd-meta:#8e8e93;--rd-glass:rgba(250,250,252,.72);--rd-glass-line:rgba(0,0,0,.06);--rd-grouped:#f2f2f7;
}
.v4-app[data-ui=next][data-redesign][data-theme=dark],.v4-app[data-ui=next][data-redesign][data-theme=dark]~.action-confirmation{color-scheme:dark;
  --gb-ground:#000000;--gb-chrome:#0f0f10;--gb-chrome-glass:rgba(22,22,24,.78);--gb-column:#0f0f10;--gb-surface:#1c1c1e;--gb-raised:#2c2c2e;
  --gb-ink:#f5f5f7;--gb-ink-2:#a1a1a6;--gb-ink-3:#6e6e73;
  --gb-hair:rgba(255,255,255,.09);--gb-hair-2:rgba(255,255,255,.15);--gb-fill:rgba(118,118,128,.2);--gb-fill-2:rgba(118,118,128,.28);
  --gb-hover:rgba(255,255,255,.05);--gb-press:rgba(255,255,255,.1);--gb-select:rgba(255,255,255,.08);--gb-zebra:rgba(255,255,255,.02);
  --gb-btn:#f5f5f7;--gb-btn-ink:#000000;--gb-btn-hover:#ffffff;--gb-seg-on:#3a3a3c;--gb-switch-off:rgba(120,120,128,.32);
  --gb-focus:#0a84ff;--gb-scrim:rgba(0,0,0,.6);--gb-hud:#2c2c2e;--gb-hud-ink:#f5f5f7;--gb-hud-ink-2:rgba(245,245,247,.72);--gb-hud-hover:rgba(255,255,255,.1);
  --gb-danger:#ff453a;--gb-ember:#ff9f0a;--gb-sage:#30d158;--gb-lav:#bf5af2;--gb-ember-ink:#ffb340;--gb-sage-ink:#30d158;--gb-lav-ink:#da8fff;
  --gb-grad:linear-gradient(90deg,#64d2ff,#0a84ff,#5e5ce6);--gb-bar:rgba(255,255,255,.16);--gb-grid:rgba(255,255,255,.07);--gb-track:rgba(118,118,128,.3);
  --gb-av-a:#3a3a3c;--gb-av-b:#2c2c2e;--gb-av-ink:#e5e5ea;
  --gb-shadow-0:0 0 0 .5px rgba(255,255,255,.1),0 1px 2px rgba(0,0,0,.5);
  --gb-shadow-1:0 0 0 .5px rgba(255,255,255,.08),0 1px 3px rgba(0,0,0,.4),0 12px 30px -16px rgba(0,0,0,.7);
  --gb-shadow-2:0 0 0 .5px rgba(255,255,255,.11),0 2px 8px rgba(0,0,0,.45),0 24px 50px -18px rgba(0,0,0,.8);
  --gb-shadow-3:0 0 0 .5px rgba(255,255,255,.12),0 10px 30px rgba(0,0,0,.5),0 40px 80px -24px rgba(0,0,0,.85);
  --gb-glow:rgba(255,255,255,.05);--gb-floor:rgba(0,0,0,.7);
  --gb-owner-bubble:#0a84ff;--gb-owner-bubble-ink:#ffffff;
  --rd-blue:#0a84ff;--rd-blue-ink:#ffffff;--rd-in:#262629;--rd-in-ink:#ffffff;--rd-sms:#30d158;--rd-sms-ink:#ffffff;
  --rd-orange:#ff9f0a;--rd-red:#ff453a;--rd-green:#30d158;--rd-yellow:#ffd60a;--rd-purple:#bf5af2;--rd-teal:#40c8e0;
  --rd-meta:#8e8e93;--rd-glass:rgba(28,28,30,.72);--rd-glass-line:rgba(255,255,255,.08);--rd-grouped:#000000;
}
.v4-app[data-ui=next][data-redesign],.v4-app[data-ui=next][data-redesign]~.action-confirmation{
  --gb-font:-apple-system,BlinkMacSystemFont,Geist,"Segoe UI",system-ui,sans-serif;
  --gb-fs-13:14px;--gb-fs-15:16px;--gb-tr-ui:-.008em;--gb-tr-title:-.022em;--gb-tr-display:-.03em;
  --gb-r-sm:10px;--gb-r-md:16px;--gb-r-lg:22px;--gb-chat-max:760px;--gb-page-max:1180px;
  --gb-ease:cubic-bezier(.25,.1,.25,1);--gb-dur-1:140ms;--gb-dur-2:240ms;--gb-dur-3:360ms;
  /* Chat metrics shared by the full chat, the dock and every page that shows a conversation. */
  --rd-bubble-r:19px;--rd-bubble-fs:16px;--rd-bubble-lh:1.375;--rd-bubble-pad:8px 13px 9px;--rd-bubble-max:min(76%,560px);
  --rd-meta-fs:11.5px;--rd-composer-h:44px;--rd-dock-w:min(720px,calc(100vw - 32px));
}
.v4-app[data-ui=next][data-redesign]{font-size:var(--gb-fs-13);letter-spacing:var(--gb-tr-ui);font-feature-settings:"kern","liga"}
@media (max-width:760px){.v4-app[data-ui=next][data-redesign],.v4-app[data-ui=next][data-redesign]~.action-confirmation{--rd-bubble-fs:17px;--rd-bubble-max:80%;--rd-dock-w:calc(100vw - 16px)}}
@media (prefers-reduced-motion:reduce){.v4-app[data-ui=next][data-redesign]{--gb-dur-1:0ms;--gb-dur-2:0ms;--gb-dur-3:0ms}}

/* ==========================================================================
   UI-REDESIGN · shell chrome (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   The global chrome in the Manager look: the option D rail (72px, a line icon over a small label, the page you are on on a
   soft grey tile, the GPT Business mark on top, Light / Dark / Auto and the account at the foot), the More flyout, the slim
   glass top bar (page title left; ⌘K search, the Manager's presence, Needs you and the bell right), the ⌘K palette as a
   Spotlight-style sheet, the account menu, the workspace picker, the activity log, the AI activity drawer (the activity
   strip folds into the top bar, so the foot of the page is the chat dock's), tips, notices, dialogs, toasts and the setup
   frame. Phones get a glass tab bar (Home, Chat, Messages, Calendar, More) and the drawer as a bottom sheet.
   Markup: src/v4/shell.html (rd- classes under {{ rdOn }}); values: src/v4/pages/rdshell-model.js.
   Every selector starts .v4-app[data-ui=next][data-redesign]; !important only where an inline style or an existing
   !important rule has to be beaten. The chat column (thread list) and the Ask bar belong to other files.
   ========================================================================== */

/* 0 · local tokens */
.v4-app[data-ui=next][data-redesign]{--rd-shell-scrim-soft:rgba(0,0,0,.12);--rd-shell-sheet:rgba(255,255,255,.94);--rd-shell-pop:rgba(252,252,253,.95);
  --rd-shell-ic:#3a3a3c;--rd-shell-av:linear-gradient(180deg,#a5abb9,#858994);--rd-shell-av-ink:#ffffff;--gb-topbar-h:56px;
  --rd-shell-palette-top:16vh;--rd-shell-palette-w:680px;--rd-shell-palette-max:calc(100vw - 32px);--rd-shell-cell:var(--gb-surface);--rd-shell-sheet-bg:var(--rd-grouped);
  --rd-shell-on:var(--rd-blue-ink);--rd-shell-sheet-shadow:0 -10px 40px rgba(0,0,0,.18)}
/* the practice banner sits beside the app, not inside it, so the app's tokens do not reach it: it carries its own */
.v4-app[data-ui=next][data-redesign]~.t034-practice-banner{--rd-shell-banner:rgba(255,149,0,.96);--rd-shell-on-orange:#1d1d1f;--rd-shell-banner-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.v4-app[data-ui=next][data-redesign][data-theme=dark]~.t034-practice-banner{--rd-shell-banner:rgba(255,159,10,.96);--rd-shell-banner-shadow:0 10px 30px -10px rgba(0,0,0,.7)}
.v4-app[data-ui=next][data-redesign][data-theme=dark]{--rd-shell-scrim-soft:rgba(0,0,0,.42);--rd-shell-sheet:rgba(38,38,40,.95);--rd-shell-pop:rgba(44,44,46,.96);
  --rd-shell-ic:#d1d1d6;--rd-shell-av:linear-gradient(180deg,#8e939e,#6c707a);--rd-shell-cell:#2c2c2e;--rd-shell-sheet-bg:#1c1c1e;
  --rd-shell-sheet-shadow:0 0 0 .5px rgba(255,255,255,.1),0 -10px 40px rgba(0,0,0,.6)}
@media (max-width:760px){.v4-app[data-ui=next][data-redesign]{--rd-shell-palette-top:calc(8px + env(safe-area-inset-top,0px));--rd-shell-palette-w:calc(100vw - 16px);--rd-shell-palette-max:calc(100vw - 16px)}}

/* 1 · shared bits: count badges (needs you orange, live blue, plain counts ink) and status dots */
.v4-app[data-ui=next][data-redesign] :is(.rd-rail__ic,.rd-tab__ic)>.rd-badge{position:absolute;top:-5px;left:calc(100% - 9px);z-index:1;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--gb-btn);color:var(--gb-btn-ink);box-shadow:0 0 0 2px var(--gb-chrome);font:600 10.5px/17px var(--gb-font);font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] :is(.rd-rail__ic,.rd-tab__ic)>.rd-badge[data-tone=needs]{background:var(--rd-orange);color:var(--rd-shell-on)}
.v4-app[data-ui=next][data-redesign] :is(.rd-rail__ic,.rd-tab__ic)>.rd-badge[data-tone=live]{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-menu__val>.rd-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-menu__val>.rd-dot[data-tone=done]{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-menu__val>.rd-dot[data-tone=needs]{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-menu__val>.rd-dot[data-tone=work]{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] :is(.rd-rail,nav.rd-more,.rd-tabbar,.rd-picker,.rd-coach) svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] :is(.rd-rail__it,.rd-more__it,.rd-tab,.rd-search,.rd-picker__row,.rd-menu__row,.rd-coach__ok):focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next][data-redesign] kbd{font-family:var(--gb-font)}

/* 2 · DESKTOP ------------------------------------------------------------------------------------------------------ */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign]{--gb-rail-w:72px}

  /* 2.1 the rail column */
  .v4-app[data-ui=next][data-redesign]>.v4-sidebar{padding:14px 0 12px!important;gap:0;background:var(--gb-chrome)!important;box-shadow:inset -.5px 0 0 var(--gb-hair)!important}
  /* the GPT Business mark on top; it opens the workspace picker, and its name stays its accessible name */
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-workspace{width:44px;height:44px;margin:0 auto 12px!important;padding:0!important;border-radius:12px!important;background:transparent;transition:transform var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign][data-theme] .v4-sidebar .sidebar-workspace>span{width:36px!important;height:36px!important;border-radius:10px!important;background:url(/favicon.svg) center/cover no-repeat!important;color:transparent!important;font-size:0!important;box-shadow:var(--gb-shadow-0)!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-workspace:hover{background:transparent!important;transform:scale(1.04)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-workspace:active{transform:scale(.96)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-workspace:focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
  /* search lives in the top bar (⌘K) on wide screens; the drawer keeps its own field on a phone */
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-search{display:none!important}

  .v4-app[data-ui=next][data-redesign] .rd-rail{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;gap:2px;width:100%;min-height:0;padding:0 6px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-rail::-webkit-scrollbar{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-rail__it{position:relative;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:60px;min-height:52px;margin:0;padding:6px 2px 5px;border:0;border-radius:12px;background:transparent;color:var(--gb-ink-2);font:500 10.5px/1.15 var(--gb-font);letter-spacing:0;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-rail__ic{position:relative;display:grid;place-items:center;width:24px;height:24px;color:var(--rd-shell-ic)}
  .v4-app[data-ui=next][data-redesign] .rd-rail__ic svg{width:20px;height:20px}
  .v4-app[data-ui=next][data-redesign] .rd-rail__label{display:block;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] .rd-rail__it[data-long] .rd-rail__label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;font-size:10px;line-height:1.1;overflow-wrap:anywhere}
  .v4-app[data-ui=next][data-redesign] .rd-rail__it:hover{background:var(--gb-hover);color:var(--gb-ink)}
  .v4-app[data-ui=next][data-redesign] .rd-rail__it:active{background:var(--gb-press);transform:scale(.96)}
  .v4-app[data-ui=next][data-redesign] .rd-rail__it:is([aria-current=page],[aria-expanded=true]){background:var(--gb-select);color:var(--gb-ink)}
  .v4-app[data-ui=next][data-redesign] .rd-rail__it:is([aria-current=page],[aria-expanded=true]) .rd-rail__ic{color:var(--gb-ink)}
  .v4-app[data-ui=next][data-redesign] .rd-rail__grow{flex:1 1 auto;min-height:10px}
  /* a live call from the hybrid hook: the slot stays mounted but hidden, and Calls carries a blue dot while it shows */
  .v4-app[data-ui=next][data-redesign] .rd-rail__call{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-rail:has(.rd-rail__call>:not([hidden])) .rd-rail__it[data-rd-page=calls] .rd-rail__ic::after{content:"";position:absolute;top:-1px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--rd-blue);box-shadow:0 0 0 2px var(--gb-chrome)}

  /* 2.2 the foot: Light / Dark / Auto, then the account */
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-area{display:flex;flex:none;flex-direction:column;align-items:center;gap:10px!important;width:100%;margin-top:10px!important;padding:0!important;border-top:0!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme{order:1;flex-direction:row;gap:0;padding:2px;border-radius:999px;background:var(--gb-fill)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme button{width:21px;height:21px;border-radius:50%;color:var(--gb-ink-3);transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme button[aria-pressed=true]{background:var(--gb-seg-on);color:var(--gb-ink);box-shadow:var(--gb-shadow-0)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme svg{width:13px;height:13px;stroke-width:1.75}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user{order:2;width:34px!important;height:34px!important;border:0;border-radius:50%;background:var(--rd-shell-av)!important;color:var(--rd-shell-av-ink)!important;box-shadow:none;font:600 13px/1 var(--gb-font)!important;letter-spacing:.01em;cursor:pointer;transition:transform var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user:hover{transform:scale(1.05)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

  /* 2.3 More: every other page, grouped, in a popover beside the rail */
  .v4-app[data-ui=next][data-redesign] .rd-more-scrim{position:fixed;inset:0;z-index:130;margin:0;padding:0;border:0;background:transparent;cursor:default}
  .v4-app[data-ui=next][data-redesign] nav.rd-more{position:fixed;left:calc(var(--gb-rail-w) + 8px);bottom:12px;z-index:131;width:512px;max-width:calc(100vw - var(--gb-rail-w) - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;padding:14px 8px 6px;border-radius:var(--gb-r-md);background:var(--rd-shell-pop);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--gb-shadow-2);color:var(--gb-ink);transform-origin:0 100%;animation:gbn-rd-shell-pop var(--gb-dur-2) var(--gb-ease) both}
  .v4-app[data-ui=next][data-redesign] .rd-more__cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}
  .v4-app[data-ui=next][data-redesign] .rd-more__group{display:flex;flex-direction:column;gap:1px;min-width:0;padding-bottom:8px}
  .v4-app[data-ui=next][data-redesign] .rd-more__hd{margin:0 0 4px;padding:0 10px;color:var(--gb-ink-3);font:600 12px/1.3 var(--gb-font);letter-spacing:0;text-transform:none}
  .v4-app[data-ui=next][data-redesign] .rd-more__it{display:flex;align-items:center;gap:10px;width:100%;height:34px;margin:0;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--gb-ink);font:400 14px/1 var(--gb-font);letter-spacing:-.006em;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-more__it:is(:hover,:focus-visible){background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] .rd-more__it[aria-current=page]{background:var(--gb-select);font-weight:600}
  .v4-app[data-ui=next][data-redesign] .rd-more__ic{display:grid;flex:none;place-items:center;width:20px;height:20px;color:var(--gb-ink-2)}
  .v4-app[data-ui=next][data-redesign] .rd-more__ic svg{width:18px;height:18px}
  .v4-app[data-ui=next][data-redesign] .rd-more__ic .orb{width:18px;height:18px;box-shadow:none}
  .v4-app[data-ui=next][data-redesign] .rd-more__tx{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .v4-app[data-ui=next][data-redesign] .rd-more__foot{display:flex;align-items:center;gap:6px;margin:2px 4px 0;padding:10px 6px 6px;border-top:.5px solid var(--gb-hair);color:var(--gb-ink-3);font:400 12px/1.3 var(--gb-font)}
  .v4-app[data-ui=next][data-redesign] .rd-more__foot kbd{padding:1px 5px;border-radius:5px;background:var(--gb-fill-2);color:var(--gb-ink-2);font:500 11px/1.4 var(--gb-font)}

  /* 2.4 the account menu: who you are, the business, autonomy, then Settings, the view switch, Install and Sign out */
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-menu{left:calc(var(--gb-rail-w) + 8px)!important;bottom:12px!important;width:280px;padding:6px!important;border-radius:14px!important;background:var(--rd-shell-pop)!important;-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--gb-shadow-2)!important;transform-origin:0 100%;animation:gbn-rd-shell-pop var(--gb-dur-2) var(--gb-ease) both!important}
}

/* 3 · the account menu rows (desktop popover and phone sheet) */
.v4-app[data-ui=next][data-redesign] .sidebar-user-menu{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-menu__head{display:flex;align-items:center;gap:10px;padding:8px 8px 10px}
.v4-app[data-ui=next][data-redesign] .rd-menu__av{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--rd-shell-av);color:var(--rd-shell-av-ink);font:600 14px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-menu__who{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-menu__who b{overflow:hidden;color:var(--gb-ink);font:600 14px/1.25 var(--gb-font);text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-menu__who small{overflow:hidden;color:var(--gb-ink-3);font:400 12px/1.25 var(--gb-font);text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-menu__sep{height:0;margin:5px 8px;border:0;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .sidebar-user-menu>:is(button,.rd-menu__row){display:flex!important;align-items:center;gap:8px;width:100%;min-height:34px;margin:0;padding:0 10px!important;border:0!important;border-radius:8px!important;background:transparent;color:var(--gb-ink)!important;font:400 14px/1.2 var(--gb-font)!important;letter-spacing:-.006em;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .sidebar-user-menu>:is(button,.rd-menu__row):hover{background:var(--gb-fill-2)!important}
.v4-app[data-ui=next][data-redesign] .sidebar-user-menu>button:last-child{color:var(--rd-red)!important}
.v4-app[data-ui=next][data-redesign] .rd-menu__row>span:first-child{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-menu__val{display:inline-flex;align-items:center;gap:6px;max-width:150px;overflow:hidden;color:var(--gb-ink-3);font-size:13px;text-overflow:ellipsis;white-space:nowrap}

/* 4 · the top bar: a slim glass bar; the page title on the left; ⌘K, the Manager, Needs you and the bell on the right */
.v4-app[data-ui=next][data-redesign] .v4-workspace-header{gap:8px!important;padding-right:12px!important;background:var(--rd-glass)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 -.5px 0 var(--gb-hair)}
/* the business name and its slash: the mark and the account menu name the business, the bar names the page */
.v4-app[data-ui=next][data-redesign] .v4-workspace-header>span:nth-of-type(-n+2){display:none!important}
.v4-app[data-ui=next][data-redesign] .v4-workspace-header>span:nth-of-type(3){flex:0 1 auto;min-width:0;overflow:hidden;color:var(--gb-ink)!important;font:600 15px/1.2 var(--gb-font)!important;letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap}
/* Install, the autonomy pill and the classic Ask button live in the account menu or the chat */
.v4-app[data-ui=next][data-redesign] .v4-workspace-header>.v4-install-app,.v4-app[data-ui=next][data-redesign] .v4-workspace-header button[title^="Everything"]:not([aria-label]){display:none!important}
.v4-app[data-ui=next][data-redesign] .rd-search{display:inline-flex;flex:none;align-items:center;gap:6px;height:32px;margin:0 0 0 auto;padding:0 6px 0 10px;border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink-3);font:400 13.5px/1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-search:hover{background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-search svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}
.v4-app[data-ui=next][data-redesign] .rd-search__tx{min-width:56px;text-align:left}
.v4-app[data-ui=next][data-redesign] .rd-search kbd{padding:2px 6px;border-radius:6px;background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2);color:var(--gb-ink-3);font:500 11px/1.3 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .gbn-presence{flex:none;margin-left:0;height:36px;padding:0 12px 0 5px;gap:8px;border-radius:999px}
.v4-app[data-ui=next][data-redesign] .gbn-presence .orb{width:24px;height:24px}
.v4-app[data-ui=next][data-redesign] .gbn-presence>:is(.gbn-presence__text,.gbn-presence__n){display:none}
.v4-app[data-ui=next][data-redesign] .rd-presence{display:inline-flex;align-items:center;gap:7px;color:var(--gb-ink);font:500 13.5px/1 var(--gb-font);letter-spacing:-.006em;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-presence[data-tone=needs]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-presence[data-tone=work]::before{content:"";width:12px;height:12px;border:1.75px solid color-mix(in srgb,var(--rd-blue) 22%,transparent);border-top-color:var(--rd-blue);border-radius:50%;animation:gbn-rd-shell-spin .9s linear infinite}
.v4-app[data-ui=next][data-redesign] .gbn-needs{height:32px;gap:7px;padding:0 5px 0 12px;background:color-mix(in srgb,var(--rd-orange) 12%,transparent);box-shadow:none;color:var(--gb-ember-ink);font:500 13.5px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .gbn-needs:hover{background:color-mix(in srgb,var(--rd-orange) 18%,transparent);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .gbn-needs .gb-dot{display:none}
.v4-app[data-ui=next][data-redesign] .gbn-needs b{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--rd-orange);color:var(--rd-shell-on);font:600 12px/22px var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-workspace-header>span[style*="margin-left"]{margin-left:0!important;gap:4px!important}
.v4-app[data-ui=next][data-redesign] .v4-workspace-header button[aria-label^="What"]{width:36px!important;height:36px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-workspace-header button[aria-label^="What"] svg{width:19px;height:19px;stroke-width:1.6}
.v4-app[data-ui=next][data-redesign] .v4-workspace-header .conversation-mode-button{width:36px;min-width:36px;height:36px;padding:0;justify-content:center;border:0;background:transparent;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-workspace-header .conversation-mode-button:hover{background:var(--gb-fill);color:var(--gb-ink)}
@container gb-main (max-width:1100px){.v4-app[data-ui=next][data-redesign] .rd-search__tx{display:none}.v4-app[data-ui=next][data-redesign] .rd-search{padding:0 6px 0 9px}}
@container gb-main (max-width:900px){.v4-app[data-ui=next][data-redesign] .rd-presence{display:none}.v4-app[data-ui=next][data-redesign] .gbn-presence{padding-right:6px}.v4-app[data-ui=next][data-redesign] .rd-search kbd{display:none}.v4-app[data-ui=next][data-redesign] .rd-search{width:36px;height:36px;padding:0;justify-content:center}}

/* the bar holds no chat column controls on a computer: its Chat button is the classic look's only (src/assistant.html,
   {{ !rdOn }}) and the column toggle shows only beside the thread list (zz-next-zzz-rd-9-chat.css), so the page title
   starts the bar at its own 24px, not after room kept for them */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign]:has(.ck-workspace-controls) .v4-workspace-header{padding-left:24px!important}
}

/* 5 · the service notice and the coaching tip */
.v4-app[data-ui=next][data-redesign] .v4-service-notice{display:flex;align-items:center;gap:10px;margin:12px 24px 0;padding:10px 14px!important;border:0!important;border-radius:12px;background:color-mix(in srgb,var(--rd-orange) 11%,var(--gb-surface))!important;color:var(--gb-ink)!important;font:400 14px/1.4 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-service-notice::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-coach{display:flex;align-items:center;gap:12px;max-width:var(--gb-page-max);margin:16px auto 0;padding:10px 10px 10px 14px;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);animation:gbn-rd-shell-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-coach__ic{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-coach__ic svg{width:17px;height:17px}
.v4-app[data-ui=next][data-redesign] .rd-coach__tx{flex:1;min-width:0;margin:0;color:var(--gb-ink-2);font:400 14px/1.45 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-coach__tx b{margin-right:4px;color:var(--gb-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-coach__ok{flex:none;height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font:500 13.5px/1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-coach__ok:hover{background:var(--gb-press)}
@media (min-width:761px){.v4-app[data-ui=next][data-redesign] .rd-coach{margin-inline:max(24px,calc((100% - var(--gb-page-max))/2))}}

/* 6 · the AI activity strip folds into the top bar: the presence pill opens AI activity and names what the Manager is
   doing, Needs you counts the approvals and the bell opens the log, so the foot of the page belongs to the chat dock.
   The AI activity drawer keeps its place and rises from the foot of the page. */
.v4-app[data-ui=next][data-redesign] .px-activity-stage{flex:0 0 auto!important;min-height:0!important;padding:0;border-top:0;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .px-activity-stage>.header-activity{display:none}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-3)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer header h2{color:var(--gb-ink);font:600 20px/1.2 var(--gb-font);letter-spacing:-.018em}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer .px-eyebrow{display:inline-block;color:var(--gb-ink-3);font:600 12px/1.2 var(--gb-font);letter-spacing:0;text-transform:lowercase}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer .px-eyebrow::first-letter{text-transform:uppercase}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer .px-close{width:30px;height:30px;border:0;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer>nav{align-self:flex-start;gap:2px;max-width:calc(100% - 48px);margin:0 24px 12px;padding:2px;border:0;border-radius:9px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer nav button{height:28px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font:500 13px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer nav button[aria-pressed=true]{background:var(--gb-seg-on)!important;box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next][data-redesign] .px-activity-drawer footer button,.v4-app[data-ui=next][data-redesign] .px-drawer-status button{color:var(--rd-blue)}

/* 7 · the ⌘K palette: a Spotlight-style sheet (container styles come from rdshell-model.js) */
.v4-app[data-ui=next][data-redesign] .v4-palette>div:first-child{gap:12px;padding:14px 18px!important;border-bottom:.5px solid var(--gb-hair)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette>div:first-child>svg{width:22px;height:22px;stroke:var(--gb-ink-3);stroke-width:1.75}
.v4-app[data-ui=next][data-redesign] .v4-palette input[role=combobox]{height:36px;color:var(--gb-ink);font:400 22px/1.2 var(--gb-font)!important;letter-spacing:-.018em;outline:none}
.v4-app[data-ui=next][data-redesign] .v4-palette input[role=combobox]::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .v4-palette>div:first-child>span[aria-hidden]{padding:3px 7px!important;border:0!important;border-radius:6px!important;background:var(--gb-fill-2);color:var(--gb-ink-3)!important;font:500 11px/1.2 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette>div[tabindex]{max-height:min(420px,52vh)!important;padding:8px}
.v4-app[data-ui=next][data-redesign] .v4-palette-group{padding:4px 4px 10px!important}
.v4-app[data-ui=next][data-redesign] .v4-palette-group h2{margin:0 0 6px 8px!important;color:var(--gb-ink-3)!important;font:600 12px/1.3 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important}
.v4-app[data-ui=next][data-redesign] .v4-palette-group button{height:32px;padding:0 14px!important;border:0!important;border-radius:999px;background:var(--gb-fill-2)!important;color:var(--gb-ink);font:500 13.5px/1 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette-group button:hover{background:var(--gb-press)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette-group a{min-height:40px;border-radius:10px!important;color:var(--gb-ink)!important;font-size:14px!important}
.v4-app[data-ui=next][data-redesign] .v4-palette-group a:hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next][data-redesign] #v4-palette-list [role=option]>span:first-child{width:28px!important;height:28px!important;border-radius:7px!important;background:var(--gb-fill-2)!important;color:var(--gb-ink-2)!important;font:600 12px/1 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] #v4-palette-list [role=option]>span:nth-child(2){color:inherit;font:500 14.5px/1.2 var(--gb-font)!important;letter-spacing:-.008em}
.v4-app[data-ui=next][data-redesign] #v4-palette-list [role=option]>span:nth-child(3){color:var(--gb-ink-3)!important;font:400 13px/1.2 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] #v4-palette-list [role=option][aria-selected=true]>span:first-child{background:color-mix(in srgb,var(--rd-shell-on) 22%,transparent)!important;color:var(--rd-shell-on)!important}
.v4-app[data-ui=next][data-redesign] #v4-palette-list [role=option][aria-selected=true]>span:nth-child(3){color:color-mix(in srgb,var(--rd-shell-on) 82%,transparent)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette>[role=status]{padding:28px 20px!important;color:var(--gb-ink-3)!important;font:400 14px/1.4 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette>div:last-child{gap:14px!important;padding:9px 18px!important;border-top:.5px solid var(--gb-hair)!important;color:var(--gb-ink-3)!important;font:400 12px/1.2 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-palette>div:last-child span>span:not(.sc-interp){padding:1px 6px!important;border:0!important;border-radius:5px!important;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .v4-palette>div:last-child span>span[aria-hidden]{background:var(--gb-btn);color:var(--gb-btn-ink)}

/* 8 · the workspace picker: a popover under the mark */
.v4-app[data-ui=next][data-redesign] .rd-picker-scrim{position:fixed;inset:0;z-index:110;margin:0;padding:0;border:0;background:transparent;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-picker{position:fixed;top:12px;left:calc(var(--gb-rail-w) + 8px);z-index:111;width:300px;max-width:calc(100vw - 24px);padding:6px;border-radius:14px;background:var(--rd-shell-pop);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--gb-shadow-2);color:var(--gb-ink);transform-origin:0 0;animation:gbn-rd-shell-pop var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-picker__hd{padding:8px 10px 8px}
.v4-app[data-ui=next][data-redesign] .rd-picker__hd h2{margin:0;color:var(--gb-ink);font:600 15px/1.25 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign] .rd-picker__hd p{margin:2px 0 0;color:var(--gb-ink-3);font:400 12.5px/1.3 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-picker__list{display:flex;flex-direction:column;gap:1px;max-height:min(360px,60vh);overflow-y:auto}
.v4-app[data-ui=next][data-redesign] .rd-picker__row{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:4px 10px 4px 6px;border:0;border-radius:9px;background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-picker__row:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-picker__av{display:grid;flex:none;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--rd-shell-av);color:var(--rd-shell-av-ink);font:600 12.5px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-picker__tx{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-picker__tx b{overflow:hidden;font:500 14px/1.25 var(--gb-font);text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-picker__tx small{overflow:hidden;color:var(--gb-ink-3);font:400 12px/1.25 var(--gb-font);text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-picker__tx small:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-picker__check{flex:none;width:17px;height:17px;color:var(--rd-blue);stroke-width:2;visibility:hidden}
.v4-app[data-ui=next][data-redesign] .rd-picker__row[aria-current=true] .rd-picker__check{visibility:visible}

/* 9 · "What the Manager did": a floating sheet on the right (container styles come from rdshell-model.js) */
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"])>div:first-child{padding:20px 20px 14px!important;border-bottom:.5px solid var(--gb-hair)!important;background:transparent!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"])>div:first-child>div:first-child>div>div:first-child{color:var(--gb-ink);font:700 22px/1.2 var(--gb-font)!important;letter-spacing:-.02em!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"])>div:first-child>div:first-child>div>div:last-child{color:var(--gb-ink-3)!important;font:400 13px/1.3 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) button[aria-label=Close]{width:30px;height:30px;border:0!important;border-radius:50%!important;background:var(--gb-fill-2)!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) input[aria-label="Search the activity log"]{height:36px;padding:0 12px 0 32px!important;border:0!important;border-radius:10px;background:var(--gb-fill)!important;color:var(--gb-ink);font:400 14px/1 var(--gb-font)!important;outline:none}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"])>div:nth-child(2):not(:last-child){padding:14px 20px!important;border-bottom:.5px solid var(--gb-hair)!important;background:transparent!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) :is(span,div):is([style*="text-transform:uppercase"],[style*="text-transform: uppercase"]){color:var(--gb-ink-3)!important;font:600 12px/1.3 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) :is([style*="text-transform:uppercase"],[style*="text-transform: uppercase"])::first-letter{text-transform:uppercase}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) button>span:nth-child(4){grid-area:text;font:600 15px/1.3 var(--gb-font)!important;letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) button>span:nth-child(3){grid-area:time;width:auto!important;color:var(--gb-ink-3)!important;font:400 13px/16px var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) button>span:nth-child(5){grid-area:ago;color:var(--gb-ink-3)!important;font:400 13px/1.3 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) button+div:is([style*="border-top:1px"],[style*="border-top: 1px"]){padding:14px 20px 18px!important;border-top:0!important;background:var(--gb-fill)!important}
.v4-app[data-ui=next][data-redesign]>div:has(>div input[aria-label="Search the activity log"]) button+div div:is([style*="border-radius:11px"],[style*="border-radius: 11px"]){border:0!important;border-radius:12px!important;background:var(--gb-surface)!important;color:var(--gb-ink)!important;font-size:14px!important}

/* 10 · dialogs, sheets, toasts, the confirmation banner, the practice banner and the setup frame */
.v4-app[data-ui=next][data-redesign] .v4-new-sheet{background:var(--gb-scrim)}
/* Sheets, dialogs and toasts belong to their pages: this is their default frame, kept light so a page's own file can
   restyle it. Only the sheet panel needs !important (the payments sheet draws its frame inline). */
.v4-app[data-ui=next][data-redesign] :where(.v4-new-sheet)>.v4-new-sheet__panel{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-3)!important;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :where([data-v4-dialog=open]):is(.automations-modal,.v4-cal-modal,.deals-modal){border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-3);color:var(--gb-ink)}
/* a toast rises clear of the chat dock's bar at the foot of the page, centred over the page like the bar (the dock
   reports the chrome under it as --rd-dock-floor and the page's centre as --rd-dock-cx), sized to its text */
.v4-app[data-ui=next][data-redesign] :is(.v4-conv-toast,.v4-cal-toast){bottom:calc(var(--rd-dock-floor,0px) + 84px);left:var(--rd-dock-cx,50%);z-index:45;width:max-content;max-width:min(560px,calc(100vw - 32px));text-align:center;border:0;border-radius:14px;background:var(--rd-shell-pop);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--gb-shadow-2);color:var(--gb-ink);font:500 13.5px/1.35 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] :is(.v4-conv-toast,.v4-cal-toast)[data-kind=error]{background:var(--rd-shell-pop);color:var(--gb-ink);box-shadow:var(--gb-shadow-2),inset 0 0 0 1px color-mix(in srgb,var(--rd-red) 70%,transparent)}
.v4-app[data-ui=next][data-redesign] :is(.v4-conv-toast,.v4-cal-toast)[data-kind=error]::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;border-radius:50%;background:var(--rd-red);vertical-align:middle}
.v4-app[data-ui=next][data-redesign]~.action-confirmation{min-height:44px;padding:6px 6px 6px 14px;border-radius:14px;background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--gb-shadow-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign]~.action-confirmation::before{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign]~.action-confirmation[data-kind=error]::before{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign]~.action-confirmation>div>strong{color:var(--gb-ink-2);font:600 12px/1.3 var(--gb-font)}
.v4-app[data-ui=next][data-redesign]~.action-confirmation>div>span{color:var(--gb-ink);font:400 13.5px/1.4 var(--gb-font)}
.v4-app[data-ui=next][data-redesign]~.action-confirmation>button{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign]~.action-confirmation>button:hover{background:var(--gb-fill);color:var(--gb-ink)}
/* the practice banner: a compact banner just under the top bar and centred over the page, so the header controls stay
   usable; it sits under sheets, dialogs and menus while they are open */
.v4-app[data-ui=next][data-redesign]~.t034-practice-banner{top:64px!important;left:calc(var(--rd-dock-l,0px) + var(--rd-dock-mw,100vw) / 2)!important;z-index:49!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:12px!important;width:max-content;max-width:min(760px,calc(var(--rd-dock-mw,100vw) - 32px))!important;padding:6px 6px 6px 16px!important;border:0!important;border-radius:14px!important;text-align:left!important;background:var(--rd-shell-banner)!important;color:var(--rd-shell-on-orange)!important;box-shadow:var(--rd-shell-banner-shadow)!important;font:500 13px/1.35 -apple-system,BlinkMacSystemFont,Geist,"Segoe UI",system-ui,sans-serif!important}
.v4-app[data-ui=next][data-redesign]~.t034-practice-banner>span{flex:1 1 auto;min-width:0}
.v4-app[data-ui=next][data-redesign]~.t034-practice-banner .t034-practice-banner__link{flex:none;padding:6px 12px!important;border-radius:999px!important;background:color-mix(in srgb,var(--rd-shell-on-orange) 12%,transparent)!important;color:var(--rd-shell-on-orange)!important;font-weight:600!important;text-decoration:none!important}
.v4-app[data-ui=next][data-redesign] .v4-setup{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-3)!important;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:first-child{padding:16px 16px 12px 20px!important;border-bottom:0!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:first-child button{height:30px;padding:0 12px!important;border:0!important;border-radius:999px!important;background:var(--gb-fill-2)!important;color:var(--gb-ink-2)!important;font:500 13px/1 var(--gb-font)!important}

/* 11 · PHONE: a glass tab bar and the drawer as a bottom sheet --------------------------------------------------------- */
@media (max-width:760px){
  /* tab bar: Home, Chat, Messages, Calendar, More; the page you are on in ink, the rest grey */
  .v4-app[data-ui=next][data-redesign] .rd-tabbar{justify-content:space-around;padding:4px 6px calc(2px + env(safe-area-inset-bottom))!important;background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:0;box-shadow:inset 0 .5px 0 var(--gb-hair-2)}
  .v4-app[data-ui=next][data-redesign] .rd-tabbar>.rd-tab{position:relative;flex:1 1 0;width:auto;max-width:96px;height:50px;gap:3px;padding:0;border-radius:12px;background:transparent;color:var(--gb-ink-3);font:500 10.5px/1.1 var(--gb-font);letter-spacing:0;-webkit-tap-highlight-color:transparent}
  .v4-app[data-ui=next][data-redesign] .rd-tabbar>.rd-tab:active{background:var(--gb-press)}
  .v4-app[data-ui=next][data-redesign] .rd-tabbar>.rd-tab:is([aria-current=page],[aria-expanded=true]){color:var(--gb-ink);background:transparent;font-weight:600}
  .v4-app[data-ui=next][data-redesign] .rd-tab__ic{position:relative;display:grid;place-items:center;width:28px;height:26px}
  .v4-app[data-ui=next][data-redesign] .rd-tabbar svg{width:25px;height:25px;stroke-width:1.5}
  .v4-app[data-ui=next][data-redesign] .rd-tabbar .rd-tab__ic>.rd-badge{top:-4px;left:calc(100% - 10px);box-shadow:0 0 0 2px var(--gb-ground)}
  .v4-app[data-ui=next][data-redesign] .rd-tab__label{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* top bar: the page title as a phone navigation title; search, the Manager, Needs you and the bell as 36px icons */
  .v4-app[data-ui=next][data-redesign] .v4-workspace-header{gap:2px!important;padding-right:6px!important}
  .v4-app[data-ui=next][data-redesign] .v4-workspace-header>span:nth-of-type(3){flex:1 1 auto;font:600 17px/1.2 var(--gb-font)!important;letter-spacing:-.02em}
  .v4-app[data-ui=next][data-redesign] .rd-search{width:36px;height:36px;margin-left:0;padding:0;justify-content:center;background:transparent;color:var(--gb-ink-2)}
  .v4-app[data-ui=next][data-redesign] .rd-search svg{width:19px;height:19px;stroke-width:1.6}
  .v4-app[data-ui=next][data-redesign] .rd-search :is(.rd-search__tx,kbd){display:none}
  .v4-app[data-ui=next][data-redesign] .rd-presence{display:none}
  .v4-app[data-ui=next][data-redesign] .gbn-presence{padding:0 6px}
  .v4-app[data-ui=next][data-redesign] .gbn-needs{height:28px!important;min-height:28px!important;padding:0 3px;background:transparent;font-size:0}
  .v4-app[data-ui=next][data-redesign] .gbn-needs b{min-width:22px;height:22px;font-size:12px}

  /* the drawer: a bottom sheet with a grabber, grouped lists like iOS Settings */
  .v4-app[data-ui=next][data-redesign] .v4-sidebar{inset:auto 0 0 0;width:auto!important;max-width:none;height:auto;max-height:calc(100dvh - 40px);gap:14px;padding:26px 16px calc(20px + env(safe-area-inset-bottom))!important;overflow-y:auto;border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0!important;background:var(--rd-shell-sheet-bg)!important;box-shadow:var(--rd-shell-sheet-shadow)!important;animation:gbn-rd-shell-sheet var(--gb-dur-3) var(--gb-ease) both}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar::before{content:"";position:absolute;top:7px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:999px;background:var(--gb-hair-2)}
  .v4-app[data-ui=next][data-redesign] .v4-navigation-close{position:absolute;top:14px;right:14px;z-index:2;width:32px;min-width:32px;height:32px;min-height:32px;margin:0;padding:0;justify-content:center;border-radius:50%!important;background:var(--gb-fill-2)!important;color:var(--gb-ink-2);font-size:0}
  .v4-app[data-ui=next][data-redesign] .v4-navigation-close span{font-size:20px;line-height:1}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-workspace{min-height:56px;margin:0 48px 0 0!important;padding:8px 12px!important;border-radius:14px!important;background:var(--rd-shell-cell)}
  .v4-app[data-ui=next][data-redesign][data-theme] .v4-sidebar .sidebar-workspace>span{width:36px!important;height:36px!important;border-radius:10px!important;background:url(/favicon.svg) center/cover no-repeat!important;color:transparent!important;font-size:0!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-workspace>div>div:first-child{font:600 16px/1.25 var(--gb-font)!important;letter-spacing:-.01em!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-search{min-height:40px!important;padding:0 12px!important;border:0!important;border-radius:10px!important;background:var(--gb-fill-2)!important;box-shadow:none!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-search>span:first-of-type{font-size:16px!important;color:var(--gb-ink-3)!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-search>span:last-of-type{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-rail,.v4-app[data-ui=next][data-redesign] .rd-more__group{display:flex;flex:none;flex-direction:column;gap:0;width:100%;padding:0;overflow:hidden;border-radius:14px;background:var(--rd-shell-cell)}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__it,.rd-more__it){position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:48px;margin:0;padding:0 14px;border:0;border-radius:0;background:transparent;color:var(--gb-ink);font:400 16px/1.2 var(--gb-font);letter-spacing:-.01em;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__it,.rd-more__it)+:is(.rd-rail__it,.rd-more__it)::before{content:"";position:absolute;top:0;right:0;left:50px;height:.5px;background:var(--gb-hair-2)}
  /* Home, Chat, Messages and Calendar are on the tab bar, and More's groups follow inline, so the sheet lists the rest */
  .v4-app[data-ui=next][data-redesign] .rd-rail .rd-rail__it:is([data-rd-page=home],[data-rd-page=chat],[data-rd-page=messages],[data-rd-page=calendar],.rd-rail__it--more),.v4-app[data-ui=next][data-redesign] .rd-rail :is(.rd-rail__grow,.rd-rail__call),.v4-app[data-ui=next][data-redesign] nav.rd-more .rd-more__foot{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-rail .rd-rail__it[data-rd-page=calls]::before{display:none}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__it,.rd-more__it)::after{content:"";flex:none;width:7px;height:7px;margin-left:auto;border-top:1.75px solid var(--gb-ink-3);border-right:1.75px solid var(--gb-ink-3);transform:rotate(45deg);opacity:.7}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__it,.rd-more__it):active{background:var(--gb-press)}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__it,.rd-more__it)[aria-current=page]{font-weight:600}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__ic,.rd-more__ic){position:relative;display:grid;flex:none;place-items:center;width:20px;height:20px;color:var(--gb-ink-2)}
  .v4-app[data-ui=next][data-redesign] :is(.rd-rail__ic,.rd-more__ic) svg{width:20px;height:20px}
  .v4-app[data-ui=next][data-redesign] .rd-more__ic .orb{width:20px;height:20px;box-shadow:none}
  .v4-app[data-ui=next][data-redesign] .rd-rail__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* a row's count sits just before its chevron, the way a Settings row shows one */
  .v4-app[data-ui=next][data-redesign] .rd-rail .rd-rail__ic{position:static}
  .v4-app[data-ui=next][data-redesign] .rd-rail .rd-rail__ic>.rd-badge{top:50%;right:34px;left:auto;transform:translateY(-50%);box-shadow:none}
  .v4-app[data-ui=next][data-redesign] nav.rd-more{display:flex;flex:none;flex-direction:column;gap:0;width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-more__cols{display:flex;flex-direction:column;gap:22px}
  .v4-app[data-ui=next][data-redesign] .rd-more__group{overflow:visible;background:transparent}
  .v4-app[data-ui=next][data-redesign] .rd-more__hd{margin:0 0 7px;padding:0 16px;color:var(--gb-ink-2);font:400 13px/1.3 var(--gb-font);letter-spacing:0}
  .v4-app[data-ui=next][data-redesign] .rd-more__it{background:var(--rd-shell-cell)}
  .v4-app[data-ui=next][data-redesign] .rd-more__hd+.rd-more__it{border-radius:14px 14px 0 0}
  .v4-app[data-ui=next][data-redesign] .rd-more__it:last-child{border-radius:0 0 14px 14px}
  .v4-app[data-ui=next][data-redesign] .rd-more__hd+.rd-more__it:last-child{border-radius:14px}
  /* the account row and Light / Dark / Auto at the foot of the sheet */
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-area{flex-wrap:wrap;gap:12px!important;margin:0!important;padding:12px 14px!important;border:0!important;border-radius:14px;background:var(--rd-shell-cell)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user{width:40px!important;height:40px!important;border-radius:50%;background:var(--rd-shell-av)!important;color:var(--rd-shell-av-ink)!important;font:600 15px/1 var(--gb-font)!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-name div:first-child{color:var(--gb-ink);font:600 16px/1.25 var(--gb-font)!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-name div:last-child{color:var(--gb-ink-3)!important;font:400 13px/1.25 var(--gb-font)!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-area>button[aria-label^="Appearance"]{display:none!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme{display:flex!important;flex:1 0 100%;gap:0;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme button{display:flex;flex:1;align-items:center;justify-content:center;gap:6px;height:32px;min-height:32px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font:500 13px/1 var(--gb-font);cursor:pointer}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme button[aria-pressed=true]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0)}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .gbn-theme span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-menu{left:0!important;right:0!important;bottom:calc(100% + 8px)!important;padding:6px!important;border:0!important;border-radius:14px!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-3)!important}
  .v4-app[data-ui=next][data-redesign] .v4-sidebar .sidebar-user-menu>:is(button,.rd-menu__row){min-height:44px;font-size:16px!important}
  .v4-app[data-ui=next][data-redesign] .v4-palette>div:last-child>span:not(:last-child){display:none!important}
  .v4-app[data-ui=next][data-redesign] .v4-palette>div:first-child>span[aria-hidden]{display:none}
  .v4-app[data-ui=next][data-redesign] .v4-palette input[role=combobox]{min-width:0;font-size:17px!important;text-overflow:ellipsis}
  .v4-app[data-ui=next][data-redesign] .rd-coach{margin:12px 16px 0}
  .v4-app[data-ui=next][data-redesign] .v4-service-notice{margin:8px 12px 0}
  .v4-app[data-ui=next][data-redesign]~.t034-practice-banner{top:calc(58px + env(safe-area-inset-top,0px))!important;left:12px!important;right:12px!important;width:auto;max-width:none!important;padding:8px 8px 8px 14px!important;border-radius:16px!important;transform:none!important;font-size:12.5px!important}
  .v4-app[data-ui=next][data-redesign] :is(.v4-conv-toast,.v4-cal-toast){max-width:calc(100vw - 32px)}
  /* sheets rise from the bottom with a grabber */
  .v4-app[data-ui=next][data-redesign] .rd-picker{inset:auto 0 0 0;width:auto;max-width:none;padding:22px 12px calc(14px + env(safe-area-inset-bottom));border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;background:var(--rd-shell-sheet-bg);box-shadow:var(--rd-shell-sheet-shadow);transform-origin:50% 100%;animation-name:gbn-rd-shell-sheet}
  .v4-app[data-ui=next][data-redesign] .rd-picker::before{content:"";position:absolute;top:7px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:999px;background:var(--gb-hair-2)}
  .v4-app[data-ui=next][data-redesign] .rd-picker__list{gap:0;overflow:hidden auto;border-radius:14px;background:var(--rd-shell-cell)}
  .v4-app[data-ui=next][data-redesign] .rd-picker__row{border-radius:0}
  .v4-app[data-ui=next][data-redesign] .rd-picker-scrim{background:var(--gb-scrim)}
  .v4-app[data-ui=next][data-redesign] .rd-picker__row{min-height:52px}
}

/* 12 · motion */
@keyframes gbn-rd-shell-pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes gbn-rd-shell-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-shell-sheet{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@keyframes gbn-rd-shell-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] :is(nav.rd-more,.rd-picker,.rd-coach,.v4-sidebar,.sidebar-user-menu){animation:none!important}
  .v4-app[data-ui=next][data-redesign] .rd-presence[data-tone=work]::before{animation:none}
}

/* UI-REDESIGN · shared controls (ff.ui.redesign). The Manager look (DESIGN-SYSTEM.md §5) for the controls every page
   shares, in two layers:
   1. The rd- components new markup uses. The design system names rd-btn (--pri, --sec, --blue, --danger), rd-ibtn,
      rd-pill (--done, --needs, --fail, --work, --idle), rd-card (rd-card__hd), rd-list / rd-row and rd-seg; the
      components it leaves unnamed carry rd-ctl- so they never collide with a page's own rd- classes: rd-ctl-switch,
      rd-ctl-search, rd-ctl-field, rd-ctl-tabs, rd-ctl-table, rd-ctl-empty, rd-ctl-skel, rd-ctl-note, rd-ctl-count and
      rd-ctl-sheet.
   2. The generic classes the pages already use, at :where() weight so every page file and later rd- file wins:
      primary / secondary / text / icon buttons, crm-panel and its title, eyebrow, crm-field and its inputs, crm-actions,
      crm-form-grid, backend-alert, crm-badge, crm-segment, crm-tabs, crm-table, crm-empty, the account, terms,
      confirmation and install sheets (backend-modal), and the gb- kit's switch, check, card and pill.
   Light and dark through tokens. With the flag off no selector here matches. */

/* 0 · local tokens ---------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign]{--rd-ctl-h:36px;--rd-ctl-fs:14px;--rd-ctl-field-fs:14px;--rd-ctl-field-bg:var(--gb-surface);--rd-ctl-on:var(--rd-blue-ink);--rd-ctl-knob:var(--rd-blue-ink);--rd-ctl-list-r:12px;--rd-ctl-ring:0 0 0 3px color-mix(in srgb,var(--gb-focus) 28%,transparent)}
.v4-app[data-ui=next][data-redesign][data-theme=dark]{--rd-ctl-field-bg:var(--gb-fill)}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign]{--rd-ctl-h:44px;--rd-ctl-fs:15px;--rd-ctl-field-fs:16px}
}

/* 1 · buttons: black pill primary, grey fill secondary, blue for call / talk, red text for destructive ---------- */
.v4-app[data-ui=next][data-redesign] .rd-btn,
.v4-app[data-ui=next][data-redesign] :where(.primary-button,.secondary-button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--rd-ctl-h);box-sizing:border-box;padding:0 16px;border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink);font:500 var(--rd-ctl-fs)/1.2 var(--gb-font);letter-spacing:-.006em;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-btn{min-height:40px;padding:0 18px;font-size:15px}
.v4-app[data-ui=next][data-redesign] .rd-btn>svg{flex:none;width:18px;height:18px}
.v4-app[data-ui=next][data-redesign] .rd-btn:where(:not(:disabled,[aria-disabled=true])):hover,
.v4-app[data-ui=next][data-redesign] :where(.secondary-button):where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-btn--pri,
.v4-app[data-ui=next][data-redesign] :where(.primary-button){background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-btn--pri:where(:not(:disabled,[aria-disabled=true])):hover,
.v4-app[data-ui=next][data-redesign] :where(.primary-button):where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-btn--blue{background:var(--rd-blue);color:var(--rd-ctl-on)}
.v4-app[data-ui=next][data-redesign] .rd-btn--blue:where(:not(:disabled,[aria-disabled=true])):hover{background:color-mix(in srgb,var(--rd-blue) 86%,var(--gb-ink))}
.v4-app[data-ui=next][data-redesign] .rd-btn--danger{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-btn--sm{min-height:32px;padding:0 12px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-btn--lg{min-height:50px;padding:0 24px;font-size:17px}
.v4-app[data-ui=next][data-redesign] .rd-btn--block{display:flex;width:100%}
.v4-app[data-ui=next][data-redesign] :is(.rd-btn,.rd-ibtn):active:not(:disabled,[aria-disabled=true]),
.v4-app[data-ui=next][data-redesign] :where(.primary-button,.secondary-button,.icon-button):active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] :is(.rd-btn,.rd-ibtn):is(:disabled,[aria-disabled=true]),
.v4-app[data-ui=next][data-redesign] :where(.primary-button,.secondary-button,.text-button,.icon-button):is(:disabled,[aria-disabled=true]){opacity:.4;cursor:default;transform:none}
/* Text buttons read as links: iMessage blue, no box. */
.v4-app[data-ui=next][data-redesign] :where(.text-button){display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 2px;border:0;border-radius:6px;background:transparent;color:var(--rd-blue);font:500 var(--rd-ctl-fs)/1.2 var(--gb-font);text-decoration:none;box-shadow:none;cursor:pointer}
.v4-app[data-ui=next][data-redesign] :where(.text-button):where(:not(:disabled,[aria-disabled=true])):hover{text-decoration:underline;text-underline-offset:3px}
/* Round icon buttons: 36px, a 44px target on phones. */
.v4-app[data-ui=next][data-redesign] .rd-ibtn,
.v4-app[data-ui=next][data-redesign] :where(.icon-button){position:relative;display:inline-grid;place-items:center;flex:none;width:36px;height:36px;min-width:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);font:400 20px/1 var(--gb-font);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-ibtn:where(:not(:disabled,[aria-disabled=true])):hover,
.v4-app[data-ui=next][data-redesign] :where(.icon-button):where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-ibtn>svg{width:20px;height:20px}
.v4-app[data-ui=next][data-redesign] .rd-ibtn--fill{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-ibtn--fill:where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-ibtn--blue,
.v4-app[data-ui=next][data-redesign] .rd-ibtn--blue:where(:not(:disabled,[aria-disabled=true])):hover{background:var(--rd-blue);color:var(--rd-ctl-on)}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-ibtn::after{content:"";position:absolute;inset:-4px;border-radius:50%}
}

/* 2 · pills and status: tinted, a 7px dot, the colour carries the meaning ------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-pill,
.v4-app[data-ui=next][data-redesign] :where(.crm-badge){display:inline-flex;align-items:center;gap:6px;flex:none;height:24px;box-sizing:border-box;padding:0 10px;border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink-2);font:500 12.5px/1 var(--gb-font);letter-spacing:0;text-transform:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-pill::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next][data-redesign] .rd-pill--done{background:color-mix(in srgb,var(--rd-green) 14%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-pill--needs{background:color-mix(in srgb,var(--rd-orange) 15%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] .rd-pill--fail{background:color-mix(in srgb,var(--rd-red) 12%,transparent);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-pill--work{background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-pill--work::before{box-sizing:border-box;width:9px;height:9px;border:1.5px solid currentColor;border-right-color:transparent;background:transparent;animation:gbn-rd-shell-ctl-spin .9s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-pill--idle{background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-pill--idle::before{background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .gb-pill{height:24px;padding:0 10px;font-size:12.5px;font-weight:500}
/* Counts: a small capsule; orange when it is waiting on the owner. */
.v4-app[data-ui=next][data-redesign] .rd-ctl-count{display:inline-grid;place-items:center;min-width:20px;height:20px;box-sizing:border-box;padding:0 6px;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink-2);font:600 12px/1 var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-ctl-count--needs{background:var(--rd-orange);color:var(--rd-ctl-on)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-count--blue{background:var(--rd-blue);color:var(--rd-ctl-on)}

/* 3 · cards and panels: white on white with a soft shadow, 16px corners ------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-card,
.v4-app[data-ui=next][data-redesign] :where(.crm-panel){position:relative;min-width:0;box-sizing:border-box;padding:20px;border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-card--flush{padding:6px 0}
.v4-app[data-ui=next][data-redesign] .rd-card--fill{background:var(--gb-fill);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-card__hd{display:flex;align-items:center;gap:12px;min-height:24px;margin:0 0 12px}
.v4-app[data-ui=next][data-redesign] .rd-card__hd>:is(h2,h3,h4,.rd-card__title),
.v4-app[data-ui=next][data-redesign] .rd-card__title{margin:0;color:var(--gb-ink);font:600 16px/1.3 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign] .rd-card__hd :is(a,.rd-card__more),
.v4-app[data-ui=next][data-redesign] .rd-card__more{margin-left:auto;padding:0;border:0;background:none;color:var(--rd-blue);font:400 14px/1.3 var(--gb-font);text-decoration:none;white-space:nowrap;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-card__hd :is(a,.rd-card__more):hover{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next][data-redesign] .gb-card{border-radius:var(--gb-r-md)}
.v4-app[data-ui=next][data-redesign] :where(.crm-panel-title){display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 16px}
.v4-app[data-ui=next][data-redesign] :where(.crm-panel-title) :where(h2,h3){margin:0;color:var(--gb-ink);font:600 20px/1.25 var(--gb-font);letter-spacing:-.018em}
.v4-app[data-ui=next][data-redesign] :where(.eyebrow){display:block;margin:0 0 4px;color:var(--gb-ink-3);font:600 11px/1.3 var(--gb-font);letter-spacing:.06em;text-transform:uppercase}
.v4-app[data-ui=next][data-redesign] :where(.crm-muted){color:var(--gb-ink-2);font-size:13px}
.v4-app[data-ui=next][data-redesign] :where(.crm-actions){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] :where(.crm-form-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}

/* 4 · inset grouped lists: rows of 52px, hairlines inset past the icon, a chevron on rows that open something -- */
.v4-app[data-ui=next][data-redesign] .rd-list{margin:0;padding:0;list-style:none;overflow:hidden;border-radius:var(--rd-ctl-list-r);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-list>li{position:relative;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-list :where(.rd-row){position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:52px;box-sizing:border-box;margin:0;padding:8px 16px;border:0;border-radius:0;background:transparent;color:var(--gb-ink);font:400 15px/1.3 var(--gb-font);text-align:left;text-decoration:none;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-list :where(.rd-row+.rd-row,li+li>.rd-row)::before{content:"";position:absolute;top:0;left:16px;right:0;height:.5px;background:var(--gb-hair-2);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-list :where(.rd-row+.rd-row,li+li>.rd-row):has(>.rd-row__ic)::before{left:56px}
.v4-app[data-ui=next][data-redesign] .rd-list :where(button.rd-row,a.rd-row){cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-list :where(button.rd-row,a.rd-row):where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-list :where(button.rd-row,a.rd-row):where(:not(:disabled,[aria-disabled=true])):active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row__ic{flex:none;display:grid;place-items:center;width:28px;height:28px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row__ic>svg{width:18px;height:18px}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row__tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row__sub{color:var(--gb-ink-2);font-size:13px;line-height:1.35}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row__meta{flex:none;color:var(--gb-ink-2);font-size:15px;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row--nav::after{content:"";flex:none;box-sizing:border-box;width:8px;height:8px;margin:0 4px 0 2px;border:solid var(--gb-ink-3);border-width:1.6px 1.6px 0 0;transform:rotate(45deg)}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row--danger{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row--blue{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-list .rd-row :is(.rd-ctl-switch,.rd-pill,.rd-ctl-count){margin-left:auto}

/* 5 · segmented control: grey track, the selected segment raised in white ------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-seg,
.v4-app[data-ui=next][data-redesign] :where(.crm-segment,.approval-tabs){display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;max-width:100%;box-sizing:border-box;padding:2px;border-radius:999px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-seg--full{display:flex;width:100%}
.v4-app[data-ui=next][data-redesign] .rd-seg--full>*{flex:1 1 0}
.v4-app[data-ui=next][data-redesign] .rd-seg>:is(button,a,label),
.v4-app[data-ui=next][data-redesign] :where(.crm-segment,.approval-tabs)>:where(button,a){display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;box-sizing:border-box;margin:0;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--gb-ink);font:500 13px/1 var(--gb-font);text-decoration:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-seg>:is(button,a,label):where(:not(:disabled,[aria-disabled=true])):hover,
.v4-app[data-ui=next][data-redesign] :where(.crm-segment,.approval-tabs)>:where(button,a):where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-seg>:is([aria-pressed=true],[aria-selected=true],[aria-checked=true],[aria-current=page],[aria-current=true],.is-on),
.v4-app[data-ui=next][data-redesign] :where(.crm-segment,.approval-tabs)>:where([aria-pressed=true],[aria-selected=true],[aria-current=page],.active){background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:600}

.v4-app[data-ui=next][data-redesign] .rd-seg>:is(button,a,label):is(:disabled,[aria-disabled=true]),
.v4-app[data-ui=next][data-redesign] .rd-ctl-tabs>:is(button,a):is(:disabled,[aria-disabled=true]){opacity:.4;cursor:default}

/* 6 · tabs: quiet text pills, the current one on a grey fill ---------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-tabs,
.v4-app[data-ui=next][data-redesign] :where(.crm-tabs){display:flex;align-items:center;gap:4px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.v4-app[data-ui=next][data-redesign] .rd-ctl-tabs>:is(button,a),
.v4-app[data-ui=next][data-redesign] :where(.crm-tabs)>:where(button,a){flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;box-sizing:border-box;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--gb-ink-2);font:500 14px/1 var(--gb-font);text-decoration:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-tabs>:is(button,a):where(:not(:disabled,[aria-disabled=true])):hover,
.v4-app[data-ui=next][data-redesign] :where(.crm-tabs)>:where(button,a):where(:not(:disabled,[aria-disabled=true])):hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-tabs>:is([aria-selected=true],[aria-current=page],[aria-pressed=true],.is-on),
.v4-app[data-ui=next][data-redesign] :where(.crm-tabs)>:where([aria-selected=true],[aria-current=page],[aria-pressed=true],.active){background:var(--gb-fill-2);color:var(--gb-ink)}

/* 7 · iOS switch: grey off, green on, a white knob that slides ------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-switch,
.v4-app[data-ui=next][data-redesign] :where(input[type=checkbox][role=switch]){-webkit-appearance:none;appearance:none;position:relative;display:inline-block;flex:none;width:46px;height:28px;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:999px;background:radial-gradient(circle closest-side,var(--rd-ctl-knob) calc(100% - 1px),transparent) 2px 50%/24px 24px no-repeat,radial-gradient(circle closest-side,var(--gb-floor),transparent) 1px calc(50% + 1px)/26px 26px no-repeat,var(--gb-switch-off);vertical-align:middle;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-2) var(--gb-ease),background-position var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-switch:is(:checked,[aria-checked=true]),
.v4-app[data-ui=next][data-redesign] :where(input[type=checkbox][role=switch]):checked{background-color:var(--rd-green);background-position:20px 50%,19px calc(50% + 1px)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-switch:is(:disabled,[aria-disabled=true]),
.v4-app[data-ui=next][data-redesign] :where(input[type=checkbox][role=switch]):is(:disabled,[aria-disabled=true]){opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .gb-switch__track{width:46px;height:28px}
.v4-app[data-ui=next][data-redesign] .gb-switch__track::after{width:24px;height:24px;background:var(--rd-ctl-knob)}
.v4-app[data-ui=next][data-redesign] .gb-switch input:checked+.gb-switch__track{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .gb-switch input:checked+.gb-switch__track::after{transform:translateX(18px);background:var(--rd-ctl-knob)}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-ctl-switch,
  .v4-app[data-ui=next][data-redesign] :where(input[type=checkbox][role=switch]){width:51px;height:31px;background-size:27px 27px,29px 29px,auto}
  .v4-app[data-ui=next][data-redesign] .rd-ctl-switch:is(:checked,[aria-checked=true]),
  .v4-app[data-ui=next][data-redesign] :where(input[type=checkbox][role=switch]):checked{background-position:22px 50%,21px calc(50% + 1px)}
}

/* 8 · checkboxes and radios take iMessage blue ----------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] :where(input[type=checkbox]:not([role=switch]):not(.rd-ctl-switch),input[type=radio]){accent-color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .gb-check input:checked+.gb-check__box,
.v4-app[data-ui=next][data-redesign] .gb-check__box.is-mixed{background:var(--rd-blue);color:var(--rd-ctl-on)}
.v4-app[data-ui=next][data-redesign] :where(.backend-checkbox){display:flex;align-items:flex-start;gap:10px;color:var(--gb-ink-2);font:400 14px/1.45 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next][data-redesign] :where(.backend-checkbox) :where(input[type=checkbox]){flex:none;width:18px;height:18px;margin:1px 0 0}

/* 9 · fields: a label over a 10px-corner field, the focus ring in blue ---------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-field,
.v4-app[data-ui=next][data-redesign] :where(.crm-field){display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--gb-ink-2);font:500 13px/1.3 var(--gb-font);letter-spacing:0;text-transform:none}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea),
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea){width:100%;min-width:0;min-height:var(--rd-ctl-h);box-sizing:border-box;margin:0;padding:0 12px;border:0;border-radius:var(--gb-r-sm);background:var(--rd-ctl-field-bg);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink);font:400 var(--rd-ctl-field-fs)/1.35 var(--gb-font);letter-spacing:0;outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease),background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field textarea,
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where(textarea){min-height:88px;padding:10px 12px;line-height:1.45;resize:vertical}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field :where(input,select,textarea):hover,
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where(input:not([type=checkbox]):not([type=radio]),select,textarea):hover{box-shadow:inset 0 0 0 1px var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field :where(input,select,textarea):focus,
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{box-shadow:inset 0 0 0 1px var(--gb-focus),var(--rd-ctl-ring)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field :where(input,textarea)::placeholder,
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where(input,textarea)::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field :where(input,select,textarea):is(:disabled,[aria-disabled=true]),
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where(input,select,textarea):is(:disabled,[aria-disabled=true]){opacity:.5;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field :where([aria-invalid=true]),
.v4-app[data-ui=next][data-redesign] :where(.crm-field,.backend-modal) :where([aria-invalid=true]){box-shadow:inset 0 0 0 1px var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field__hint{color:var(--gb-ink-3);font:400 12.5px/1.4 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-field__error{color:var(--rd-red);font:400 12.5px/1.4 var(--gb-font)}
/* Search field: grey fill, a magnifier, 36px. */
.v4-app[data-ui=next][data-redesign] .rd-ctl-search{position:relative;display:flex;align-items:center;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-ctl-search>svg{position:absolute;left:10px;width:16px;height:16px;color:var(--gb-ink-3);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-ctl-search>input{width:100%;min-width:0;height:36px;box-sizing:border-box;margin:0;padding:0 12px 0 32px;border:0;border-radius:var(--gb-r-sm);background:var(--gb-fill);color:var(--gb-ink);font:400 var(--rd-ctl-field-fs)/1 var(--gb-font);outline:none;box-shadow:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-search>input::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-ctl-search>input:focus{box-shadow:var(--rd-ctl-ring)}

/* 10 · tables: hairline rows, quiet headers, tabular numbers -------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-table,
.v4-app[data-ui=next][data-redesign] :where(.crm-table){width:100%;border-collapse:separate;border-spacing:0;color:var(--gb-ink);font:400 14px/1.35 var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-ctl-table th,
.v4-app[data-ui=next][data-redesign] :where(.crm-table) :where(th){height:36px;padding:0 12px;border:0;background:transparent;box-shadow:inset 0 -.5px 0 var(--gb-hair-2);color:var(--gb-ink-2);font:600 12px/1.2 var(--gb-font);letter-spacing:0;text-align:left;text-transform:none;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-ctl-table td,
.v4-app[data-ui=next][data-redesign] :where(.crm-table) :where(td){height:48px;padding:8px 12px;border:0;box-shadow:inset 0 -.5px 0 var(--gb-hair);vertical-align:middle;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-table tbody tr:last-child td,
.v4-app[data-ui=next][data-redesign] :where(.crm-table) :where(tbody tr:last-child td){box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-ctl-table tbody tr:hover td,
.v4-app[data-ui=next][data-redesign] :where(.crm-table) :where(tbody tr:hover td){background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-table :is(th,td).rd-ctl-num{text-align:right}

/* 11 · empty states: a grey disc, one line of title, one of help, one action ---------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-empty,
.v4-app[data-ui=next][data-redesign] :where(.crm-empty,.backend-empty){display:flex;flex-direction:column;align-items:center;gap:6px;box-sizing:border-box;padding:48px 24px;color:var(--gb-ink-2);font:400 15px/1.45 var(--gb-font);text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-ctl-empty__ic{display:grid;place-items:center;width:56px;height:56px;margin:0 0 8px;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-empty__ic>svg{width:26px;height:26px}
.v4-app[data-ui=next][data-redesign] .rd-ctl-empty__title{margin:0;color:var(--gb-ink);font:600 17px/1.3 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign] .rd-ctl-empty__text{max-width:360px;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-ctl-empty>:is(.rd-btn,:where(.primary-button,.secondary-button)){margin-top:12px}

/* 12 · skeletons: grey bars that shimmer while a number loads (never a fake number) ------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-skel{display:block;height:12px;margin:6px 0;border-radius:6px;background:linear-gradient(90deg,var(--gb-fill) 0%,var(--gb-fill-2) 40%,var(--gb-fill) 80%) 0 0/300% 100%;color:transparent;animation:gbn-rd-shell-ctl-skel 1.4s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-ctl-skel--title{width:40%;height:20px}
.v4-app[data-ui=next][data-redesign] .rd-ctl-skel--num{width:72px;height:30px;border-radius:8px}
.v4-app[data-ui=next][data-redesign] .rd-ctl-skel--short{width:60%}
.v4-app[data-ui=next][data-redesign] .rd-ctl-skel--circle{flex:none;width:36px;height:36px;margin:0;border-radius:50%}
.v4-app[data-ui=next][data-redesign] .rd-ctl-skel--block{height:96px;border-radius:var(--gb-r-md)}

/* 13 · notices and errors: a tinted panel, ink text; red only for what failed ----------------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-note{box-sizing:border-box;padding:12px 14px;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink-2);font:400 14px/1.45 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-note--needs{background:color-mix(in srgb,var(--rd-orange) 12%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-note--done{background:color-mix(in srgb,var(--rd-green) 12%,transparent);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-ctl-note--fail,
.v4-app[data-ui=next][data-redesign] :where(.backend-alert){box-sizing:border-box;padding:12px 14px;border:0;border-radius:12px;background:color-mix(in srgb,var(--rd-red) 9%,transparent);color:var(--gb-ink);font:400 14px/1.45 var(--gb-font);box-shadow:none}

/* 14 · sheets: a centred 22px dialog on a desktop, a bottom sheet with a grabber on a phone -------------- */
.v4-app[data-ui=next][data-redesign] .rd-ctl-sheet-scrim,
.v4-app[data-ui=next][data-redesign] :where(.backend-modal-backdrop){position:fixed;inset:0;z-index:920;background:var(--gb-scrim);-webkit-backdrop-filter:none;backdrop-filter:none;animation:gbn-rd-shell-ctl-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-ctl-sheet,
.v4-app[data-ui=next][data-redesign] :where(.backend-modal){position:fixed;inset:auto;top:50%;left:50%;z-index:921;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;margin:0;padding:24px 28px 28px;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-3);transform:translate(-50%,-50%);-webkit-backdrop-filter:none;backdrop-filter:none;animation:gbn-rd-shell-ctl-sheet var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(header){display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(h2),
.v4-app[data-ui=next][data-redesign] .rd-ctl-sheet__title{margin:4px 0 10px;color:var(--gb-ink);font:700 24px/1.2 var(--gb-font);letter-spacing:-.022em}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(p){margin:0 0 12px;color:var(--gb-ink-2);font:400 15px/1.5 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(p strong){color:var(--gb-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(.crm-field){margin:14px 0}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(header) :where(.icon-button){width:30px;height:30px;min-width:30px;background:var(--gb-fill-2);color:var(--gb-ink-2);font-size:18px}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal) :where(form>.primary-button,section>.primary-button){display:flex;width:100%;min-height:48px;margin-top:8px;font-size:15px}
.v4-app[data-ui=next][data-redesign] :where(.backend-modal)>:where(.text-button){display:flex;justify-content:center;width:100%;margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-ctl-sheet__ft{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-ctl-sheet,
  .v4-app[data-ui=next][data-redesign] :where(.backend-modal){top:auto;right:0;bottom:0;left:0;width:100%;max-width:none;max-height:calc(100dvh - 40px);padding:8px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;transform:none;animation-name:gbn-rd-shell-ctl-up}
  .v4-app[data-ui=next][data-redesign] .rd-ctl-sheet::before,
  .v4-app[data-ui=next][data-redesign] :where(.backend-modal)::before{content:"";display:block;width:36px;height:5px;margin:0 auto 14px;border-radius:3px;background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] .rd-ctl-sheet__ft{flex-direction:column-reverse}
  .v4-app[data-ui=next][data-redesign] .rd-ctl-sheet__ft>*{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-btn{min-height:44px}
}

/* 15 · motion -------------------------------------------------------------------------------------------- */
@keyframes gbn-rd-shell-ctl-spin{to{transform:rotate(360deg)}}
@keyframes gbn-rd-shell-ctl-skel{from{background-position:100% 0}to{background-position:-200% 0}}
@keyframes gbn-rd-shell-ctl-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-shell-ctl-sheet{from{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes gbn-rd-shell-ctl-up{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] :is(.rd-ctl-skel,.rd-ctl-sheet,.rd-ctl-sheet-scrim),
  .v4-app[data-ui=next][data-redesign] .rd-pill--work::before,
  .v4-app[data-ui=next][data-redesign] :where(.backend-modal,.backend-modal-backdrop){animation:none}
}

/* ==========================================================================
   UI-REDESIGN · Home (ff.ui.redesign, default off) · src/v4/pages/home-redesign.html
   --------------------------------------------------------------------------
   The owner's dashboard: apple.com calm, one column, 1180px at most. A greeting and one status line, the
   "Message your Manager" composer (mic, Call), then Needs you, Live now, This week (tiles and a revenue
   chart), Today, Your Manager is working on, Growth, Just happened.
   Light: white canvas with grey tiles. Dark: black canvas with #1c1c1e tiles. Every colour is a token from
   zz-next-zzz-rd-0-tokens.css; colour means status only (blue live, green done, orange needs you, red failed).
   Every rule is scoped under .rd-home, so the shared rd- component names never reach another page.
   ========================================================================== */

.v4-app[data-ui=next][data-redesign] .rd-home{
  --rd-home-tile:var(--rd-grouped);--rd-home-tile-2:var(--gb-surface);--rd-home-press:var(--gb-press);
  --rd-home-orange-ink:var(--gb-ember-ink);--rd-home-green-ink:var(--gb-sage-ink);--rd-home-red-ink:color-mix(in srgb,var(--rd-red) 82%,black);
  --rd-home-orange-tint:color-mix(in srgb,var(--rd-orange) 15%,transparent);--rd-home-green-tint:color-mix(in srgb,var(--rd-green) 15%,transparent);
  --rd-home-red-tint:color-mix(in srgb,var(--rd-red) 13%,transparent);--rd-home-blue-tint:color-mix(in srgb,var(--rd-blue) 13%,transparent);
  --rd-home-pad:40px;
  display:flex;flex-direction:column;gap:40px;width:100%;max-width:calc(1180px + 2 * var(--rd-home-pad));margin:0 auto;padding:36px var(--rd-home-pad) 72px;box-sizing:border-box;
  color:var(--gb-ink);font-family:var(--gb-font);font-size:15px;line-height:1.4;letter-spacing:-.006em;font-variant-numeric:tabular-nums;
  animation:gbn-rd-home-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-home{--rd-home-tile:var(--gb-surface);--rd-home-tile-2:var(--gb-raised);--rd-home-red-ink:color-mix(in srgb,var(--rd-red) 88%,white)}
.v4-app[data-ui=next][data-redesign] .rd-home *{box-sizing:border-box}
/* Resets carry no more weight than one class (:where), so every rule below wins over them. They skip the metric
   visuals (.rd-home-glance), which bring their own styles. */
.v4-app[data-ui=next][data-redesign] .rd-home :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,pre):where(:not(.rd-home-glance *)){margin:0;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-home :where(ul,ol):where(:not(.rd-home-glance *)){list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-home :where(button):where(:not(.rd-home-glance *)){font:inherit;letter-spacing:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.v4-app[data-ui=next][data-redesign] .rd-home :is(button,input):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-home :where(svg:not(.rd-home-svg)):where(:not(.rd-home-glance *)){width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] .rd-home .orb{box-shadow:none}

/* ---- Header: date, greeting, the Manager's one status line, owner mode ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-home-hd-text{min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-home-date{font-size:13px;font-weight:600;color:var(--gb-ink-2);letter-spacing:0;margin-bottom:6px}
.v4-app[data-ui=next][data-redesign] .rd-home-title{font-size:30px;font-weight:700;letter-spacing:-.022em;line-height:1.12;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-status{display:flex;align-items:center;gap:9px;margin-top:10px;font-size:17px;line-height:1.35;color:var(--gb-ink-2);letter-spacing:-.012em}
.v4-app[data-ui=next][data-redesign] .rd-home-status-orb{width:20px;height:20px}
.v4-app[data-ui=next][data-redesign] .rd-home[data-loading] .rd-home-status-orb{animation:gbn-rd-home-breathe 1.6s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-mode{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:340px}
.v4-app[data-ui=next][data-redesign] .rd-home-mode-hint{font-size:12px;color:var(--gb-ink-3);text-align:right}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-seg{display:inline-flex;padding:2px;border-radius:9px;background:var(--gb-fill-2);gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-seg-btn{height:28px;padding:0 14px;border:0;border-radius:7px;background:transparent;font-size:13px;font-weight:500;color:var(--gb-ink);cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-seg-btn[aria-pressed=true]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-home-banner{padding:12px 16px;border-radius:12px;background:var(--rd-home-red-tint);color:var(--rd-home-red-ink);font-size:14px}

/* ---- The composer: a floating pill, orb, field, mic, send, the blue Call button; chips below ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-ask{display:flex;flex-direction:column;gap:14px;margin-top:-8px}
.v4-app[data-ui=next][data-redesign] .rd-home-composer{display:flex;align-items:center;gap:8px;min-height:64px;padding:8px 8px 8px 16px;border-radius:999px;background:var(--gb-surface);box-shadow:var(--gb-shadow-2);transition:box-shadow var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home-composer:focus-within{box-shadow:var(--gb-shadow-2),0 0 0 4px var(--rd-home-blue-tint)}
.v4-app[data-ui=next][data-redesign] .rd-home-composer-orb{width:30px;height:30px}
.v4-app[data-ui=next][data-redesign] .rd-home-input{flex:1;min-width:0;height:44px;padding:0 6px;border:0;outline:0;background:transparent;color:var(--gb-ink);font:inherit;font-size:17px;letter-spacing:-.012em}
.v4-app[data-ui=next][data-redesign] .rd-home-input::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-ibtn{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-ibtn:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-ibtn svg{width:20px;height:20px}
.v4-app[data-ui=next][data-redesign] .rd-home-mic[aria-pressed=true]{background:var(--rd-home-red-tint);color:var(--rd-red);animation:gbn-rd-home-breathe 1.4s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-send{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--rd-blue);color:var(--rd-blue-ink);cursor:pointer;animation:gbn-rd-home-pop var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-home-send svg{width:18px;height:18px;stroke-width:2.2}
.v4-app[data-ui=next][data-redesign] .rd-home-call{flex:none;height:48px;padding:0 22px 0 18px;font-size:16px}
.v4-app[data-ui=next][data-redesign] .rd-home-composer[data-call=live] .rd-home-call{background:var(--rd-red);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-composer[data-call=return] .rd-home-call{background:var(--rd-green);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-note{padding:0 20px;font-size:13px;color:var(--rd-home-orange-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px}
.v4-app[data-ui=next][data-redesign] .rd-home-chip{height:36px;padding:0 15px;border:0;border-radius:999px;background:var(--rd-home-tile);color:var(--gb-ink);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home-chip:hover{background-image:linear-gradient(var(--gb-hover),var(--gb-hover))}
.v4-app[data-ui=next][data-redesign] .rd-home-chip:active{transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] .rd-home-chip:is(:disabled,[aria-disabled=true]){opacity:.5;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-home-chip[data-chip=catch]{background:var(--rd-home-blue-tint);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-home-chip--more{background:transparent;color:var(--rd-blue)}

/* ---- Shared parts: buttons, pills, cards, lists, dots ---- */
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 18px;border:0;border-radius:999px;font-size:15px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn:active{transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn:is(:disabled,[aria-disabled=true]){opacity:.45;cursor:default;transform:none}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--sm{height:32px;padding:0 14px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--pri{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--pri:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--sec{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--sec:hover{background-image:linear-gradient(var(--gb-hover),var(--gb-hover))}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--blue{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--blue:hover{opacity:.9}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--danger{background:var(--gb-fill-2);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--plain{background:transparent;color:var(--gb-ink-2);padding:0 10px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--plain:hover{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-btn svg{width:17px;height:17px;stroke-width:1.8}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;background:var(--gb-fill);color:var(--gb-ink-2);flex:none}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next][data-redesign] .rd-home :is(.rd-pill--needs,.rd-pill[data-tone=needs]){background:var(--rd-home-orange-tint);color:var(--rd-home-orange-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home :is(.rd-pill--work,.rd-pill[data-tone=work],.rd-pill[data-tone=ready]){background:var(--rd-home-blue-tint);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-home :is(.rd-pill--done,.rd-pill[data-tone=done]){background:var(--rd-home-green-tint);color:var(--rd-home-green-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home :is(.rd-pill--fail,.rd-pill[data-tone=fail]){background:var(--rd-home-red-tint);color:var(--rd-home-red-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-pill[data-tone=work]::before{animation:gbn-rd-home-pulse 1.8s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-card{position:relative;border-radius:18px;background:var(--rd-home-tile);min-width:0}
/* The shared card padding weighs one class, so a section's own padding below wins over it. */
.v4-app[data-ui=next][data-redesign] .rd-home :where(.rd-card){padding:20px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-list{display:flex;flex-direction:column}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-row{display:flex;align-items:center;gap:12px;min-height:52px;width:100%;padding:10px 0;border:0;background:transparent;text-align:left;position:relative}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-list>li+li>.rd-row::before,.v4-app[data-ui=next][data-redesign] .rd-home .rd-list>li.rd-row+li.rd-row::before{content:"";position:absolute;top:0;left:0;right:0;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-list>li+li>button.rd-row::before{left:10px;right:10px}
/* Separators start where the text starts, past a row's icon (Apple's inset lists). */
.v4-app[data-ui=next][data-redesign] .rd-home .rd-list>li+li>button.rd-home-job::before{left:46px}
.v4-app[data-ui=next][data-redesign] .rd-home :is(.rd-home-alerts,.rd-home-activity .rd-list)>li.rd-row+li.rd-row::before{left:44px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-list>li.rd-home-live-row+li.rd-home-live-row::before{left:52px}
.v4-app[data-ui=next][data-redesign] .rd-home button.rd-row{cursor:pointer;border-radius:12px;margin:0 -10px;padding-inline:10px;width:calc(100% + 20px);transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home button.rd-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-row-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-row-main>b{font-size:15px;font-weight:500;color:var(--gb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-row-main>small{font-size:13px;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots{display:inline-flex;align-items:center;gap:4px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots i{width:10px;height:10px;border-radius:50%;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots i[data-state=done]{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots i[data-state=work]{background:var(--rd-blue);box-shadow:0 0 0 3px var(--rd-home-blue-tint)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots i[data-state=needs]{background:var(--rd-orange);box-shadow:0 0 0 3px var(--rd-home-orange-tint)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots i[data-state=fail]{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-dots i[data-state=skip]{background:transparent;border:1.5px solid var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-meta{font-size:12.5px;color:var(--gb-ink-3);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home-empty{font-size:14px;color:var(--gb-ink-2);line-height:1.45}
.v4-app[data-ui=next][data-redesign] .rd-home-error{font-size:13px;color:var(--rd-home-red-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-ok{font-size:13px;color:var(--rd-home-green-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-fine{margin-top:12px;font-size:12.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-link{display:inline-block;height:32px;line-height:32px;padding:0 4px;border:0;background:transparent;color:var(--rd-blue);font-size:15px;font-weight:400;cursor:pointer;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home-link:hover{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next][data-redesign] .rd-home-card-title{font-size:16px;font-weight:600;letter-spacing:-.012em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-card-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.v4-app[data-ui=next][data-redesign] .rd-home-sub-hd{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}
.v4-app[data-ui=next][data-redesign] .rd-home-sub-hd>h4{font-size:16px;font-weight:600;letter-spacing:-.012em}
.v4-app[data-ui=next][data-redesign] .rd-home-sub-hd>.rd-home-link{margin-left:auto}
.v4-app[data-ui=next][data-redesign] .rd-home-tick{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--rd-green);color:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-home-tick svg{width:20px;height:20px;stroke-width:2.4}
.v4-app[data-ui=next][data-redesign] .rd-home-tick--sm{width:18px;height:18px}
.v4-app[data-ui=next][data-redesign] .rd-home-tick--sm svg{width:12px;height:12px;stroke-width:2.6}
.v4-app[data-ui=next][data-redesign] .rd-home-skel{display:flex;flex-direction:column;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-home-skel i{display:block;height:14px;border-radius:7px;background:var(--gb-fill-2);animation:gbn-rd-home-shimmer 1.4s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-skel i:first-child{width:46%}
.v4-app[data-ui=next][data-redesign] .rd-home-skel i:last-child{width:72%}
.v4-app[data-ui=next][data-redesign] .rd-home-skel--flat{margin-top:16px}
.v4-app[data-ui=next][data-redesign] .rd-home-spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--rd-home-blue-tint);border-top-color:var(--rd-blue);animation:gbn-rd-home-spin .8s linear infinite;flex:none}

/* ---- Sections ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-sec{display:flex;flex-direction:column;gap:16px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-home-sec-hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-height:32px}
.v4-app[data-ui=next][data-redesign] .rd-home-sec-hd>h2{font-size:22px;font-weight:600;letter-spacing:-.018em;line-height:1.2;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-sec-sub{font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-sec-hd>.rd-home-link,.v4-app[data-ui=next][data-redesign] .rd-home-sec-acts{margin-left:auto}
.v4-app[data-ui=next][data-redesign] .rd-home-sec-acts{display:flex;align-items:center;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-home-count{align-self:center;display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--rd-orange);color:var(--gb-surface);font-size:13px;font-weight:600}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-home-count{color:var(--gb-ground)}
.v4-app[data-ui=next][data-redesign] .rd-home-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.v4-app[data-ui=next][data-redesign] .rd-home-stack{display:grid;gap:16px}

/* ---- Needs you ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-clear{display:flex;align-items:center;gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-home-clear-title{font-size:16px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-home-clear-sub{margin-top:2px;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-approvals{display:flex;flex-direction:column;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-home-need{display:flex;flex-direction:column;gap:16px;padding:22px 24px;animation:gbn-rd-home-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-home-need-body{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.v4-app[data-ui=next][data-redesign] .rd-home-need:is([data-first],[data-arming]){background:var(--rd-home-tile-2);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--rd-orange) 55%,transparent),var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]){flex-direction:row;align-items:center;gap:20px;padding:16px 16px 16px 24px}
.v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-hd{display:none}
.v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-body{gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-title{font-size:16px}
.v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-acts{margin-top:0;flex-wrap:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home-need-hd{display:flex;align-items:center;gap:12px;min-height:24px}
.v4-app[data-ui=next][data-redesign] .rd-home-need-kicker{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rd-home-orange-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-waited{display:inline-flex;align-items:center;gap:5px;margin-left:auto;height:26px;padding:0 10px;border-radius:999px;background:var(--rd-home-orange-tint);color:var(--rd-home-orange-ink);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-home-waited svg{width:14px;height:14px;stroke-width:2}
.v4-app[data-ui=next][data-redesign] .rd-home-need-title{font-size:21px;font-weight:600;letter-spacing:-.018em;line-height:1.25}
.v4-app[data-ui=next][data-redesign] .rd-home-need-detail{font-size:14px;color:var(--gb-ink-2);line-height:1.4}
.v4-app[data-ui=next][data-redesign] .rd-home-need-msg{align-self:flex-start;max-width:min(100%,620px);margin-top:6px;padding:10px 16px 11px;border-radius:19px;background:var(--rd-in);color:var(--rd-in-ink);font-size:16px;line-height:1.375;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-home-need:is([data-first],[data-arming]){background:var(--rd-home-tile)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-home-need-msg{background:var(--gb-raised);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-need-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px 16px}
.v4-app[data-ui=next][data-redesign] .rd-home-need-facts dt{font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-need-facts dd{font-size:14px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-need-hint{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-need-confirm{margin-top:6px;font-size:14px;font-weight:500;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-need-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}
.v4-app[data-ui=next][data-redesign] .rd-home-steps{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li[data-state=todo]{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li i{width:20px;height:20px;border-radius:50%;flex:none;border:1.5px dashed var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li[data-state=done] i{border:0;background:var(--rd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.5 3.5 7.5-8'/%3E%3C/svg%3E") center/13px no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li[data-state=work] i{border:2px dashed var(--rd-blue);animation:gbn-rd-home-spin 3s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li[data-state=needs] i{border:0;background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li[data-state=fail] i{border:0;background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-home-steps li[data-state=skip]>span{text-decoration:line-through}
.v4-app[data-ui=next][data-redesign] .rd-home-alerts{padding:4px 16px 4px 24px}
.v4-app[data-ui=next][data-redesign] .rd-home-alert-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;flex:none;background:var(--rd-home-orange-tint);color:var(--rd-home-orange-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-alert[data-tone=fail] .rd-home-alert-mark{background:var(--rd-home-red-tint);color:var(--rd-home-red-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-alert .rd-row-main>small{white-space:normal}
.v4-app[data-ui=next][data-redesign] .rd-home-more{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;height:32px;border:0;background:transparent;color:var(--rd-blue);font-size:15px;cursor:pointer;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-home-more svg{width:15px;height:15px}
.v4-app[data-ui=next][data-redesign] .rd-home-receipts{display:flex;flex-direction:column;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-home-receipts li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-held{display:flex;align-items:center;gap:14px;padding:14px 20px}
.v4-app[data-ui=next][data-redesign] .rd-home-held p{flex:1;min-width:0;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-held b{color:var(--gb-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-home-held-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);flex:none}

/* ---- Live now ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-live-pill{align-self:center}
.v4-app[data-ui=next][data-redesign] .rd-home-live .rd-card{padding-block:6px}
.v4-app[data-ui=next][data-redesign] .rd-home-av{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));color:var(--gb-av-ink);font-size:15px;font-weight:600;letter-spacing:0}
.v4-app[data-ui=next][data-redesign] .rd-home-live-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--rd-blue);animation:gbn-rd-home-ring 1.8s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-live-since{font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-home-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rd-green);animation:gbn-rd-home-pulse 1.8s var(--gb-ease) infinite;align-self:center}

/* ---- This week: tiles and the revenue chart ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:138px;padding:18px 20px;border:0;border-radius:18px;background:var(--rd-home-tile);text-align:left;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi:hover{background-image:linear-gradient(var(--gb-hover),var(--gb-hover))}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi:active{transform:scale(.985)}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi-label{font-size:14px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi-value{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--gb-ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.v4-app[data-ui=next][data-redesign] .rd-home[data-loading] .rd-home-kpi-value{color:var(--gb-ink-3)}
/* the number text renders as a block, so the star sits beside it in a flex row */
.v4-app[data-ui=next][data-redesign] .rd-home-kpi-value:has(.rd-home-kpi-star){display:flex;align-items:center}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-home-kpi-star{width:24px;height:24px;margin-left:6px;fill:currentColor;stroke-width:1.2}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi-foot{display:flex;align-items:baseline;gap:8px;margin-top:auto;min-width:0;max-width:100%}
.v4-app[data-ui=next][data-redesign] .rd-home-kpi-sub{font-size:13px;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-home-delta{flex:none;font-size:13px;font-weight:600;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-delta[data-dir=up]{color:var(--rd-home-green-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-delta[data-dir=down]{color:var(--rd-home-red-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-chart{padding:22px 24px 18px}
.v4-app[data-ui=next][data-redesign] .rd-home-chart-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.v4-app[data-ui=next][data-redesign] .rd-home-legend{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:6px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-key{display:inline-flex;align-items:center;gap:7px}
.v4-app[data-ui=next][data-redesign] .rd-home-key b{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-key i{width:14px;height:3px;border-radius:2px;background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-home-key[data-series=last] i{background:repeating-linear-gradient(90deg,var(--gb-ink-3) 0 4px,transparent 4px 7px)}
.v4-app[data-ui=next][data-redesign] .rd-home-plot{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-home-plot>:not(.rd-home-plot-area,.rd-home-yaxis){grid-column:1}
.v4-app[data-ui=next][data-redesign] .rd-home-plot-area{position:relative;height:230px}
.v4-app[data-ui=next][data-redesign] .rd-home-grid{position:absolute;inset:0;pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-home-gridline{position:absolute;left:0;right:0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-home-yaxis{position:relative;width:48px}
.v4-app[data-ui=next][data-redesign] .rd-home-yaxis>span{position:absolute;left:0;transform:translateY(-50%);font-size:11.5px;color:var(--gb-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-home-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v4-app[data-ui=next][data-redesign] .rd-home-svg path{vector-effect:non-scaling-stroke}
.v4-app[data-ui=next][data-redesign] .rd-home-stop-top{stop-color:var(--rd-blue);stop-opacity:.2}
.v4-app[data-ui=next][data-redesign] .rd-home-stop-bottom{stop-color:var(--rd-blue);stop-opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-home-area{stroke:none}
.v4-app[data-ui=next][data-redesign] .rd-home-line{fill:none;stroke:var(--rd-blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] .rd-home-last{fill:none;stroke:var(--gb-ink-3);stroke-width:1.75;stroke-dasharray:4 5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.v4-app[data-ui=next][data-redesign] .rd-home-dot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--rd-home-tile);border:2px solid var(--rd-blue);pointer-events:none;transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home-dot[data-selected=true]{background:var(--rd-blue);transform:scale(1.35);box-shadow:0 0 0 4px var(--rd-home-blue-tint)}
.v4-app[data-ui=next][data-redesign] .rd-home-hits{position:absolute;inset:0}
.v4-app[data-ui=next][data-redesign] .rd-home-hit{position:absolute;top:0;bottom:0;border:0;background:transparent;cursor:pointer;border-radius:10px}
.v4-app[data-ui=next][data-redesign] .rd-home-hit::after{content:"";position:absolute;top:4%;bottom:0;left:50%;border-left:1px solid var(--gb-hair-2);opacity:0;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home-hit:hover::after{opacity:.6}
.v4-app[data-ui=next][data-redesign] .rd-home-hit[aria-pressed=true]::after{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-home-axis{position:relative;height:22px;margin-top:10px}
.v4-app[data-ui=next][data-redesign] .rd-home-axis>span{position:absolute;top:0;transform:translateX(-50%);font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-axis>span[data-today]{color:var(--gb-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-home-axis>span[data-pressed=true]{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-home-readout{margin-top:12px;font-size:13px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-home-plot-skel{height:250px;border-radius:12px;background:linear-gradient(180deg,transparent 30%,var(--gb-fill) 100%);animation:gbn-rd-home-shimmer 1.4s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-paid{margin-top:20px;padding-top:16px;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-amount{font-size:15px;font-weight:500;color:var(--gb-ink);font-variant-numeric:tabular-nums}

/* ---- Today ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-sched .rd-home-card-title{margin-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-home-agenda{display:flex;flex-direction:column}
.v4-app[data-ui=next][data-redesign] .rd-home-appt{display:flex;align-items:center;gap:14px;width:calc(100% + 20px);min-height:56px;margin:0 -10px;padding:8px 10px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer;position:relative;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-home-appt:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-home-agenda li+li .rd-home-appt::before{content:"";position:absolute;top:0;left:96px;right:10px;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-appt-time{width:72px;flex:none;font-size:14px;font-weight:500;color:var(--gb-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home-appt-state{flex:none;font-size:13px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-appt[data-tone=done] :is(.rd-home-appt-time,.rd-row-main>b){color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-appt[data-tone=done] .rd-home-appt-state{color:var(--rd-home-green-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-appt[data-tone=live] .rd-home-appt-state{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:var(--rd-blue);color:var(--rd-blue-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-home-appt[data-tone=live] .rd-home-appt-time{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-home-appt[data-tone=next] .rd-home-appt-state{color:var(--rd-blue);font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-home-plan-busy{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-plan-text{white-space:pre-wrap;font:inherit;font-size:15px;line-height:1.5;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-plan{display:flex;flex-direction:column}
/* Before a plan exists, the invitation sits in the middle of the card (which matches the schedule's height). */
.v4-app[data-ui=next][data-redesign] .rd-home-plan-idle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;flex:1;padding:12px 8px 16px;text-align:center;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-plan-idle b{font-size:15px;font-weight:500;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-promised{margin-top:18px;padding-top:16px;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-checks{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-home-checks li{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-home-checks li i{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-checks li[data-state=done] i{border:0;background:var(--rd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.5 3.5 7.5-8'/%3E%3C/svg%3E") center/12px no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-home-checks li[data-state=done]>span{color:var(--gb-ink-3);text-decoration:line-through}
.v4-app[data-ui=next][data-redesign] .rd-home-checks small{font-size:12.5px;color:var(--gb-ink-3)}

/* ---- Your Manager is working on ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-work-card{padding-block:10px}
.v4-app[data-ui=next][data-redesign] .rd-home-work-card>.rd-home-empty{padding:10px 0}
.v4-app[data-ui=next][data-redesign] .rd-home-job .rd-row-main>small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v4-app[data-ui=next][data-redesign] .rd-home-progress{display:flex;align-items:center;gap:10px;margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-home-chev{color:var(--gb-ink-3);width:16px;height:16px}
.v4-app[data-ui=next][data-redesign] .rd-home-state{position:relative;width:24px;height:24px;flex:none;border-radius:50%}
.v4-app[data-ui=next][data-redesign] .rd-home-state[data-tone=work]{border:2.5px solid var(--rd-home-blue-tint);border-top-color:var(--rd-blue);animation:gbn-rd-home-spin .9s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-home-state[data-tone=needs]{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-home-state[data-tone=needs]::after{content:"!";position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-home-state[data-tone=idle]{border:2px dashed var(--rd-blue);opacity:.7}
.v4-app[data-ui=next][data-redesign] .rd-home-state[data-tone=fail]{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-home-state[data-tone=done]{background:var(--rd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.5 3.5 7.5-8'/%3E%3C/svg%3E") center/14px no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-home-done{margin-top:10px;padding-top:14px;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-done-item .rd-row-main>b{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home .rd-row-main>small.rd-home-tickline{color:var(--rd-home-green-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-check{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 10px 36px}
.v4-app[data-ui=next][data-redesign] .rd-home-check-note{display:block;padding:0 0 10px 36px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-outbox,.v4-app[data-ui=next][data-redesign] .rd-home-auto{padding-block:16px 10px}
.v4-app[data-ui=next][data-redesign] .rd-home-send-row[data-tone=soon] .rd-row-main>small:last-child{color:var(--rd-home-orange-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-send-row[data-tone=cancelled] .rd-row-main>b{color:var(--gb-ink-3);text-decoration:line-through}
.v4-app[data-ui=next][data-redesign] .rd-home-send-row[data-last] .rd-row-main>small{color:var(--rd-home-orange-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-preview{font-style:normal}
.v4-app[data-ui=next][data-redesign] .rd-home-inline-confirm{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--gb-ink-2);flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks>span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks i{width:7px;height:7px;border-radius:50%;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks>span[data-state=done]{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks>span[data-state=done] i{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks>span[data-state=bad]{color:var(--rd-home-red-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-ticks>span[data-state=bad] i{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-home-auto .rd-home-sub-hd{align-items:center;margin-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-home-runs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 28px;padding-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-home-runs li{display:flex;flex-direction:column;gap:7px;min-width:0;padding:6px 0}
.v4-app[data-ui=next][data-redesign] .rd-home-run-name{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-home-run-track{display:block;height:6px;border-radius:3px;background:var(--gb-fill-2);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-home-run-track>span{display:block;height:100%;border-radius:3px;background:var(--rd-green)}

/* ---- Growth ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-goal{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.v4-app[data-ui=next][data-redesign] .rd-home-ring-wrap{display:flex;align-items:center;gap:20px}
.v4-app[data-ui=next][data-redesign] .rd-home-ring{position:relative;width:96px;height:96px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--rd-green) calc(var(--p,0) * 1%),var(--gb-fill-2) 0)}
.v4-app[data-ui=next][data-redesign] .rd-home-ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--rd-home-tile)}
.v4-app[data-ui=next][data-redesign] .rd-home-ring b{position:relative;font-size:20px;font-weight:600;letter-spacing:-.02em}
.v4-app[data-ui=next][data-redesign] .rd-home-goal-value{font-size:22px;font-weight:600;letter-spacing:-.02em}
.v4-app[data-ui=next][data-redesign] .rd-home-goal-note{margin-top:4px;font-size:13px;color:var(--gb-ink-2);line-height:1.4}
.v4-app[data-ui=next][data-redesign] .rd-home-target{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-home-target-now{display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-home-target-value{font-size:24px;font-weight:600;letter-spacing:-.02em}
.v4-app[data-ui=next][data-redesign] .rd-home-target-set{display:flex;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-home-field{width:160px;height:36px;padding:0 12px;border:0;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink);font:inherit;font-size:15px}
.v4-app[data-ui=next][data-redesign] .rd-home-field::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-figure{display:flex;flex-direction:column;gap:6px}
.v4-app[data-ui=next][data-redesign] .rd-home-figure-value{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.v4-app[data-ui=next][data-redesign] .rd-home-insight{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-home-insight-orb{width:40px;height:40px}
.v4-app[data-ui=next][data-redesign] .rd-home-insight-text{flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px}
.v4-app[data-ui=next][data-redesign] .rd-home-insight-who{font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-insight-line{font-size:17px;font-weight:500;letter-spacing:-.014em;line-height:1.35}
.v4-app[data-ui=next][data-redesign] .rd-home-insight .rd-home-meta{white-space:normal}

/* ---- Just happened, then the metric visuals ---- */
.v4-app[data-ui=next][data-redesign] .rd-home-activity .rd-card{padding-block:6px}
.v4-app[data-ui=next][data-redesign] .rd-home-activity .rd-row-main>b{white-space:normal}
.v4-app[data-ui=next][data-redesign] .rd-home-spark{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-spark svg{width:16px;height:16px}
.v4-app[data-ui=next][data-redesign] .rd-home-activity .rd-row[data-tone=fail] .rd-home-spark{background:var(--rd-home-red-tint);color:var(--rd-home-red-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-activity .rd-row[data-tone=needs] .rd-home-spark{background:var(--rd-home-orange-tint);color:var(--rd-home-orange-ink)}
/* The business glance (src/metric-visuals.html, compact) in the same calm style: a section title, one grouped list and
   one tile. Its brief is display:contents, so the title spans both columns and the list and the tile line up under it. */
.v4-app[data-ui=next][data-redesign] .rd-home-glance:not(:has(.metric-visuals)){display:none}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .metric-visuals{--mv-ink:var(--gb-ink);--mv-muted:var(--gb-ink-2);--mv-line:var(--gb-hair-2);--mv-surface:var(--rd-home-tile);--mv-raised:var(--rd-home-tile);--mv-track:var(--gb-fill-2);--mv-blue:var(--rd-blue);--mv-violet:var(--rd-blue);height:auto;margin:0;padding:0;background:transparent;border:0;box-shadow:none;font-family:var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-compact-layout[data-home=true]{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:0 16px;align-items:stretch;height:auto}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-brief{display:contents}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-brief .mv-eyebrow{display:none}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-brief>h2{display:block;grid-column:1/-1;margin:0;font-size:22px;font-weight:600;letter-spacing:-.018em;line-height:1.2;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-brief>p{display:block;grid-column:1/-1;max-width:none;margin:6px 0 16px;font-size:14px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links{grid-column:1;display:grid;grid-auto-rows:1fr;gap:0;margin:0;padding:6px 20px;border-radius:18px;background:var(--rd-home-tile)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-content:center;gap:3px 16px;width:calc(100% + 20px);margin:0 -10px;padding:12px 10px;border:0;border-radius:12px;background:transparent;box-shadow:none;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links button:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links button+button::before{content:"";position:absolute;top:0;left:10px;right:10px;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links button>span{font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links button>strong{grid-column:2;grid-row:1/3;align-self:center;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links button>small{font-size:13px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links i{font-style:normal;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary{grid-column:2;display:flex;flex-direction:column;gap:6px;min-width:0;padding:18px 20px;border:0;border-radius:18px;background:var(--rd-home-tile);color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary:hover{border:0;background:var(--rd-home-tile) linear-gradient(var(--gb-hover),var(--gb-hover))}
/* metric-visuals.css places the phone summary on a grid; in this flex column every part keeps its full width */
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary>*{grid-column:auto;grid-row:auto;align-self:auto}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary-heading{font-size:14px;font-weight:500;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary-heading i{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary-value{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary small{font-size:13px;line-height:1.35;color:var(--gb-ink-2)}
/* metric-visuals.css pins the period at 10px with !important; zoom brings it to 12px without another !important */
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary-period{zoom:1.2;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary-trend{height:44px;margin:6px 0}
.v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary-link{margin-top:auto;padding-top:12px;border-top:.5px solid var(--gb-hair-2);font-size:14px;color:var(--rd-blue)}

/* ---- Tablet and phone: one column, the composer first, 44px targets ---- */
@container gb-main (max-width:1000px){
  .v4-app[data-ui=next][data-redesign] .rd-home{--rd-home-pad:24px}
  .v4-app[data-ui=next][data-redesign] .rd-home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container gb-main (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-home :where(.rd-card){padding:16px}
  .v4-app[data-ui=next][data-redesign] .rd-home{--rd-home-pad:16px;gap:32px;padding-top:16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-ask{order:-1;margin-top:0}
  .v4-app[data-ui=next][data-redesign] .rd-home-hd{margin-top:-8px}
  .v4-app[data-ui=next][data-redesign] .rd-home-title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-home-status{font-size:16px;align-items:flex-start}
  .v4-app[data-ui=next][data-redesign] .rd-home-status-orb{margin-top:1px}
  .v4-app[data-ui=next][data-redesign] .rd-home-mode{align-items:flex-start;max-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-home-mode-hint{text-align:left}
  .v4-app[data-ui=next][data-redesign] .rd-home-composer{min-height:60px;padding:6px 6px 6px 12px;gap:4px}
  .v4-app[data-ui=next][data-redesign] .rd-home-composer-orb{width:26px;height:26px}
  .v4-app[data-ui=next][data-redesign] .rd-home-input{font-size:17px;padding:0 4px}
  .v4-app[data-ui=next][data-redesign] .rd-home .rd-ibtn,.v4-app[data-ui=next][data-redesign] .rd-home-send{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-home-call{height:48px;width:48px;padding:0;border-radius:50%}
  .v4-app[data-ui=next][data-redesign] .rd-home-call>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] .rd-home-call svg{width:20px;height:20px}
  .v4-app[data-ui=next][data-redesign] .rd-home-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--rd-home-pad));padding:2px var(--rd-home-pad);scrollbar-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-home-chips::-webkit-scrollbar{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-home-chip{flex:none;height:44px;padding:0 16px;font-size:15px}
  .v4-app[data-ui=next][data-redesign] .rd-home .rd-btn{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-home .rd-btn--sm{height:44px;padding:0 16px;font-size:15px}
  .v4-app[data-ui=next][data-redesign] .rd-home-link{height:44px;line-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-home-sec-hd>h2{font-size:20px}
  .v4-app[data-ui=next][data-redesign] .rd-home-need{padding:18px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]){flex-direction:column;align-items:stretch;gap:12px;padding:16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-detail{white-space:normal}
  .v4-app[data-ui=next][data-redesign] .rd-home-need:not([data-first]):not([data-arming]) .rd-home-need-acts{flex-wrap:wrap}
  .v4-app[data-ui=next][data-redesign] .rd-home-need-title{font-size:19px}
  .v4-app[data-ui=next][data-redesign] .rd-home-need-acts{gap:6px}
  .v4-app[data-ui=next][data-redesign] .rd-home-need-acts .rd-btn{padding:0 14px}
  .v4-app[data-ui=next][data-redesign] .rd-home-need-acts .rd-btn--plain{padding:0 8px}
  .v4-app[data-ui=next][data-redesign] .rd-home-alerts{padding:4px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .v4-app[data-ui=next][data-redesign] .rd-home-kpi{min-height:118px;padding:14px 16px;border-radius:16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-kpi-value{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-home-kpi-foot{flex-direction:column;align-items:flex-start;gap:2px}
  .v4-app[data-ui=next][data-redesign] .rd-home-kpi-sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .v4-app[data-ui=next][data-redesign] .rd-home-pair{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] .rd-home .rd-card{border-radius:16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-work-card{padding-block:6px}
  .v4-app[data-ui=next][data-redesign] .rd-home-outbox,.v4-app[data-ui=next][data-redesign] .rd-home-auto{padding-block:14px 8px}
  .v4-app[data-ui=next][data-redesign] .rd-home-held{padding:12px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-chart{padding:18px 16px 14px}
  .v4-app[data-ui=next][data-redesign] .rd-home-plot-area{height:180px}
  .v4-app[data-ui=next][data-redesign] .rd-home-plot{column-gap:8px}
  .v4-app[data-ui=next][data-redesign] .rd-home-yaxis{width:40px}
  .v4-app[data-ui=next][data-redesign] .rd-home-live-row{flex-wrap:wrap}
  .v4-app[data-ui=next][data-redesign] .rd-home-target-set{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-home-field{flex:1;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-home-runs{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] .rd-home-job>.rd-pill{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-home-insight .rd-btn{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-compact-layout[data-home=true]{grid-template-columns:minmax(0,1fr);gap:0}
  .v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-links{padding:4px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-summary{grid-column:1;margin-top:12px;padding:16px}
  .v4-app[data-ui=next][data-redesign] .rd-home-glance .mv-home-brief>h2{font-size:20px}
}

/* ---- Motion (named gbn-rd-home-*; reduced motion drops it) ---- */
@keyframes gbn-rd-home-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-home-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes gbn-rd-home-spin{to{transform:rotate(360deg)}}
@keyframes gbn-rd-home-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes gbn-rd-home-breathe{0%,100%{transform:scale(1)}50%{transform:scale(.88)}}
@keyframes gbn-rd-home-ring{0%{opacity:.9;transform:scale(.92)}100%{opacity:0;transform:scale(1.18)}}
@keyframes gbn-rd-home-shimmer{0%,100%{opacity:.55}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .rd-home :is(.rd-home-status-orb,.rd-home-mic,.rd-pill,.rd-pill::before,.rd-home-skel i,.rd-home-spin,.rd-home-steps li i,.rd-home-live-ring,.rd-home-live-dot,.rd-home-plot-skel,.rd-home-state){animation:none}
  .v4-app[data-ui=next][data-redesign] .rd-home .rd-home-state[data-tone=work],.v4-app[data-ui=next][data-redesign] .rd-home .rd-home-steps li[data-state=work] i,.v4-app[data-ui=next][data-redesign] .rd-home .rd-pill[data-tone=work]::before,.v4-app[data-ui=next][data-redesign] .rd-home[data-loading] .rd-home-status-orb,.v4-app[data-ui=next][data-redesign] .rd-home .rd-home-mic[aria-pressed=true]{animation:none}
}

/* ==========================================================================
   UI-REDESIGN · calls: Messages (the Conversations page) and the live call sheet (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   Messages: the thread list on the left (monogram avatars, unread dot, channel glyph, "Live now"), the conversation in
   the middle (grey customer bubbles on the left, green outgoing texts on the right with the iMessage tail on the last
   bubble of a run, centred time stamps, who sent each text), the composer with the suggested reply as ghost text (Tab
   fills it in; a chip on phones), and the details pane (summary, who is replying, hand back review, next text).
   Calls: the call card with its recording, the after-call recap with next steps, and the transcript as bubbles.
   The live call sheet (rd-live.html): centred on desktop, a bottom sheet with a grabber on phones.
   Every selector starts .v4-app[data-ui=next][data-redesign]; colours come from zz-next-zzz-rd-0-tokens.css, so light
   and dark both follow the root's data-theme. Blue is the owner and live things, green an outgoing text, orange
   "needs you", red failed or destructive.
   ========================================================================== */

/* ---- page frame ------------------------------------------------------------------------------------------------- */
/* Messages fills the shell's page region (between the top bar and the activity stage) and scrolls inside its own panes,
   so focus never scrolls the page under the top bar. The shell wraps every page in .mv-page-layout > .mv-page-main. */
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main>.rd-msgs){height:100%;min-height:0}
.v4-app[data-ui=next][data-redesign] .mv-page-main:has(>.rd-msgs){align-self:stretch;flex:1 1 auto;min-height:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs{position:relative;height:100%;min-height:360px;container:rd-msgs / inline-size;overflow:hidden;background:var(--gb-ground);color:var(--gb-ink);font-family:var(--gb-font);font-size:15px;line-height:1.4;letter-spacing:var(--gb-tr-ui);-webkit-font-smoothing:antialiased}
.v4-app[data-ui=next][data-redesign] .rd-msgs *,.v4-app[data-ui=next][data-redesign] .rd-msgs *::before,.v4-app[data-ui=next][data-redesign] .rd-msgs *::after,.v4-app[data-ui=next][data-redesign] .rd-live *,.v4-app[data-ui=next][data-redesign] .rd-live *::before,.v4-app[data-ui=next][data-redesign] .rd-live *::after{box-sizing:border-box}
.v4-app[data-ui=next][data-redesign] .rd-msgs__frame{display:grid;grid-template-columns:clamp(300px,34%,360px) minmax(0,1fr);height:100%;min-height:0}
@container rd-msgs (min-width:1100px){
  .v4-app[data-ui=next][data-redesign] .rd-msgs[data-info=true] .rd-msgs__frame{grid-template-columns:clamp(300px,28%,360px) minmax(0,1fr) 340px}
}
.v4-app[data-ui=next][data-redesign] .rd-msgs :is(button,select,a):focus-visible,.v4-app[data-ui=next][data-redesign] .rd-live :is(button,select,a):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__sr,.v4-app[data-ui=next][data-redesign] .rd-live__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* monogram avatar (iMessage): grey gradient, white initials */
.v4-app[data-ui=next][data-redesign] .rd-msgs__av,.v4-app[data-ui=next][data-redesign] .rd-live__avatar{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--rd-meta) 64%,var(--gb-hud-ink)),var(--rd-meta));color:var(--gb-hud-ink);font-size:17px;font-weight:500;letter-spacing:.01em;line-height:1;text-transform:uppercase;user-select:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__av--xl{width:84px;height:84px;font-size:32px}

/* buttons */
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn,.v4-app[data-ui=next][data-redesign] .rd-live__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font:inherit;font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn:not(:disabled,[aria-disabled=true]):hover,.v4-app[data-ui=next][data-redesign] .rd-live__btn:not(:disabled,[aria-disabled=true]):hover{background:color-mix(in srgb,var(--gb-ink) 13%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn:not(:disabled,[aria-disabled=true]):active,.v4-app[data-ui=next][data-redesign] .rd-live__btn:not(:disabled,[aria-disabled=true]):active{transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn:is(:disabled,[aria-disabled=true]),.v4-app[data-ui=next][data-redesign] .rd-live__btn:is(:disabled,[aria-disabled=true]){opacity:.42;cursor:default;transform:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--pri{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--pri:not(:disabled,[aria-disabled=true]):hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--blue,.v4-app[data-ui=next][data-redesign] .rd-live__btn--blue{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--blue:not(:disabled,[aria-disabled=true]):hover,.v4-app[data-ui=next][data-redesign] .rd-live__btn--blue:not(:disabled,[aria-disabled=true]):hover{background:color-mix(in srgb,var(--rd-blue) 86%,var(--gb-ink))}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--tint{background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--tint:not(:disabled,[aria-disabled=true]):hover{background:color-mix(in srgb,var(--rd-blue) 18%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__btn--lg{min-height:44px;padding:0 24px;font-size:16px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__link{padding:0;border:0;background:none;color:var(--rd-blue);font:inherit;font-size:12px;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__link:not(:disabled,[aria-disabled=true]):hover{text-decoration:underline}
.v4-app[data-ui=next][data-redesign] .rd-msgs__link:is(:disabled,[aria-disabled=true]){color:var(--gb-ink-3);cursor:default;text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn:hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn:active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn[data-on=true],.v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn[aria-expanded=true]{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn[aria-expanded=true]{background:var(--gb-select)}

/* ---- thread list ------------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-msgs__side{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--gb-column);box-shadow:inset -1px 0 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__top{flex:none;padding:18px 16px 10px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__titlebar{display:flex;align-items:center;gap:2px;min-height:40px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__title{flex:1;min-width:0;margin:0;font-size:30px;font-weight:700;letter-spacing:-.022em;line-height:1.1;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__count{margin:3px 0 0;font-size:13px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-msgs__count:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__seg{display:flex;gap:2px;margin-top:12px;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__seg-btn{flex:1;min-width:0;height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__seg-btn:not([data-on=true]):hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__seg-btn[data-on=true]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-msgs__search{display:flex;align-items:center;gap:6px;height:36px;margin-top:10px;padding:0 8px 0 10px;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink-3);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 26%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__search input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;background:transparent;color:var(--gb-ink);font:inherit;font-size:15px;outline:none;-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__search input::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__search input::-webkit-search-cancel-button{display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__clear{flex:none;display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:var(--gb-ink-3);color:var(--gb-column);cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__filters{display:grid;gap:8px;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__filter{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__filter select{min-width:0;max-width:62%;height:32px;padding:0 8px;border:0;border-radius:8px;background-color:var(--gb-fill);color:var(--gb-ink);font:inherit;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__filters .rd-msgs__fine{margin:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__connect{margin-top:10px;max-height:46vh;overflow:auto;padding:12px;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 8px 20px}

.v4-app[data-ui=next][data-redesign] .rd-msgs__live{margin:0 0 10px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--rd-blue) 8%,var(--gb-column))}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-hd{margin:6px 10px 2px;font-size:12px;font-weight:600;color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:0;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-row:hover{background:color-mix(in srgb,var(--rd-blue) 9%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-ic svg{animation:gbn-rd-calls-pulse 1.8s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-text{flex:1;min-width:0;display:flex;flex-direction:column}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-who{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-sub{font-size:13px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-open{flex:none;font-size:13px;font-weight:600;color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-row[data-held=true] .rd-msgs__live-ic{background:var(--gb-ink);color:var(--gb-ground)}

.v4-app[data-ui=next][data-redesign] .rd-msgs__row{position:relative;display:grid;grid-template-columns:10px 44px minmax(0,1fr);align-items:center;column-gap:10px;width:100%;min-height:72px;margin:0;padding:10px 12px 10px 4px;border:0;border-radius:12px;background:transparent;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row+.rd-msgs__row::before{content:"";position:absolute;top:0;left:68px;right:12px;height:1px;background:var(--gb-hair);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true]::before,.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true]+.rd-msgs__row::before,.v4-app[data-ui=next][data-redesign] .rd-msgs__row:hover::before,.v4-app[data-ui=next][data-redesign] .rd-msgs__row:hover+.rd-msgs__row::before{opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row:active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true]{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__dot{justify-self:end;width:9px;height:9px;border-radius:50%;background:transparent}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-unread=true] .rd-msgs__dot{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true][data-unread=true] .rd-msgs__dot{background:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-top{display:flex;align-items:baseline;gap:8px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-name{flex:1;min-width:0;font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-time{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ch{display:inline-flex;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-preview{font-size:14px;line-height:1.3;color:var(--gb-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-meta{font-size:12px;color:var(--gb-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__row-time,.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__ch,.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__row-preview,.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__row-meta{color:color-mix(in srgb,var(--rd-blue-ink) 80%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-live=true] .rd-msgs__time{color:var(--rd-blue);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true][data-live=true] .rd-msgs__time{color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__skel{display:grid;gap:12px;padding:10px 12px 0 18px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__skel span{display:block;height:48px;border-radius:12px;background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-rd-calls-shimmer 1.4s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-msgs__nomatch{margin:28px 16px;text-align:center;font-size:14px;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-msgs__zero{display:flex;flex-direction:column;align-items:center;padding:64px 24px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-msgs__zero-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--rd-green) 14%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__zero-title{margin:14px 0 0;font-size:20px;font-weight:600;letter-spacing:-.018em}
.v4-app[data-ui=next][data-redesign] .rd-msgs__zero-text{max-width:240px;margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--gb-ink-2)}

/* ---- conversation ----------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-msgs__main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--gb-ground)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__head{position:relative;z-index:2;flex:none;display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 12px 10px 20px;background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__back{display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__head .rd-msgs__av{width:36px;height:36px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__head-text{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__head-name{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__head-sub{margin:1px 0 0;font-size:12.5px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__head-sub:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-pill{flex:none;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:0;border-radius:999px;background:var(--rd-blue);color:var(--rd-blue-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__live-dot{flex:none;width:7px;height:7px;border-radius:50%;background:currentColor;animation:gbn-rd-calls-pulse 1.6s var(--gb-ease) infinite}

/* who is replying: one control, the Manager or you */
.v4-app[data-ui=next][data-redesign] .rd-msgs__who{flex:none;display:flex;gap:2px;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who-btn{display:inline-flex;align-items:center;gap:6px;height:28px;max-width:150px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink-2);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who-btn[data-on=true]{background:var(--gb-seg-on);color:var(--gb-ink);font-weight:600;box-shadow:var(--gb-shadow-0)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who[data-who=you] .rd-msgs__who-btn[data-on=true]{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who-btn:is(:disabled,[aria-disabled=true]){cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who-btn:is(:disabled,[aria-disabled=true]):not([data-on=true]){color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who-btn:not(:disabled,[aria-disabled=true]):not([data-on=true]):hover{background:var(--gb-hover);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__who-orb{flex:none;width:12px;height:12px;border-radius:50%;background:var(--gb-grad);box-shadow:inset 0 0 0 .5px var(--gb-hair)}

.v4-app[data-ui=next][data-redesign] .rd-msgs__owner{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:9px 20px;background:var(--gb-fill);box-shadow:inset 0 -1px 0 var(--gb-hair);font-size:13px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner[data-tone=you]{background:color-mix(in srgb,var(--rd-blue) 9%,var(--gb-ground))}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner[data-tone=other],.v4-app[data-ui=next][data-redesign] .rd-msgs__owner[data-tone=pending]{background:color-mix(in srgb,var(--rd-orange) 12%,var(--gb-ground))}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner[data-tone=error]{background:color-mix(in srgb,var(--rd-red) 9%,var(--gb-ground))}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner-note{flex:1 1 220px;min-width:0;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner-note:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner-line{margin:0;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner-line[data-tone=error]{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner .rd-msgs__btn{min-height:28px;padding:0 12px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__owner .rd-msgs__btn:not(.rd-msgs__btn--blue){background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}

/* the thread: anchored to the newest message (column-reverse keeps the scroll at the end as messages arrive) */
.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll{flex:1;min-height:0;display:flex;flex-direction:column-reverse;overflow-y:auto;overscroll-behavior:contain;padding:6px 22px 14px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll-in{display:flex;flex-direction:column;width:100%;max-width:880px;margin:0 auto auto}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item{display:flex;flex-direction:column;align-items:flex-start;margin-top:2px;animation:gbn-rd-calls-rise var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-side=out]{align-items:flex-end}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-first=true]{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__stamp{align-self:stretch;margin:14px 0 6px;text-align:center;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__stamp b{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-msgs__stamp:has(b:empty){display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__sender{margin:0 14px 3px;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__bubble{position:relative;max-width:var(--rd-bubble-max);padding:var(--rd-bubble-pad);border-radius:var(--rd-bubble-r);background:var(--rd-in);color:var(--rd-in-ink);font-size:var(--rd-bubble-fs);line-height:var(--rd-bubble-lh);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-side=out]>.rd-msgs__bubble{background:var(--rd-sms);color:var(--rd-sms-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-kind=call]>.rd-msgs__bubble{background:transparent;color:var(--gb-ink);box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-tail=true]>.rd-msgs__bubble::before,.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-tail=true]>.rd-msgs__bubble::after{content:"";position:absolute;bottom:0;height:20px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-side=in][data-tail=true]>.rd-msgs__bubble::before{left:-7px;width:20px;background:var(--rd-in);border-bottom-right-radius:15px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-side=in][data-tail=true]>.rd-msgs__bubble::after{left:-26px;width:26px;background:var(--gb-ground);border-bottom-right-radius:10px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-side=out][data-tail=true]>.rd-msgs__bubble::before{right:-7px;width:20px;background:var(--rd-sms);border-bottom-left-radius:16px 14px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-side=out][data-tail=true]>.rd-msgs__bubble::after{right:-26px;width:26px;background:var(--gb-ground);border-bottom-left-radius:10px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-kind=call]>.rd-msgs__bubble::before,.v4-app[data-ui=next][data-redesign] .rd-msgs__item[data-kind=call]>.rd-msgs__bubble::after{content:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__delivery,.v4-app[data-ui=next][data-redesign] .rd-msgs__label{margin:3px 6px 0;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__delivery[data-tone=fail]{color:var(--rd-red);font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-msgs__delivery[data-tone=warn]{color:var(--gb-ember-ink);font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-msgs__wrong{margin:3px 6px 0;opacity:0;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__item:hover .rd-msgs__wrong,.v4-app[data-ui=next][data-redesign] .rd-msgs__wrong:focus-within,.v4-app[data-ui=next][data-redesign] .rd-msgs__wrong--on{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-msgs__pending{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-end;max-width:100%;margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__bubble--pending{background:transparent;color:var(--gb-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--rd-sms) 75%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__fix{display:grid;gap:8px;width:min(100%,440px);margin-top:8px;padding:12px;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__field{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__field textarea,.v4-app[data-ui=next][data-redesign] .rd-msgs__textarea{width:100%;min-height:64px;margin:0;padding:9px 12px;border:0;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink);font:inherit;font-size:15px;font-weight:400;line-height:1.4;resize:vertical}
.v4-app[data-ui=next][data-redesign] .rd-msgs__field textarea:focus,.v4-app[data-ui=next][data-redesign] .rd-msgs__textarea:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 28%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__select{height:34px;padding:0 8px;border:0;border-radius:10px;background-color:var(--gb-fill);color:var(--gb-ink);font:inherit;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__row-actions--end{justify-content:flex-end}
.v4-app[data-ui=next][data-redesign] .rd-msgs__error{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__empty{margin:auto 0;padding:48px 0;text-align:center;font-size:14px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__loading{padding:16px 0;font-size:13px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__fine{margin:6px 2px 0;font-size:12px;line-height:1.45;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__sub-hd{margin:14px 0 6px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}

/* composer: suggest, the field with the ghost reply and Tab, send (green: it goes out as a text after approval) */
.v4-app[data-ui=next][data-redesign] .rd-msgs__composer{flex:none;padding:6px 18px 14px;background:var(--gb-ground)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__chip{display:flex;align-items:center;gap:8px;max-width:calc(100% - 44px);margin:0 0 8px 44px;padding:7px 12px;border:0;border-radius:16px;background:var(--gb-fill);color:var(--gb-ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__chip:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__chip svg{flex:none;color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__chip-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__chip-use{flex:none;font-weight:600;color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__composer[data-ghost=true] .rd-msgs__chip{display:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__bar{display:flex;align-items:flex-end;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__spark{flex:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);cursor:pointer;transition:color var(--gb-dur-1) var(--gb-ease),background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__spark:not(:disabled,[aria-disabled=true]):hover{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__spark[data-busy=true]{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__spark[data-busy=true] svg{animation:gbn-rd-calls-pulse 1.1s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-msgs__field-pill{position:relative;flex:1;min-width:0;display:flex;align-items:flex-end;gap:6px;min-height:36px;padding:2px 3px 2px 14px;border-radius:18px;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__field-pill:focus-within{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gb-focus) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--gb-focus) 16%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__input{flex:1;min-width:0;min-height:32px;max-height:160px;margin:0;padding:6px 0;border:0;background:transparent;color:var(--gb-ink);font:inherit;font-size:15px;line-height:20px;resize:none;outline:none;field-sizing:content}
.v4-app[data-ui=next][data-redesign] .rd-msgs__input::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__input[data-ghost=true]::placeholder{color:transparent}
.v4-app[data-ui=next][data-redesign] .rd-msgs__ghost{position:absolute;top:2px;left:14px;right:84px;padding:6px 0;font-size:15px;line-height:20px;color:var(--gb-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__tab{flex:none;align-self:center;height:22px;margin:0 2px;padding:0 7px;border:0;border-radius:6px;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2),0 1px 0 var(--gb-hair-2);color:var(--gb-ink-2);font:inherit;font-size:11px;font-weight:600;letter-spacing:.02em;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__tab:hover{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__send{flex:none;display:grid;place-items:center;width:30px;height:30px;margin:1px 0;padding:0;border:0;border-radius:50%;background:var(--rd-sms);color:var(--rd-sms-ink);cursor:pointer;transition:transform var(--gb-dur-2) var(--gb-ease),opacity var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__send:is(:disabled,[aria-disabled=true]){opacity:0;transform:scale(.5);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__composer .rd-msgs__fine{margin:7px 0 0 44px;font-size:11.5px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__staged{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:16px;background:color-mix(in srgb,var(--rd-orange) 10%,var(--gb-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rd-orange) 24%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__staged-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__staged-text b{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__staged-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-msgs__staged .rd-msgs__btn{background:var(--gb-surface);box-shadow:var(--gb-shadow-0)}

/* calls: the call card, the after-call recap, the transcript as bubbles (caller grey, the Manager green) */
.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--call,.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--live{flex-direction:column;align-items:center;padding:18px 22px 48px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--call>*{flex:none;width:100%;max-width:640px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--call>.rd-msgs__stamp{margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__livecard{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:14px 14px 14px 16px;border-radius:16px;background:color-mix(in srgb,var(--rd-blue) 9%,var(--gb-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rd-blue) 18%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__livecard-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__livecard-text b{font-size:15px;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__call,.v4-app[data-ui=next][data-redesign] .rd-msgs__recap,.v4-app[data-ui=next][data-redesign] .rd-msgs__card{padding:16px;border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__call-hd{display:flex;align-items:center;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__call-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__call-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__call-text b{font-size:16px;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__outcome{flex:none;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--gb-fill-2);font-size:12.5px;font-weight:500;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-msgs__audio{display:block;width:100%;height:40px;margin-top:14px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__call .rd-msgs__fine{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__play{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__recap{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__recap-hd{display:flex;align-items:center;gap:6px;margin:0;font-size:16px;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__recap-hd svg{flex:none;color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__recap-text{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-msgs__facts{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__steps{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__step{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__step:hover{background:color-mix(in srgb,var(--rd-blue) 12%,var(--gb-surface));color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript{margin-top:28px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-family:var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 2px;padding:0;border:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript h3{margin:0;font-size:20px;font-weight:600;letter-spacing:-.018em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript .text-button{padding:0;border:0;background:none;color:var(--rd-blue);font:inherit;font-size:14px;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript .text-button:is(:disabled,[aria-disabled=true]){color:var(--gb-ink-3);cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-meta{margin:2px 0;font-size:13px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-toolbar{display:flex;align-items:flex-end;gap:8px;margin:12px 0 4px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-toolbar label{flex:1;min-width:0;display:block}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-toolbar label span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-toolbar input{width:100%;height:36px;margin:0;padding:0 12px;border:0;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink);font:inherit;font-size:15px;outline:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-toolbar input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 26%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-toolbar .secondary-button{height:36px;padding:0 14px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font:inherit;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-turns{display:flex;flex-direction:column;margin:10px 0 0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-turns li{display:flex;flex-direction:column;align-items:flex-start;margin:8px 0 0;padding:0;border:0;background:none}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-turns li[data-speaker=agent]{align-items:flex-end}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-speaker{display:flex;align-items:baseline;gap:6px;margin:0 12px 2px;font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-speaker strong{font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-speaker time{font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-turns p{max-width:var(--rd-bubble-max);margin:0;padding:var(--rd-bubble-pad);border-radius:var(--rd-bubble-r);background:var(--rd-in);color:var(--rd-in-ink);font-size:15px;line-height:var(--rd-bubble-lh);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-turns li[data-speaker=agent] p{background:var(--rd-sms);color:var(--rd-sms-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript mark{border-radius:3px;background:color-mix(in srgb,var(--rd-yellow) 70%,transparent);color:inherit}
.v4-app[data-ui=next][data-redesign] .rd-msgs__transcript .call-transcript-empty{margin:10px 0 0;font-size:14px;color:var(--gb-ink-2)}

/* the live call open on the page */
.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--live{justify-content:center}
.v4-app[data-ui=next][data-redesign] .rd-msgs__incoming{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-msgs__incoming-name{margin:14px 0 0;font-size:22px;font-weight:600;letter-spacing:-.02em}
.v4-app[data-ui=next][data-redesign] .rd-msgs__incoming-sub{display:flex;align-items:center;gap:7px;margin:0 0 16px;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__incoming-sub .rd-msgs__live-dot{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__none{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gb-ink-3);font-size:15px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__none p{margin:0}

/* details pane: an overlay beside the thread, a third column when there is room */
.v4-app[data-ui=next][data-redesign] .rd-msgs__info{position:absolute;top:0;right:0;bottom:0;z-index:5;display:flex;flex-direction:column;width:min(360px,100%);background:var(--rd-grouped);box-shadow:-1px 0 0 var(--gb-hair),var(--gb-shadow-3);animation:gbn-rd-calls-slide var(--gb-dur-2) var(--gb-ease) both}
@container rd-msgs (min-width:1100px){
  .v4-app[data-ui=next][data-redesign] .rd-msgs__info{position:relative;top:auto;right:auto;bottom:auto;z-index:auto;width:auto;min-height:0;box-shadow:inset 1px 0 0 var(--gb-hair);animation:none}
}
.v4-app[data-ui=next][data-redesign] .rd-msgs__info-head{flex:none;display:flex;align-items:center;gap:8px;min-height:60px;padding:10px 12px 10px 20px;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__info-title{flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign] .rd-msgs__done{min-height:32px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--rd-blue);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-msgs__done:is(:disabled,[aria-disabled=true]){color:var(--gb-ink-3);cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-msgs__info-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:16px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__card--who{display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 16px 18px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-msgs__card-name{margin:10px 0 0;font-size:18px;font-weight:600;letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign] .rd-msgs__card--who .rd-msgs__fine{margin:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__card-text{margin:0;font-size:14px;line-height:1.5;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-msgs__card>.rd-msgs__sub-hd:first-child{margin-top:0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__card .rd-msgs__btn{min-height:30px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__return .rd-msgs__field{margin-top:10px}
.v4-app[data-ui=next][data-redesign] .rd-msgs__quote{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:var(--gb-fill);font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__check{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;font-size:13px;line-height:1.4;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__work{padding:10px 0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__work p{margin:2px 0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__dirs{display:grid;gap:8px;margin:8px 0}
.v4-app[data-ui=next][data-redesign] .rd-msgs__dirs dt{font-size:12px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-msgs__dirs dd{margin:2px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-msgs__toast{position:absolute;left:50%;bottom:96px;z-index:6;max-width:min(520px,calc(100% - 32px));padding:10px 16px;border-radius:14px;background:var(--gb-hud);color:var(--gb-hud-ink);font-size:14px;line-height:1.4;box-shadow:var(--gb-shadow-2);transform:translateX(-50%);animation:gbn-rd-calls-toast var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-msgs__toast[data-kind=error]{bottom:148px;box-shadow:var(--gb-shadow-2),inset 3px 0 0 var(--rd-red)}

/* ---- the live call sheet ---------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-live{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--gb-scrim);color:var(--gb-ink);font-family:var(--gb-font);font-size:15px;line-height:1.4;letter-spacing:var(--gb-tr-ui);-webkit-font-smoothing:antialiased;animation:gbn-rd-calls-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-live__sheet{position:relative;display:flex;flex-direction:column;width:min(440px,100%);max-height:min(820px,calc(100dvh - 48px));overflow:hidden;border-radius:var(--gb-r-lg,22px);background:var(--gb-surface);box-shadow:var(--gb-shadow-3);animation:gbn-rd-calls-sheet var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-live__sheet:focus{outline:none}
.v4-app[data-ui=next][data-redesign] .rd-live__grabber{display:none}
.v4-app[data-ui=next][data-redesign] .rd-live__head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 14px 0 16px}
.v4-app[data-ui=next][data-redesign] .rd-live__timer{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px 0 9px;border-radius:13px;background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-live__timer[data-phase=ended]{background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-live__pulse{width:7px;height:7px;border-radius:50%;background:currentColor;animation:gbn-rd-calls-pulse 1.6s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-live__timer[data-phase=ended] .rd-live__pulse{opacity:.5;animation:none}
.v4-app[data-ui=next][data-redesign] .rd-live__close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);cursor:pointer;transition:color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-live__close:hover{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__who{flex:none;display:flex;flex-direction:column;align-items:center;padding:2px 24px 14px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-live__avatar{width:68px;height:68px;font-size:26px}
.v4-app[data-ui=next][data-redesign] .rd-live__avatar:empty::before{content:"";width:30px;height:30px;border-radius:50%;background:currentColor;-webkit-mask:radial-gradient(circle at 50% 36%,black 26%,transparent 27%),radial-gradient(ellipse 60% 44% at 50% 100%,black 98%,transparent 100%);mask:radial-gradient(circle at 50% 36%,black 26%,transparent 27%),radial-gradient(ellipse 60% 44% at 50% 100%,black 98%,transparent 100%)}
.v4-app[data-ui=next][data-redesign] .rd-live__name{margin:10px 0 0;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-live__status{margin:3px 0 0;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-live[data-phase=held] .rd-live__status{color:var(--rd-blue);font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-live__hold{flex:none;display:flex;align-items:center;gap:10px;margin:0 16px 10px;padding:9px 9px 9px 14px;border-radius:14px;background:color-mix(in srgb,var(--rd-orange) 13%,var(--gb-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rd-orange) 30%,transparent);font-size:14px;line-height:1.35}
.v4-app[data-ui=next][data-redesign] .rd-live__hold-text{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-live__hold-count{flex:none;font-weight:700;color:var(--gb-ember-ink);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-live__stop{flex:none;min-height:32px;padding:0 16px;border:0;border-radius:999px;background:var(--rd-red);color:var(--gb-hud-ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-live__stop:is(:disabled,[aria-disabled=true]){opacity:.45;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-live__log{flex:1 1 auto;min-height:150px;display:flex;flex-direction:column-reverse;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 12px;background:var(--gb-ground);box-shadow:inset 0 -1px 0 var(--gb-hair);-webkit-mask-image:linear-gradient(to bottom,transparent,var(--gb-ink) 22px);mask-image:linear-gradient(to bottom,transparent,var(--gb-ink) 22px)}
.v4-app[data-ui=next][data-redesign] .rd-live__log-in{display:flex;flex-direction:column;margin-bottom:auto}
.v4-app[data-ui=next][data-redesign] .rd-live__turn{display:flex;margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-live__turn[data-role=manager]{justify-content:flex-end}
.v4-app[data-ui=next][data-redesign] .rd-live__turn[data-role=caller]+.rd-live__turn[data-role=manager],.v4-app[data-ui=next][data-redesign] .rd-live__turn[data-role=manager]+.rd-live__turn[data-role=caller]{margin-top:10px}
.v4-app[data-ui=next][data-redesign] .rd-live__bubble{max-width:82%;padding:7px 12px 8px;border-radius:18px;background:var(--rd-in);color:var(--rd-in-ink);font-size:15px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;animation:gbn-rd-calls-rise var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-live__turn[data-role=manager] .rd-live__bubble{background:var(--rd-sms);color:var(--rd-sms-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__note{margin:0;padding:26px 0;text-align:center;font-size:14px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper{flex:none;display:flex;align-items:center;gap:6px;margin:12px 16px 0;padding:3px 3px 3px 14px;border-radius:20px;background:var(--gb-fill);box-shadow:inset 0 0 0 1px var(--gb-hair);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper:focus-within{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gb-focus) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--gb-focus) 16%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper-input{flex:1;min-width:0;height:32px;margin:0;padding:0;border:0;background:transparent;color:var(--gb-ink);font:inherit;font-size:15px;outline:none}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper-input::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper-input:disabled{cursor:not-allowed}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper-send{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--rd-blue);color:var(--rd-blue-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-live__whisper-send:is(:disabled,[aria-disabled=true]){background:var(--gb-fill-2);color:var(--gb-ink-3);cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-live__controls{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 14px 4px}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;margin:0;padding:0;border:0;background:none;color:var(--gb-ink);font:inherit;text-align:center;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:focus-visible{outline:none}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:focus-visible .rd-live__ctl-ic{box-shadow:0 0 0 3px var(--gb-surface),0 0 0 5px var(--gb-focus)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl-ic{display:grid;place-items:center;width:60px;height:60px;margin-bottom:4px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink);transition:transform var(--gb-dur-1) var(--gb-ease),background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:not(:disabled,[aria-disabled=true]):hover .rd-live__ctl-ic{transform:scale(1.04)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:not(:disabled,[aria-disabled=true]):active .rd-live__ctl-ic{transform:scale(.95)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl[data-kind=take] .rd-live__ctl-ic,.v4-app[data-ui=next][data-redesign] .rd-live__ctl[data-kind=back] .rd-live__ctl-ic,.v4-app[data-ui=next][data-redesign] .rd-live__ctl[data-on=true] .rd-live__ctl-ic{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl[data-kind=end] .rd-live__ctl-ic{background:var(--rd-red);color:var(--gb-hud-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:is(:disabled,[aria-disabled=true]){cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:is(:disabled,[aria-disabled=true]) .rd-live__ctl-ic{opacity:.32}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl[data-on=true]:is(:disabled,[aria-disabled=true]) .rd-live__ctl-ic{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl-label{font-size:13px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl:is(:disabled,[aria-disabled=true]) .rd-live__ctl-label{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl[data-on=true]:is(:disabled,[aria-disabled=true]) .rd-live__ctl-label{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-live__ctl-sub{min-height:15px;font-size:11.5px;line-height:1.3;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-live__lines{flex:none;display:flex;flex-direction:column;gap:6px;padding:8px 18px 18px}
.v4-app[data-ui=next][data-redesign] .rd-live__see{align-self:center;margin:0 0 4px}
.v4-app[data-ui=next][data-redesign] .rd-live__line{margin:0;font-size:13px;line-height:1.4;color:var(--gb-ink-2);text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-live__line[data-tone=ok]{color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__line[data-tone=error]{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-live__requests{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:2px 0 0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-live__requests li{display:flex;justify-content:space-between;gap:12px;min-width:0;padding:8px 12px;border-radius:10px;background:var(--gb-fill);font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-live__requests li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__requests li b{flex:none;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-live__foot{margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--gb-ink-3);text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-live__return{flex:none;max-height:54vh;display:flex;flex-direction:column;gap:10px;overflow-y:auto;margin:12px 16px 0;padding:14px;border-radius:16px;background:var(--rd-grouped)}
.v4-app[data-ui=next][data-redesign] .rd-live__return-title{margin:0;font-size:16px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-live__return .rd-live__line{text-align:left}
.v4-app[data-ui=next][data-redesign] .rd-live__field{display:grid;gap:5px;font-size:13px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-live__field textarea{width:100%;min-height:52px;margin:0;padding:9px 12px;border:0;border-radius:10px;background:var(--gb-surface);color:var(--gb-ink);font:inherit;font-size:15px;font-weight:400;line-height:1.4;resize:vertical;box-shadow:inset 0 0 0 1px var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-live__field[data-lead=true] textarea{min-height:84px}
.v4-app[data-ui=next][data-redesign] .rd-live__field textarea:focus{outline:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gb-focus) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--gb-focus) 16%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-live__field textarea::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-live__check{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.35;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-live__check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-live__return-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}

/* ---- phones: one column, 44px targets, the suggestion as a chip, the sheet from the bottom ------------------------ */
@media (max-width:760px){
  /* One scroll like iOS: the list moves with the page (under the Insights card); an open thread fills the screen without it. */
  .v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main>.rd-msgs:is([data-list-open=true],[data-thread-open=false])){height:auto}
  .v4-app[data-ui=next][data-redesign] .rd-msgs:is([data-list-open=true],[data-thread-open=false]){height:auto;min-height:0}
  .v4-app[data-ui=next][data-redesign] .rd-msgs:is([data-list-open=true],[data-thread-open=false]) .rd-msgs__list{overflow:visible}
  .v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main>.rd-msgs[data-thread-open=true][data-list-open=false])>.mv-page-rail{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__frame{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs[data-thread-open=true][data-list-open=false] .rd-msgs__side{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs[data-thread-open=false] .rd-msgs__main,.v4-app[data-ui=next][data-redesign] .rd-msgs[data-list-open=true] .rd-msgs__main{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__side{background:var(--gb-ground);box-shadow:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__top{padding:12px 16px 8px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__seg-btn{height:32px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__list{padding:2px 4px 24px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__row{min-height:76px;border-radius:0}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true]{background:var(--gb-select);color:var(--gb-ink)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__row-time,.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__ch,.v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__row-meta{color:var(--gb-ink-3)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true] .rd-msgs__row-preview{color:var(--gb-ink-2)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true][data-unread=true] .rd-msgs__dot{background:var(--rd-blue)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__row[data-on=true][data-live=true] .rd-msgs__time{color:var(--rd-blue)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__head{gap:6px;min-height:56px;padding:6px 6px 6px 4px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__head .rd-msgs__av{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__back{display:inline-flex;align-items:center;flex:none;min-width:44px;min-height:44px;padding:0 4px;border:0;border-radius:10px;background:none;color:var(--rd-blue);font:inherit;cursor:pointer}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__back span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__back:is(:disabled,[aria-disabled=true]){color:var(--gb-ink-3)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__who-btn{height:36px;max-width:110px;padding:0 10px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__ibtn{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__owner{padding:8px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__owner .rd-msgs__btn{min-height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__scroll{padding:6px 14px 10px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__composer{padding:6px 10px calc(10px + env(safe-area-inset-bottom,0px))}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__ghost,.v4-app[data-ui=next][data-redesign] .rd-msgs__tab{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__input[data-ghost=true]::placeholder{color:var(--gb-ink-3)}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__composer[data-ghost=true] .rd-msgs__chip{display:flex}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__chip{max-width:100%;min-height:40px;margin-left:0}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__spark{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__field-pill{min-height:44px;border-radius:22px;padding:3px 4px 3px 14px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__input{min-height:36px;padding:8px 0;font-size:17px;line-height:22px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__send{width:36px;height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__composer .rd-msgs__fine{margin-left:0}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--call,.v4-app[data-ui=next][data-redesign] .rd-msgs__scroll--live{padding:14px 14px 40px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__btn{min-height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__step{min-height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__info{width:100%;box-shadow:none}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__done{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-msgs__toast{bottom:104px}
  .v4-app[data-ui=next][data-redesign] .rd-live{align-items:flex-end;padding:0}
  .v4-app[data-ui=next][data-redesign] .rd-live__sheet{width:100%;max-height:calc(100dvh - 20px);border-radius:var(--gb-r-lg,22px) var(--gb-r-lg,22px) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation-name:gbn-rd-calls-sheet-up}
  .v4-app[data-ui=next][data-redesign] .rd-live__grabber{display:block;flex:none;width:36px;height:5px;margin:8px auto 0;border-radius:3px;background:var(--gb-hair-2)}
  .v4-app[data-ui=next][data-redesign] .rd-live__head{padding:4px 10px 0 16px}
  .v4-app[data-ui=next][data-redesign] .rd-live__close{width:44px;height:44px;background:transparent}
  .v4-app[data-ui=next][data-redesign] .rd-live__close::before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:var(--gb-fill-2);z-index:-1}
  .v4-app[data-ui=next][data-redesign] .rd-live__close{position:relative;isolation:isolate}
  .v4-app[data-ui=next][data-redesign] .rd-live__ctl-ic{width:64px;height:64px}
  .v4-app[data-ui=next][data-redesign] .rd-live__whisper{padding:4px 4px 4px 14px}
  .v4-app[data-ui=next][data-redesign] .rd-live__whisper-input{height:36px;font-size:17px}
  .v4-app[data-ui=next][data-redesign] .rd-live__whisper-send{width:36px;height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-live__stop{min-height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-live__btn{min-height:44px}
}
@media (hover:none){
  .v4-app[data-ui=next][data-redesign] .rd-msgs__wrong{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .rd-msgs__live-ic svg,.v4-app[data-ui=next][data-redesign] .rd-msgs__live-dot,.v4-app[data-ui=next][data-redesign] .rd-msgs__skel span,.v4-app[data-ui=next][data-redesign] .rd-msgs__spark[data-busy=true] svg,.v4-app[data-ui=next][data-redesign] .rd-live__pulse{animation:none}
}

@keyframes gbn-rd-calls-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-calls-sheet{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes gbn-rd-calls-sheet-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes gbn-rd-calls-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-calls-slide{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-calls-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes gbn-rd-calls-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes gbn-rd-calls-toast{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

/* ==========================================================================
   UI-REDESIGN · the work area in the Manager look (ff.ui.redesign, default off)
   Calendar, Deals, Signature, Companies and People.
   --------------------------------------------------------------------------
   Every rule starts with .v4-app[data-ui=next][data-redesign]: with the flag off nothing here matches. The new markup uses
   rd-wk-* classes (calendar.html, deals.html, people.html, companies.html, signature.html and zz-rd-work.html, all inside
   <sc-if value="{{ rdOn }}">); the classic markup the pages keep is restyled here. Colours come from the tokens in
   zz-next-zzz-rd-0-tokens.css, so light and dark both follow data-theme. !important appears only where a page's inline style
   or an earlier zz-next rule declared !important (each is noted).
   ========================================================================== */

/* ---- A. Shared pieces ---------------------------------------------------- */
/* --rd-wk-clear: the room the dock's floating message bar takes at the bottom of a scroll area (its gap and height, from
   zz-next-zzz-rd-9b-dock.css) plus breathing space, so the last row of a page or a pane can always scroll clear of it. */
.v4-app[data-ui=next][data-redesign]{--rd-wk-mono-a:#a5abb9;--rd-wk-mono-b:#858994;--rd-wk-knob:var(--rd-blue-ink);--rd-wk-cell:var(--gb-surface);--rd-wk-ground:var(--rd-grouped);--rd-wk-clear:calc(var(--rd-dock-gap,14px) + var(--rd-dock-bar-h,56px) + 32px)}
.v4-app[data-ui=next][data-redesign][data-theme=dark]{--rd-wk-mono-a:#6e7380;--rd-wk-mono-b:#4e525c;--rd-wk-cell:var(--gb-surface);--rd-wk-ground:var(--rd-grouped)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk,.rd-wk *,.rd-wk-sheet *,.rd-wk-quick,.rd-wk-quick *,.rd-wk-facts,.rd-wk-facts *,.rd-wk-perm,.rd-wk-perm *){box-sizing:border-box}
.v4-app[data-ui=next][data-redesign] .rd-wk{font-family:var(--gb-font);color:var(--gb-ink);-webkit-font-smoothing:antialiased}

/* Header: a large quiet title, one line of real numbers under it, Ask, the … menu and one primary action. */
.v4-app[data-ui=next][data-redesign] .rd-wk-hd{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin:0 0 24px}
.v4-app[data-ui=next][data-redesign] .rd-wk-hd-text{flex:1 1 300px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-title{margin:0;font:700 30px/1.12 var(--gb-font);letter-spacing:-.022em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-title-sub{font-weight:400;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-sub{margin:6px 0 0;font:400 15px/1.4 var(--gb-font);color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-hd-actions{display:flex;align-items:center;gap:8px;flex:none}

/* Buttons */
.v4-app[data-ui=next][data-redesign] .rd-wk-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;margin:0;padding:0 18px;border:0;border-radius:999px;font:500 15px/1 var(--gb-font);letter-spacing:-.01em;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn:active:not([aria-disabled=true]){transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn[aria-disabled=true]{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn--pri{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn--pri:hover:not([aria-disabled=true]){background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn--sec{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn--sec:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--gb-fill-2) 100%,var(--gb-ink) 6%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn--danger{background:var(--gb-fill-2);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-btn--sm{height:32px;padding:0 14px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-wk-ibtn{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-ibtn:hover{background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-wk-more{background:var(--gb-fill-2);anchor-name:--rd-wk-more}
.v4-app[data-ui=next][data-redesign] .rd-wk-more[aria-expanded=true]{background:color-mix(in srgb,var(--gb-fill-2) 100%,var(--gb-ink) 14%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-close{width:30px;height:30px;background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-link{border:0;background:none;padding:0;color:var(--rd-blue);font:500 15px/1.3 var(--gb-font);text-decoration:none;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-wk-link:hover{text-decoration:underline}
.v4-app[data-ui=next][data-redesign] .rd-wk-link--danger{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-link[aria-disabled=true]{opacity:.4;cursor:default}

/* Ask your Manager: the orb, small. */
.v4-app[data-ui=next][data-redesign] .rd-wk-orb{display:inline-block;flex:none;width:26px;height:26px;border-radius:50%;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat;font-style:normal}
.v4-app[data-ui=next][data-redesign] .rd-wk-ask{display:inline-flex;align-items:center;gap:7px;flex:none;height:36px;margin:0;padding:0 14px 0 5px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font:500 14px/1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-ask:hover{background:color-mix(in srgb,var(--gb-fill-2) 100%,var(--gb-ink) 6%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-ask:active{transform:scale(.97)}

/* Focus: one ring everywhere. */
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-btn,.rd-wk-ibtn,.rd-wk-ask,.rd-wk-seg>button,.rd-wk-chip,.rd-wk-row--btn,.rd-wk-menu-item,.rd-wk-qa,.rd-wk-ev,.rd-wk-cell,.rd-wk-dayhead,.rd-wk-stripday,.rd-wk-search-go,.rd-wk-link,.rd-wk-late>button,.rd-wk-fact-val,.rd-wk-switch):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet:focus{outline:none}

/* Segmented control (iOS): a grey track, the chosen segment raised and white. */
.v4-app[data-ui=next][data-redesign] .rd-wk-seg{display:inline-flex;align-items:center;gap:0;height:32px;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-seg>button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;min-width:68px;margin:0;padding:0 14px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font:500 13px/1 var(--gb-font);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease),box-shadow var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-seg>button+button::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--gb-hair-2);transition:opacity var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-seg>button[aria-pressed=true]{background:var(--gb-seg-on);font-weight:600;box-shadow:0 0 0 .5px rgba(0,0,0,.04),0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-seg>button[aria-pressed=true],.rd-wk-seg>button[aria-pressed=true]+button)::before{opacity:0}

/* Filter chips: quiet pills; the one in use is black. */
.v4-app[data-ui=next][data-redesign] .rd-wk-chips{display:inline-flex;flex-wrap:wrap;gap:4px}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip{display:inline-flex;align-items:center;gap:6px;height:32px;margin:0;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--gb-ink-2);font:500 13px/1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip[aria-pressed=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip-n{font-variant-numeric:tabular-nums;opacity:.6}

/* The bar under the header */
.v4-app[data-ui=next][data-redesign] .rd-wk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin:0 0 20px}
.v4-app[data-ui=next][data-redesign] .rd-wk-select{position:relative;display:inline-flex;align-items:center;gap:8px;margin:0 0 0 auto;font:400 13px/1 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-select::after{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;border-right:1.5px solid var(--gb-ink-2);border-bottom:1.5px solid var(--gb-ink-2);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-select select{width:auto;max-width:260px;height:32px;margin:0;padding:0 32px 0 12px;border:0;border-radius:9px;background:var(--gb-fill-2);color:var(--gb-ink);font:500 13px/1 var(--gb-font);appearance:none;-webkit-appearance:none;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-wk-select select:disabled{opacity:.5;cursor:default}

/* Search field (iOS) */
.v4-app[data-ui=next][data-redesign] .rd-wk-search{position:relative;display:flex;align-items:center;gap:10px;max-width:560px;margin:0 0 20px}
.v4-app[data-ui=next][data-redesign] .rd-wk-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--gb-ink-3);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-search input{flex:1;min-width:0;width:auto;height:36px;margin:0;padding:0 12px 0 34px;border:0;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink);font:400 15px/1 var(--gb-font);outline:none;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-search input::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-search input:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-search-go{flex:none;height:36px;margin:0;padding:0 4px;border:0;border-radius:8px;background:none;color:var(--rd-blue);font:500 15px/1 var(--gb-font);cursor:pointer}

/* Notices */
.v4-app[data-ui=next][data-redesign] .rd-wk-banner{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink);font:400 14px/1.45 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner>span{flex:1 1 240px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=fail]{background:color-mix(in srgb,var(--rd-red) 9%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=fail]::before{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=done]{background:color-mix(in srgb,var(--rd-green) 11%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=done]::before{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=needs]{background:color-mix(in srgb,var(--rd-orange) 11%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=needs]::before{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=work]{background:color-mix(in srgb,var(--rd-blue) 9%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-banner[data-tone=work]::before{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-wk-note{margin:0 0 16px;font:400 13px/1.4 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-empty{margin:32px 0;text-align:center;font:400 15px/1.4 var(--gb-font);color:var(--gb-ink-3)}

/* Status pills */
.v4-app[data-ui=next][data-redesign] .rd-wk-pill{--rd-tone:var(--gb-ink-3);display:inline-flex;align-items:center;gap:6px;flex:none;height:24px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--rd-tone) 13%,transparent);color:color-mix(in srgb,var(--rd-tone) 72%,var(--gb-ink));font:500 12.5px/1 var(--gb-font);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-wk-pill>i{width:7px;height:7px;border-radius:50%;background:var(--rd-tone)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-pill,.rd-wk-ev,.rd-wk-chip-ev)[data-tone=blue]{--rd-tone:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-pill,.rd-wk-ev,.rd-wk-chip-ev)[data-tone=orange]{--rd-tone:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-pill,.rd-wk-ev,.rd-wk-chip-ev)[data-tone=green]{--rd-tone:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-pill,.rd-wk-ev,.rd-wk-chip-ev)[data-tone=grey]{--rd-tone:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-pill[data-tone=live]{--rd-tone:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-pill[data-tone=live]>i{animation:gbn-rd-work-pulse 2s var(--gb-ease) infinite}

/* Grouped lists (iOS inset grouped) */
.v4-app[data-ui=next][data-redesign] .rd-wk-group{display:flex;flex-direction:column;margin:0;padding:0;border:0;border-radius:12px;background:var(--rd-wk-cell);overflow:hidden;list-style:none;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0;padding:11px 16px;border:0;background:transparent;color:var(--gb-ink);font:400 15px/1.35 var(--gb-font);text-align:left;text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-row+.rd-wk-row::before{content:"";position:absolute;left:16px;right:0;top:0;height:1px;background:var(--gb-hair);transform:scaleY(.5);transform-origin:top}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--stack{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.v4-app[data-ui=next][data-redesign] .rd-wk-row-label{flex:none;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row-val{min-width:0;color:var(--gb-ink-2);text-align:right;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--stack .rd-wk-row-label{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--stack .rd-wk-row-val{text-align:left;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-wk-row-main>small,.v4-app[data-ui=next][data-redesign] .rd-wk-row-sub{font-size:13px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--btn{cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--btn:hover:not([aria-disabled=true]){background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--btn:active:not([aria-disabled=true]){background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--btn[aria-disabled=true]{opacity:.45;cursor:default}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-row--blue,.rd-wk-row--blue .rd-wk-row-main){color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-row--danger,.rd-wk-row--danger .rd-wk-row-main){color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--muted{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--fail{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--ask{justify-content:flex-start}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--ask .rd-wk-orb{width:28px;height:28px}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--form{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}
.v4-app[data-ui=next][data-redesign] .rd-wk-chev{flex:none;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-pre{white-space:pre-wrap}
.v4-app[data-ui=next][data-redesign] .rd-wk-sec-hd{margin:6px 16px -8px;font:400 13px/1.3 var(--gb-font);letter-spacing:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-foot{margin:-8px 16px 0;font:400 13px/1.45 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-actions{display:flex;flex-wrap:wrap;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet .rd-wk-actions>.rd-wk-btn{flex:1 1 0}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet .rd-wk-actions:empty{display:none}

/* iOS switch: a checkbox, or a role=switch row with an <i class="rd-wk-sw"> */
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-switch,.rd-wk-sw){position:relative;flex:none;width:51px;height:31px;margin:0;border:0;border-radius:999px;background:var(--gb-switch-off);appearance:none;-webkit-appearance:none;cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-switch,.rd-wk-sw)::before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:var(--rd-wk-knob);box-shadow:0 3px 8px rgba(0,0,0,.15),0 3px 1px rgba(0,0,0,.06);transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-switch:checked,.rd-wk-toggle[aria-checked=true] .rd-wk-sw){background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-switch:checked,.rd-wk-toggle[aria-checked=true] .rd-wk-sw)::before{transform:translateX(20px)}
.v4-app[data-ui=next][data-redesign] .rd-wk-row--switch{cursor:pointer}

/* Fields */
.v4-app[data-ui=next][data-redesign] .rd-wk-field{display:flex;flex-direction:column;gap:6px;margin:0;font:400 13px/1.3 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-field :is(input,select,textarea){width:100%;min-height:40px;margin:0;padding:0 12px;border:0;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink);font:400 15px/1.3 var(--gb-font);box-shadow:none;outline:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-field textarea{min-height:96px;padding:10px 12px;line-height:1.45;resize:vertical}
.v4-app[data-ui=next][data-redesign] .rd-wk-field :is(input,select,textarea):focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-form{padding:14px 16px 16px}
.v4-app[data-ui=next][data-redesign] .rd-wk-form fieldset{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;border:0;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-form legend{padding:0 0 2px;font:600 15px/1.3 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-form .rd-wk-foot{margin:0}

/* ---- B. Sheets, menus and layers ---------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-wk-layer{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:24px}
.v4-app[data-ui=next][data-redesign] .rd-wk-scrim{position:absolute;inset:0;background:var(--gb-scrim);animation:gbn-rd-work-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-wk-scrim--clear{background:transparent;animation:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet{--rd-wk-cell:var(--gb-surface);position:relative;display:flex;flex-direction:column;width:min(480px,100%);max-height:min(780px,calc(100dvh - 48px));border-radius:22px;background:var(--rd-grouped);color:var(--gb-ink);box-shadow:var(--gb-shadow-3);overflow:hidden;animation:gbn-rd-work-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-wk-sheet{--rd-wk-cell:var(--gb-raised);background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet--sm{width:min(420px,100%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet--wide{width:min(760px,100%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-grab{display:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet-hd-text{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet-title{flex:1 0 100%;margin:0;font:700 22px/1.2 var(--gb-font);letter-spacing:-.02em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet-sub{flex:1 0 100%;margin:0;font:400 13px/1.4 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet-body{display:flex;flex-direction:column;gap:16px;min-height:0;padding:4px 20px 24px;overflow-y:auto;overscroll-behavior:contain}
.v4-app[data-ui=next][data-redesign] .rd-wk-sheet-body>.rd-wk-banner{margin:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-confirm{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:var(--rd-wk-cell)}
.v4-app[data-ui=next][data-redesign] .rd-wk-confirm-q{margin:0;font:600 15px/1.35 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-late{display:inline-flex;flex-wrap:wrap;gap:6px}
.v4-app[data-ui=next][data-redesign] .rd-wk-late>button{height:30px;margin:0;padding:0 12px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font:500 13px/1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-late>button:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--rd-blue) 16%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-wk-late>button[aria-disabled=true]{opacity:.45;cursor:default}

/* The … menu: a small glass popover under its button (anchor positioning where the browser has it). */
.v4-app[data-ui=next][data-redesign] .rd-wk-layer--menu{display:block;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu{position:fixed;top:88px;right:32px;z-index:1;display:flex;flex-direction:column;min-width:260px;max-width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 120px);margin:0;padding:6px;overflow-y:auto;border-radius:14px;background:var(--gb-chrome-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--gb-shadow-2);transform-origin:top right;animation:gbn-rd-work-pop var(--gb-dur-2) var(--gb-ease) both}
@supports (anchor-name:--rd-wk-x){
  .v4-app[data-ui=next][data-redesign] .rd-wk-menu{position-anchor:--rd-wk-more;top:anchor(bottom);right:anchor(right);margin-top:8px}
}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-hd{margin:8px 10px 4px;font:400 12px/1.2 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-hd:first-child{margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;margin:0;padding:8px 10px;border:0;border-radius:9px;background:none;color:var(--gb-ink);font:400 15px/1.3 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item:has(>small){flex-direction:column;align-items:flex-start;gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item>small{font:400 12.5px/1.3 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item:hover:not([aria-disabled=true]){background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item[aria-disabled=true]{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-wk-check{flex:none;color:var(--rd-blue);opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item[aria-pressed=true] .rd-wk-check{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-wk-menu-item[aria-pressed=true]{font-weight:600}

/* Contacts: quick action tiles and the details list */
.v4-app[data-ui=next][data-redesign] .rd-wk-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:8px;width:100%;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-qa{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;margin:0;padding:8px 4px 7px;border:0;border-radius:12px;background:var(--rd-wk-cell);color:var(--rd-blue);font:500 12px/1.2 var(--gb-font);text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-qa:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--rd-wk-cell) 100%,var(--rd-blue) 6%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-qa:active:not([aria-disabled=true]){transform:scale(.96)}
.v4-app[data-ui=next][data-redesign] .rd-wk-qa>i{display:grid;place-items:center;width:26px;height:26px;font-style:normal}
.v4-app[data-ui=next][data-redesign] .rd-wk-qa>i .rd-wk-orb{width:24px;height:24px}
.v4-app[data-ui=next][data-redesign] .rd-wk-qa[aria-disabled=true]{color:var(--gb-ink-3);cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-wk-facts{display:flex;flex-direction:column;width:100%;margin:0;padding:0;border-radius:12px;background:var(--rd-wk-cell);list-style:none;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-wk-facts:not(:has(>li)){display:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-facts>li{position:relative;display:flex;flex-direction:column;gap:2px;margin:0;padding:10px 16px 11px}
.v4-app[data-ui=next][data-redesign] .rd-wk-facts>li+li::before{content:"";position:absolute;left:16px;right:0;top:0;height:1px;background:var(--gb-hair);transform:scaleY(.5);transform-origin:top}
.v4-app[data-ui=next][data-redesign] .rd-wk-fact-label{font:400 13px/1.3 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-fact-val{font:400 15px/1.35 var(--gb-font);color:var(--gb-ink);text-decoration:none;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] a.rd-wk-fact-val{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] a.rd-wk-fact-val:hover{text-decoration:underline}
.v4-app[data-ui=next][data-redesign] .rd-wk-avatar{display:grid;place-items:center;flex:none;width:88px;height:88px;margin:8px auto 4px;border-radius:50%;background:linear-gradient(180deg,var(--rd-wk-mono-a),var(--rd-wk-mono-b));color:var(--rd-blue-ink);font:600 34px/1 var(--gb-font);letter-spacing:.01em}

/* ---- C. Calendar ---------------------------------------------------------- */
/* The page's own inline padding is the only reason for !important here. */
.v4-app[data-ui=next][data-redesign] .v4-cal{max-width:calc(var(--gb-page-max) + 80px);margin:0 auto;padding:40px 40px var(--rd-wk-clear)!important;animation:gbn-rd-work-fade var(--gb-dur-3) var(--gb-ease) both!important}/* the page's inline padding and animation */
.v4-app[data-ui=next][data-redesign] .rd-wk-hd .rd-wk-title{font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-nav{display:inline-flex;align-items:center;gap:4px;margin-left:auto;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-nav[data-busy=true]{opacity:.55}
.v4-app[data-ui=next][data-redesign] .rd-wk-now{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,var(--rd-red) 10%,transparent);color:color-mix(in srgb,var(--rd-red) 82%,var(--gb-ink));font:500 13px/1 var(--gb-font);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-wk-now>i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--rd-red);animation:gbn-rd-work-pulse 2s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-wk-bulkbar .rd-wk-btn{margin-left:auto}

/* Week: hour gutter + seven day columns; blocks are placed from --rd-s (start, minutes from the first hour) and --rd-d. */
.v4-app[data-ui=next][data-redesign] .rd-wk-week{--rd-hour:56;--rd-gut:58px;position:relative;border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-wk-week-head{display:grid;grid-template-columns:var(--rd-gut) repeat(7,minmax(0,1fr));border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayhead{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:52px;margin:0;padding:0 4px;border:0;background:none;color:var(--gb-ink);font:400 13px/1 var(--gb-font);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayhead:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayhead .rd-wk-dow{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayhead .rd-wk-dnum{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:14px;font:600 17px/1 var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayhead[data-today=true] .rd-wk-dow{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayhead[data-today=true] .rd-wk-dnum{background:var(--rd-red);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-week-body{position:relative;display:grid;grid-template-columns:var(--rd-gut) repeat(7,minmax(0,1fr));height:calc(var(--rd-hn) * var(--rd-hour) * 1px + 24px);padding:12px 0}
.v4-app[data-ui=next][data-redesign] :is(.rd-wk-week-body,.rd-wk-daygrid)>.rd-wk-hours{position:relative}
.v4-app[data-ui=next][data-redesign] .rd-wk-hour{position:absolute;right:10px;top:calc(var(--rd-h) * var(--rd-hour) * 1px);transform:translateY(-50%);font:500 11px/1 var(--gb-font);color:var(--gb-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-hour[data-first=true]{transform:translateY(-35%)}
.v4-app[data-ui=next][data-redesign] .rd-wk-hour[data-near=true]{visibility:hidden}
.v4-app[data-ui=next][data-redesign] .rd-wk-nowtime{position:absolute;right:6px;top:calc(var(--rd-s) / 60 * var(--rd-hour) * 1px);z-index:2;transform:translateY(-50%);padding:2px 4px;border-radius:4px;background:var(--gb-surface);color:var(--rd-red);font:600 11px/1 var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-col{position:relative;min-width:0;border-left:1px solid var(--gb-hair);background-image:repeating-linear-gradient(to bottom,var(--gb-hair) 0 1px,transparent 1px calc(var(--rd-hour) * 1px))}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev{--rd-tone:var(--rd-blue);position:absolute;z-index:1;top:calc(var(--rd-s) / 60 * var(--rd-hour) * 1px + 1px);left:calc(2px + (100% - 6px) * var(--rd-l) / var(--rd-n));width:calc((100% - 6px) / var(--rd-n) - 2px);height:calc(var(--rd-d) / 60 * var(--rd-hour) * 1px - 2px);display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin:0;padding:4px 6px 4px 8px;border:0;border-radius:6px;background:color-mix(in srgb,var(--rd-tone) 15%,var(--gb-surface));color:color-mix(in srgb,var(--rd-tone) 62%,var(--gb-ink));font:400 11.5px/1.25 var(--gb-font);text-align:left;overflow:hidden;cursor:pointer;box-shadow:inset 3px 0 0 var(--rd-tone);transition:filter var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev:hover{filter:saturate(1.25) brightness(.97);z-index:2}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev:active{transform:scale(.985)}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev-title{max-width:100%;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev-time,.v4-app[data-ui=next][data-redesign] .rd-wk-ev-name{max-width:100%;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
/* Short blocks keep one line (title and time), mid-length ones two; the name shows when there is room for it. */
.v4-app[data-ui=next][data-redesign] .rd-wk-ev[data-size=s]{flex-direction:row;align-items:center;gap:6px;padding-top:0;padding-bottom:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev[data-size=s] .rd-wk-ev-title{flex:0 1 auto;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev[data-size=s] .rd-wk-ev-time{flex:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev:is([data-size=s],[data-size=m]) .rd-wk-ev-name{display:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev[data-cancelled=true]{background:var(--gb-fill);color:var(--gb-ink-3);box-shadow:inset 3px 0 0 var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev[data-cancelled=true] .rd-wk-ev-title{text-decoration:line-through}
.v4-app[data-ui=next][data-redesign] .rd-wk-ev[data-live=true]{background:color-mix(in srgb,var(--rd-tone) 24%,var(--gb-surface));box-shadow:inset 3px 0 0 var(--rd-tone),0 0 0 1.5px color-mix(in srgb,var(--rd-tone) 55%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-wk-nowline{position:absolute;left:-1px;right:0;top:calc(var(--rd-s) / 60 * var(--rd-hour) * 1px);z-index:3;height:2px;margin-top:-1px;background:var(--rd-red);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-nowline::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-wk-empty--over{position:absolute;left:var(--rd-gut,0);right:0;top:52px;bottom:0;display:grid;place-items:center;margin:0;pointer-events:none}

/* Day: the week strip and one day's grid */
.v4-app[data-ui=next][data-redesign] .rd-wk-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 20px;padding:6px;border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;margin:0;padding:8px 0 6px;border:0;border-radius:12px;background:none;color:var(--gb-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday .rd-wk-dow{font:500 12px/1 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday .rd-wk-dnum{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font:500 18px/1 var(--gb-font);font-variant-numeric:tabular-nums;transition:background-color var(--gb-dur-2) var(--gb-ease),color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday[data-today=true] .rd-wk-dnum{color:var(--rd-red);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday[aria-pressed=true] .rd-wk-dnum{background:var(--gb-ink);color:var(--gb-ground);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday[data-today=true][aria-pressed=true] .rd-wk-dnum{background:var(--rd-red);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday>i{width:5px;height:5px;border-radius:50%;background:transparent}
.v4-app[data-ui=next][data-redesign] .rd-wk-stripday>i[data-has=true]{background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-daylabel{margin:0 0 12px;font:600 20px/1.25 var(--gb-font);letter-spacing:-.018em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-wk-daygrid{--rd-hour:64;--rd-gut:64px;position:relative;display:grid;grid-template-columns:var(--rd-gut) minmax(0,1fr);height:calc(var(--rd-hn) * var(--rd-hour) * 1px + 32px);padding:16px 16px 16px 0;border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-wk-daygrid .rd-wk-col{border-left:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-daygrid .rd-wk-ev{font-size:13px;padding:6px 10px 6px 12px;border-radius:8px}
.v4-app[data-ui=next][data-redesign] .rd-wk-dayview .rd-wk-empty{margin:20px 0 0}

/* Month */
.v4-app[data-ui=next][data-redesign] .rd-wk-month{border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-wk-month-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-wk-month-dow>span{padding:12px 12px 10px;text-align:right;font:500 12px/1 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-wk-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(112px,auto)}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0;margin:0;padding:6px 6px 8px;border:0;border-right:1px solid var(--gb-hair);border-bottom:1px solid var(--gb-hair);background:none;color:var(--gb-ink);font:400 12px/1.3 var(--gb-font);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell:nth-child(7n){border-right:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell:nth-last-child(-n+7){border-bottom:0}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell[data-in=false]{background:var(--gb-zebra);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell-num{align-self:flex-end;display:grid;place-items:center;min-width:26px;height:26px;margin-bottom:2px;padding:0 7px;border-radius:13px;font:500 13px/1 var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-cell[data-today=true] .rd-wk-cell-num{background:var(--rd-red);color:var(--rd-blue-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip-ev{--rd-tone:var(--rd-blue);display:flex;align-items:center;gap:5px;min-width:0;padding:1px 4px;border-radius:5px;font:400 12px/1.35 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip-ev>i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--rd-tone)}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip-ev>b{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip-ev>span{flex:none;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-chip-ev[data-cancelled=true]>b{color:var(--gb-ink-3);text-decoration:line-through}
.v4-app[data-ui=next][data-redesign] .rd-wk-more-n{padding:0 4px;font:500 11.5px/1.3 var(--gb-font);color:var(--gb-ink-3)}

/* The classic dialogs the calendar keeps (Edit, conflict, Meeting brief, New booking) open as sheets over everything. */
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal-backdrop{z-index:150;padding:24px;animation:gbn-rd-work-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal{width:480px;max-height:min(780px,calc(100dvh - 48px));padding:24px;border-radius:22px;background:var(--gb-raised);animation:gbn-rd-work-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal :is(.v4-cal-seg,.v4-cal-primary-btn,.v4-cal-mini-btn){display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border:0;border-radius:999px;font:500 15px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal .v4-cal-seg{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal .v4-cal-seg[aria-pressed=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal .v4-cal-primary-btn{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal .v4-cal-mini-btn{height:32px;padding:0 12px;font-size:13px;background:var(--gb-fill-2);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-field :is(input,select,textarea){border-radius:10px;background:var(--gb-fill);box-shadow:none;font-size:15px}

/* ---- D. Deals ------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-page-deals{max-width:calc(var(--gb-page-max) + 80px);padding:40px 40px var(--rd-wk-clear)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .rd-wk-hd{margin-bottom:24px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .rd-wk-bar{margin-bottom:24px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-banner{margin:0 0 16px;padding:12px 16px;border:0;border-radius:12px;background:var(--gb-fill);font-size:14px}
/* Board: soft lanes, white cards with room; the stage handles stay quiet until the lane is hovered or focused. */
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-board{gap:12px;margin:0 -40px;padding:0 40px 24px;scroll-padding-inline:40px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-board .deals-col{flex:1 0 232px;min-width:232px;gap:0;padding:12px 10px 10px;border-radius:16px;background:var(--rd-grouped)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-page-deals .deals-board .deals-col{background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col-head{position:relative;align-items:baseline;gap:2px 8px;min-height:28px;padding:0 6px 12px;font-size:15px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col-title{font:600 15px/1.3 var(--gb-font);letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col-count{font:500 13px/1 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col-sum{flex-basis:100%;margin-left:16px;font:400 13px/1.3 var(--gb-font);color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col-head .pipeline-stage-controls{position:absolute;top:-4px;right:0;opacity:0;transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col:is(:hover,:focus-within) .pipeline-stage-controls{opacity:1}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-col-body{gap:8px;min-height:72px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card{padding:12px 14px;border-radius:12px;background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair),0 1px 2px rgba(0,0,0,.04)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-page-deals .deals-card{background:var(--gb-raised)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card:hover{box-shadow:0 0 0 .5px var(--gb-hair-2),0 6px 18px -8px rgba(0,0,0,.22);transform:translateY(-1px)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card-name{font-size:14px;line-height:18px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card-value{font-size:14px;line-height:18px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card-bottom{margin:8px 0 2px;padding:0;background:none}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card-next{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card-owner{display:none}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-hot{border:0;background:color-mix(in srgb,var(--rd-orange) 14%,transparent);color:color-mix(in srgb,var(--rd-orange) 78%,var(--gb-ink));font:600 10.5px/1 var(--gb-font);letter-spacing:.02em}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-card-hot{box-shadow:0 0 0 .5px var(--gb-hair),0 1px 2px rgba(0,0,0,.04)}
/* Timeline and forecast keep their figures; quieter panels */
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-panel{border:0;border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-forecast-total{font:600 34px/1.1 var(--gb-font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-bar-fill{background:var(--rd-blue)}
/* The drawer is a sheet: grouped background, the record's parts as white groups. */
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-scrim{z-index:140}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer{z-index:141;width:min(420px,calc(100vw - 24px));border-radius:22px;background:var(--rd-grouped);box-shadow:var(--gb-shadow-3)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-page-deals .deals-drawer{background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-head{padding:20px 20px 4px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-top{align-items:flex-start;gap:12px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-avatar-lg{width:48px;height:48px;border-radius:50%;background:linear-gradient(180deg,var(--rd-wk-mono-a),var(--rd-wk-mono-b));color:var(--rd-blue-ink);font:600 17px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-title{font:700 22px/1.2 var(--gb-font);letter-spacing:-.02em}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-top .rd-wk-ask{height:32px;padding:0 12px 0 3px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-top .rd-wk-ask .rd-wk-orb{width:26px;height:26px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-close-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);font-size:13px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-value-row{margin-top:16px;border-radius:12px;background:var(--gb-surface);box-shadow:none}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-page-deals .deals-drawer-value-row{background:var(--gb-raised)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-value{font:600 34px/1.1 var(--gb-font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-body{padding:12px 20px 16px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-owned-row{padding:12px 16px;border:0;border-radius:12px;background:var(--gb-surface);box-shadow:none}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-page-deals :is(.deals-owned-row,.deals-timeline-list:has(.deals-timeline-item),.deals-draft-box,.deals-section-label+.deals-card-seg){background:var(--gb-raised)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-section-label{margin:20px 16px 6px;font:400 13px/1.3 var(--gb-font);letter-spacing:0;text-transform:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-timeline-list{margin:0;padding:0;border:0;background:none;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-timeline-list:has(.deals-timeline-item){border-radius:12px;background:var(--gb-surface);overflow:hidden}
/* A section with nothing in it yet keeps its one line ("No stage moves recorded yet.") as a quiet cell; an empty list hides its heading. */
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-section-label+.deals-card-seg{padding:12px 16px;border-radius:12px;background:var(--gb-surface);color:var(--gb-ink-3);font-size:14px}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-section-label:has(+.deals-timeline-list):not(:has(+.deals-timeline-list>.deals-timeline-item)){display:none}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-timeline-item{position:relative;margin:0;padding:10px 16px;border:0}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-timeline-item+.deals-timeline-item::before{content:"";position:absolute;left:16px;right:0;top:0;height:1px;background:var(--gb-hair);transform:scaleY(.5)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-draft-box{border:0;border-radius:12px;background:var(--gb-surface);padding:12px 16px;font-size:15px;line-height:1.45}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-foot{padding:12px 20px 20px;box-shadow:none;background:transparent}
.v4-app[data-ui=next][data-redesign] .v4-page-deals :is(.deals-primary-btn,.deals-secondary-btn,.deals-ghost-btn){height:40px;padding:0 18px;border:0;border-radius:999px;font:500 15px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-primary-btn{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals :is(.deals-secondary-btn,.deals-ghost-btn){background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-foot .deals-primary-btn{flex:1 1 100%}
/* New deal and the conflict dialog: centred sheets above everything */
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-modal{z-index:151}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-scrim.deals-scrim-open:not(:has(+.deals-drawer)){z-index:150}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-modal form{border-radius:22px;background:var(--gb-raised);animation:gbn-rd-work-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-field :is(input,select){height:40px;border:0;border-radius:10px;background:var(--gb-fill);font-size:15px}
/* The stage editor inside its sheet: only the editor; the bar above it is in the … menu and under the page header. */
.v4-app[data-ui=next][data-redesign] .rd-wk-pipesheet .pipeline-customize{margin:0;padding:0;border:0;background:none;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-pipesheet .pipeline-toolbar{display:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-pipesheet .pipeline-editor{margin:0;padding:0;border:0;background:none;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-wk-pipesheet .pipeline-stage-editor{border:0;border-radius:12px;background:var(--rd-wk-cell);box-shadow:none}

/* ---- E. People (Contacts) ------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-people-page{padding:40px 40px var(--rd-wk-clear)}
.v4-app[data-ui=next][data-redesign] .v4-people-page>.rd-wk-hd{margin-bottom:20px}
.v4-app[data-ui=next][data-redesign] .v4-people-page>.rd-wk-search{margin-bottom:24px}
.v4-app[data-ui=next][data-redesign] .v4-people-next-tools{margin-bottom:12px}
/* The segments become the iOS segmented control */
.v4-app[data-ui=next][data-redesign] .v4-people-next-seg{display:inline-flex;gap:0;height:32px;padding:2px;border:0;border-radius:9px;background:var(--gb-fill-2);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .v4-people-next-seg>button{height:28px;padding:0 14px;border-radius:7px;font:500 13px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .v4-people-next-seg>button[aria-pressed=true]{background:var(--gb-seg-on);box-shadow:0 0 0 .5px rgba(0,0,0,.04),0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);font-weight:600}
/* Counts in the system face, not the mono one */
.v4-app[data-ui=next][data-redesign] :is(.v4-people-next-seg-n,.v4-people-next-pos){font:500 12px/1 var(--gb-font);font-variant-numeric:tabular-nums;color:var(--gb-ink-2)}
/* The list: Contacts rows with monograms */
.v4-app[data-ui=next][data-redesign] .v4-people-grid{border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .v4-people-avatar{background:linear-gradient(180deg,var(--rd-wk-mono-a),var(--rd-wk-mono-b));color:var(--rd-blue-ink);font-weight:600}
.v4-app[data-ui=next][data-redesign] .v4-people-card-title{font-size:15px;font-weight:600}
/* The person card: a grouped pane */
.v4-app[data-ui=next][data-redesign] .v4-people-detail{background:var(--rd-grouped)!important;--rd-wk-cell:var(--gb-surface)}/* zz-next-people !important */
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-people-detail{background:var(--gb-surface)!important;--rd-wk-cell:var(--gb-raised)}/* zz-next-people !important */
.v4-app[data-ui=next][data-redesign] .v4-people-detail>.rd-wk-quick{order:3;margin:4px 0 0}
.v4-app[data-ui=next][data-redesign] .v4-people-detail>.rd-wk-facts{order:10}
.v4-app[data-ui=next][data-redesign] .v4-people-next-avatar{background:linear-gradient(180deg,var(--rd-wk-mono-a),var(--rd-wk-mono-b));color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .v4-people-detail .rd-wk-perm{order:10;display:flex;flex-direction:column;gap:12px}
.v4-app[data-ui=next][data-redesign] .v4-people-detail .rd-wk-perm .rd-wk-foot{margin:-4px 16px 0}
/* The person card ends where the page's scroll area ends (above the AI activity strip) and its last rows scroll clear of
   the dock's floating bar. */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign] .v4-people-detail{padding-bottom:var(--rd-wk-clear)!important}/* zz-next-people !important */
}
@media (min-width:1280px){
  .v4-app[data-ui=next][data-redesign] .v4-people-detail{height:calc(100dvh - var(--gb-topbar-h,56px) - var(--rd-dock-floor,0px))}
}
@media (min-width:761px) and (max-width:1279px){
  .v4-app[data-ui=next][data-redesign] .v4-people-detail{bottom:calc(var(--rd-dock-floor,0px) + 12px)}
}
/* The editor sheet */
.v4-app[data-ui=next][data-redesign] .v4-new-sheet{z-index:150}

/* ---- F. Companies --------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-companies-page{max-width:calc(var(--gb-page-max) + 80px);margin:0 auto;padding:40px 40px var(--rd-wk-clear)!important}/* .ui-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .rd-wk-search input[type=search]{min-height:36px;padding:0 12px 0 34px!important;border-radius:10px!important;background:var(--gb-fill-2)!important;box-shadow:none!important;font:400 15px/1 var(--gb-font)!important}/* .ui-next-p5 input[type=search] !important */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .rd-wk-search input[type=search]:focus{background:var(--gb-fill-2)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)!important}/* same */
.v4-app[data-ui=next][data-redesign] .v4-companies-page>.rd-wk-search{margin-bottom:24px}
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-companies-list{margin-top:0!important}/* zz-next-p5-pages.css sets it !important */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-companies-row>span:first-child{border-radius:50%!important;background:linear-gradient(180deg,var(--rd-wk-mono-a),var(--rd-wk-mono-b))!important;color:var(--rd-blue-ink)!important}/* beats the row's inline style */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-companies-row-title{font:600 15px/1.3 var(--gb-font)!important}/* zz-next-p5 !important */
/* Two panes, like Contacts on a Mac: the list, and the card beside it */
.v4-app[data-ui=next][data-redesign] .v4-companies-page:has(>.v4-companies-detail){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);grid-template-rows:repeat(12,auto) minmax(0,1fr);column-gap:24px;align-items:start}
.v4-app[data-ui=next][data-redesign] .v4-companies-page:has(>.v4-companies-detail)>*{grid-column:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .v4-companies-page:has(>.v4-companies-detail)>.rd-wk-hd{grid-column:1 / -1}
.v4-app[data-ui=next][data-redesign] .v4-companies-page>.v4-companies-detail{grid-column:2;grid-row:2 / -1;position:sticky;top:16px;display:flex;flex-direction:column;align-items:stretch;gap:12px;max-height:calc(100dvh - var(--gb-topbar-h,56px) - var(--rd-dock-floor,0px) - var(--rd-wk-clear));margin:0!important;padding:16px!important;overflow-y:auto;border-radius:22px!important;background:var(--rd-grouped)!important;box-shadow:none!important;--rd-wk-cell:var(--gb-surface)}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign][data-theme=dark] .v4-companies-page>.v4-companies-detail{background:var(--gb-surface)!important;--rd-wk-cell:var(--gb-raised)}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail>*{flex-shrink:0}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail>.crm-panel-title{position:relative;justify-content:center;text-align:center}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail>.crm-panel-title h2{margin:0;font:700 24px/1.2 var(--gb-font);letter-spacing:-.02em}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail>.crm-panel-title .icon-button{position:absolute;top:-76px;right:-4px;width:30px;height:30px;border-radius:50%;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail-line{margin:-6px 0 4px;text-align:center}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail-notes{margin:0;padding:12px 16px;border-radius:12px;background:var(--rd-wk-cell);font-size:15px!important;line-height:1.45;color:var(--gb-ink)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail>.crm-actions{justify-content:center}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked:has(>li){margin:0!important;padding:0;border-radius:12px;background:var(--rd-wk-cell);list-style:none;overflow:hidden}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked:not(:has(>li)){display:none}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked>li{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:10px 16px!important;box-shadow:none}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked>li+li::before{content:"";position:absolute;left:16px;right:0;top:0;height:1px;background:var(--gb-hair);transform:scaleY(.5)}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked>li>span{flex:1 1 100%;order:2;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked>li>b{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}
/* zz-next-p5 greys every span inside a linked row, the name's and the amount's text spans too; they follow their own element. */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-linked>li>:is(strong,b) span{color:inherit}
.v4-app[data-ui=next][data-redesign] .v4-companies-page h3{display:block;margin:12px 16px 0!important;font:400 13px/1.3 var(--gb-font)!important;color:var(--gb-ink-2)!important}/* zz-next-p5 !important; block keeps "People at this company" one phrase */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail .v4-companies-note{margin:0 16px;font-size:12.5px;color:var(--gb-ink-3)}
/* An empty section keeps its one line as a quiet cell, like the deal drawer's "No stage moves recorded yet." */
.v4-app[data-ui=next][data-redesign] .v4-companies-detail>p:not([class]):not([role]){margin:0;padding:12px 16px;border-radius:12px;background:var(--rd-wk-cell);font-size:15px;line-height:1.35;color:var(--gb-ink-3)}
/* The editor opens as a sheet (the form carries role=dialog only while the redesign is on); a wide shadow is its scrim. */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor[data-v4-dialog=open]{position:fixed;left:50%;top:50%;z-index:150;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:0!important;padding:24px!important;overflow-y:auto;transform:translate(-50%,-50%);border-radius:22px!important;background:var(--gb-raised)!important;box-shadow:0 0 0 100vmax var(--gb-scrim),var(--gb-shadow-3)!important;animation:gbn-rd-work-fade var(--gb-dur-2) var(--gb-ease) both}/* zz-next-p5 !important */

/* Inside the sheet: the linked people are an inset grouped list (Remove in red, Add in blue), the people search sits
   beside its button, and the actions sit bottom right with the primary one last, as in the other sheets. */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .v4-companies-people-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:8px}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .v4-companies-people-editor>*{grid-column:1 / -1;min-width:0;margin:0}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .v4-companies-people-editor>.crm-field{grid-column:1}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .v4-companies-people-editor>.crm-field+.secondary-button{grid-column:2;height:40px}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results):not(:has(>li)){display:none}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results):has(>li){margin:0!important;padding:0;border-radius:12px;background:var(--gb-fill);list-style:none;overflow:hidden}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results)>li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1px 12px;min-height:52px;padding:8px 8px 8px 16px!important;border:0;box-shadow:none}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results)>li+li::before{content:"";position:absolute;left:16px;right:0;top:0;height:1px;background:var(--gb-hair);transform:scaleY(.5);transform-origin:top}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results)>li>span:first-child{grid-column:1;grid-row:1;font:400 15px/1.3 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results)>li>small{grid-column:1;grid-row:2;font:400 13px/1.3 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results)>li>:is(button,.v4-companies-added){grid-column:2;grid-row:1 / span 2}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results)>li>span:first-child span{color:inherit}
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .v4-companies-linked .secondary-button{background:transparent!important;color:var(--rd-red)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .v4-companies-link-results .secondary-button{background:transparent!important;color:var(--rd-blue)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor :is(.v4-companies-linked,.v4-companies-link-results) .secondary-button:hover:not([aria-disabled=true]){background:var(--gb-fill-2)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-companies-editor .crm-actions{flex-direction:row-reverse;justify-content:flex-start;margin:20px 0 0}

/* ---- G. Signature --------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-signature-page{max-width:calc(var(--gb-page-max) + 80px);margin:0 auto;padding:40px 40px var(--rd-wk-clear)!important}/* .ui-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 :is(.v4-signature-today,.v4-signature-features){margin-top:8px!important;padding:0;border-radius:0;background:none;box-shadow:none}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-signature-today>p{margin:0;padding:14px 16px;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-size:15px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-signature-features>input[type=search]{width:100%!important;max-width:420px!important;margin:4px 0 0!important;padding:0 14px!important;border-radius:10px!important;background:var(--gb-fill-2)!important;font:400 15px/1 var(--gb-font)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-signature-feature-list li{min-height:32px;padding:6px 12px!important;border-radius:999px!important;background:var(--gb-surface)!important;box-shadow:0 0 0 .5px var(--gb-hair-2);font-size:13px!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-signature-kpis{gap:16px}
.v4-app[data-ui=next][data-redesign] .ui-next-p5 .v4-signature-kpi{padding:20px!important;border-radius:16px!important;box-shadow:var(--gb-shadow-1)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-signature-kpi-value{font:600 34px/1.1 var(--gb-font)!important;letter-spacing:-.03em!important;font-variant-numeric:tabular-nums}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-signature-kpi-label{margin-top:6px;font-size:13px!important;color:var(--gb-ink-2)!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .v4-signature-page h3{margin:28px 4px 10px!important;font:600 20px/1.25 var(--gb-font)!important;letter-spacing:-.018em!important}/* zz-next-p5 !important */
.v4-app[data-ui=next][data-redesign] .rd-wk-today{box-shadow:var(--gb-shadow-1);border-radius:16px}
.v4-app[data-ui=next][data-redesign] .rd-wk-today>.rd-wk-row{min-height:56px}
.v4-app[data-ui=next][data-redesign] .rd-wk-today-time{flex:none;width:76px;font:600 15px/1.2 var(--gb-font);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-wk-today:not(:has(>li)){display:none}

/* ---- H. Phones (≤760px): one column, sheets from the bottom, 44px targets ---- */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] :is(.v4-cal,.v4-page-deals,.v4-people-page,.v4-companies-page,.v4-signature-page){padding:16px 16px max(112px,var(--rd-wk-clear))!important}/* the calendar's inline padding; zz-next-people !important */
  .v4-app[data-ui=next][data-redesign] .rd-wk-title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-hd{align-items:flex-start;gap:12px;margin-bottom:16px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-hd-text{flex-basis:100%}
  .v4-app[data-ui=next][data-redesign] .rd-wk-hd-actions{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-wk-hd-actions>.rd-wk-btn--pri{margin-left:auto}
  .v4-app[data-ui=next][data-redesign] :is(.rd-wk-btn,.rd-wk-ask,.rd-wk-search input,.rd-wk-search-go){min-height:44px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-wk-ibtn,.rd-wk-more){width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-bar{gap:10px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-bar>.rd-wk-seg{flex:1 1 100%}
  .v4-app[data-ui=next][data-redesign] .rd-wk-bar>.rd-wk-seg>button{flex:1 1 0;min-width:0;height:32px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-seg{height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-nav{margin-left:auto}
  .v4-app[data-ui=next][data-redesign] .rd-wk-select{margin-left:0}
  .v4-app[data-ui=next][data-redesign] .rd-wk-chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  /* Sheets come up from the bottom with a grabber */
  .v4-app[data-ui=next][data-redesign] .rd-wk-layer{place-items:end stretch;padding:0}
  .v4-app[data-ui=next][data-redesign] .rd-wk-sheet{width:100%;max-height:calc(100dvh - 24px);border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom);animation-name:gbn-rd-work-up}
  .v4-app[data-ui=next][data-redesign] .rd-wk-grab{display:block;flex:none;width:36px;height:5px;margin:6px auto 0;border-radius:3px;background:var(--gb-hair-2)}
  .v4-app[data-ui=next][data-redesign] .rd-wk-sheet-hd{padding:12px 16px 8px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-sheet-body{padding:4px 16px 24px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-menu{top:auto;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;max-width:none;margin:0;border-radius:14px;background:var(--gb-raised);transform-origin:bottom center;animation-name:gbn-rd-work-up}
  .v4-app[data-ui=next][data-redesign] .rd-wk-menu-item{min-height:48px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-layer--menu>.rd-wk-scrim--clear{background:var(--gb-scrim);animation:gbn-rd-work-fade var(--gb-dur-2) var(--gb-ease) both}
  /* The dialogs the pages keep (New deal, the calendar's Edit, conflict, brief and New booking) also come up from the bottom */
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-modal{align-items:flex-end}
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-modal form{width:100vw;max-width:100vw;max-height:calc(100dvh - 24px);border-radius:22px 22px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom));animation-name:gbn-rd-work-up}
  .v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal-backdrop{align-items:flex-end;padding:0}
  .v4-app[data-ui=next][data-redesign] .v4-cal .v4-cal-modal{width:100vw;max-width:100vw;max-height:calc(100dvh - 24px);border-radius:22px 22px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom));animation-name:gbn-rd-work-up}
  .v4-app[data-ui=next][data-redesign] .rd-wk-row{min-height:48px}
  /* Calendar on a phone: the strip and one day */
  .v4-app[data-ui=next][data-redesign] .rd-wk-strip{margin-bottom:16px;padding:4px;gap:0}
  .v4-app[data-ui=next][data-redesign] .rd-wk-stripday .rd-wk-dnum{width:34px;height:34px;font-size:17px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-daygrid{--rd-hour:56;--rd-gut:52px;padding:12px 10px 12px 0}
  .v4-app[data-ui=next][data-redesign] .rd-wk-month-grid{grid-auto-rows:minmax(56px,auto)}
  .v4-app[data-ui=next][data-redesign] .rd-wk-month-dow>span{padding:10px 0 8px;text-align:center}
  .v4-app[data-ui=next][data-redesign] .rd-wk-cell{align-items:center;padding:4px 2px 6px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-cell-num{align-self:center}
  .v4-app[data-ui=next][data-redesign] .rd-wk-cell .rd-wk-chip-ev{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-wk-cell[data-has=true]::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gb-ink-3)}
  .v4-app[data-ui=next][data-redesign] .rd-wk-more-n{display:none}
  /* Calendar: Day | Month and the day arrows share one row; the Now pill takes the next. */
  .v4-app[data-ui=next][data-redesign] .v4-cal .rd-wk-bar>.rd-wk-seg{flex:0 1 auto}
  .v4-app[data-ui=next][data-redesign] .v4-cal .rd-wk-bar>.rd-wk-seg>button{flex:0 0 auto;min-width:72px}
  .v4-app[data-ui=next][data-redesign] .rd-wk-now{order:5;flex:1 1 100%;justify-content:center}
  /* Deals: lanes snap, the drawer is a bottom sheet */
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-board{margin:0 -16px;padding:0 16px 24px;scroll-padding-inline:16px}
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-board .deals-col{flex:0 0 min(82vw,300px);min-width:0}
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer{top:auto;right:0;bottom:0;left:0;width:100vw;max-width:100vw;height:calc(100dvh - 24px);border-radius:22px 22px 0 0;transform:translateY(102%)}
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-open{transform:translateY(0)}
  .v4-app[data-ui=next][data-redesign] .v4-page-deals .deals-drawer-head::before{content:"";display:block;width:36px;height:5px;margin:-12px auto 12px;border-radius:3px;background:var(--gb-hair-2)}
  /* People and companies: the card is a sheet from the bottom */
  .v4-app[data-ui=next][data-redesign] .v4-people-detail{inset:24px 0 0 0!important;z-index:150;border-radius:22px 22px 0 0!important;box-shadow:0 0 0 100vmax var(--gb-scrim)!important;animation:gbn-rd-work-up var(--gb-dur-3) var(--gb-ease) both}/* zz-next-people !important; the wide shadow dims the page behind, as a sheet does */
  .v4-app[data-ui=next][data-redesign] .v4-people-next-seg{display:flex;flex-wrap:nowrap;width:100%}
  .v4-app[data-ui=next][data-redesign] .v4-people-next-seg>button{flex:1 1 auto;min-width:0;gap:3px;padding:0 4px;font-size:12.5px}
  .v4-app[data-ui=next][data-redesign] .v4-people-next-seg-n{font:500 11px/1 var(--gb-font)}
  .v4-app[data-ui=next][data-redesign] .v4-companies-page:has(>.v4-companies-detail){display:block}
  .v4-app[data-ui=next][data-redesign] .v4-companies-page>.v4-companies-detail{position:fixed;inset:24px 0 0 0;z-index:150;max-height:none;border-radius:22px 22px 0 0!important;box-shadow:0 0 0 100vmax var(--gb-scrim)!important;padding-bottom:calc(32px + env(safe-area-inset-bottom))!important;animation:gbn-rd-work-up var(--gb-dur-3) var(--gb-ease) both}/* zz-next-p5 !important */
  .v4-app[data-ui=next][data-redesign] .v4-companies-detail>.crm-panel-title .icon-button{top:-60px}
  .v4-app[data-ui=next][data-redesign] .v4-companies-editor[data-v4-dialog=open]{top:auto;bottom:0;left:0;width:100vw;max-height:calc(100dvh - 24px);transform:none;border-radius:22px 22px 0 0!important}/* zz-next-p5 !important */
  .v4-app[data-ui=next][data-redesign] .v4-signature-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- I. Motion ------------------------------------------------------------ */
@keyframes gbn-rd-work-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-work-rise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes gbn-rd-work-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes gbn-rd-work-pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes gbn-rd-work-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] :is(.rd-wk-now>i,.rd-wk-pill[data-tone=live]>i){animation:none}
  .v4-app[data-ui=next][data-redesign] :is(.rd-wk-sheet,.rd-wk-scrim,.rd-wk-menu,.v4-cal,.v4-people-detail,.v4-companies-detail,.v4-companies-editor,.v4-cal-modal){animation:none!important}/* the calendar's inline animation */
}

/* ==========================================================================
   UI-REDESIGN · the money area (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   Money (payments-rd.html), Reputation (reputation-rd.html) and Reports (reporting.html, restyled in place).
   Apple Wallet and apple.com: big tabular numbers, quiet cards, one primary action per page, everything else
   one tap away in a "…" menu or a sheet. Sheets are centred on desktop and come up from the bottom on phones.
   Pills: paid green, due orange, overdue red. Charts are the shared gb-bars component.

   SWITCH. Every selector starts with .v4-app[data-ui=next][data-redesign]; with the flag off nothing here
   matches. Colours come from the redesign tokens (zz-next-zzz-rd-0-tokens.css) plus the few page tokens
   below, each defined for light and dark. !important appears only where reporting.html's inline styles
   (and the existing next rules written to beat them) would otherwise win.
   ========================================================================== */

/* 0 · page tokens ----------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep,.v4-reporting-page,.mv-page-rail){
  --rdm-green-ink:#248a3d;--rdm-orange-ink:#c45500;--rdm-red-ink:#d70015;--rdm-blue-ink:#0066cc;
  --rdm-green-tint:rgba(52,199,89,.15);--rdm-orange-tint:rgba(255,149,0,.16);--rdm-red-tint:rgba(255,59,48,.12);--rdm-blue-tint:rgba(0,122,255,.12);
  --rdm-star:#ff9500;--rdm-star-off:rgba(118,118,128,.24);--rdm-av-a:#a5abb9;--rdm-av-b:#858994;
  --rdm-sheet-bg:var(--rd-grouped,#f2f2f7);--rdm-group-bg:var(--gb-surface,#fff);--rdm-bar:rgba(118,118,128,.2);
}
.v4-app[data-ui=next][data-redesign][data-theme=dark] :is(.rd-money,.rd-rep,.v4-reporting-page,.mv-page-rail){
  --rdm-green-ink:#30d158;--rdm-orange-ink:#ffb340;--rdm-red-ink:#ff6961;--rdm-blue-ink:#4da3ff;
  --rdm-green-tint:rgba(48,209,88,.18);--rdm-orange-tint:rgba(255,159,10,.2);--rdm-red-tint:rgba(255,69,58,.2);--rdm-blue-tint:rgba(10,132,255,.22);
  --rdm-star:#ff9f0a;--rdm-star-off:rgba(118,118,128,.42);--rdm-av-a:#6e6e73;--rdm-av-b:#4a4a4e;
  --rdm-sheet-bg:var(--gb-surface,#1c1c1e);--rdm-group-bg:var(--gb-raised,#2c2c2e);--rdm-bar:rgba(118,118,128,.36);
}

/* 1 · frame: the pages take the full width; the shell's metric summary (moved, not hidden) is a slim card at the foot -- */
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-layout{display:block;margin:0}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-layout>.mv-page-rail{position:static;box-sizing:border-box;width:100%;max-width:var(--gb-page-max,1180px);margin:0 auto;padding:0 40px 112px}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 20px;box-sizing:border-box;width:100%;min-height:0;margin:0;padding:16px 20px;border:0;border-radius:var(--gb-r-md,16px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);text-align:left;cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary:hover{background:var(--gb-surface);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary-heading{grid-column:1;font-size:14px;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary-heading i{display:none}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary-value{grid-column:2;grid-row:1/span 2;justify-self:end;margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary small{grid-column:1;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary :is(.mv-summary-trend,.mv-summary-rate,.mv-summary-bars){grid-column:2;grid-row:3/span 2;justify-self:end;width:140px;max-width:100%;height:30px;margin:0}
.v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary-link{grid-column:1;display:inline-flex;justify-content:flex-start;gap:4px;margin:4px 0 0;padding:0;border:0;font-size:13px;font-weight:500;color:var(--rdm-blue-ink,var(--gb-ink-2))}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep){box-sizing:border-box;width:100%;max-width:var(--gb-page-max,1180px);margin:0 auto;padding:40px 40px 112px;color:var(--gb-ink);font-family:var(--gb-font);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}
.v4-app[data-ui=next][data-redesign] .mv-page-layout[data-has-chart=true] :is(.rd-money,.rd-rep,.v4-reporting-page){padding-bottom:28px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) :focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) :is(h1,h2,h3,p,ul,blockquote){margin:0}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-num{font-variant-numeric:tabular-nums}

/* 2 · header: a large quiet title, the one primary action on the right ------------------------------ */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:0 0 28px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-head__titles{flex:1 1 260px;min-width:0}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-title{font-size:30px;font-weight:700;letter-spacing:-.022em;line-height:1.1;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sub{margin-top:6px;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-head__actions{position:relative;display:flex;align-items:center;gap:10px;flex:none}

/* 3 · controls ------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;height:40px;padding:0 18px;border:0;border-radius:999px;font:500 15px/1.2 var(--gb-font);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn:active:not(:disabled){transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn:disabled{opacity:.38;cursor:default}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--pri{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--pri:hover:not(:disabled){background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--sec{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--sec:hover:not(:disabled){background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--blue{background:var(--rd-blue);color:var(--rd-blue-ink,#fff)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--sm{height:32px;padding:0 14px;font-size:14px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--wrap{height:auto;min-height:32px;padding:7px 14px;white-space:normal;text-align:left;line-height:1.3;justify-content:flex-start}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn svg{flex:none}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;box-sizing:border-box;margin-left:2px;padding:0 6px;border-radius:999px;background:var(--gb-btn-ink);color:var(--gb-btn);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-ibtn{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-ibtn:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-more{width:40px;height:40px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-link{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--rdm-blue-ink);font:500 15px var(--gb-font);text-decoration:none;cursor:pointer}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-link:hover{text-decoration:underline}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-textbtn{justify-self:start;padding:6px 2px;border:0;background:none;color:var(--rdm-blue-ink);font:400 17px var(--gb-font);letter-spacing:-.01em;cursor:pointer}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-textbtn--strong{justify-self:end;font-weight:600}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-textbtn:disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-seg{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-seg__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font:500 13px/1 var(--gb-font);white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-seg__btn[aria-pressed=true]{background:var(--gb-seg-on);box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.05)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-seg__n{color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
/* every bound value is drawn inside a span.sc-interp, so "blank" means that span is empty */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-seg__n:is(:empty,:has(>.sc-interp:only-child:empty)){display:none}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:0 12px;border:0;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink);font:400 15px var(--gb-font);outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-textarea{height:auto;min-height:104px;padding:10px 12px;line-height:1.45;resize:vertical}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input--narrow{flex:none;width:auto;min-width:104px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input--sm{height:34px;font-size:14px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input--inline{width:auto;max-width:62%;height:34px;padding:0 4px;background:transparent;color:var(--gb-ink-2);text-align:right;text-align-last:right}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input--bare{flex:1 1 auto;width:auto;height:44px;padding:0;background:transparent;text-align:right}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input--bare:focus{box-shadow:none}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-field{display:flex;flex-direction:column;gap:6px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-field__label{font-size:13px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-field-row{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-field-row>.rd-input:not(.rd-input--narrow){flex:1 1 200px;width:auto}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-row-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-switch{position:relative;display:inline-block;flex:none;width:51px;height:31px;border-radius:999px;background:var(--gb-switch-off);opacity:.7}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-switch>i{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card>.rd-switch-row{margin-top:4px;padding-top:14px;box-shadow:inset 0 1px 0 var(--gb-hair)}

/* 4 · text, pills, avatars, banners ---------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-caption{font-size:13px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-hint{font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-body{margin:8px 0;font-size:15px;line-height:1.5}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-err{margin-top:2px;font-size:13px;line-height:1.4;color:var(--rdm-red-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-warn{margin-top:6px;font-size:13px;line-height:1.4;color:var(--rdm-orange-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-count{margin-left:4px;font-weight:500;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-empty{padding:28px 12px;font-size:15px;line-height:1.45;text-align:center;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-banner{display:flex;align-items:center;gap:8px;margin:0 0 20px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.4}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-banner--ok{background:var(--rdm-green-tint);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-banner--err{background:var(--rdm-red-tint);color:var(--rdm-red-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:24px;padding:0 10px 0 8px;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink-2);font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill:is(:empty,:has(>.sc-interp:only-child:empty)){display:none}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill:is([data-tone=paid],[data-tone=done]){background:var(--rdm-green-tint);color:var(--rdm-green-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill:is([data-tone=due],[data-tone=needs]){background:var(--rdm-orange-tint);color:var(--rdm-orange-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill:is([data-tone=overdue],[data-tone=fail]){background:var(--rdm-red-tint);color:var(--rdm-red-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-pill[data-tone=work]{background:var(--rdm-blue-tint);color:var(--rdm-blue-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-dot[data-on=true]{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,var(--rdm-av-a),var(--rdm-av-b));color:#fff;font-size:15px;font-weight:600;letter-spacing:.01em;line-height:1}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-avatar--sm{width:28px;height:28px;font-size:11px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-avatar--lg{width:48px;height:48px;font-size:18px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-draft{padding:10px 14px;border-radius:18px;background:var(--rd-in,var(--gb-fill));color:var(--rd-in-ink,var(--gb-ink));font-size:14px;line-height:1.45;white-space:pre-wrap}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-meter{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--gb-track)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-meter>i{display:block;width:calc(var(--v,0) * 100%);height:100%;border-radius:inherit;background:var(--gb-ink-3)}

/* 5 · cards and lists ------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card{box-sizing:border-box;min-width:0;padding:20px;border-radius:var(--gb-r-md,16px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:12px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card__head--top{flex-wrap:nowrap;align-items:flex-start}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card__titles{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card__title{font-size:16px;font-weight:600;letter-spacing:-.012em;line-height:1.3;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-rows{display:flex;flex-direction:column;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-rows>li+li{box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-section-head{display:flex;align-items:baseline;gap:6px;margin:12px 0 14px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-section-title{font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) :is(.rd-skel-list,.rd-skel-cards) i{display:block;background:linear-gradient(90deg,var(--gb-fill) 25%,var(--gb-fill-2) 50%,var(--gb-fill) 75%);background-size:200% 100%;animation:gbn-rd-money-shimmer 1.4s ease-in-out infinite}

/* 6 · Money ---------------------------------------------------------------------------------------- */
/* the month at a glance: three tiles, each number big and tabular; a dash until the first read lands */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi{display:flex;flex-direction:column;gap:6px;min-width:0;padding:20px 22px 22px;border-radius:var(--gb-r-md,16px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi__label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi__label::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi--in .rd-kpi__label::before{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi--due .rd-kpi__label::before{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi--quote .rd-kpi__label::before{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi__value{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi__note{font-size:13px;line-height:1.35;color:var(--gb-ink-2)}

.v4-app[data-ui=next][data-redesign] .rd-money :is(.rd-pay-top,.rd-pay-grid){display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:20px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-top{align-items:stretch;margin-bottom:20px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-top>:only-child{grid-column:1/-1}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-grid{align-items:start}
/* with no side card to show (nothing unpaid, no quiet quote, pots off) the list takes the whole width */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-grid:not(:has(>.rd-pay-side>*)){grid-template-columns:minmax(0,1fr)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-side:not(:has(>*)){display:none}

/* invoices: a clean list; each row opens the invoice in a sheet */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-list{padding:18px 10px 10px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-list>.rd-card__head{padding:0 10px;margin-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-list{display:flex;flex-direction:column}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-item{position:relative}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-item+.rd-inv-item::before{content:"";position:absolute;top:0;left:62px;right:10px;height:1px;background:var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:66px;padding:10px;border:0;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row:active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row:hover+*,.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-item:hover+.rd-inv-item::before{opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row__main{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row__name{overflow:hidden;font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row__meta{overflow:hidden;font-size:13px;color:var(--gb-ink-2);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row__end{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row__amt{font-size:15px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row[data-tone=paid] .rd-inv-row__amt{color:var(--gb-ink-2);font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-chev{flex:none;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-skel-list{display:flex;flex-direction:column;gap:6px;padding:4px 10px 10px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-skel-list i{height:54px;border-radius:12px}

/* collected by week: the shared gb-bars component; this week green, the best week tinted */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-week__total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;text-align:right}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-week__total b{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-week__total>span{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-week{display:flex;flex-direction:column}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-week>.rd-card__head{margin-bottom:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars{--h:112px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:6px;margin-top:auto;padding-top:18px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__col>i{display:block;width:min(100%,26px);height:calc(var(--h) * var(--v,.5));min-height:5px;border-radius:6px;background:var(--rdm-bar)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__col.is-peak>i{background:color-mix(in srgb,var(--rd-green) 42%,var(--rdm-bar))}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__col.is-current>i{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__v{min-height:16px;font-size:12px;font-weight:600;line-height:16px;color:var(--gb-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__x{font-size:11px;line-height:14px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars .gb-bars__col.is-current .gb-bars__x{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars--wait .gb-bars__col>i{background:var(--gb-fill);animation:gbn-rd-money-breathe 1.4s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-week .rd-empty{padding:20px 8px 4px}

/* collections, unpaid work, money at risk */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-coll__src{margin:-6px 0 4px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-coll__name{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need{display:flex;align-items:flex-start;gap:12px;padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need__dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need[data-dot=you] .rd-need__dot{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need[data-dot=run] .rd-need__dot{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need[data-dot=done] .rd-need__dot{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need__title{font-size:15px;font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need__meta{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-need__amt{font-size:15px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket{display:flex;flex-direction:column;gap:8px;padding:14px 0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket:first-child{padding-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-money :is(.rd-bucket__top,.rd-bucket__foot){display:flex;align-items:center;justify-content:space-between;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket__label{font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket__amt{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket__count{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket[data-tone=fresh] .rd-meter>i{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket[data-tone=due] .rd-meter>i{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-bucket[data-tone=overdue] .rd-meter>i{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote:first-child{padding-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote__top{display:flex;align-items:flex-start;gap:12px;width:100%}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote__title{font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote__meta{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote__amt{font-size:15px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-quote .rd-draft{align-self:stretch}

/* set-aside pots */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pots{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pot{min-width:0;padding:14px 16px;border-radius:14px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pot__label{font-size:12px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pot__value{margin-top:4px;font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.15;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pot__note{margin-top:4px;font-size:12px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-pots__today{margin-top:12px;font-size:14px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-sheet .rd-pots{margin:0 0 4px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-sheet .rd-pot{background:var(--rdm-group-bg)}

/* the "…" menu: a popover under its button on desktop, an action sheet on phones */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:70;width:320px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__scrim{position:fixed;inset:0;background:transparent}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__panel{position:relative;display:flex;flex-direction:column;gap:8px;transform-origin:top right;animation:gbn-rd-money-pop var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__group{display:flex;flex-direction:column;padding:6px;border-radius:14px;background:var(--gb-raised);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__item:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__text{display:flex;flex-direction:column;gap:3px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__label{font-size:15px;font-weight:500;line-height:1.3}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__sub{display:flex;align-items:baseline;gap:6px;font-size:13px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__sub .rd-dot{transform:translateY(-1px)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__cancel{display:none}

/* 7 · sheets: centred on desktop, from the bottom on phones; the scrim is inside the dialog -------------- */
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:32px 20px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__scrim{position:absolute;inset:0;background:var(--gb-scrim);animation:gbn-rd-money-fade var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__panel{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:560px;max-height:100%;margin:0;overflow:hidden;border-radius:var(--gb-r-lg,22px);background:var(--rdm-sheet-bg);box-shadow:var(--gb-shadow-3);color:var(--gb-ink);animation:gbn-rd-money-rise var(--gb-dur-3) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__grab{display:none}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__head{display:flex;align-items:center;gap:12px;flex:none;padding:20px 20px 8px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__who{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__title{font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__x{align-self:flex-start;width:30px;height:30px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;flex:none;padding:12px 16px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__bar .rd-sheet__title{font-size:17px;text-align:center}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 24px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__body>.rd-banner{margin:4px 0 8px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-form{display:flex;flex-direction:column;gap:12px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group__title{margin:22px 16px 8px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-form>.rd-group__title{margin:10px 16px -4px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group{margin:0;padding:0;overflow:hidden;list-style:none;border-radius:12px;background:var(--rdm-group-bg)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group+.rd-hint,.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group+.rd-err{margin:8px 16px 0}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group__row{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-height:48px;padding:10px 16px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group__row+.rd-group__row{background:linear-gradient(var(--gb-hair-2),var(--gb-hair-2)) right top/calc(100% - 16px) 1px no-repeat}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group__row--stack{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-group__key{flex:none;font-size:15px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-field-line{cursor:text}
.v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__panel--form .rd-sheet__body{padding-top:16px}

/* the open invoice: amount first, then how to get paid */
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-hero{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 18px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-hero__amt{font-size:44px;font-weight:600;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-hero__status{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-sheet .rd-group__title:first-of-type{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-staged{gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-staged__dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-staged__label{flex:1;min-width:0;font-size:14px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-walk-review{margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-walk-review>.rd-caption,.v4-app[data-ui=next][data-redesign] .rd-money .rd-walk-review>.rd-body{padding:0 16px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-walk-review>.rd-draft{margin:0 4px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-walk-review>.rd-draft+.rd-caption{margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-line__what{flex:1;min-width:0;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-line__price{font-size:13px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-total{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding:0 16px;font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-walk-review .rd-warn{padding:0 16px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-move__when{flex:none;width:56px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-move__what{flex:1;min-width:0;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-sheet .rd-form .rd-row-acts{justify-content:flex-start}
.v4-app[data-ui=next][data-redesign] .rd-money .rd-sheet .rd-form>.rd-hint,.v4-app[data-ui=next][data-redesign] .rd-money .rd-sheet .rd-form>.rd-err{padding:0 16px}

/* 8 · Reputation ---------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch;margin-bottom:20px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum{display:flex;flex-direction:column;gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__body{display:flex;align-items:center;gap:28px;flex:1}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__score{display:flex;flex-direction:column;align-items:center;flex:none;min-width:104px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__avg{font-size:64px;font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__out{margin-top:6px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__dist{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-dist{display:grid;grid-template-columns:30px minmax(0,1fr) 38px;align-items:center;gap:10px;font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-dist__n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-dist__star{margin-left:2px;font-size:10px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-dist .rd-meter>i{background:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-dist__pct{text-align:right;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__count{font-size:13px;font-weight:600;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-stars{display:inline-flex;gap:2px;font-size:15px;line-height:1}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-stars--lg{gap:3px;font-size:20px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-star{color:var(--rdm-star-off)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-star[data-on=true]{color:var(--rdm-star)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source{display:flex;align-items:flex-start;gap:12px;padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source:first-child{padding-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source__logo{display:block;flex:none;width:30px;height:30px;overflow:hidden;border-radius:7px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source__logo svg{display:block}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source__main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source__name{font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-source__state{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-src-btn[data-soon=true]{background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-src-btn[data-soon=true]:disabled{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-asks{margin-bottom:28px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask{display:flex;flex-direction:column;gap:10px;padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask:first-child{padding-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__top{display:flex;align-items:center;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__name{font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:52px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__acts .rd-input{flex:1 1 220px;width:auto;max-width:340px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask>.rd-err{padding-left:52px}
.v4-app[data-ui=next][data-redesign] .rd-rep :is(.rd-quotes,.rd-skel-cards){columns:2 340px;column-gap:20px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-skel-cards i{height:168px;margin-bottom:20px;break-inside:avoid;border-radius:var(--gb-r-md,16px)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review{display:flex;flex-direction:column;gap:14px;box-sizing:border-box;margin:0 0 20px;padding:22px 22px 20px;break-inside:avoid;border-radius:var(--gb-r-md,16px);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review__meta{font-size:13px;color:var(--gb-ink-2);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review__text{font-size:17px;line-height:1.5;letter-spacing:-.012em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review__text::before{content:"\201C"}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review__text::after{content:"\201D"}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-review__by{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply{display:flex;flex-direction:column;gap:8px;padding-top:14px;box-shadow:inset 0 1px 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__field{display:block;height:40px;min-height:40px;padding:9px 16px;overflow:hidden;border-radius:20px;line-height:22px;resize:none;transition:border-radius var(--gb-dur-2) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply:focus-within .rd-reply__field,.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__field:not(:placeholder-shown){height:auto;min-height:88px;overflow:auto;border-radius:14px;resize:vertical}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
/* calm by default: the approve row shows once the field has words or focus */
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply:not(:focus-within):has(.rd-reply__field:placeholder-shown) .rd-reply__acts{display:none}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply--live{gap:6px;padding:12px 14px;border-radius:14px;background:var(--gb-fill);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__label{font-size:12px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply--done .rd-reply__label{color:var(--rdm-green-ink)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__body{font-size:15px;line-height:1.45}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__record{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply--live .rd-input{background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-reply__ref{overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-reviews>.rd-card.rd-empty{padding:28px 20px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-cand{gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-cand__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-cand__name{font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-sheet__body>.rd-group+.rd-group{margin-top:20px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-sheet__body>.rd-group+.rd-hint{margin:8px 16px 0}
/* "Send from": the mailbox the asks are emailed from. A long address wraps instead of widening the sheet, and the list below
   keeps its gap when the "choose a mailbox" hint sits between them. */
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-group__row>.rd-caption{min-width:0;font-size:15px;text-align:right;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-sheet__body>.rd-group+.rd-hint+.rd-group{margin-top:20px}
.v4-app[data-ui=next][data-redesign] .rd-rep .rd-sheet .rd-empty{padding:20px 12px 8px}

/* 9 · Reports (reporting.html restyled in place; no markup changes) --------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-reporting-page{max-width:var(--gb-page-max,1180px);padding:40px 40px 112px}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-title{font-size:30px!important;font-weight:700!important;letter-spacing:-.022em!important;line-height:1.1}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-period{font-size:15px}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-desc{font-size:15px!important}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page :is(.v4-reporting-section,.rep-n-ai,.rep-n-revenue,.v4-reporting-tile){border-radius:var(--gb-r-md,16px)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-card-title{font-size:16px!important}
/* the facts are set apart by space, not dots, so a wrapped line never starts with a separator */
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-ai-facts{gap:6px 28px;font-size:22px;letter-spacing:-.015em}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-ai-fact+.rep-n-ai-fact::before{content:none}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-dot{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-tile{gap:6px;padding:20px 22px 22px}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-tile-label{font-size:13px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-tile-value{font-size:clamp(22px,17cqi,34px);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-tile-delta{font-size:13px}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-tile-delta[data-tone=good]{color:var(--rdm-green-ink)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-tile-delta[data-tone=bad]{color:var(--rdm-red-ink)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-dot--ember{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-bars .gb-bars__col>i{border-radius:7px;background:var(--rdm-bar)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-bars .gb-bars__col.is-current>i{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-bars :is(.gb-bars__v,.gb-bars__x){font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-target-value{font-size:34px!important;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-progress{height:8px}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-progress>span{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-input{height:40px;border-radius:10px!important;background:var(--gb-fill)!important;box-shadow:none;font-size:15px!important}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-btn{height:40px;padding:0 18px!important;font-size:15px!important}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-secicon{background:var(--rdm-blue-tint)!important;color:var(--rdm-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-callkpis{border-radius:var(--gb-r-md,16px)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-callkpis>.v4-reporting-tile{border-radius:0}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-callkpis .v4-reporting-tile-value{font-size:clamp(20px,15cqi,28px)}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-callkpis .v4-reporting-tile-label{font-weight:500}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-hbar-fill{background:var(--rdm-bar)!important}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-hbar:first-child .rep-n-hbar-fill{background:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .v4-reporting-avatar{background:linear-gradient(180deg,var(--rdm-av-a),var(--rdm-av-b));box-shadow:none;color:#fff}
.v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-money{font-variant-numeric:tabular-nums}

/* 10 · widths ---------------------------------------------------------------------------------------- */
@media (max-width:1180px){
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-grid{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-top{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:start}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-top{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep){padding:28px 24px 112px}
  .v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-layout>.mv-page-rail{padding:0 24px 112px}
  .v4-app[data-ui=next][data-redesign] .v4-reporting-page{padding:28px 24px 112px}
}
/* phones: one column, 44px targets, sheets from the bottom with a grabber, the "…" menu as an action sheet */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep){padding:16px 16px 112px}
  .v4-app[data-ui=next][data-redesign] .mv-page-layout[data-has-chart=true] :is(.rd-money,.rd-rep,.v4-reporting-page){padding-bottom:24px}
  .v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-layout>.mv-page-rail{padding:0 16px 112px}
  .v4-app[data-ui=next][data-redesign]:is([data-v4-nav=payments],[data-v4-nav=reputation],[data-v4-nav=reporting]) .mv-page-rail .mv-summary :is(.mv-summary-trend,.mv-summary-rate,.mv-summary-bars){width:96px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t a" "s s";align-items:center;gap:6px 12px;margin-bottom:20px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-head__titles{display:contents}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-title{grid-area:t;font-size:28px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sub{grid-area:s;margin:0}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-head__actions{grid-area:a;gap:8px;position:static}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn{height:44px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--sm{height:40px;padding:0 16px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-btn--wrap{min-height:40px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-ibtn{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__x{width:36px;height:36px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input{height:44px;font-size:16px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-input--sm{height:40px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-textarea{min-height:120px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-card{padding:18px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi{padding:16px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi--in{grid-column:1/-1}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi__value{font-size:26px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-kpi--in .rd-kpi__value{font-size:34px}
  .v4-app[data-ui=next][data-redesign] .rd-money :is(.rd-pay-top,.rd-pay-grid){gap:16px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-top{margin-bottom:16px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-side{display:flex;align-items:stretch;gap:16px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-bars{--h:88px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-list{padding:16px 6px 6px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-pay-list>.rd-card__head{flex-direction:column;align-items:stretch;padding:0 10px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-seg{display:flex}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-seg__btn{flex:1 1 0;height:32px;padding:0 6px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row{min-height:68px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-row .rd-avatar{width:36px;height:36px;font-size:14px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-item+.rd-inv-item::before{left:58px}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-chev{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu{position:fixed;inset:0 0 var(--gbn-tabbar-h,0px);z-index:90;display:flex;flex-direction:column;justify-content:flex-end;width:auto;padding:8px 8px max(8px,env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__scrim{background:var(--gb-scrim);animation:gbn-rd-money-fade var(--gb-dur-2) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__panel{animation:gbn-rd-money-up var(--gb-dur-3) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__group{padding:0;border-radius:14px;box-shadow:none;overflow:hidden}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__item{min-height:60px;padding:12px 16px;border-radius:0}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__item+.rd-menu__item{background:linear-gradient(var(--gb-hair-2),var(--gb-hair-2)) right top/calc(100% - 58px) 1px no-repeat}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-menu__cancel{display:block;width:100%;height:56px;border:0;border-radius:14px;background:var(--gb-raised);color:var(--rdm-blue-ink);font:600 17px var(--gb-font);cursor:pointer}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet{bottom:var(--gbn-tabbar-h,0px);align-items:flex-end;padding:24px 0 0}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__panel{max-width:none;max-height:100%;border-radius:var(--gb-r-lg,22px) var(--gb-r-lg,22px) 0 0;animation:gbn-rd-money-up var(--gb-dur-3) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__grab{display:block;flex:none;width:36px;height:5px;margin:8px auto 0;border-radius:999px;background:var(--gb-ink-3);opacity:.45}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__head{padding:12px 16px 8px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__bar{padding:6px 12px 8px}
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) .rd-sheet__body{padding:8px 16px max(28px,env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-money .rd-inv-hero__amt{font-size:40px}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__body{gap:20px}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__avg{font-size:56px}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-rep-sum__score{min-width:84px}
  .v4-app[data-ui=next][data-redesign] .rd-rep :is(.rd-quotes,.rd-skel-cards){columns:1}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-review{margin-bottom:16px;padding:18px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__acts,.v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask>.rd-err{padding-left:0}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-ask__acts .rd-input{flex-basis:100%;max-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-rep .rd-head__actions .rd-btn{padding:0 16px}
  .v4-app[data-ui=next][data-redesign] .v4-reporting-page{padding:16px 16px 112px}
  .v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-title{font-size:28px!important}
  .v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-ai-facts{flex-direction:column;gap:4px;font-size:19px}
  .v4-app[data-ui=next][data-redesign] .v4-reporting-page .rep-n-ai-fact{white-space:normal}
}

/* 11 · motion (the tokens drop every duration to 0 under reduced motion; the loops stop here) --------- */
@keyframes gbn-rd-money-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-money-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes gbn-rd-money-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes gbn-rd-money-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes gbn-rd-money-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@keyframes gbn-rd-money-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] :is(.rd-money,.rd-rep) :is(.rd-skel-list i,.rd-skel-cards i,.rd-pay-bars--wait i){animation:none}
}

/* ==========================================================================
   UI-REDESIGN · Marketing (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   Campaigns, Social Planner, Forms & Surveys, Website (funnels) and Planning in the Manager look: a large title
   and one primary action, quiet cards and inset lists, iOS segmented controls, a "…" menu for everything else,
   composer-like editors with a live preview, and sheets that rise from the bottom on a phone.

   SCOPE. Every rule starts .v4-app[data-ui=next][data-redesign] and, apart from the phone tab bar rule at the end,
   reaches only inside .rd-mk, the root of the new markup on these five pages. With the flag off nothing matches;
   with it on the old markup is not rendered on these pages, so their old sheets are not restyled either.
   COLOUR. Tokens only (zz-next-zzz-rd-0-tokens.css), so light and dark both follow the theme. Colour carries
   meaning: green done or on, orange needs you, red failed or destructive, blue live, links and the owner.
   MOTION. Keyframes gbn-rd-marketing-*; durations come from the tokens, which drop to 0 for reduced motion.
   ========================================================================== */

/* ---- page ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk{--rd-mk-pad:40px;--rd-mk-sheet-z:120;box-sizing:border-box;width:100%;max-width:calc(var(--gb-page-max) + var(--rd-mk-pad) * 2);margin:0 auto;padding:36px var(--rd-mk-pad) 128px;color:var(--gb-ink);font-family:var(--gb-font);font-size:15px;line-height:1.45;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.v4-app[data-ui=next][data-redesign] .rd-mk *,.v4-app[data-ui=next][data-redesign] .rd-mk *::before,.v4-app[data-ui=next][data-redesign] .rd-mk *::after{box-sizing:border-box}
.v4-app[data-ui=next][data-redesign] .rd-mk :is(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset){margin:0}
.v4-app[data-ui=next][data-redesign] .rd-mk :is(button,input,select,textarea){font-family:inherit;letter-spacing:inherit}
.v4-app[data-ui=next][data-redesign] .rd-mk :is(button,[role=tab],[role=radio]):focus-visible,.v4-app[data-ui=next][data-redesign] .rd-mk :is(input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--gb-focus) 42%,transparent);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-mk svg{flex:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---- header: large title, one primary action, a "…" menu ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-head__text{min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-title{font-size:30px;font-weight:700;line-height:1.12;letter-spacing:var(--gb-tr-title);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sub{margin-top:6px;max-width:62ch;font-size:15px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-head__actions{position:relative;display:flex;align-items:center;gap:10px;flex:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin:0 0 28px}

/* ---- buttons ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 18px;border:0;border-radius:999px;background:var(--gb-fill-2);color:var(--gb-ink);font-size:15px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn:hover{background:color-mix(in srgb,var(--gb-fill-2) 100%,var(--gb-ink) 6%)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn:active:not([aria-disabled=true]){transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn[aria-disabled=true]{opacity:.38;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--pri{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--pri:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--blue{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--blue:hover{background:color-mix(in srgb,var(--rd-blue) 88%,#000)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--danger{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--tint{background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--tint:hover{background:color-mix(in srgb,var(--rd-blue) 18%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--sm{height:32px;padding:0 14px;font-size:14px;gap:6px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--pri[aria-disabled=true],.v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--blue[aria-disabled=true]{opacity:.3}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn:hover{background:color-mix(in srgb,var(--gb-fill-2) 100%,var(--gb-ink) 6%)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn[aria-expanded=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn[aria-disabled=true]{opacity:.3;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn--plain{background:transparent;color:var(--gb-ink-2);width:32px;height:32px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn--plain:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-textbtn{display:inline-flex;align-items:center;min-height:36px;padding:0 4px;border:0;background:transparent;color:var(--rd-blue);font-size:16px;font-weight:400;cursor:pointer;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-textbtn--strong{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-textbtn[aria-disabled=true]{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-link{display:inline-flex;align-items:center;min-height:32px;padding:0 2px;border:0;background:transparent;color:var(--rd-blue);font-size:14px;font-weight:400;cursor:pointer;white-space:nowrap;text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-link:hover{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-link[aria-disabled=true]{color:var(--gb-ink-3);cursor:default;text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-orb{width:22px;height:22px;border-radius:50%;flex:none;object-fit:cover}

/* ---- status pills: a tinted capsule with a 7px dot ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill{--rd-dot:var(--gb-ink-3);display:inline-flex;align-items:center;gap:6px;flex:none;height:24px;padding:0 10px 0 9px;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink-2);font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rd-dot);flex:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill[data-tone=done]{--rd-dot:var(--rd-green);background:color-mix(in srgb,var(--rd-green) 13%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill[data-tone=needs]{--rd-dot:var(--rd-orange);background:color-mix(in srgb,var(--rd-orange) 14%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill[data-tone=fail]{--rd-dot:var(--rd-red);background:color-mix(in srgb,var(--rd-red) 12%,transparent);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill[data-tone=work]{--rd-dot:var(--rd-blue);background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-pill--plain{background:transparent;padding:0}

/* ---- cards and grouped lists ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-card{background:var(--gb-surface);border-radius:var(--gb-r-md);box-shadow:var(--gb-shadow-1);padding:20px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-card__title{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-stack{display:flex;flex-direction:column;gap:32px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-section{display:flex;flex-direction:column;gap:12px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-section__hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 4px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-h2{font-size:20px;font-weight:600;letter-spacing:-.018em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-h3{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-eyebrow{font-size:13px;font-weight:600;color:var(--gb-ink-2);letter-spacing:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-meta{font-size:13px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-caption{font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hint{padding:0 4px;font-size:12.5px;line-height:1.45;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hint--center{text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-quiet{padding:6px 4px;font-size:14px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-list{display:flex;flex-direction:column;background:var(--gb-surface);border-radius:var(--gb-r-md);box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-list--inset{box-shadow:none;border-radius:12px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row{--rd-inset:16px;position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:10px 16px;border:0;background:transparent;color:var(--gb-ink);font-size:15px;text-align:left;text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row+.rd-row::before{content:"";position:absolute;top:0;right:0;left:var(--rd-inset);height:1px;background:var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row--nav{cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row--nav:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row--nav:active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row--nav[data-on=true]{background:var(--gb-select)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row:has(>.rd-mk-badge:first-child){--rd-inset:60px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row:has(>.rd-av:first-child){--rd-inset:64px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row__title{font-size:15px;font-weight:500;color:var(--gb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row__sub{font-size:13px;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row__chev{color:var(--gb-ink-3);opacity:.7;margin-left:-2px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row__value{font-size:15px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---- squircle badges (Settings-style) and monogram avatars ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;flex:none;background:var(--gb-ink-3);color:#fff}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge--lg{width:48px;height:48px;border-radius:13px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=email]{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=sms]{background:var(--rd-sms)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=voice]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-av{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;flex:none;background:linear-gradient(180deg,#a5abb9,#858994);color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-av--sm{width:28px;height:28px;font-size:11.5px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-av--lg{width:56px;height:56px;font-size:21px}

/* ---- segmented control ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg{display:inline-flex;align-items:stretch;gap:0;max-width:100%;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn{position:relative;flex:1 1 auto;min-width:0;height:28px;padding:0 16px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn+.rd-seg__btn::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:1px;background:var(--gb-hair-2);transition:opacity var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn[data-on=true]::before,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn[data-on=true]+.rd-seg__btn::before{opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn[data-on=true]{background:var(--gb-seg-on);font-weight:600;box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04),0 0 0 .5px rgba(0,0,0,.04)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn[aria-disabled=true]{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg--sm .rd-seg__btn{height:26px;padding:0 12px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg--fill{display:flex;width:100%}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg--fill .rd-seg__btn{flex:1 1 0}

/* ---- iOS switch (a button with role=switch and aria-checked) ---- */

/* ---- banners, empty states, skeletons ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-banner{--rd-dot:var(--gb-ink-3);display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink);font-size:14px;line-height:1.45}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-banner::before{content:"";flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--rd-dot)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-banner[data-tone=fail]{--rd-dot:var(--rd-red);background:color-mix(in srgb,var(--rd-red) 9%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-banner[data-tone=done]{--rd-dot:var(--rd-green);background:color-mix(in srgb,var(--rd-green) 11%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-banner[data-tone=needs]{--rd-dot:var(--rd-orange);background:color-mix(in srgb,var(--rd-orange) 11%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-banner[data-tone=work]{--rd-dot:var(--rd-blue);background:color-mix(in srgb,var(--rd-blue) 9%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 24px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-empty--card{background:var(--gb-surface);border-radius:var(--gb-r-md);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-empty__icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:6px;border-radius:50%;background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-empty__title{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-empty__text{max-width:46ch;margin-bottom:10px;font-size:14px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-skel{display:flex;flex-direction:column;gap:2px;padding:8px 0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-skel__row{display:block;height:40px;margin:6px 16px;border-radius:10px;background:linear-gradient(90deg,var(--gb-fill) 0%,var(--gb-fill-2) 50%,var(--gb-fill) 100%);background-size:200% 100%;animation:gbn-rd-marketing-shimmer 1.4s linear infinite}

/* ---- the "…" menu: a popover on a desktop, an action sheet on a phone ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--rd-mk-sheet-z)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__scrim{position:fixed;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__panel{position:relative;display:flex;flex-direction:column;width:320px;padding:6px;border-radius:14px;background:color-mix(in srgb,var(--gb-raised) 92%,transparent);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--gb-shadow-2);transform-origin:top right;animation:gbn-rd-marketing-pop var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--gb-ink);font-size:15px;line-height:1.3;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item:hover:not([aria-disabled=true]){background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item[aria-disabled=true]{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item>svg{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item>span{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__sep{height:1px;margin:5px 12px;background:var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__cancel{display:none}

/* ---- sheets: centred on a desktop, from the bottom on a phone ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet{position:fixed;inset:0;z-index:var(--rd-mk-sheet-z);display:flex;align-items:center;justify-content:center;padding:24px;background:var(--gb-scrim);animation:gbn-rd-marketing-fade var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel{position:relative;display:flex;flex-direction:column;width:min(620px,100%);max-height:min(880px,100%);margin:0;padding:0;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);color:var(--gb-ink);box-shadow:var(--gb-shadow-3);overflow:hidden;animation:gbn-rd-marketing-rise var(--gb-dur-3) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel--compose{height:min(840px,100%)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel--wide{width:min(1040px,100%);height:min(880px,100%)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__grab{display:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__bar{display:grid;grid-template-columns:minmax(72px,1fr) minmax(0,auto) minmax(72px,1fr);align-items:center;gap:12px;flex:none;min-height:56px;padding:8px 16px;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__bar>:first-child{justify-self:start}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__bar>:last-child{justify-self:end}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__title{max-width:100%;font-size:16px;font-weight:600;letter-spacing:-.01em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__body{display:flex;flex-direction:column;gap:18px;flex:1 1 auto;min-height:0;min-width:0;margin:0;padding:20px 20px 28px;border:0;overflow-y:auto;overscroll-behavior:contain}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__body>*{flex-shrink:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:none;padding:12px 16px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__foot--split{justify-content:space-between}

/* ---- grouped form rows (label left, field right) ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-form{display:flex;flex-direction:column;border-radius:12px;background:var(--gb-fill);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;margin:0;padding:0 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field+.rd-mk-field{border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field__label{flex:none;width:116px;font-size:15px;color:var(--gb-ink);transition:color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field:focus-within>.rd-mk-field__label{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--stack{flex-direction:column;align-items:stretch;gap:2px;padding:10px 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--stack>.rd-mk-field__label{width:auto;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input{flex:1;min-width:0;height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--gb-ink);font-size:15px;text-align:left;outline:none;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input::placeholder,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-area::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input--num{flex:0 1 140px;margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk select.rd-mk-input{appearance:none;-webkit-appearance:none;padding-right:22px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5-5 5 5M7 15l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 2px center;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-area{width:100%;min-height:96px;margin:0;padding:6px 0;border:0;background:transparent;color:var(--gb-ink);font-size:15px;line-height:1.5;resize:vertical;outline:none;field-sizing:content}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--stack .rd-mk-input{height:32px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input:focus-visible,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-area:focus-visible{outline:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field:has(>.rd-mk-input:focus-visible,>.rd-mk-area:focus-visible){box-shadow:inset 3px 0 0 var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* ---- search field ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search{display:flex;align-items:center;gap:7px;flex:1;min-width:0;height:36px;padding:0 10px;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;background:transparent;color:var(--gb-ink);font-size:15px;outline:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search input::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}

/* ---- conversation preview: iMessage bubbles with the tail, the email and call previews ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo{--rd-mk-convo-bg:var(--gb-surface);display:flex;flex-direction:column;justify-content:flex-end;gap:4px;flex:1 0 auto;min-height:180px;padding:12px 6px 4px;background:var(--rd-mk-convo-bg)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo--still{--rd-mk-convo-bg:var(--rd-grouped);flex:none;min-height:0;padding:16px 18px 14px;border-radius:var(--gb-r-md)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo__stamp{margin:0 0 8px;text-align:center;font-size:var(--rd-meta-fs);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo__stamp b{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo__meta{margin:3px 6px 0 0;text-align:right;font-size:var(--rd-meta-fs);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble{position:relative;align-self:flex-end;max-width:var(--rd-bubble-max);margin:0 8px 0 0;padding:var(--rd-bubble-pad);border-radius:var(--rd-bubble-r);background:var(--rd-sms);color:var(--rd-sms-ink);font-size:var(--rd-bubble-fs);line-height:var(--rd-bubble-lh);letter-spacing:-.012em;white-space:pre-wrap;overflow-wrap:anywhere;animation:gbn-rd-marketing-bubble var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble::before{content:"";position:absolute;bottom:0;right:-7px;width:20px;height:19px;background:inherit;border-bottom-left-radius:16px 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble::after{content:"";position:absolute;bottom:0;right:-10px;width:10px;height:20px;background:var(--rd-mk-convo-bg);border-bottom-left-radius:10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=blue]{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=in]{align-self:flex-start;margin:0 0 0 8px;background:var(--rd-in);color:var(--rd-in-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=in]::before{right:auto;left:-7px;border-bottom-left-radius:0;border-bottom-right-radius:16px 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=in]::after{right:auto;left:-10px;border-bottom-left-radius:0;border-bottom-right-radius:10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=ghost],.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-empty=true]{background:transparent;color:var(--gb-ink-3);box-shadow:inset 0 0 0 1.5px var(--gb-hair-2);animation:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=ghost]::before,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-kind=ghost]::after,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-empty=true]::before,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bubble[data-empty=true]::after{display:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-typing{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin:4px 0 0 8px;padding:12px 14px;border-radius:var(--rd-bubble-r);background:var(--rd-in)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-typing span{width:8px;height:8px;border-radius:50%;background:var(--gb-ink-3);animation:gbn-rd-marketing-dot 1.2s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-typing span:nth-child(2){animation-delay:.16s}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-typing span:nth-child(3){animation-delay:.32s}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail{align-self:stretch;display:flex;flex-direction:column;gap:12px;margin:0 6px;padding:16px 18px 18px;border-radius:16px;background:var(--gb-raised);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__from{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__who{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__who b{font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__who span{color:var(--gb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__who span[data-empty=true]{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__body{font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mail__body[data-empty=true]{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-callcard{align-self:flex-start;display:flex;flex-direction:column;gap:6px;max-width:var(--rd-bubble-max);margin:0 0 0 8px;padding:12px 16px 14px;border-radius:18px;background:var(--rd-in);color:var(--rd-in-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-callcard__hd{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-callcard__body{font-size:var(--rd-bubble-fs);line-height:var(--rd-bubble-lh);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-callcard__body[data-empty=true]{color:var(--gb-ink-3)}

/* ---- the composer at the foot of an editor: the Manager orb and a pill field ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer{display:flex;align-items:flex-end;gap:10px;flex:none;padding:10px 14px 12px;border-top:1px solid var(--gb-hair);background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__orb{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__orb img{display:block;width:34px;height:34px;border-radius:50%}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__orb:hover:not([aria-disabled=true]){transform:scale(1.06)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__orb[aria-disabled=true]{opacity:.5;cursor:progress}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__field{flex:1;min-width:0;min-height:36px;max-height:200px;margin:0;padding:7px 14px;border:1px solid var(--gb-hair-2);border-radius:18px;background:var(--gb-surface);color:var(--gb-ink);font-size:16px;line-height:1.375;resize:none;field-sizing:content;outline:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__field::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__field:focus-visible{outline:none;border-color:color-mix(in srgb,var(--rd-blue) 60%,var(--gb-hair-2))}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__count{flex:none;align-self:center;font-size:12px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__count[data-over=true]{color:var(--rd-red);font-weight:600}

/* ---- hero line at the top of a detail sheet, and grouped sections inside sheets ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero{display:flex;align-items:center;gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero__name{font-size:20px;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero__meta{font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-group{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-group__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-chip{display:inline-flex;align-items:center;gap:2px;height:28px;padding:0 4px 0 11px;border-radius:999px;background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue);font-size:14px;font-weight:500;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-chip__x{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;opacity:.75}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-chip__x:hover{opacity:1;background:color-mix(in srgb,var(--rd-blue) 14%,transparent)}

/* ---- motion ---- */
@keyframes gbn-rd-marketing-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-marketing-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes gbn-rd-marketing-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes gbn-rd-marketing-pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes gbn-rd-marketing-bubble{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-marketing-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@keyframes gbn-rd-marketing-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-typing span,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-skel__row{animation:none}
}

/* ---- tablet ---- */
@media (max-width:1100px){
  .v4-app[data-ui=next][data-redesign] .rd-mk{--rd-mk-pad:24px;padding-top:28px}
}

/* ---- phone: one column, 44px targets, sheets and the menu from the bottom ---- */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-mk{--rd-mk-pad:16px;padding-top:8px;padding-bottom:120px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-head{flex-direction:column-reverse;align-items:stretch;gap:4px;margin-bottom:18px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-head__actions{justify-content:flex-end;position:static}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sub{font-size:14px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-ibtn{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-new{position:relative;width:44px;height:44px;padding:0;border-radius:50%}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-new svg{width:20px;height:20px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-new__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--sm{position:relative;height:36px;min-height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-btn--sm::after{content:"";position:absolute;inset:-4px 0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bar{margin-bottom:22px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bar>.rd-seg{display:flex;width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bar>.rd-seg .rd-seg__btn{flex:1 1 0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn{height:32px;overflow:visible}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg__btn::after{content:"";position:absolute;inset:-6px 0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-seg--fill .rd-seg__btn{flex:1 1 auto;padding:0 10px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-textbtn,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-link{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-stack{gap:28px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-row{min-height:60px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field{min-height:50px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field__label{width:100px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--seg{flex-wrap:wrap;row-gap:8px;padding-top:11px;padding-bottom:12px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--seg>.rd-mk-field__label{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--seg>.rd-seg{display:flex;flex:1 1 100%}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field--seg>.rd-seg>.rd-seg__btn{flex:1 1 0;padding:0 8px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input{height:48px;font-size:16px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search{height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-search input{font-size:16px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu{position:fixed;inset:0;top:0;right:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 8px calc(8px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__scrim{background:var(--gb-scrim);animation:gbn-rd-marketing-fade var(--gb-dur-2) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__panel{width:100%;padding:0;gap:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:gbn-rd-marketing-up var(--gb-dur-3) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item{min-height:56px;padding:0 18px;border-radius:0;background:var(--gb-raised);font-size:17px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item:first-child{border-radius:14px 14px 0 0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item:nth-last-child(2){border-radius:0 0 14px 14px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item+.rd-mk-menu__item{box-shadow:inset 0 1px 0 var(--gb-hair)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item:hover:not([aria-disabled=true]){background:var(--gb-raised)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__item:active:not([aria-disabled=true]){background:color-mix(in srgb,var(--gb-raised) 100%,var(--gb-ink) 8%)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__sep{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-menu__panel>.rd-mk-menu__item.rd-mk-menu__cancel{display:flex;justify-content:center;margin-top:8px;border-radius:14px;box-shadow:none;color:var(--rd-blue);font-weight:600}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet{align-items:flex-end;padding:0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel--wide{width:100%;max-height:calc(100% - 8px);border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;animation:gbn-rd-marketing-up var(--gb-dur-3) var(--gb-ease)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel--compose,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel--wide{height:calc(100% - 8px)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__grab{display:block;position:absolute;top:5px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:var(--gb-hair-2);z-index:1}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__bar{min-height:58px;padding:10px 12px 6px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__body{padding:16px 16px 24px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-composer__orb{width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero:has(>.rd-pill){flex-wrap:wrap;row-gap:8px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero:has(>.rd-pill)>.rd-mk-hero__text{flex:1 1 calc(100% - 62px)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hero:has(>.rd-pill)>.rd-pill{margin-left:62px}
}
/* A modal sheet covers the phone tab bar and the chat dock, as on iOS: both live outside the page, in layers above
   it (the dock's is z 46 over the page's stacking context), and would otherwise sit on top of the sheet. The dock's
   conversation is #anna-panel, not inside .rd-dock, so the Manager still opens over a sheet. */
.v4-app[data-ui=next][data-redesign]:has(.rd-mk .rd-mk-sheet) .rd-dock{visibility:hidden}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign]:has(.rd-mk .rd-mk-sheet,.rd-mk .rd-mk-menu) :is(.gbn-tabbar,.rd-dock){visibility:hidden}
}

/* ---- Campaigns ---- */
/* Smart-list tiles (as in Reminders): each filters the list below; the chosen one fills with its colour. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile{--tile:var(--gb-btn);--tile-ink:var(--gb-btn-ink);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:12px 8px;min-width:0;padding:12px 14px 12px 12px;border:0;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);text-align:left;cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile:active{transform:scale(.98)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile[data-k=draft]{--tile:var(--gb-ink-3);--tile-ink:#fff}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile[data-k=ready_for_review]{--tile:var(--rd-orange);--tile-ink:#fff}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile[data-k=completed]{--tile:var(--rd-green);--tile-ink:#fff}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tile);color:var(--tile-ink);transition:background-color var(--gb-dur-2) var(--gb-ease),color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile__n{justify-self:end;font-size:26px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile__label{grid-column:1/-1;font-size:14px;font-weight:600;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile[data-on=true]{background:var(--tile);color:var(--tile-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile[data-on=true] .rd-mk-tile__icon{background:var(--tile-ink);color:var(--tile)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile[data-on=true] .rd-mk-tile__label{color:var(--tile-ink);opacity:.86}

/* The batch-calling card under the list. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-calling{display:flex;align-items:center;gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-calling__text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-calling__hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Results: a quiet table per currency; on a phone each campaign becomes a small card of label and value. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-resbar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-statuslines{display:flex;flex-direction:column;gap:6px;padding:0 4px;list-style:none;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-statuslines li{display:flex;align-items:baseline;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-statuslines li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gb-ink-3);transform:translateY(-2px)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res{padding:18px 0 6px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res>.rd-card__title{padding:0 20px 10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__table{display:flex;flex-direction:column;overflow-x:auto}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__head,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row{display:grid;grid-template-columns:minmax(150px,2fr) repeat(7,minmax(62px,1fr));align-items:center;gap:10px;min-width:720px;padding:11px 20px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__head{align-items:end;padding-top:6px;padding-bottom:8px;border-bottom:1px solid var(--gb-hair);font-size:12px;font-weight:500;line-height:1.25;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__head>span:not(:first-child),.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row{font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row+.rd-mk-res__row{border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__name{display:flex;flex-direction:column;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__name b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__name small{font-size:12px;color:var(--gb-ink-3)}

/* The composer sheet: To, the draft's fields, then the conversation preview above the message field. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-compose{gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-to{display:flex;align-items:center;gap:8px;min-height:50px;margin-top:-14px;padding:6px 0;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-to__label{flex:none;font-size:15px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-to__chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-to__empty{font-size:15px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-to__add{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 4px;border:0;background:transparent;color:var(--rd-blue);font-size:15px;font-weight:500;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-aud{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:14px;background:var(--rd-grouped)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-aud__bar{display:flex;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-aud .rd-list--inset{background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person{min-height:56px;padding:8px 12px 8px 14px;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person .rd-row__title{font-size:15px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-dnc{color:var(--gb-ink-2);font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-dnc:hover:not([aria-disabled=true]){color:var(--rd-red);text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-dnc[data-on=true],.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-dnc[aria-disabled=true]{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-add{min-width:76px;background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-add:hover{background:color-mix(in srgb,var(--rd-blue) 18%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-add[data-on=true]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-compose>.rd-mk-hint{margin-top:-10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-compose>.rd-mk-convo{margin:0 -14px}

/* The campaign sheet: counts, run controls, recipients, the calling batch. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-count{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 12px 11px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-count__n{font-size:24px;font-weight:600;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-count__l{font-size:12px;line-height:1.3;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-count[data-k=completed] .rd-mk-count__n{color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pickers{display:flex;flex-wrap:wrap;gap:12px 20px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-picker{display:flex;flex-direction:column;gap:6px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-picker>.rd-mk-field__label{width:auto;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-group .rd-mk-form{background:var(--gb-fill)}

@media (max-width:1100px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tiles{gap:10px}
}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-tile{min-height:84px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-calling{flex-wrap:wrap}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-calling>.rd-btn{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res{padding-bottom:4px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__head{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row{grid-template-columns:1fr 1fr;gap:6px 18px;min-width:0;padding:14px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__name{grid-column:1/-1;margin-bottom:4px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row>span[data-k]{display:flex;justify-content:space-between;gap:8px;font-size:14px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-res__row>span[data-k]::before{content:attr(data-k);color:var(--gb-ink-3);font-size:12.5px;text-align:left}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person{flex-wrap:wrap;row-gap:0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person>.rd-mk-add{order:2}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person>.rd-mk-dnc{order:3;flex-basis:calc(100% - 46px);margin-left:46px;min-height:30px;justify-content:flex-start}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-aud__bar>.rd-btn{flex:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-compose>.rd-mk-convo{margin:0 -10px}
}

/* ---- Social Planner ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sheet__panel--sm{width:min(500px,100%)}
/* Networks wear a plain monogram on a grey squircle: no brand marks, no brand colours. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-net{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink);font-size:13px;font-weight:700;letter-spacing:-.02em;line-height:1}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-net--sm{width:22px;height:22px;border-radius:6px;font-size:10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-net--lg{width:48px;height:48px;border-radius:13px;font-size:17px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post{display:flex;flex-direction:column;gap:12px;padding:18px 18px 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__hd{display:flex;align-items:center;gap:10px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__hd>.rd-pill{margin-left:auto}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__who{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__who b{font-size:15px;font-weight:600;color:var(--gb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__who span{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__text{font-size:15px;line-height:1.5;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__text[data-empty=true]{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__media{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:5px 10px 5px 8px;border-radius:8px;background:var(--gb-fill);font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__ref{font-size:13px;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__ft{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__hint{flex:1 1 180px;font-size:13px;line-height:1.4;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__hint:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__ft>.rd-mk-actions{margin-left:auto}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-draft{display:flex;flex-direction:column;gap:12px;padding:18px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-draft__text{font-size:14.5px;line-height:1.5;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-draft__ft{display:flex;margin-top:auto;padding-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-donerow .rd-row__title{font-weight:400}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-donerow{--rd-inset:64px}
/* The editor: network chips, a post preview on the grouped ground, the counter in the composer. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-netpick{display:flex;flex-wrap:wrap;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-netchip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 15px;border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink);font-size:14px;font-weight:500;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-netchip:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-netchip[data-on=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-compose>.rd-mk-convo--post{justify-content:flex-start;gap:12px;margin:0;padding:20px;border-radius:var(--gb-r-md);background:var(--rd-grouped)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-preview{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px;align-self:center;padding:16px 16px 18px;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-preview .rd-mk-post__text{-webkit-line-clamp:unset;display:block}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-preview__media{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:16/10;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink-3);font-size:13px;text-align:center;padding:12px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo--post>.rd-mk-banner{width:100%;max-width:520px;align-self:center}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo--post>.rd-mk-convo__meta{align-self:center;text-align:center;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-convo--post>.rd-mk-typing{align-self:center;margin:0}

@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-posts,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-grid{grid-template-columns:1fr}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-post__ft .rd-mk-actions{width:100%;justify-content:flex-end}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-netchip{height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-compose>.rd-mk-convo--post{padding:14px}
}

/* ---- Forms & Surveys ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=form],.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=page],.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=plan]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-stat{display:flex;flex-direction:column;align-items:flex-end;min-width:72px;line-height:1.15}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-stat b{font-size:17px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-stat small{font-size:11.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-formrow>.rd-pill{min-width:52px;justify-content:center}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-kpis{display:flex;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-kpi{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding:14px 16px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-kpi__n{font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-kpi__l{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-fill{background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-fill>.rd-row--nav:hover{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-copy{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-copy__text{flex:1;min-width:0;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-embed{display:flex;flex-direction:column;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-code{max-height:260px;margin:0;padding:12px 14px;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink);font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-details>summary{display:inline-flex;align-items:center;min-height:32px;color:var(--rd-blue);font-size:13.5px;cursor:pointer;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-details>summary::-webkit-details-marker{display:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-details>summary::before{content:"";width:6px;height:6px;margin-right:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);transition:transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-details[open]>summary::before{transform:rotate(45deg)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-details>.rd-mk-code{margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-qlist{margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-qlist>.rd-row{--rd-inset:52px;min-height:52px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-qn{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-wrap{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0 4px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-person-hero .rd-av--lg{margin-bottom:4px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answers{display:flex;flex-direction:column;margin:0;border-radius:12px;background:var(--gb-fill);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answers:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answer{display:flex;flex-direction:column;gap:2px;padding:10px 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answer+.rd-mk-answer{border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answer dt{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answer dd{margin:0;font-size:15px;line-height:1.45;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-answers--meta .rd-mk-answer dd{font-size:14px;color:var(--gb-ink-2)}

/* The builder: questions on the left, the public form as people will see it on the right. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);flex:1 1 auto;min-height:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__edit{display:flex;flex-direction:column;gap:20px;min-width:0;min-height:0;margin:0;padding:20px 20px 32px;border:0;overflow-y:auto;overscroll-behavior:contain}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__edit>*{flex-shrink:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__preview{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;padding:20px 24px 32px;border-left:1px solid var(--gb-hair);background:var(--rd-grouped);overflow-y:auto;overscroll-behavior:contain}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__preview>*{flex-shrink:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-area--short{min-height:52px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-qs{display:flex;flex-direction:column;gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-qs>.rd-mk-hint{margin-top:-8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q{display:flow-root;min-inline-size:0;margin:0;padding:0;border:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q__legend{float:left;margin:4px 0 8px;padding:0 4px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q__tools{float:right;display:flex;gap:2px;margin:-2px 0 4px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q>.rd-mk-form{clear:both}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q>.rd-mk-hint{margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q__remove:hover:not([aria-disabled=true]){color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-toggle{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:51px;height:31px;margin:0 0 0 auto;border:0;border-radius:999px;background:var(--gb-switch-off);cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-toggle::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 3px 1px rgba(0,0,0,.06);transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-toggle:checked{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-toggle:checked::after{transform:translateX(20px)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-toggle:disabled{opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field:has(>.rd-mk-toggle)>.rd-mk-field__label{flex:1;width:auto}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field:has(>.rd-mk-toggle:focus-visible){box-shadow:inset 3px 0 0 var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-problems ul{margin:6px 0 0;padding-left:18px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-problems li+li{margin-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform{display:flex;flex-direction:column;gap:16px;padding:24px 22px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__title{font-size:20px;font-weight:600;letter-spacing:-.018em}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform>.rd-mk-caption{margin-top:-10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__item{display:flex;flex-direction:column;gap:6px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__field input{height:40px;padding:0 12px;border:1px solid var(--gb-hair-2);border-radius:10px;background:var(--gb-surface);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__check input{flex:none;width:18px;height:18px;margin:1px 0 0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform__submit{align-self:stretch}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pubform>.rd-btn.rd-mk-pubform__submit[aria-disabled=true]{opacity:1;cursor:default}

@media (max-width:900px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder{display:block;overflow-y:auto;overscroll-behavior:contain}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__edit,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__preview{overflow:visible}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__preview{border-left:0;border-top:1px solid var(--gb-hair)}
}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-formrow .rd-mk-stat{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__edit{padding:16px 16px 24px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-builder__preview{padding:16px 16px calc(28px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-q__tools .rd-ibtn{width:40px;height:40px}
}

/* ---- Website (funnels) ---- */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site{display:flex;flex-direction:column;padding:0;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__frame{display:block;width:100%;margin:0;padding:14px 14px 0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__frame:hover .rd-mk-browser{box-shadow:inset 0 0 0 1px var(--gb-hair-2),0 6px 18px -10px rgba(0,0,0,.25)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__frame:focus-visible{outline-offset:-2px;border-radius:var(--gb-r-md)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__text{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__text b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__text>span{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-site__ft{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:12px 16px 16px}
/* A small browser window around each page, so a page reads as a page. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser{display:flex;flex-direction:column;border-radius:12px;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);overflow:hidden;transition:box-shadow var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__chrome{position:relative;display:flex;align-items:center;gap:5px;height:28px;padding:0 10px;background:var(--gb-fill);border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__chrome i{width:8px;height:8px;border-radius:50%;background:var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__url{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:60%;padding:2px 10px;border-radius:6px;background:var(--gb-surface);color:var(--gb-ink-3);font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__page{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:156px;padding:20px 18px 18px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__h{font-size:17px;font-weight:700;line-height:1.2;letter-spacing:-.022em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__p{font-size:13px;line-height:1.5;color:var(--gb-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__cta{display:inline-flex;align-items:center;height:28px;margin-top:auto;padding:0 13px;border-radius:999px;background:var(--gb-btn);color:var(--gb-btn-ink);font-size:12.5px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__cta[data-linked=false]{background:transparent;color:var(--gb-ink-3);box-shadow:inset 0 0 0 1.5px var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser__nocta{margin-top:auto;padding:8px 12px;border-radius:10px;border:1.5px dashed var(--gb-hair-2);color:var(--gb-ink-3);font-size:12.5px;line-height:1.4}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__chrome{height:34px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__page{gap:12px;min-height:280px;padding:36px 32px 32px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__h{font-size:28px;letter-spacing:-.03em}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__p{font-size:15.5px;line-height:1.55;-webkit-line-clamp:unset;display:block;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__cta{height:40px;padding:0 20px;font-size:15px;margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__nocta{margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser [data-empty=true]{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-steps{position:relative;display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-steps li{position:relative;display:flex;align-items:center;gap:12px;min-height:40px;font-size:15px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-steps li:not(:last-child)::after{content:"";position:absolute;left:11px;top:30px;bottom:-6px;width:2px;border-radius:1px;background:var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-journey{display:flex;flex-wrap:wrap;gap:6px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-journey__step{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px 0 4px;border-radius:999px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0);font-size:13px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-journey__step b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gb-fill-2);font-size:11.5px;font-weight:600}

@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-sites{grid-template-columns:1fr}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__page{min-height:220px;padding:26px 20px 22px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-browser--big .rd-mk-browser__h{font-size:24px}
}

/* ---- Planning ---- */
/* The plan picker: chips, sideways-scrolling on a phone. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-plans{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-planchip{display:inline-flex;align-items:center;max-width:280px;height:34px;padding:0 16px;border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink);font-size:14.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-planchip:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-planchip[data-on=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-plans__count{margin-left:6px}

/* Scenario: eight figures in one card, split by hairlines; the label sits above its figure. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;background:var(--gb-hair);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen__cell{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px;min-width:0;padding:16px 18px 18px;background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen__label{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen__value{font-size:24px;font-weight:600;line-height:1.15;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen__value[data-muted=true]{padding-top:4px;font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.01em;color:var(--gb-ink-3)}

/* The go-to-market board: three columns on a soft ground, cards on top, This month tinted as the spine. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-boardhd{align-items:flex-end;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-boardhd__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-save[data-dirty=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-save[data-dirty=true]:hover{background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__col{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:18px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__col--hub{background:color-mix(in srgb,var(--rd-blue) 9%,var(--gb-fill))}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 6px 4px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__col>.rd-mk-quiet{padding:4px 6px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard{position:relative;display:flex;align-items:stretch;border-radius:12px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard[data-on=true],.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub[data-on=true]{box-shadow:0 0 0 2px var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__main{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1;min-width:0;margin:0;padding:12px 4px 12px 14px;border:0;border-radius:12px 0 0 12px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__main:focus-visible{outline-offset:-2px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__label{font-size:15px;font-weight:600;line-height:1.3;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__value{font-size:13.5px;line-height:1.45;color:var(--gb-ink-2);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__main>.rd-pill{margin-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__move{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 6px 6px 0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__mv{display:grid;place-items:center;width:28px;height:26px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--gb-ink-3);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__mv:hover:not([aria-disabled=true]){background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__mv[aria-disabled=true]{opacity:.3;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:36px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--rd-blue);font-size:14.5px;font-weight:500;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__add:hover{background:color-mix(in srgb,var(--rd-blue) 10%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:168px;margin:0;padding:16px;border:0;border-radius:14px;background:var(--gb-surface);box-shadow:var(--gb-shadow-0);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub__label{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub__value{font-size:14.5px;line-height:1.5;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub__value[data-empty=true]{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub__edit{margin-top:auto;color:var(--rd-blue);font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-destroy{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:0;padding:0 14px;border:0;border-radius:12px;background:var(--gb-fill);color:var(--rd-red);font-size:15px;font-weight:500;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-destroy:hover{background:color-mix(in srgb,var(--rd-red) 10%,var(--gb-fill))}

/* Grouped number rows: the figure hugs the right edge with its unit beside it. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-formhd{padding:0 14px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-field__label--wide{flex:1 1 auto;width:auto;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input--fit{flex:0 1 auto;width:auto;min-width:2ch;max-width:55%;field-sizing:content;-moz-appearance:textfield}
@supports not (field-sizing:content){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input--fit{width:9ch}
}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input--fit::-webkit-inner-spin-button,.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-input--fit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-unit{flex:none;margin-left:-8px;font-size:15px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-unit--pre{margin-left:auto;margin-right:-10px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-unit--pre+.rd-mk-input--num{margin-left:0}

/* Targeting: the map in a card, territories listed under it, each opening its own editor in place. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mapcard{display:flex;flex-direction:column;gap:16px;padding:20px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mapcard__hd{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mapcard__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mapcard__ft{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* isolation keeps Leaflet's own z-indexes (400 to 1000) inside the card, under the page's sheets and menu. */
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map{position:relative;border-radius:14px;background:var(--gb-fill);overflow:hidden;isolation:isolate}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map__canvas{height:380px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map__canvas.leaflet-container{background:var(--gb-fill);font:12px/1.4 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map__note{position:absolute;top:50%;left:50%;z-index:1;width:min(420px,calc(100% - 32px));margin:0;padding:12px 16px;border-radius:12px;background:var(--gb-raised);box-shadow:var(--gb-shadow-1);color:var(--gb-ink-2);font-size:13.5px;line-height:1.45;text-align:center;transform:translate(-50%,-50%);animation:gbn-rd-marketing-later 1.6s var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-bar{border:0;border-radius:10px;box-shadow:var(--gb-shadow-1);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-bar a{width:32px;height:32px;line-height:32px;border-bottom-color:var(--gb-hair);background:var(--gb-raised);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-bar a:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-control-attribution{padding:2px 8px;border-radius:8px 0 0 0;background:color-mix(in srgb,var(--gb-surface) 82%,transparent);color:var(--gb-ink-3);font-size:10.5px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-control-attribution a{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-tooltip{padding:5px 9px;border:0;border-radius:8px;background:var(--gb-hud);color:var(--gb-hud-ink);box-shadow:var(--gb-shadow-1);font-size:12.5px;font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .leaflet-tooltip-top::before{border-top-color:var(--gb-hud)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .planning-map-pin{fill:var(--rd-blue);fill-opacity:1;stroke:#fff;stroke-width:2}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .planning-map-pin.is-on{stroke-width:3}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .planning-map-radius{fill:var(--rd-blue);fill-opacity:.1;stroke:var(--rd-blue);stroke-opacity:.45;stroke-width:1.5}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map .planning-map-radius.is-on{fill-opacity:.2;stroke-opacity:.8}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-mk .rd-mk-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.86) saturate(.5)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-terr>.rd-row{--rd-inset:46px}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pin{flex:none;width:14px;height:14px;margin:0 2px;border-radius:50%;background:var(--rd-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--rd-blue) 22%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-pin[data-on=true]{box-shadow:0 0 0 4px color-mix(in srgb,var(--rd-blue) 38%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-terr__chev{transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-row[aria-expanded=true]>.rd-mk-terr__chev{transform:rotate(180deg)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-terr__edit{display:flex;flex-direction:column;gap:12px;padding:4px 14px 16px 46px;background:var(--gb-select)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-terr__edit>.rd-mk-form{background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-terr__edit+.rd-row::before{display:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-badge[data-kind=segment]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-seglist{margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-segside{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:none}

@keyframes gbn-rd-marketing-later{0%,70%{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map__note{animation:none}
}
@media (max-width:900px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__col--hub{order:-1}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-hub{min-height:0}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-plans{flex-wrap:nowrap;margin:0 calc(var(--rd-mk-pad) * -1);padding:2px var(--rd-mk-pad);overflow-x:auto;scrollbar-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-plans::-webkit-scrollbar{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-planchip{flex:none;height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-plans__count{flex:none}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen__cell{padding:14px 16px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-scen__value{font-size:21px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-bcard__mv{width:40px;height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-board__add{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-mapcard{padding:16px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-map__canvas{height:260px}
  .v4-app[data-ui=next][data-redesign] .rd-mk .rd-mk-terr__edit{padding:4px 12px 14px}
}

/* ==========================================================================
   UI-REDESIGN · AI operations pages (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   The Manager page (v4 id fleet), Automations, Autopilot, The Brain and Platform draw new rd-* markup from
   src/v4/pages/rd-aiops-*.html under {{ rdOn }}; it is styled here, every component scoped under .rd-aiops so
   other redesign lanes' rd-* rules cannot reach it. Businesses, Command Center, the Manager place (simple
   nav) and the first-run setup card keep their markup and are restyled further down.
   Every selector starts .v4-app[data-ui=next][data-redesign]: with the flag off nothing here matches.
   Colours come from the tokens in zz-next-zzz-rd-0-tokens.css, so light and dark both work; icons are masks.
   The AI pages use no `!important`. The restyle of the pages that keep their markup uses it only where an inline style,
   or a next-look rule that is itself `!important` to beat one, sets the same property.
   ========================================================================== */
/* ---- page frame ------------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-aiops{box-sizing:border-box;width:100%;max-width:var(--gb-page-max);margin:0 auto;padding:40px 40px 80px;color:var(--gb-ink);font-family:var(--gb-font);font-size:15px;line-height:1.45;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
.v4-app[data-ui=next][data-redesign] .rd-aiops *,.v4-app[data-ui=next][data-redesign] .rd-aiops *::before,.v4-app[data-ui=next][data-redesign] .rd-aiops *::after{box-sizing:border-box}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(h1,h2,h3,p,ul,ol,dl,dd){margin:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(ul,ol){padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(button,input,select,textarea){font-family:var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(button,summary,a,input,select,textarea):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops b{font-weight:600}

/* ---- header ---------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__hd{display:flex;align-items:center;gap:16px 18px;flex-wrap:wrap;margin:0 0 24px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__hd-main{flex:1 1 220px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__hd-acts{display:flex;flex-wrap:wrap;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__kicker{font-size:13px;font-weight:500;color:var(--gb-ink-2);margin:0 0 2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__title{margin:0;font-size:30px;font-weight:700;letter-spacing:-.022em;line-height:1.15;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__sub{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:6px;font-size:15px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__subtext{min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__foot{max-width:760px;margin:8px 4px 0;font-size:13px;line-height:1.5;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-mgr__orb{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 12px 26px -14px color-mix(in srgb,var(--rd-orange) 80%,transparent)}

/* ---- chips (ask the Manager, filters, call lists) -------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;scroll-padding-inline:16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 15px;border:0;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink);font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip[aria-pressed=true]{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip--sm{min-height:30px;padding:0 12px;font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chips--filter{margin:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chips--lists{margin:4px 0 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip--list{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:54px;padding:8px 16px;border-radius:14px;text-align:left;white-space:normal}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip__title{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip__meta{font-size:12px;font-weight:400;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip--list[aria-pressed=true] .rd-chip__meta{color:inherit;opacity:.72}

/* ---- segmented control ----------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg{display:inline-flex;gap:2px;max-width:100%;margin:0 0 24px;padding:2px;border-radius:10px;background:var(--gb-fill);overflow-x:auto;scrollbar-width:none;scroll-padding-inline:16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg::-webkit-scrollbar{display:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:var(--gb-ink);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn[aria-selected=true]{background:var(--gb-seg-on);box-shadow:var(--gb-shadow-0);font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gb-fill-2);color:var(--gb-ink);font-size:11px;font-weight:600;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn:is([data-seg=needs],[data-seg=computer]) .rd-seg__badge{background:var(--rd-orange);color:var(--rd-blue-ink)}

/* ---- layout ---------------------------------------------------------------------------------------------------- */
/* Two columns that wrap by themselves when the page is narrow (no container query: a contained root would trap the sheets). */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__cols{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__main{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;align-items:start}

/* The page insight rail (metric visuals) sits under these pages as one slim card instead of a 228px column beside them:
   moved, never hidden, the same button and the same Open in Insights. */
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops){display:flex;flex-direction:column;gap:0}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-main{width:100%;min-width:0}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail{position:static;order:1;box-sizing:border-box;width:100%;max-width:var(--gb-page-max);margin:0 auto;padding:0 40px 80px}
.v4-app[data-ui=next][data-redesign] .mv-page-layout[data-has-chart=true]:has(>.mv-page-main .rd-aiops) .rd-aiops{padding-bottom:32px}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;width:100%;padding:16px 20px;border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);text-align:left;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary:hover{border:0;background:var(--gb-surface);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary>*{grid-column:1;min-width:0;margin:0}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary-heading{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary-heading i{display:none}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary-value{grid-column:2;grid-row:1/span 4;align-self:center;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary small{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail :is(.mv-summary-trend,.mv-summary-rate,.mv-summary-bars){display:none}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail .mv-summary-link{display:inline-flex;justify-content:flex-start;gap:4px;margin:4px 0 0;padding:0;border:0;font-size:13px;color:var(--rd-blue)}

/* ---- cards ----------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card{position:relative;display:block;min-width:0;margin:0;padding:20px;border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__hd{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:28px;margin:0 0 10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__title{margin:0;font-size:17px;font-weight:600;letter-spacing:-.012em;line-height:1.3;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__count{font-size:15px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__meta{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__hd>:is(.rd-link,.rd-btn,.rd-pill){margin-left:auto}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__hd>.rd-pill+.rd-btn{margin-left:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__sub{margin:-2px 0 12px;font-size:14px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__foot{margin-top:12px;font-size:12.5px;line-height:1.45;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__group{margin:16px 0 4px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__more{display:inline-flex;margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card>.rd-link{margin-top:10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card--attention{box-shadow:var(--gb-shadow-1),inset 3px 0 0 var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card--discs{padding-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card--discs .rd-card__hd{margin-bottom:2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops>.rd-card{margin:0 0 32px}

/* ---- groups (iOS inset grouped sections) ----------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group{display:block;margin:0 0 32px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group__hd{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 12px;margin:0 0 10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group__title{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;padding:0 4px;font-size:20px;font-weight:600;letter-spacing:-.018em;line-height:1.25;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group__hd>.rd-group__title{margin:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group__count{font-size:15px;font-weight:400;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group__foot{margin:8px 4px 0;font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group__foot:empty{display:none}

/* ---- lists and rows -------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list{display:block;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row{position:relative;display:flex;align-items:center;gap:12px;min-height:52px;margin:0;padding:10px 0;--rd-inset:0px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row:has(>.rd-st){--rd-inset:30px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row:has(>.rd-tile){--rd-inset:42px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list>.rd-row+.rd-row::before{content:'';position:absolute;top:0;left:var(--rd-inset);right:0;height:.5px;background:var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__body{flex:1 1 0%;min-width:0;display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__title{margin:0;font-size:15px;font-weight:500;line-height:1.35;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__title--plain{font-weight:400}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__title--blue{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__sub{margin:0;font-size:13px;line-height:1.4;color:var(--gb-ink-2);overflow-wrap:anywhere}
/* Meta parts flow as one line of text. The dot sits between two parts with no space around it in the markup, so a long
   line wraps inside a part and never starts or ends on a dot. */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__meta{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__meta>span:not(:empty)~span:not(:empty)::before{content:'·';margin:0 6px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__fail{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__time{flex:none;align-self:flex-start;margin-top:2px;font-size:12.5px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__acts{flex:none;display:flex;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__num{flex:none;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__key{flex:1 1 auto;font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__val{max-width:62%;font-size:14px;font-weight:500;text-align:right;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__meta>span:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--kv>.rd-row{min-height:44px;padding:8px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--notes>.rd-row{min-height:0;padding:8px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--stack{flex-direction:column;align-items:stretch;gap:4px;padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--stack>.rd-actions{margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--need{align-items:flex-start;padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--need>.rd-st{margin-top:2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--act{align-items:flex-start}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--act>.rd-st{margin-top:1px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--live{padding:12px 0}
/* a connection: name, then its state and retry; they wrap under the name when the column is narrow */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--conn{flex-wrap:wrap;row-gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--conn>.rd-row__body{flex:1 1 140px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__trail{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
/* in the narrow side column: the name and its state on one line, the retry under them */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__side .rd-row--conn{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__side .rd-row--conn>.rd-row__trail{display:contents}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__side .rd-row--conn .rd-row__trail>.rd-btn{grid-column:1/-1;justify-self:start}

/* inset lists: rows on a white card, separators inset past the icon */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset{overflow:hidden;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset>.rd-row{min-height:56px;padding:12px 16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset>.rd-row+.rd-row::before{left:calc(16px + var(--rd-inset))}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset>.rd-row.rd-row--wrap{display:block;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset>.rd-row.rd-row--wrap:has(.rd-tile){--rd-inset:42px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset>.rd-row.rd-row--add{display:block;padding:0;--rd-inset:42px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__btn{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:12px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops button.rd-row__btn:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-aiops button.rd-row__btn:active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__btn--static{cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__btn--static::after{content:'';flex:none;width:8px;margin-left:2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chev{flex:none;width:8px;height:13px;margin-left:2px;background:var(--gb-ink-3);-webkit-mask:var(--rd-chev) center/contain no-repeat;mask:var(--rd-chev) center/contain no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--switch{gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--switch[data-on=false] .rd-row__title{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--plain{min-height:0;padding:4px 0 8px}

/* ---- icon tiles and inline icons (masks; the shapes are the data-icon variables at the end) ---------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-tile{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-tile::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:var(--rd-icon) center/contain no-repeat;mask:var(--rd-icon) center/contain no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-tile:is([data-tone=live],[data-tone=blue]){background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-tile[data-tone=green]{background:var(--rd-green);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ico{flex:none;display:inline-block;width:17px;height:17px;background:currentColor;-webkit-mask:var(--rd-icon) center/contain no-repeat;mask:var(--rd-icon) center/contain no-repeat}

/* ---- option D step icons (18px) and step dots (10px) ------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st{position:relative;flex:none;display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:middle}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=done]{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=done]::after{content:'';position:absolute;left:6.3px;top:3.4px;width:4.2px;height:8.4px;border:solid var(--rd-blue-ink);border-width:0 1.7px 1.7px 0;transform:rotate(45deg)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=spin]{border:1.6px solid var(--gb-fill-2);border-top-color:var(--rd-blue);border-right-color:var(--rd-blue);animation:gbn-rd-aiops-spin .9s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=wait]{border:1.4px dashed var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=todo]{border:1.2px dashed var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=fail]{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=fail]::before,.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=fail]::after{content:'';position:absolute;left:4.6px;top:8.25px;width:8.8px;height:1.5px;border-radius:1px;background:var(--rd-blue-ink);transform:rotate(45deg)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=fail]::after{transform:rotate(-45deg)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=skip]{border:1.2px solid var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=skip]::after{content:'';position:absolute;left:3.4px;right:3.4px;top:calc(50% - .65px);height:1.3px;border-radius:1px;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=needs]{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=needs]::before{content:'';position:absolute;left:calc(50% - 1px);top:4px;width:2px;height:6.2px;border-radius:1px;background:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-st[data-st=needs]::after{content:'';position:absolute;left:calc(50% - 1.1px);top:11.6px;width:2.2px;height:2.2px;border-radius:50%;background:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dots{display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot{flex:none;display:block;width:10px;height:10px;border-radius:50%}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot[data-st=done]{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot[data-st=spin]{border:1.2px solid var(--gb-fill-2);border-top-color:var(--rd-blue);border-right-color:var(--rd-blue);animation:gbn-rd-aiops-spin .9s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot[data-st=wait]{border:1px dashed var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot[data-st=todo]{border:1px dashed var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot[data-st=fail]{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dot[data-st=skip]{border:1px solid var(--gb-ink-3);background:linear-gradient(var(--gb-ink-3),var(--gb-ink-3)) center/5px 1px no-repeat}

/* ---- the Manager's goals (expand to see every step) ------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row.rd-row--goal{display:block;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--goal{--rd-inset:30px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal{display:block}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__sum{display:flex;align-items:flex-start;gap:12px;padding:12px 0;cursor:pointer;list-style:none;border-radius:10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__sum::-webkit-details-marker{display:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__sum::marker{content:''}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__sum>.rd-st{margin-top:1px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__sum::after{content:'';flex:none;align-self:center;width:8px;height:13px;margin-left:2px;background:var(--gb-ink-3);-webkit-mask:var(--rd-chev) center/contain no-repeat;mask:var(--rd-chev) center/contain no-repeat;transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal[open]>.rd-goal__sum::after{transform:rotate(90deg)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal:not(:has(.rd-steps))>.rd-goal__sum{cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal:not(:has(.rd-steps))>.rd-goal__sum::after{visibility:hidden}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__title{font-size:15px;font-weight:500;line-height:1.35;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__now{font-size:13px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--goal[data-state=needs] .rd-goal__now{color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--goal[data-state=failed] .rd-goal__now,.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--goal[data-state=expired] .rd-goal__now{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__prog{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__count{font-size:12px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__trail{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__when{font-size:12.5px;color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps{margin:0 0 12px 30px;padding:8px 14px;border-radius:12px;background:var(--gb-fill);animation:gbn-rd-aiops-rise var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps__row{display:flex;align-items:center;gap:10px;min-height:30px;font-size:14px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps__row[data-st=todo]{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps__row[data-st=fail]{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps__row[data-st=skip] .rd-steps__label{color:var(--gb-ink-3);text-decoration:line-through;text-decoration-color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps__label{flex:1 1 auto;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps__word{flex:none;font-size:12px;color:var(--gb-ink-3)}

/* ---- pills ----------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill{flex:none;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px 0 8px;border-radius:999px;background:var(--gb-fill);color:var(--gb-ink-2);font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill:is([data-tone=done],[data-tone=green]){background:color-mix(in srgb,var(--rd-green) 15%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill[data-tone=needs]{background:color-mix(in srgb,var(--rd-orange) 16%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill:is([data-tone=work],[data-tone=working],[data-tone=waiting],[data-tone=live],[data-tone=blue]){background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill:is([data-tone=work],[data-tone=working],[data-tone=live])::before{animation:gbn-rd-aiops-pulse 1.8s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill:is([data-tone=fail],[data-tone=failed],[data-tone=expired]){background:color-mix(in srgb,var(--rd-red) 12%,transparent);color:var(--rd-red)}

/* ---- buttons and links ----------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;margin:0;padding:0 18px;border:0;border-radius:999px;font-size:15px;font-weight:500;line-height:1;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--pri{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--pri:hover:not(:disabled,[aria-disabled=true]){background:var(--gb-btn-hover)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--sec{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--sec:hover:not(:disabled,[aria-disabled=true]){background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--blue{background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--blue:hover:not(:disabled,[aria-disabled=true]){background:color-mix(in srgb,var(--rd-blue) 86%,var(--gb-ink))}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--danger{background:var(--gb-fill);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--danger:hover:not(:disabled,[aria-disabled=true]){background:color-mix(in srgb,var(--rd-red) 12%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--sm{height:32px;padding:0 14px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--block{width:100%}
/* The app's button layer turns a template's disabled into aria-disabled (the button stays pressable and says why), so
   both read as disabled here. */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn:is(:disabled,[aria-disabled=true]){opacity:.38;cursor:not-allowed}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-link{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0;border:0;background:none;color:var(--rd-blue);font-size:15px;font-weight:400;line-height:1.25;text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-link:hover{text-decoration:underline;text-underline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-link--danger{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-link--quiet{color:var(--gb-ink-3);font-size:13px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-link--quiet:hover{color:var(--rd-red);text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* ---- iOS switch ------------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-switch{position:relative;flex:none;display:inline-block;width:51px;height:31px;margin:0;padding:0;border:0;border-radius:999px;background:var(--gb-switch-off);cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-switch::after{content:'';position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:var(--rd-blue-ink);box-shadow:var(--gb-shadow-0),0 3px 8px -1px var(--gb-hair-2);transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-switch[aria-checked=true]{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-switch[aria-checked=true]::after{transform:translateX(20px)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-switch:is(:disabled,[aria-disabled=true]){opacity:.45;cursor:not-allowed}

/* ---- disclosure rows ------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc{display:block;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card__hd+.rd-disc{border-top:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__sum{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 0;cursor:pointer;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__sum::-webkit-details-marker{display:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__sum::marker{content:''}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__sum::after{content:'';flex:none;width:8px;height:13px;background:var(--gb-ink-3);-webkit-mask:var(--rd-chev) center/contain no-repeat;mask:var(--rd-chev) center/contain no-repeat;transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc[open]>.rd-disc__sum::after{transform:rotate(90deg)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__title{flex:1 1 0%;min-width:0;font-size:15px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__title--sm{font-size:14px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__val{flex:0 1 auto;min-width:0;max-width:55%;font-size:14px;color:var(--gb-ink-2);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc__body{display:flex;flex-direction:column;gap:10px;padding:0 0 14px;animation:gbn-rd-aiops-rise var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-disc--flush{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-discs{display:block}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-discs>.rd-disc{padding:0 16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-discs>.rd-disc:first-child{border-top:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-discs .rd-disc__sum{min-height:52px}

/* ---- numbers --------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpis{display:grid;gap:16px;margin:0 0 32px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpis--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpi{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px 18px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpi__val{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--gb-ink);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpi__label{font-size:13px;line-height:1.35;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(.rd-card,.rd-disc__body) .rd-kpis{gap:10px;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(.rd-card,.rd-disc__body) .rd-kpi{padding:12px 14px;border-radius:12px;background:var(--gb-fill);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(.rd-card,.rd-disc__body) .rd-kpi__val{font-size:22px;letter-spacing:-.02em}

/* ---- notes, errors, empty states, confirms -------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-note{margin:0;font-size:13px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-note--ok{color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-note--banner{padding:12px 16px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-err{margin:0;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--rd-red) 10%,transparent);color:var(--rd-red);font-size:14px;line-height:1.4}
.v4-app[data-ui=next][data-redesign] .rd-aiops>.rd-err,.v4-app[data-ui=next][data-redesign] .rd-aiops>.rd-note{margin:0 0 16px}
.v4-app[data-ui=next][data-redesign] .rd-aiops :is(.rd-card,.rd-group,.rd-confirm,.rd-disc__body)>.rd-err{margin:8px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-empty{display:flex;align-items:center;gap:10px;margin:0;padding:12px 0;font-size:14px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group>.rd-empty{padding:12px 4px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-banner{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:12px 16px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-banner__text{flex:1 1 auto;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-gated{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-gated>.rd-btn--block{align-self:stretch}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-confirm__q{margin-right:auto;font-size:14px;font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-confirm--block{flex-direction:column;align-items:stretch;gap:10px;margin-top:12px;padding:14px 16px;font-size:14px;line-height:1.45}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:2px 0 0;font-size:14px;line-height:1.4}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dl dt{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dl dd{margin:0;color:var(--gb-ink-2);overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-change{margin:2px 0;padding:8px 12px;border-radius:10px;background:var(--gb-fill);font-size:14px;line-height:1.4;color:var(--gb-ink)}

/* ---- fields ---------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field{display:block;width:100%;min-height:40px;margin:0;padding:9px 12px;border:0;border-radius:10px;background:var(--gb-fill);color:var(--gb-ink);font-size:15px;line-height:1.35;outline:none;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field::placeholder{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field:disabled{opacity:.5}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field--area{min-height:96px;resize:vertical}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field--sm{flex:1 1 160px;width:auto;min-height:32px;padding:6px 12px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-field__label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-fieldset{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;border:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-form{display:flex;flex-direction:column;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-form-grid>:first-child,.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-form-grid>:last-child{grid-column:1/-1}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-inline-form>.rd-field{flex:1 1 220px;width:auto}

/* ---- skeletons ------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-skel{height:52px;border-radius:12px;background:linear-gradient(90deg,var(--gb-fill) 0%,var(--gb-fill-2) 50%,var(--gb-fill) 100%) 0 0/200% 100%;animation:gbn-rd-aiops-shimmer 1.4s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-skel--card{height:188px;border-radius:var(--gb-r-md)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-skel-rows{display:flex;flex-direction:column;gap:8px;margin:4px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-skel-rows--inset .rd-skel{height:56px}

/* ---- sheets ---------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-scrim{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--gb-scrim);animation:gbn-rd-aiops-fade var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet{display:flex;flex-direction:column;gap:14px;width:min(540px,100%);max-height:calc(100vh - 48px);margin:0;padding:24px;overflow:auto;border:0;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-3);color:var(--gb-ink);animation:gbn-rd-aiops-rise var(--gb-dur-3) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet__title{margin:0;font-size:20px;font-weight:600;letter-spacing:-.018em;line-height:1.3}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet__text{margin:0;font-size:15px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet__acts{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet__foot{margin:0;font-size:12.5px;color:var(--gb-ink-3)}

/* ---- Manager page pieces --------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-learn{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-learn__hd{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-learn__day{font-weight:400;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-learn .rd-note{margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bar{height:6px;overflow:hidden;border-radius:3px;background:var(--gb-track)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bar__fill{height:100%;border-radius:inherit;background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-live{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-live__hd{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--rd-blue) 8%,transparent)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-live__sid{margin-top:2px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.4;color:var(--gb-ink-3);white-space:nowrap;text-overflow:ellipsis}
/* call controls: action rows, blue like an iOS action, red to hang up, grey while they cannot run */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts>.rd-row.rd-row--wrap{display:block;min-height:0;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts .rd-row__btn{width:calc(100% + 16px);min-height:52px;margin:0 -8px;padding:10px 8px;border-radius:12px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts .rd-row__btn .rd-row__title{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts .rd-row__btn[data-k=end_call] .rd-row__title{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts button.rd-row__btn:is(:disabled,[aria-disabled=true]){opacity:1;background:transparent;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts button.rd-row__btn:is(:disabled,[aria-disabled=true]) .rd-row__title{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--acts button.rd-row__btn:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-return{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:16px;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-return__title{margin:0;font-size:16px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dial{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dial__state{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dial__card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;padding:16px;border-radius:14px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dial__pos{font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dial__name{font-size:20px;font-weight:600;letter-spacing:-.018em}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-dial__phone{font-size:17px;color:var(--rd-blue);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-subcard{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding:16px;border-radius:14px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-subcard__title{margin:0;font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__state{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-2px 0 14px;font-size:14px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__detail{flex:1 1 220px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__screen{position:relative;display:grid;place-items:center;aspect-ratio:16/10;margin:4px 0 12px;overflow:hidden;border-radius:12px;background:var(--gb-hud)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__screen[data-control=owner]{box-shadow:0 0 0 2px var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__noframe{max-width:360px;padding:24px;color:var(--gb-hud-ink-2);font-size:14px;line-height:1.45;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__controls>.rd-note{flex:1 1 200px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__thumb{flex:none;width:64px;height:40px;border-radius:6px;object-fit:cover;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-ac__proof{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}

/* ---- Autopilot choice ------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-choices{display:block}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-list--inset>.rd-row.rd-choice{gap:14px;width:100%;min-height:64px;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;--rd-inset:36px;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-choice:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-choice__radio{position:relative;flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-choice[aria-checked=true] .rd-choice__radio{background:var(--rd-blue);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-choice[aria-checked=true] .rd-choice__radio::after{content:'';position:absolute;inset:5px;background:var(--rd-blue-ink);-webkit-mask:var(--rd-check) center/contain no-repeat;mask:var(--rd-check) center/contain no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-choice[aria-checked=true] .rd-row__title{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:14px 16px;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff__heard{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff__title{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff__change{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff__from{color:var(--gb-ink-3);text-decoration:line-through}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff__to{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-diff__arrow{color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-report{display:flex;flex-direction:column;gap:8px;margin-top:12px}

/* ---- The Brain ------------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-book__fields>.rd-row{padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-book__label{font-size:12.5px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-book__text{margin:0;font-size:15px;line-height:1.5;color:var(--gb-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-book__hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-book__hd>.rd-link--quiet{flex:none;min-height:0;margin:-6px 0;padding:6px 0}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-fix{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bars{display:flex;flex-direction:column;gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bars__row{display:block}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bars__hd{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bars__label{min-width:0;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bars__count{color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-bars .rd-bar__fill{background:var(--gb-ink-2)}

/* ---- narrow main pane and phone ----------------------------------------------------------------------------------- */
/* Layout follows the width of the main pane (the shell's gb-main container), so a narrow pane beside the sidebars gets
   the same treatment as a phone; touch-target sizes follow the screen. */
@container gb-main (max-width:1000px){
  .v4-app[data-ui=next][data-redesign] .rd-aiops{padding:28px 24px 80px}
  .v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail{padding:0 24px 80px}
}
@container gb-main (max-width:640px){
  .v4-app[data-ui=next][data-redesign] .rd-aiops{padding:20px 16px 112px}
  .v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main .rd-aiops)>.mv-page-rail{padding:0 16px 112px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-mgr__orb{width:52px;height:52px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__hd{gap:14px;margin-bottom:18px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__hd-acts{width:100%}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-aiops__hd-acts>.rd-btn{flex:1 1 0}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chips:not(.rd-chips--lists){flex-wrap:nowrap;margin-left:-16px;margin-right:-16px;padding:0 16px;overflow-x:auto;scrollbar-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chips::-webkit-scrollbar{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chips--filter{margin-left:0;margin-right:0;padding:0;width:100%}
  /* the sections become one row of capsules that scrolls sideways, edge to edge, so none is ever cut off */
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg{display:flex;gap:8px;max-width:none;margin:0 -16px 20px;padding:2px 16px;border-radius:0;background:transparent}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn{height:36px;padding:0 14px;border-radius:999px;background:var(--gb-fill)}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn:hover{background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn[aria-selected=true]{background:var(--gb-btn);color:var(--gb-btn-ink);box-shadow:none}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-seg__btn[aria-selected=true] .rd-seg__badge{background:color-mix(in srgb,var(--gb-btn-ink) 24%,transparent);color:var(--gb-btn-ink)}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-card{padding:16px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops>.rd-card{margin-bottom:24px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-group{margin-bottom:28px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--need{flex-wrap:wrap}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--need>.rd-row__acts{width:100%;padding-left:30px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--live{flex-wrap:wrap}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--live>.rd-row__acts{width:100%;padding-left:42px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpis{gap:10px;margin-bottom:24px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpi{padding:12px 14px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-kpi__val{font-size:26px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-form-grid{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-goal__trail .rd-pill{display:none}
  /* the row's own sentence already says it is not available yet */
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row--switch>.rd-pill{display:none}
  /* a phone keeps the run count on one line: the sentence already names the channel, and Recent runs has the dates */
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__meta>:is(.rd-row__ch,.rd-row__last){display:none}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-row__meta>span.rd-row__ch+span:not(:empty)::before{content:none}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-steps{margin-left:0}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-scrim{align-items:flex-end;padding:0}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet{position:relative;width:100%;max-height:calc(100vh - 32px);padding:28px 16px calc(20px + env(safe-area-inset-bottom));border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;animation-name:gbn-rd-aiops-sheet}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet::before{content:'';position:absolute;top:8px;left:calc(50% - 18px);width:36px;height:5px;border-radius:3px;background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-sheet__acts>.rd-btn{flex:1 1 0}
}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn{height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-btn--sm{height:auto;min-height:44px;padding:0 16px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-link{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-chip{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-aiops .rd-switch{margin:6px 0}
}

/* ---- motion ---------------------------------------------------------------------------------------------------- */
@keyframes gbn-rd-aiops-spin{to{transform:rotate(360deg)}}
@keyframes gbn-rd-aiops-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes gbn-rd-aiops-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-aiops-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-aiops-sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes gbn-rd-aiops-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .rd-aiops :is(.rd-st,.rd-dot,.rd-skel,.rd-steps,.rd-disc__body,.rd-scrim,.rd-sheet),.v4-app[data-ui=next][data-redesign] .rd-aiops .rd-pill::before{animation:none}
  .v4-app[data-ui=next][data-redesign] .rd-aiops :is(.rd-switch,.rd-switch::after,.rd-btn,.rd-chip,.rd-seg__btn){transition:none}
}

/* ==========================================================================
   Businesses, Command Center, the Manager places (simple navigation) and the first-run card keep their markup, their
   bindings and their handlers; only their look changes here. Their next-look rules (zz-next-p5-pages.css) set fonts,
   radii and padding with `!important` to beat the templates' inline styles, so the few rules below that must win over
   those carry `!important` too; each such block says so.
   ========================================================================== */

/* ---- page insight rail under Businesses and Command Center (moved, never hidden), as on the AI pages ------------- */
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab)){display:flex;flex-direction:column;gap:0}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-main{width:100%;min-width:0}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail{position:static;order:1;box-sizing:border-box;width:100%;max-width:var(--gb-page-max);margin:0 auto;padding:0 40px 80px}
/* !important: the frame padding below is p5's !important padding; with the rail under the page its foot is shorter */
.v4-app[data-ui=next][data-redesign] .mv-page-layout[data-has-chart=true]:has(>.mv-page-main :is(.agency-page,.command-tab)) :is(.agency-page.ui-next-p5,.ui-next-p5.premium-shell){padding-bottom:32px!important}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;width:100%;padding:16px 20px;border:0;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font-family:var(--gb-font);text-align:left}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary:hover{border:0;background:var(--gb-surface);box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary>*{grid-column:1;min-width:0;margin:0}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary-heading{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary-heading i{display:none}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary-value{grid-column:2;grid-row:1/span 4;align-self:center;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary small{color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail :is(.mv-summary-trend,.mv-summary-rate,.mv-summary-bars){display:none}
.v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail .mv-summary-link{display:inline-flex;justify-content:flex-start;gap:4px;margin:4px 0 0;padding:0;border:0;font-size:13px;color:var(--rd-blue)}

/* ---- shared page head for Businesses and Command Center: a quiet line, a large title, one plain sentence ---------- */
/* !important: zz-next-p5-pages.css sets this frame, kicker and title with !important (they beat inline styles). */
.v4-app[data-ui=next][data-redesign] :is(.agency-page.ui-next-p5,[data-v4-nav=command] .ui-next-p5.premium-shell){max-width:var(--gb-page-max);padding:40px 40px 80px!important;font-size:15px;line-height:1.45;letter-spacing:-.005em}
.v4-app[data-ui=next][data-redesign] :is(.agency-page>header>.agency-muted,[data-v4-nav=command] .ui-next-p5.premium-shell>div:first-child>div:first-child){margin:0 0 2px!important;font:500 13px/1.3 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] :is(.agency-page>header h1,[data-v4-nav=command] .ui-next-p5.premium-shell>div:first-child>h1){font-size:30px!important;font-weight:700!important;letter-spacing:-.022em!important;line-height:1.15!important}
.v4-app[data-ui=next][data-redesign] :is(.agency-page>header p,[data-v4-nav=command] .ui-next-p5.premium-shell>div:first-child>div:nth-child(3)){max-width:720px;margin:6px 0 0!important;font-size:15px!important;line-height:1.45!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .agency-page>header{margin:0 0 24px}

/* ---- Businesses: grouped cards, one row per business ------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .agency-page>section{margin:0 0 24px!important;padding:6px 20px 16px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .agency-page h2{margin:12px 0 4px!important;font:600 17px/1.3 var(--gb-font)!important;letter-spacing:-.012em!important}
.v4-app[data-ui=next][data-redesign] .agency-page h3{margin:14px 0 4px;font:600 15px/1.35 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .agency-page>section>p,.v4-app[data-ui=next][data-redesign] .agency-page>section>.agency-muted{margin:0 0 6px;font-size:14px!important;line-height:1.45;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .agency-page>section>p[role=alert]{color:var(--rd-red)!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-row{gap:4px 16px;min-height:64px;padding:12px 0!important;box-shadow:none}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-row+.agency-row{border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-business .agency-name{flex:1 1 220px;display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-business .agency-name>strong{font:600 17px/1.3 var(--gb-font);letter-spacing:-.012em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-business .agency-name>.agency-muted{margin:0;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-business .agency-name>.agency-muted::first-letter{text-transform:uppercase}
/* the counts flow as one line of text that wraps inside a count, so a wrapped line never starts on a dot */
.v4-app[data-ui=next][data-redesign] .agency-page .agency-counts{display:block;order:3;flex:1 1 100%;font-size:13px!important;line-height:1.5;color:var(--gb-ink-2)!important;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-counts>span+span::before{content:'·';margin:0 10px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-business>.agency-btn{order:2;align-self:center}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-staff .agency-name{font:500 15px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-staff>span:not(.agency-name){font-size:13px;color:var(--gb-ink-2)}
/* buttons: the same capsules as the AI pages (p5 sets font and padding with !important) */
.v4-app[data-ui=next][data-redesign] .agency-page .agency-btn{min-height:32px;padding:7px 15px!important;font:500 14px/18px var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-btn:not(.agency-btn-bad){color:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-client{padding:4px 16px;border-radius:14px!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-confirm{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0;padding:16px;font-size:14px;line-height:1.45}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-confirm>strong{font-size:15px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-banner{margin:0 0 16px;font-size:14px!important}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-brand-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-brand-form>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-brand-preview{grid-column:1/-1;padding:16px;border-radius:14px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-statement{width:100%;margin-top:8px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .agency-page .agency-statement :is(th,td){text-align:left}
.v4-app[data-ui=next][data-redesign] .agency-page section label{font-size:13px;font-weight:500;color:var(--gb-ink-2)}

/* ---- Command Center ------------------------------------------------------------------------------------------------ */
/* tabs: a segmented control (p5 already makes the row a pill; the radii and type are this look's) */
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5>div:nth-child(2){gap:2px!important;padding:2px;border-radius:10px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5>div:nth-child(2)::-webkit-scrollbar{display:none}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-tab{flex:none;height:32px;padding:0 16px!important;border-radius:8px;font:500 14px/1 var(--gb-font);color:var(--gb-ink);white-space:nowrap}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-tab:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-tab-active{font-weight:600}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5>div:nth-child(3){margin-top:20px!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 :is(.command-pill,.command-pill-tag,.command-phase-when,.command-now-badge){height:26px;padding:0 11px!important;font:500 13px/1 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5>div:nth-child(4){margin-top:8px!important;font-size:12.5px!important;color:var(--gb-ink-3)!important}
/* cards: the AI pages' radius and padding; card labels read as titles, not as spaced capitals */
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 :is(.command-card,div[style*="accent-tint"]){border-radius:var(--gb-r-md)!important;padding:20px!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]{margin-top:24px!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]>div:first-child{font:600 13px/1.3 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ember-ink)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]>div:nth-child(2){font-size:24px!important;font-weight:700!important;letter-spacing:-.022em!important;line-height:1.25!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 div[style*="accent-tint"]>div:nth-child(3){font-size:15px!important;line-height:1.45!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-eyebrow{font:600 17px/1.3 var(--gb-font)!important;letter-spacing:-.012em!important;text-transform:none;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-eyebrow-note{margin-left:6px;font:400 13px/1.3 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 :is(.command-input-label,.command-kpi-label){margin-bottom:6px;font:500 13px/1.3 var(--gb-font)!important;letter-spacing:0!important;text-transform:none;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-kpi-label{margin:6px 0 0}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-kpi-sub{font-size:12.5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-card span:is([style*="font-size:10.5px"],[style*="font-size: 10.5px"]){font-size:12.5px!important;color:var(--gb-ink-3)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-stepper{height:40px;border-radius:10px!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-stepper-btn{width:40px;height:40px;border-radius:10px;font-size:20px}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-stepper-val{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-bar-track{height:6px;border-radius:3px}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-bar-fill{border-radius:3px;background:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-check-row{gap:14px;min-height:52px;padding:12px 2px;font-size:15px;box-shadow:none;border-top:.5px solid var(--gb-hair-2);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-check-row:first-child{border-top:0}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-checkbox{width:22px;height:22px}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-checkbox-done{background:var(--rd-green)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-list-row{min-height:56px;padding:10px 0;box-shadow:none;border-top:.5px solid var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-list-row:first-child{border-top:0}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-phase{padding:14px 16px}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-playbook-item{margin-bottom:10px;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-1)!important}
.v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-playbook-head{min-height:56px;padding:14px 20px}

/* ---- the Manager places (simple navigation): inset grouped lists, capsules, the step-state dots ---------------- */
.v4-app[data-ui=next][data-redesign] .gbn-place{padding:40px 40px 80px;font-size:15px;line-height:1.45}
.v4-app[data-ui=next][data-redesign] .gbn-place__eyebrow{margin:0 0 2px;font-size:13px;font-weight:500;letter-spacing:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .gbn-place__title{font-size:30px;font-weight:700;letter-spacing:-.022em;line-height:1.15}
.v4-app[data-ui=next][data-redesign] .gbn-place__subtitle{margin:32px 4px 10px;font-size:20px;font-weight:600;letter-spacing:-.018em;line-height:1.25;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .gbn-manager__catchup{margin-top:6px;font-size:15px}
.v4-app[data-ui=next][data-redesign] .gbn-list{gap:0;overflow:hidden;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .gbn-list>li{position:relative}
.v4-app[data-ui=next][data-redesign] .gbn-list>li+li::before{content:'';position:absolute;top:0;left:16px;right:0;height:.5px;background:var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .gbn-row{gap:12px;min-height:56px;padding:12px 16px;border-radius:0}
.v4-app[data-ui=next][data-redesign] .gbn-row:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .gbn-row:active{background:var(--gb-press)}
.v4-app[data-ui=next][data-redesign] .gbn-row--static:active{background:transparent}
.v4-app[data-ui=next][data-redesign] .gbn-row__text{gap:2px}
.v4-app[data-ui=next][data-redesign] .gbn-row__title{font-size:15px;font-weight:500;line-height:1.35}
.v4-app[data-ui=next][data-redesign] .gbn-row__meta{font-size:13px;line-height:1.4}
.v4-app[data-ui=next][data-redesign] .gbn-row__cta{display:inline-flex;align-items:center;height:30px;padding:0 14px;background:var(--gb-fill);color:var(--rd-blue);font-size:14px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .gbn-row:hover .gbn-row__cta{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .gbn-link{margin:12px 16px 0 4px;padding:4px 0;color:var(--rd-blue);font-size:15px;font-weight:400;text-decoration:none}
.v4-app[data-ui=next][data-redesign] .gbn-link:hover{text-decoration:underline;text-decoration-color:currentColor}
.v4-app[data-ui=next][data-redesign] .gbn-empty{margin:4px 4px 8px;font-size:14px}
.v4-app[data-ui=next][data-redesign] .gbn-work__filters{gap:8px;margin-top:4px}
.v4-app[data-ui=next][data-redesign] .gbn-chip{min-height:36px;padding:0 15px;font-size:14px;font-weight:500}
.v4-app[data-ui=next][data-redesign] .gbn-chip:hover:not(:disabled,[aria-disabled=true]){background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .gbn-chip[aria-pressed=true],.v4-app[data-ui=next][data-redesign] .gbn-chip[aria-pressed=true]:hover{background:var(--gb-btn);color:var(--gb-btn-ink)}
.v4-app[data-ui=next][data-redesign] .gbn-chip--quiet,.v4-app[data-ui=next][data-redesign] .gbn-chip--quiet:hover:not(:disabled,[aria-disabled=true]){background:transparent;color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .gbn-chip__n{font:500 13px/1 var(--gb-font);font-variant-numeric:tabular-nums;opacity:.6}
/* each saved outcome leads with its state, as the Manager page's step icons do */
.v4-app[data-ui=next][data-redesign] .gbn-work__item .gbn-row::before{content:'';flex:none;width:12px;height:12px;border-radius:50%;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=needs] .gbn-row::before{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=working] .gbn-row::before{background:var(--rd-blue);animation:gbn-rd-aiops-pulse 1.8s var(--gb-ease) infinite}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=waiting] .gbn-row::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=failed] .gbn-row::before{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=finished] .gbn-row::before{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=needs] .gbn-row__meta{color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=failed] .gbn-row__meta{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .gbn-work__links{display:flex;flex-wrap:wrap;margin:24px 0 0}
.v4-app[data-ui=next][data-redesign] .gbn-manager__more{margin:24px 0 0}
.v4-app[data-ui=next][data-redesign] .gbn-thread{gap:6px}
.v4-app[data-ui=next][data-redesign] .gbn-thread__turn{padding:9px 14px;border-radius:18px;font-size:15px;line-height:1.4}
.v4-app[data-ui=next][data-redesign] .gbn-bizdir{padding-top:8px}
/* the groups pack into balanced columns (a sitemap's way), each card as tall as its links */
.v4-app[data-ui=next][data-redesign] .gbn-bizdir__grid{display:block;columns:3 220px;column-gap:16px}
.v4-app[data-ui=next][data-redesign] .gbn-bizdir__group{break-inside:avoid;margin:0 0 16px;padding:14px 16px 12px;border-radius:var(--gb-r-md);background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .gbn-bizdir__group h3{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .gbn-bizdir__group .gbn-link{margin:0;padding:5px 0;font-size:15px;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .gbn-bizdir__group .gbn-link:hover{color:var(--rd-blue);text-decoration:none}
.v4-app[data-ui=next][data-redesign] .gbn-bizdir__group .gbn-link[aria-current=page]{font-weight:600;color:var(--rd-blue)}

/* ---- the first-run card (setup.html; its layout is inline, so these carry !important) -------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-setup{border:0!important;border-radius:var(--gb-r-lg)!important;background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-3)!important;color:var(--gb-ink);font-family:var(--gb-font)}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:first-child{padding:18px 20px 14px!important;border-bottom:.5px solid var(--gb-hair-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:first-child>div>div:first-child{font:500 13px/1.3 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:first-child>div>div:nth-child(2){margin-top:2px!important;font:600 17px/1.3 var(--gb-font)!important;letter-spacing:-.012em!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:first-child>button{padding:7px 14px!important;border:0!important;border-radius:999px!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:500 13px/1 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:nth-child(2){padding:16px 20px!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:nth-child(2) div:not([role]):not([style*="flex-wrap"]){font-size:14px!important;line-height:1.45!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup :is(input,textarea){padding:10px 12px!important;border:0!important;border-radius:10px!important;background:var(--gb-fill)!important;color:var(--gb-ink)!important;font:400 15px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup :is(input,textarea):focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 35%,transparent)}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:nth-child(2) button{border-radius:999px!important;font-family:var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:last-child{padding:14px 20px!important;border-top:.5px solid var(--gb-hair-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:last-child>button{padding:10px 18px!important;border:0!important;border-radius:999px!important;font:500 15px/1 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:last-child>button:last-child{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:last-child>button:not(:last-child){background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-setup>div:last-child>button:is(:disabled,[aria-disabled=true]){opacity:.38;cursor:not-allowed!important}

/* ---- narrow main pane and phone ------------------------------------------------------------------------------------ */
@container gb-main (max-width:1000px){
  .v4-app[data-ui=next][data-redesign] :is(.agency-page.ui-next-p5,[data-v4-nav=command] .ui-next-p5.premium-shell){padding:28px 24px 80px!important}
  .v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail{padding:0 24px 80px}
}
@container gb-main (max-width:640px){
  .v4-app[data-ui=next][data-redesign] :is(.agency-page.ui-next-p5,[data-v4-nav=command] .ui-next-p5.premium-shell){padding:20px 16px 112px!important}
  .v4-app[data-ui=next][data-redesign] .mv-page-layout:has(>.mv-page-main :is(.agency-page,.command-tab))>.mv-page-rail{padding:0 16px 112px}
  .v4-app[data-ui=next][data-redesign] :is(.agency-page>header h1,[data-v4-nav=command] .ui-next-p5.premium-shell>div:first-child>h1){font-size:28px!important}
  .v4-app[data-ui=next][data-redesign] .agency-page>section{padding:4px 16px 14px}
  .v4-app[data-ui=next][data-redesign] .agency-page .agency-business>.agency-btn{order:4}
  /* the counts become a small two-column table; when they were counted sits on its own line under them */
  .v4-app[data-ui=next][data-redesign] .agency-page .agency-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}
  .v4-app[data-ui=next][data-redesign] .agency-page .agency-counts>span+span::before{content:none}
  .v4-app[data-ui=next][data-redesign] .agency-page .agency-counts>span:has(>time){grid-column:1/-1;margin-top:2px;color:var(--gb-ink-3)}
  .v4-app[data-ui=next][data-redesign] .agency-page .agency-brand-form{grid-template-columns:minmax(0,1fr)}
  /* Command Center: the tabs scroll sideways as capsules; the stepper and number grids keep two columns */
  .v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5>div:nth-child(2){display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:20px -16px 0!important;padding:2px 16px;border-radius:0;background:transparent}
  .v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-tab{height:36px;padding:0 14px!important;border-radius:999px;background:var(--gb-fill)}
  .v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 .command-tab-active{background:var(--gb-btn)!important;color:var(--gb-btn-ink)!important;box-shadow:none}
  .v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 div:is([style*="repeat(4,1fr)"],[style*="repeat(4, 1fr)"],[style*="repeat(5,1fr)"],[style*="repeat(5, 1fr)"]){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v4-app[data-ui=next][data-redesign][data-v4-nav=command] .ui-next-p5 :is(.command-card,div[style*="accent-tint"]){padding:16px!important}
  .v4-app[data-ui=next][data-redesign] .gbn-place{padding:20px 16px 112px}
  .v4-app[data-ui=next][data-redesign] .gbn-place__title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .gbn-work__filters{flex-wrap:nowrap;margin:4px -16px 0;padding:2px 16px;overflow-x:auto;scrollbar-width:none}
  .v4-app[data-ui=next][data-redesign] .gbn-work__filters::-webkit-scrollbar{display:none}
  .v4-app[data-ui=next][data-redesign] .gbn-chip{flex:none}
}
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .agency-page .agency-btn{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .gbn-chip{min-height:44px}
  .v4-app[data-ui=next][data-redesign] .gbn-link{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .gbn-work__item[data-state=working] .gbn-row::before{animation:none}
}

/* ---- icon shapes (masks: the colour always comes from the tokens above) ---- */
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=phone]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.2l1.9 4.7-2.4 1.6a11.5 11.5 0 0 0 5 5l1.6-2.4 4.7 1.9V18a2 2 0 0 1-2.1 2A16 16 0 0 1 3 6.1 2 2 0 0 1 5 4z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=ear]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16v-4a8 8 0 0 1 16 0v4'/%3E%3Cpath d='M4 15.5A1.5 1.5 0 0 1 5.5 14H8v6H5.5A1.5 1.5 0 0 1 4 18.5zM20 15.5a1.5 1.5 0 0 0-1.5-1.5H16v6h2.5a1.5 1.5 0 0 0 1.5-1.5z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=person]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=key]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='12' r='4'/%3E%3Cpath d='M12 12h9M18 12v3M15.5 12v2'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=chat]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a8 8 0 0 1-11.7 7.1L4 19.8l1.2-4A8 8 0 1 1 20 11.5z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=spark]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l1.9 5.1 5.1 1.9-5.1 1.9L12 17.5l-1.9-5.1L5 10.5l5.1-1.9z'/%3E%3Cpath d='M18.5 16.5l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=plus]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=stage]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=star]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8l2.5 5.1 5.6.8-4 3.9 1 5.6-5.1-2.7-5 2.7.9-5.6-4-3.9 5.6-.8z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=tag]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.2V4.5a1 1 0 0 1 1-1h7.7l8.3 8.3a1 1 0 0 1 0 1.4l-7.4 7.4a1 1 0 0 1-1.4 0z'/%3E%3Ccircle cx='8' cy='8' r='1.3'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=clock]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=hand]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5.5v13l10.5-6.5z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=form]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='3.5' width='13' height='17' rx='2'/%3E%3Cpath d='M9 8.5h6M9 12h6M9 15.5h3.5'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=calendar]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14.5' rx='2.5'/%3E%3Cpath d='M4 10h16M8.5 3.5v4M15.5 3.5v4'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops [data-icon=bolt]{--rd-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 3L5.5 13.5h6l-1 7.5 8-10.5h-6z'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] .rd-aiops{--rd-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 13' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 1.5l5 5-5 5'/%3E%3C/svg%3E");--rd-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}

/* ==========================================================================
   UI-REDESIGN · Settings (ff.ui.redesign, default off) — Apple's System Settings.
   Left: the "Find a setting" field, the business card and eleven categories with coloured icon squares.
   Right: the chosen category as inset grouped lists (48px rows, label left, value or control right, chevrons,
   iOS switches, footnotes); a row pushes a sub-page that holds the existing section, unchanged.
   Phones (≤760px): the category list is its own screen, then a pushed detail screen with a back button.

   Every selector starts .v4-app[data-ui=next][data-redesign]; with the flag off nothing here matches. The markup is
   src/v4/pages/settings.html (rd-set-* blocks inside <sc-if rdOn>) and zz-next-zzz-rd-8-settings-model.js, which writes
   data-rd-view (list | detail | sub | find), data-rd-cat and data-rd-show (which existing parts this screen shows) on
   .v4-settings. The existing sections carry their look inline, so overrides of them use !important.
   ========================================================================== */

/* 0 · local tokens: category tints (built from the shared colour tokens) and list metrics */
.v4-app[data-ui=next][data-redesign] .v4-settings{
  --rd-set-side-w:288px;--rd-set-row-h:48px;--rd-set-r:12px;--rd-set-max:740px;--rd-set-pad:16px;--rd-set-glyph:var(--rd-blue-ink);
  --rd-set-tint-business:var(--rd-blue);
  --rd-set-tint-manager:linear-gradient(140deg,var(--rd-blue),var(--rd-purple));
  --rd-set-tint-phone:var(--rd-green);
  --rd-set-tint-calendar:var(--rd-red);
  --rd-set-tint-money:var(--rd-teal);
  --rd-set-tint-team:var(--rd-orange);
  --rd-set-tint-connections:color-mix(in srgb,var(--rd-blue) 52%,var(--rd-purple));
  --rd-set-tint-notifications:color-mix(in srgb,var(--rd-red) 78%,var(--rd-purple));
  --rd-set-tint-privacy:color-mix(in srgb,var(--rd-blue) 80%,var(--gb-ink));
  --rd-set-tint-appearance:var(--gb-hud);
  --rd-set-tint-help:var(--rd-meta);
  /* raised controls (switch knob, chosen segment) and the theme pictures; --rd-blue-ink is white and --gb-hud near-black in both themes */
  --rd-set-lift:0 3px 8px color-mix(in srgb,var(--gb-floor) 80%,transparent),0 3px 1px color-mix(in srgb,var(--gb-floor) 30%,transparent),0 0 0 .5px var(--gb-hair);
  --rd-set-lift-sm:0 3px 8px color-mix(in srgb,var(--gb-floor) 62%,transparent),0 0 0 .5px var(--gb-hair);
  --rd-set-pic-light:color-mix(in srgb,var(--rd-blue-ink) 96%,var(--gb-hud));--rd-set-pic-light-2:color-mix(in srgb,var(--gb-hud) 7%,transparent);--rd-set-pic-light-3:color-mix(in srgb,var(--gb-hud) 14%,transparent);
  --rd-set-pic-dark:var(--gb-hud);--rd-set-pic-dark-2:color-mix(in srgb,var(--rd-blue-ink) 9%,transparent);--rd-set-pic-dark-3:color-mix(in srgb,var(--rd-blue-ink) 22%,transparent);
  --rd-set-pic-glass:linear-gradient(135deg,color-mix(in srgb,var(--rd-blue) 24%,var(--rd-blue-ink)),color-mix(in srgb,var(--rd-meta) 22%,var(--rd-blue-ink)) 55%,color-mix(in srgb,var(--rd-red) 20%,var(--rd-blue-ink)));
}

/* 1 · frame: the category column beside the detail; the old section nav, glance strip and summary give way ---------------- */
.v4-app[data-ui=next][data-redesign] .v4-settings{
  display:grid!important;grid-template-columns:var(--rd-set-side-w) minmax(0,1fr)!important;grid-template-rows:auto 1fr;
  grid-template-areas:"head body" "side body"!important;justify-content:stretch!important;column-gap:0!important;
  padding:0!important;min-height:100%;font-size:15px;color:var(--gb-ink);
  background:linear-gradient(to right,var(--gb-ground) calc(var(--rd-set-side-w) - 1px),var(--gb-hair) calc(var(--rd-set-side-w) - 1px) var(--rd-set-side-w),var(--rd-grouped) var(--rd-set-side-w));
}
.v4-app[data-ui=next][data-redesign] .v4-page-content:has(.v4-settings[data-rd-view]){--rd-set-side-w:288px;
  background:linear-gradient(to right,var(--gb-ground) calc(var(--rd-set-side-w) - 1px),var(--gb-hair) calc(var(--rd-set-side-w) - 1px) var(--rd-set-side-w),var(--rd-grouped) var(--rd-set-side-w))}
.v4-app[data-ui=next][data-redesign] .v4-settings > :first-child{grid-area:head;padding:28px 20px 6px!important;background:var(--gb-ground);box-shadow:inset -1px 0 0 var(--gb-hair)} /* the column's hairline runs to the top */
.v4-app[data-ui=next][data-redesign] .v4-settings > :first-child > h1{font-size:30px!important;font-weight:700!important;letter-spacing:var(--gb-tr-title)!important;line-height:1.1}
.v4-app[data-ui=next][data-redesign] .v4-settings > :first-child > :nth-child(2){font-size:13px!important;color:var(--gb-ink-2)!important;margin-top:4px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings :is(.gbn-setnav,.gbn-glance,.settings-load-issues){display:none!important} /* replaced: the category column, the rows' values and the grouped summary (rd-set-issues) carry them */
.v4-app[data-ui=next][data-redesign] .v4-settings > .v4-settings-body{grid-area:body;display:flex;flex-direction:column;min-width:0;padding:24px 40px 120px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > *{width:100%;max-width:var(--rd-set-max);margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > .rd-set-head{order:-3}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > :is(div[style*="rgba(179, 38, 30, 0.1)"],div[style*="var(--accent-tint)"]){order:-2;margin:0 auto 16px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > .rd-set-pane{order:-1}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > #set-notify{display:contents}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > #set-notify > *{width:100%;max-width:var(--rd-set-max);margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}

/* 2 · the category column ------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-set-side{grid-area:side;align-self:start;position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:14px;
  max-height:calc(100dvh - var(--gb-topbar-h,56px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;box-sizing:border-box;padding:12px 12px 40px}
.v4-app[data-ui=next][data-redesign] .rd-set-find{position:relative;display:flex;align-items:center;margin:0 8px}
.v4-app[data-ui=next][data-redesign] .rd-set-find__icon{position:absolute;left:9px;width:16px;height:16px;fill:none;stroke:var(--gb-ink-3);stroke-width:2;stroke-linecap:round;pointer-events:none}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-find__field{width:100%;height:36px;min-height:36px!important;box-sizing:border-box;padding:0 32px 0 32px!important;border:0!important;border-radius:var(--gb-r-sm)!important;
  background:var(--gb-fill-2)!important;box-shadow:none!important;color:var(--gb-ink)!important;font:400 15px/1 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui);outline:none;-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-find__field::placeholder{color:var(--gb-ink-3)!important;opacity:1}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-find__field:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 40%,transparent)!important}
.v4-app[data-ui=next][data-redesign] .rd-set-find__field::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-find__clear{position:absolute;right:6px;width:22px;height:22px;min-height:22px!important;padding:0!important;border:0!important;border-radius:50%!important;
  background:var(--gb-ink-3)!important;color:var(--gb-ground)!important;display:grid;place-items:center;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-set-find__clear svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-me{display:flex!important;align-items:center;gap:12px;width:100%;min-height:60px!important;padding:8px 10px!important;border:0!important;border-radius:var(--gb-r-sm)!important;
  background:transparent!important;color:var(--gb-ink)!important;text-align:left;cursor:pointer;font:inherit!important;justify-content:flex-start!important}
.v4-app[data-ui=next][data-redesign] .rd-set-me__mono{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--gb-av-a),var(--gb-av-b));
  color:var(--gb-av-ink);font-size:16px;font-weight:600;letter-spacing:.02em}
.v4-app[data-ui=next][data-redesign] .rd-set-me__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.v4-app[data-ui=next][data-redesign] .rd-set-me__text b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-set-me__text small{font-size:12px;color:var(--gb-ink-2);line-height:1.3}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-me[aria-current="page"]{background:var(--rd-blue)!important;color:var(--rd-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] .rd-set-me[aria-current="page"] .rd-set-me__text small{color:color-mix(in srgb,var(--rd-blue-ink) 82%,transparent)}

.v4-app[data-ui=next][data-redesign] .rd-set-cats{display:flex;flex-direction:column;gap:14px}
.v4-app[data-ui=next][data-redesign] .rd-set-cats__group{display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat{display:flex!important;align-items:center;justify-content:flex-start!important;gap:10px;width:100%;min-height:36px!important;padding:0 10px!important;border:0!important;
  border-radius:8px!important;background:transparent!important;color:var(--gb-ink)!important;font:400 15px/1.2 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui);text-align:left;cursor:pointer;
  transition:background-color var(--gb-dur-1) var(--gb-ease),opacity var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat:active{transform:none}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat[aria-current="page"]{background:var(--rd-blue)!important;color:var(--rd-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat[data-match="no"]{opacity:.38}
.v4-app[data-ui=next][data-redesign] .rd-set-cat__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] :is(.rd-set-cat,.rd-set-me):focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}
.v4-app[data-ui=next][data-redesign] .rd-set-badge{flex:none;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:10px;display:grid;place-items:center;background:var(--rd-red);color:var(--rd-blue-ink);font-size:12px;font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-set-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.v4-app[data-ui=next][data-redesign] .rd-set-side .rd-set-chev{display:none}

/* the coloured icon squares */
.v4-app[data-ui=next][data-redesign] .rd-set-ico{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--rd-set-tint,var(--rd-meta));
  box-shadow:inset 0 0 0 .5px var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico svg{width:17px;height:17px;fill:none;stroke:var(--rd-set-glyph);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] .rd-set-ico .rd-set-ico__fill{fill:var(--rd-set-glyph);stroke:none}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="business"]{--rd-set-tint:var(--rd-set-tint-business)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="manager"]{--rd-set-tint:var(--rd-set-tint-manager)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="phone"]{--rd-set-tint:var(--rd-set-tint-phone)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="calendar"]{--rd-set-tint:var(--rd-set-tint-calendar)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="money"]{--rd-set-tint:var(--rd-set-tint-money)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="team"]{--rd-set-tint:var(--rd-set-tint-team)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="connections"]{--rd-set-tint:var(--rd-set-tint-connections)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="notifications"]{--rd-set-tint:var(--rd-set-tint-notifications)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="privacy"]{--rd-set-tint:var(--rd-set-tint-privacy)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="appearance"]{--rd-set-tint:var(--rd-set-tint-appearance)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico[data-cat="help"]{--rd-set-tint:var(--rd-set-tint-help)}
.v4-app[data-ui=next][data-redesign] .rd-set-ico--big{width:64px;height:64px;border-radius:15px}
.v4-app[data-ui=next][data-redesign] .rd-set-ico--big svg{width:40px;height:40px;stroke-width:1.7}

/* 3 · the detail: bar, hero, sub-page header ------------------------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-set-bar{display:flex;align-items:center;min-height:36px;margin:-8px 0 6px}
.v4-app[data-ui=next][data-redesign] .v4-settings:is([data-rd-view="list"],[data-rd-view="detail"],[data-rd-view="find"]) .rd-set-bar{display:none}
.v4-app[data-ui=next][data-redesign] .rd-set-bar__title{display:none}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-back{display:inline-flex!important;align-items:center;gap:6px;min-height:36px!important;margin-left:-10px;padding:0 10px!important;border:0!important;border-radius:var(--gb-r-sm)!important;
  background:transparent!important;color:var(--rd-blue)!important;font:400 15px/1 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui);cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-set-back svg{width:10px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="list"] .rd-set-back,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="detail"] .rd-set-back{display:none!important} /* the category column is the way back on a wide screen */

.v4-app[data-ui=next][data-redesign] .rd-set-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin:0 0 28px;padding:26px 28px 24px;border-radius:var(--rd-set-r);background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-set-hero .rd-set-ico--big{margin-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-set-hero__title{margin:0;font-size:22px;font-weight:700;letter-spacing:var(--gb-tr-title);line-height:1.2;color:var(--gb-ink);outline:none}
.v4-app[data-ui=next][data-redesign] .rd-set-hero__blurb{margin:0;max-width:440px;font-size:14px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-set-subhead{margin:0 0 20px}
.v4-app[data-ui=next][data-redesign] .rd-set-subhead__title{margin:0;font-size:28px;font-weight:700;letter-spacing:var(--gb-tr-title);line-height:1.15;color:var(--gb-ink);outline:none}
.v4-app[data-ui=next][data-redesign] .rd-set-subhead__intro{margin:6px 0 0;font-size:14px;color:var(--gb-ink-2)}

/* 4 · inset grouped lists ----------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-set-pane{display:flex;flex-direction:column;gap:28px}
.v4-app[data-ui=next][data-redesign] .rd-set-pane:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-set-group{display:flex;flex-direction:column;margin:0}
.v4-app[data-ui=next][data-redesign] .rd-set-group__head{margin:0 0 7px;padding:0 var(--rd-set-pad);font-size:13px;font-weight:600;letter-spacing:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-set-hubhead{margin:0 0 10px}
.v4-app[data-ui=next][data-redesign] .rd-set-list{display:flex;flex-direction:column;border-radius:var(--rd-set-r);background:var(--gb-surface);overflow:hidden}
/* hairlines between rows: each row draws one on the pixel above it, so the first row's line falls outside the list and is clipped
   (a pseudo-element, because the settings buttons' background shorthand is !important and would wipe a background image) */
.v4-app[data-ui=next][data-redesign] .rd-set-list > .rd-set-row::before{content:"";position:absolute;top:-1px;left:var(--rd-set-pad);right:0;height:1px;background:var(--gb-hair);pointer-events:none}
.v4-app[data-ui=next][data-redesign] .rd-set-list > .rd-set-row--icon::before{left:calc(var(--rd-set-pad) + 38px)}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-row{position:relative;display:flex!important;align-items:center;justify-content:flex-start!important;gap:12px;width:100%;min-height:var(--rd-set-row-h)!important;box-sizing:border-box;
  margin:0!important;padding:6px var(--rd-set-pad)!important;border:0!important;border-radius:0!important;background-color:transparent!important;color:var(--gb-ink)!important;
  font:400 15px/1.3 var(--gb-font)!important;letter-spacing:var(--gb-tr-ui);text-align:left;cursor:default;box-shadow:none!important;transform:none!important}
.v4-app[data-ui=next][data-redesign] .v4-settings :is(button,summary).rd-set-row{cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .v4-settings :is(button,summary).rd-set-row:active{background-color:var(--gb-press)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings :is(button,summary).rd-set-row:focus-visible{outline:2px solid var(--gb-focus);outline-offset:-2px}
.v4-app[data-ui=next][data-redesign] .rd-set-row__label{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.v4-app[data-ui=next][data-redesign] .rd-set-row__label small{font-size:13px;color:var(--gb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-set-row__value{flex:0 1 auto;max-width:52%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gb-ink-2);text-align:right}
.v4-app[data-ui=next][data-redesign] .rd-set-row__value:empty{display:none}
.v4-app[data-ui=next][data-redesign] .rd-set-chev{flex:none;width:8px;height:14px;fill:none;stroke:var(--gb-ink-3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-row--action{color:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign] .rd-set-foot{margin:7px 0 0;padding:0 var(--rd-set-pad);font-size:13px;line-height:1.4;color:var(--gb-ink-2)}

/* iOS switch: green when on */
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-switch{position:relative;flex:none;width:51px;height:31px;min-height:31px!important;padding:0!important;border:0!important;border-radius:16px!important;
  background:var(--gb-switch-off)!important;cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-switch[aria-checked="true"]{background:var(--rd-green)!important}
.v4-app[data-ui=next][data-redesign] .rd-set-switch__knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:var(--rd-blue-ink);
  box-shadow:var(--rd-set-lift);transition:transform var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-set-switch[aria-checked="true"] .rd-set-switch__knob{transform:translateX(20px)}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-switch:is(:disabled,[aria-disabled="true"]){opacity:.45!important;cursor:default} /* app buttons carry aria-disabled, not disabled */
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-switch:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* segmented control */
.v4-app[data-ui=next][data-redesign] .rd-set-seg{flex:none;display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-seg > button{min-width:72px;min-height:28px!important;padding:0 14px!important;border:0!important;border-radius:7px!important;background:transparent!important;
  color:var(--gb-ink)!important;font:500 13px/1 var(--gb-font)!important;box-shadow:none!important;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-seg > button[aria-pressed="true"]{background:var(--gb-seg-on)!important;box-shadow:var(--rd-set-lift-sm)!important;font-weight:600!important}

/* small pill buttons (load summary) */
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-pill{flex:none;min-height:30px!important;padding:0 12px!important;border:0!important;border-radius:15px!important;background:var(--gb-fill)!important;
  color:var(--rd-blue)!important;font:500 13px/1 var(--gb-font)!important;cursor:pointer}

/* the "didn't load" summary as a grouped list */
.v4-app[data-ui=next][data-redesign] .rd-set-issues__head{display:flex;align-items:flex-start;gap:12px;padding:14px var(--rd-set-pad)}
.v4-app[data-ui=next][data-redesign] .rd-set-issues__mark{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-set-issues__mark svg{width:18px;height:18px;fill:none;stroke:var(--rd-set-glyph);stroke-width:2.6;stroke-linecap:round}
.v4-app[data-ui=next][data-redesign] .rd-set-issues__text{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-set-issues__text h3{margin:2px 0 3px;font-size:15px;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-set-issues__text p{margin:0;font-size:13px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-pill:is(:disabled,[aria-disabled="true"]){opacity:.5!important;cursor:default}
.v4-app[data-ui=next][data-redesign] .rd-set-issue{gap:8px!important}

/* Appearance: the theme choices as small window pictures (Light, Dark, Auto, and the desktop app's glass looks) */
.v4-app[data-ui=next][data-redesign] .rd-set-themes{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:18px;padding:18px var(--rd-set-pad) 14px}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-theme{display:flex!important;flex-direction:column;align-items:center;gap:8px;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;
  color:var(--gb-ink)!important;font:400 13px/1.2 var(--gb-font)!important;cursor:pointer;box-shadow:none!important}
.v4-app[data-ui=next][data-redesign] .rd-set-theme__pic{position:relative;display:block;width:96px;height:64px;border-radius:9px;overflow:hidden;box-sizing:border-box;
  background:var(--rd-set-pic-light);box-shadow:0 0 0 1px var(--gb-hair-2);transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme__pic i{position:absolute;display:block;border-radius:3px}
.v4-app[data-ui=next][data-redesign] .rd-set-theme__pic i:nth-child(1){left:0;top:0;bottom:0;width:26px;border-radius:0;background:var(--rd-set-pic-light-2)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme__pic i:nth-child(2){left:34px;top:12px;width:46px;height:9px;border-radius:5px;background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme__pic i:nth-child(3){left:34px;top:27px;width:36px;height:9px;border-radius:5px;background:var(--rd-set-pic-light-3)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme[data-theme-name="Dark"] .rd-set-theme__pic{background:var(--rd-set-pic-dark)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme[data-theme-name="Dark"] .rd-set-theme__pic i:nth-child(1){background:var(--rd-set-pic-dark-2)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme[data-theme-name="Dark"] .rd-set-theme__pic i:nth-child(3){background:var(--rd-set-pic-dark-3)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme[data-theme-name="Auto"] .rd-set-theme__pic{background:linear-gradient(135deg,var(--rd-set-pic-light) 50%,var(--rd-set-pic-dark) 50%)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme:is([data-theme-name="Frosted"],[data-theme-name="Transparency"]) .rd-set-theme__pic{background:var(--rd-set-pic-glass)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme[aria-pressed="true"] .rd-set-theme__pic{box-shadow:0 0 0 3px var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-set-theme[aria-pressed="true"] .rd-set-theme__name{font-weight:600}
.v4-app[data-ui=next][data-redesign] .rd-set-theme:focus-visible{outline:none}
.v4-app[data-ui=next][data-redesign] .rd-set-theme:focus-visible .rd-set-theme__pic{box-shadow:0 0 0 3px var(--gb-focus)}
/* reserved for the dock area ("How the chat shows outside full chat"): no space until something mounts inside */
.v4-app[data-ui=next][data-redesign] .rd-set-slot:empty{display:none}
/* the dock area's chat style picker, mounted into the Appearance slot (rddock-model.js): this page only frames it as one more
   grouped list and keeps the settings buttons' pill look off its picture buttons */
.v4-app[data-ui=next][data-redesign] .rd-set-slotgroup:has(.rd-set-slot:empty){display:none}
.v4-app[data-ui=next][data-redesign] .rd-set-slot{padding:16px var(--rd-set-pad) 12px}
.v4-app[data-ui=next][data-redesign] .rd-set-slot .rd-dock-picker{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 12px;margin:0}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-slot .rd-dock-pick{display:flex!important;min-height:0!important;padding:4px 2px 6px!important;border:0!important;border-radius:var(--gb-r-md)!important;
  background:transparent!important;color:var(--gb-ink)!important;font-size:13px!important;font-weight:400!important;box-shadow:none!important;transform:none!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-slot .rd-dock-pick:hover{background:transparent!important}
.v4-app[data-ui=next][data-redesign] .rd-set-slot .rd-dock-pick[aria-checked="true"] .rd-dock-pick__label{font-weight:600}

/* pointer hover (a mouse or trackpad only, so a tapped row on a phone never stays grey) */
@media (hover:hover){
  .v4-app[data-ui=next][data-redesign] .v4-settings :is(.rd-set-me,.rd-set-cat,.rd-set-back):hover{background:var(--gb-hover)!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings :is(button,summary).rd-set-row:hover{background-color:var(--gb-hover)!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-pill:hover{background:var(--gb-fill-2)!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-open:hover{background:var(--gb-hover)}
}

/* 5 · which existing parts this screen shows (data-rd-show). Everything stays mounted; only the drawing changes. ---------- */
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="hub"]) .v4-settings-body > .settings-hub,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="phonecard"]) .v4-settings-body > .gbn-phone,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="voice"]) .v4-settings-body > #set-agent-voice,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="line"]) .v4-settings-body > #set-line,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="readiness"]) .v4-settings-body > #set-line-readiness,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="texting"]) .v4-settings-body > #set-texting-registration,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="wizard"]) .v4-settings-body > #set-line-wizard,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="port"]) .v4-settings-body > #set-port-draft,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="industry"]) .v4-settings-body > #set-industry,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="pricebook"]) .v4-settings-body > #set-pricebook,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="authority"]) .v4-settings-body > #set-authority,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="booking"]) .v4-settings-body > #set-booking,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="team"]) .v4-settings-body > #set-team,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="business"]) .v4-settings-body > #set-business,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="crew"]) .v4-settings-body > #set-crew,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="stripe"]) .v4-settings-body > #set-stripe,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="roles"]) .v4-settings-body > #set-roles,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="connections"]) .v4-settings-body > #set-connections,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="health"]) .v4-settings-body > #set-connection-health,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="email"]) .v4-settings-body > #set-email-sending,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="signature"]) .v4-settings-body > #set-email-signature,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="fieldsync"]) .v4-settings-body > #set-field-sync,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="moreconn"]) .v4-settings-body > #set-more-connections,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="sync"]) .v4-settings-body > #set-sync,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="webhooks"]) .v4-settings-body > #set-webhooks,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="communities"]) .v4-settings-body > #set-communities,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="outreach"]) .v4-settings-body > #set-outreach,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="autoglance"]) .v4-settings-body > #set-autonomy-glance,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="autonomy"]) .v4-settings-body > #set-autonomy,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="autoconfirm"]) .v4-settings-body > #set-autonomy-confirm,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="limits"]) .v4-settings-body > #set-action-limits,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="staff"]) .v4-settings-body > #set-staff-hr,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="reports"]) .v4-settings-body > #set-owner-reports,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="rules"]) .v4-settings-body > #set-emergency-rules,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="history"]) .v4-settings-body > #set-emergency-history,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="ownerphone"]) .v4-settings-body > #set-notify > :not([id]),
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="legal"]) .v4-settings-body > #set-notify > #set-legal,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="alerts"]) .v4-settings-body > #set-notify > #set-alerts,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="callplan"]) .v4-settings-body > #set-notify > #set-emergency-call-plan,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="security"]) .v4-settings-body > #set-notify > #set-security,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="passkeys"]) .v4-settings-body > #set-notify > #set-passkeys,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="fields"]) .v4-settings-body > #set-notify > #set-fields,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="access"]) .v4-settings-body > #set-notify > #set-team-access,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="motion"]) .v4-settings-body > #set-motion,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="mode"]) .v4-settings-body > #set-workspace-mode,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="appearance"]) .v4-settings-body > #set-appearance,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="reliability"]) .v4-settings-body > .reliability-panel,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="training"]) .v4-settings-body > #set-training,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="plan"]) .v4-settings-body > #set-plan,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="data"]) .v4-settings-body > #set-data,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="support"]) .v4-settings-body > #set-support-access,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show] .v4-settings-body > #set-map,
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="legalline"]) .v4-settings-body > .gbn-legal,
/* a section this map does not know yet is drawn on Help (token "more"), never lost */
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="more"]) .v4-settings-body > [id^="set-"]:not(#set-agent-voice,#set-line,#set-line-readiness,#set-texting-registration,#set-line-wizard,#set-port-draft,#set-industry,#set-pricebook,#set-authority,#set-booking,#set-team,#set-business,#set-crew,#set-stripe,#set-roles,#set-connections,#set-connection-health,#set-email-sending,#set-email-signature,#set-field-sync,#set-more-connections,#set-sync,#set-webhooks,#set-communities,#set-outreach,#set-autonomy-glance,#set-autonomy,#set-autonomy-confirm,#set-action-limits,#set-staff-hr,#set-owner-reports,#set-emergency-rules,#set-emergency-history,#set-notify,#set-motion,#set-workspace-mode,#set-appearance,#set-training,#set-plan,#set-data,#set-support-access,#set-map),
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-show]:not([data-rd-show~="more"]) .v4-settings-body > #set-notify > [id^="set-"]:not(#set-legal,#set-alerts,#set-emergency-call-plan,#set-security,#set-passkeys,#set-fields,#set-team-access){display:none!important}
/* the settings hub's own field moved to the column's "Find a setting" (same value and handler) */
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-search{display:none!important}

/* 6 · the existing sections on their sub-page, as Apple grouped lists ------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-settings-body > :is(div,section)[id^="set-"]:not(#set-booking,#set-notify),
.v4-app[data-ui=next][data-redesign] .v4-settings-body > #set-notify > *,
.v4-app[data-ui=next][data-redesign] .v4-settings-body > :is(.gbn-phone,.reliability-panel,.settings-hub){margin-top:0!important;margin-bottom:28px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body > #set-booking{margin:0 auto 28px!important}
/* the section's own title becomes the group heading under the sub-page title (a section that is itself a card keeps its padding) */
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"]:not(section) > [style*="font-size: 17px"],
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"]:not(section) > div > [style*="font-size: 17px"],
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"]:not(section) > h2:first-child{margin:0 0 4px!important;padding:0 var(--rd-set-pad)!important;font-size:15px!important;font-weight:600!important;letter-spacing:var(--gb-tr-ui)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"] > [style*="font-size: 12.5px; color: var(--fg-3); margin-top: 3px"]{margin:0 0 4px!important;padding:0 var(--rd-set-pad)!important;font-size:13px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"] > div:is([style*="font-size: 12.5px"],[style*="font-size: 12px"]):not([style*="border"],[style*="background"]){padding-left:var(--rd-set-pad)!important;padding-right:var(--rd-set-pad)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"]:not(section) > div[style*="text-transform: uppercase"]:not([style*="border"],[style*="background"]){margin-top:28px!important;padding:0 var(--rd-set-pad)!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [id^="set-"]:not(section) > div[style*="font-size: 11px"]:not([style*="text-transform"],[style*="border"],[style*="background"]){margin-top:7px!important;padding:0 var(--rd-set-pad)!important;font-size:13px!important;color:var(--gb-ink-2)!important}
/* a sub-page drawing one section (data-rd-one): that section's first heading repeats the screen title, so only screen readers keep it
   (a heading whose text changes with the state, like the port draft's, stays) */
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-one="true"] .v4-settings-body :is(section.crm-panel,section[style*="border: 1px solid var(--line)"])[id^="set-"]:not(#set-port-draft) > :is(h2,h3):first-child{
  position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-one="true"] .v4-settings-body :is(section.crm-panel,section[style*="border: 1px solid var(--line)"])[id^="set-"]:not(#set-port-draft) > :is(h2,h3):first-child + *{margin-top:0!important}
/* boxes → white rounded groups, flat like iOS (no shadow), a little tighter */
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(div,details)[style*="border: 1px solid var(--line)"][style*="border-radius"]:not(.v4-settings-body :is(.crm-panel,.agent-voice-settings,[style*="border: 1px solid var(--line)"][style*="border-radius"]) *),
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,.simple-appearance):not(.agent-voice-settings),
.v4-app[data-ui=next][data-redesign] .v4-settings-body section[style*="border: 1px solid var(--line)"]{
  background:var(--gb-surface)!important;border:0!important;border-radius:var(--rd-set-r)!important;box-shadow:none!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]):not(.agent-voice-settings){padding:16px var(--rd-set-pad) 18px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]){margin-top:0!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]) + :is(.crm-panel,.simple-appearance,section[style*="border: 1px solid var(--line)"]){margin-top:20px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [style*="padding: 18px 20px"]:is(div,section),.v4-app[data-ui=next][data-redesign] .v4-settings-body [style*="padding: 20px 22px"]{padding:16px var(--rd-set-pad)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,[style*="border: 1px solid var(--line)"][style*="border-radius"]) :is(div,details)[style*="border: 1px solid var(--line)"][style*="border-radius"]{background:var(--gb-fill)!important;border-radius:10px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [style*="margin-top: 14px"][style*="border-radius"]{margin-top:8px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body .crm-panel h2{font-size:15px!important;font-weight:600!important;margin:0 0 6px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,.simple-appearance) h3{font-size:15px!important;font-weight:600!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :is(.crm-panel,.simple-appearance,.settings-hub) p{font-size:14px;line-height:1.45}
/* tile grids (Business, Authority) → one grouped list of rows */
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"]{border-radius:var(--rd-set-r)!important;box-shadow:none!important;background:var(--gb-surface)!important;margin-top:8px!important}
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div{min-height:var(--rd-set-row-h)!important;padding:8px var(--rd-set-pad)!important;grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;column-gap:16px!important}
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div + div{box-shadow:none!important;background-image:linear-gradient(var(--gb-hair),var(--gb-hair))!important;background-repeat:no-repeat!important;background-position:var(--rd-set-pad) 0!important;background-size:calc(100% - var(--rd-set-pad)) 1px!important}
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :first-child{font-size:15px!important;font-weight:400!important}
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :nth-child(n+2){justify-self:end;text-align:right;max-width:280px}
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :nth-child(n+2):not(input){font-size:15px!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div > input{text-align:right}
.v4-app[data-ui=next][data-redesign] #set-authority > [style*="display: grid"] input[style*="font-size: 20px"]{font-size:15px!important;font-weight:400!important;max-width:120px;min-height:36px}
.v4-app[data-ui=next][data-redesign] #set-authority > [style*="display: flex"][style*="border-radius: 14px"]{min-height:var(--rd-set-row-h);padding:8px var(--rd-set-pad)!important}
.v4-app[data-ui=next][data-redesign] #set-authority > [style*="display: flex"][style*="border-radius: 14px"] > div:first-child > :first-child{font-size:15px!important;font-weight:400!important}
.v4-app[data-ui=next][data-redesign] :is(#set-industry) > [style*="display: flex"]{padding:14px var(--rd-set-pad)!important}
/* price book: one grouped list; a row is the service, its price range and deposit, right-aligned like a value column */
.v4-app[data-ui=next][data-redesign] #set-pricebook [style*="grid-template-columns: 2fr 1fr 1fr 90px 32px"]{grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,96px)) 30px!important;gap:6px!important;
  padding-left:var(--rd-set-pad)!important;padding-right:8px!important}
.v4-app[data-ui=next][data-redesign] #set-pricebook [style*="text-transform: uppercase"]{background:transparent!important;text-transform:none!important;font-size:12px!important;font-weight:500!important;color:var(--gb-ink-2)!important;padding-top:10px!important;padding-bottom:6px!important}
.v4-app[data-ui=next][data-redesign] #set-pricebook [style*="text-transform: uppercase"] > :nth-child(n+2){text-align:right;padding-right:8px}
.v4-app[data-ui=next][data-redesign] #set-pricebook input{width:100%;min-width:0;box-sizing:border-box;min-height:36px;padding:6px 8px!important;font:400 15px/1.2 var(--gb-font)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] #set-pricebook input[inputmode="numeric"]{text-align:right;font-variant-numeric:tabular-nums;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] #set-pricebook button[title]{width:28px!important;height:28px!important;min-height:28px!important;border-radius:14px!important;color:var(--gb-ink-3)!important;font-size:13px!important}
.v4-app[data-ui=next][data-redesign] #set-pricebook button[title]:hover{background:var(--gb-hover)!important;color:var(--rd-red)!important}
.v4-app[data-ui=next][data-redesign] #set-pricebook > button{margin:10px 0 0 var(--rd-set-pad)!important;font-size:15px!important;font-weight:400!important;color:var(--rd-blue)!important;min-height:32px}
/* booking hours and timing: the panel's boxes become the groups; its title and lead read as the screen's header text */
.v4-app[data-ui=next][data-redesign] .v4-settings-body #booking-settings.crm-panel{margin:0!important;padding:0!important;background:transparent!important;border-radius:0!important}
.v4-app[data-ui=next][data-redesign] #booking-settings .crm-panel-title{align-items:center;padding:0 var(--rd-set-pad);margin:0 0 6px}
.v4-app[data-ui=next][data-redesign] #booking-settings .crm-panel-title .eyebrow{display:none}
.v4-app[data-ui=next][data-redesign] #booking-settings .crm-panel-title h2{margin:0!important;font-size:15px!important;font-weight:600!important;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #booking-settings > p{padding:0 var(--rd-set-pad);font-size:13px!important;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #booking-settings fieldset{margin:20px 0 0;padding:14px var(--rd-set-pad) 16px;border:0;border-radius:var(--rd-set-r);background:var(--gb-surface);min-width:0}
.v4-app[data-ui=next][data-redesign] #booking-settings fieldset > legend{float:left;width:100%;margin:0 0 10px;padding:0;font-size:15px;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #booking-settings fieldset > legend + *{clear:both}
.v4-app[data-ui=next][data-redesign] #booking-settings .crm-field{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #booking-settings .crm-field small{font-size:12px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-day{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:4px;min-height:var(--rd-set-row-h);box-sizing:border-box;
  padding:6px 0;border:0;border-radius:0;background:transparent;box-shadow:inset 0 -1px 0 var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-day:last-of-type{box-shadow:none}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-day > h3{grid-column:1;grid-row:1;margin:0;font-size:15px;font-weight:400;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-day > span{grid-column:2;font-size:15px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-day > .booking-window{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-day > .text-button{grid-column:3;grid-row:1;justify-self:end}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-window label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #booking-settings .booking-window input{width:76px;min-height:32px;padding:4px 8px;text-align:center;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] #booking-settings .text-button{color:var(--rd-blue)!important;background:transparent!important;padding:0!important;min-height:32px;font-size:15px!important}
/* framed fieldsets (team access areas, report days, emergency rules): wells with the legend as their small heading */
.v4-app[data-ui=next][data-redesign] .v4-settings-body fieldset[style*="border: 1px solid var(--line)"]{min-width:0;margin-top:12px!important;padding:10px 14px 12px!important;border:0!important;border-radius:10px!important;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .v4-settings-body fieldset[style*="border: 1px solid var(--line)"] > legend{float:left;width:100%;margin:0 0 6px;padding:0;font-size:13px;font-weight:600;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .v4-settings-body fieldset[style*="border: 1px solid var(--line)"] > legend + *{clear:both}
/* row lists inside groups: 48px rows, inset hairlines */
.v4-app[data-ui=next][data-redesign] .v4-settings-body [style*="overflow: hidden"] > [style*="border-bottom: 1px solid var(--line-soft)"]{min-height:var(--rd-set-row-h)!important;padding-left:var(--rd-set-pad)!important;padding-right:var(--rd-set-pad)!important;border-bottom:0!important;
  background-image:linear-gradient(var(--gb-hair),var(--gb-hair));background-repeat:no-repeat;background-position:var(--rd-set-pad) 100%;background-size:calc(100% - var(--rd-set-pad)) 1px}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [style*="overflow: hidden"] > [style*="border-bottom: 1px solid var(--line-soft)"]:last-child{background-image:none}
.v4-app[data-ui=next][data-redesign] .v4-settings-body [style*="overflow: hidden"] > [style*="border-bottom: 1px solid var(--line); font-size: 11px"]{background:transparent!important;color:var(--gb-ink-2)!important;font-size:12px!important;font-weight:500!important;padding-left:var(--rd-set-pad)!important}

/* controls inside sections: grey fields, black and grey pills, blue text buttons, green switches */
.v4-app[data-ui=next][data-redesign] .v4-settings-body :where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){
  background:var(--gb-fill)!important;box-shadow:none!important;border-radius:9px!important;font-size:15px}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :where(input,select,textarea):hover{box-shadow:none!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :where(input,select,textarea):focus{background:var(--gb-surface)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gb-focus) 40%,transparent),inset 0 0 0 1px var(--gb-focus)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body input:is([style*="border: none"],[style*="border-style: none"],[style*="border: medium none"]){background:transparent!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body input:is([style*="border: none"],[style*="border-style: none"],[style*="border: medium none"]):hover{background:var(--gb-fill)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body input:is([style*="border: none"],[style*="border-style: none"],[style*="border: medium none"]):focus{background:var(--gb-surface)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings :is(input[type=checkbox],input[type=radio]){accent-color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .v4-settings-body :where(button:not(.settings-hub-open,.avs-voice,.settings-hub-pin,.rd-set-row,.rd-set-switch,.rd-set-pill,.rd-set-theme,.rd-set-back)){min-height:34px;border-radius:17px!important;font-size:14px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body button[style*="background: none"][style*="border-style: none"]:not([style*="flex: 1 1 0%"]):not([style*="padding: 7px 14px"]){color:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body button[style*="background: none"][style*="border-style: none"]:not([style*="flex: 1 1 0%"]):not([style*="padding: 7px 14px"]):hover{background:var(--gb-hover)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body a:not(.secondary-button):not(.gbn-glance__cell){color:var(--rd-blue)!important;text-decoration:none!important}
.v4-app[data-ui=next][data-redesign] .v4-settings-body a:not(.secondary-button):not(.gbn-glance__cell):hover{text-decoration:underline!important}
.v4-app[data-ui=next][data-redesign] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"]{width:51px!important;height:31px!important;padding:2px!important;box-sizing:border-box;border-radius:16px!important;background:var(--gb-switch-off)!important;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"][style*="background: var(--accent"]{background:var(--rd-green)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"] > div{width:27px!important;height:27px!important;background:var(--rd-blue-ink)!important;box-shadow:var(--rd-set-lift)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings div[style*="width: 40px; height: 23px; border-radius: 20px"] > div[style*="translateX"]{transform:translateX(20px)!important;background:var(--rd-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings :is([style*="background: var(--chip); border-radius: 9px; padding: 3px"],[role="group"][aria-label="Theme"]){border-radius:9px!important;padding:2px!important;background:var(--gb-fill-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings :is([style*="background: var(--chip); border-radius: 9px; padding: 3px"],[role="group"][aria-label="Theme"]) > button{min-height:28px!important;border-radius:7px!important;color:var(--gb-ink)!important;font-size:13px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .simple-mode-options{border-radius:9px!important;padding:2px!important;background:var(--gb-fill-2)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .simple-mode-options > .simple-toggle{min-height:28px!important;border-radius:7px!important;color:var(--gb-ink)!important;font-size:13px!important}

/* the phone receptionist (Voice and greeting) keeps its card and bubbles, flat and grouped */
.v4-app[data-ui=next][data-redesign] .v4-settings .gbn-phone{margin-top:0!important;gap:12px}
.v4-app[data-ui=next][data-redesign] .gbn-phone__head{display:none}
.v4-app[data-ui=next][data-redesign] .gbn-phone__desc{margin:0 0 4px;padding:0 var(--rd-set-pad);font-size:14px}
.v4-app[data-ui=next][data-redesign] .gbn-phone__card{border-radius:var(--rd-set-r);box-shadow:none}
.v4-app[data-ui=next][data-redesign] .v4-settings :is(.avs-presets,.avs-section,.avs-advanced,.avs-transfer,.avs-recovery,.avs-footer){border-radius:var(--rd-set-r)!important;box-shadow:none!important}
.v4-app[data-ui=next][data-redesign] .avs-heading{display:none!important} /* its title sits in the sub-page header; the eyebrow and lead repeat it */

/* 7 · search: this page's screens, then the settings hub's editors as one grouped list ------------------------------- */
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub{margin-top:0!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-groups{gap:6px;margin:0 0 10px}
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-groups button{min-height:30px!important;border-radius:15px!important;background:var(--gb-surface)!important;font-size:13px!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-groups button[aria-pressed="true"]{background:var(--rd-blue)!important;color:var(--rd-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-count{margin:0 0 8px;padding:0 var(--rd-set-pad);font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .settings-hub-cards{display:flex!important;flex-direction:column;gap:0!important;border-radius:var(--rd-set-r);background:var(--gb-surface);overflow:hidden}
.v4-app[data-ui=next][data-redesign] .settings-hub-card{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:8px;padding:0 8px 0 0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.v4-app[data-ui=next][data-redesign] .settings-hub-card + .settings-hub-card{background-image:linear-gradient(var(--gb-hair),var(--gb-hair))!important;background-repeat:no-repeat!important;background-position:var(--rd-set-pad) 0!important;background-size:calc(100% - var(--rd-set-pad)) 1px!important}
.v4-app[data-ui=next][data-redesign] .settings-hub-card-heading{flex:none;display:flex;align-items:center;gap:8px;font:400 13px/1 var(--gb-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--gb-ink-3)!important}
.v4-app[data-ui=next][data-redesign] .v4-settings .settings-hub-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:var(--rd-set-row-h);padding:9px var(--rd-set-pad)!important;border:0;background:transparent;color:var(--gb-ink);text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .settings-hub-open strong{font-size:15px;font-weight:400}
.v4-app[data-ui=next][data-redesign] .settings-hub-open strong span{font-size:inherit;line-height:inherit;color:inherit}
.v4-app[data-ui=next][data-redesign] .settings-hub-open > span{font-size:13px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .settings-hub-open > small{display:none}
.v4-app[data-ui=next][data-redesign] .settings-hub-pin{color:var(--gb-ink-3)}

/* 8 · while the first reads answer: grouped placeholder blocks */
.v4-app[data-ui=next][data-redesign] .settings-wait .settings-wait-block{border-radius:var(--rd-set-r)!important;background:linear-gradient(90deg,var(--gb-surface) 25%,var(--gb-fill) 50%,var(--gb-surface) 75%)!important;background-size:200% 100%!important}
.v4-app[data-ui=next][data-redesign] .settings-wait .settings-wait-block:nth-of-type(1){height:180px}

/* 9 · moving between screens: the pushed screen slides in a little; going back slides from the other side */
@keyframes gbn-rd-settings-push{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-settings-pop{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="sub"] .rd-set-subhead{animation:gbn-rd-settings-push var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="detail"] .rd-set-hero{animation:gbn-rd-settings-pop var(--gb-dur-2) var(--gb-ease) both}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .v4-settings :is(.rd-set-subhead,.rd-set-hero){animation:none!important}
}

/* 10 · narrower desktops: a slimmer column */
@media (max-width:1100px){
  .v4-app[data-ui=next][data-redesign] :is(.v4-settings,.v4-page-content:has(.v4-settings[data-rd-view])){--rd-set-side-w:248px}
  .v4-app[data-ui=next][data-redesign] .v4-settings > .v4-settings-body{padding:24px 24px 120px!important}
}

/* 11 · phones: the category list is its own screen; a category or a row pushes the next screen ---------------------- */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .v4-settings{--rd-set-row-h:50px;--rd-set-r:12px;display:block!important;background:var(--rd-grouped)!important;padding:0!important}
  .v4-app[data-ui=next][data-redesign] .v4-page-content:has(.v4-settings[data-rd-view]){background:var(--rd-grouped)}
  .v4-app[data-ui=next][data-redesign] .v4-settings > :first-child{padding:16px 16px 4px!important;background:transparent;box-shadow:none}
  .v4-app[data-ui=next][data-redesign] .v4-settings > :first-child > h1{font-size:34px!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings > :first-child > :nth-child(2){display:none}
  .v4-app[data-ui=next][data-redesign] .rd-set-side{position:static;max-height:none;overflow:visible;padding:8px 16px 120px;gap:22px}
  .v4-app[data-ui=next][data-redesign] .rd-set-find{margin:0}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-find__field{height:36px;font-size:17px!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-me{min-height:76px!important;padding:10px var(--rd-set-pad)!important;border-radius:var(--rd-set-r)!important;background:var(--gb-surface)!important;gap:14px}
  .v4-app[data-ui=next][data-redesign] .rd-set-me__mono{width:58px;height:58px;font-size:22px}
  .v4-app[data-ui=next][data-redesign] .rd-set-me__text b{font-size:19px}
  .v4-app[data-ui=next][data-redesign] .rd-set-me__text small{font-size:13px}
  .v4-app[data-ui=next][data-redesign] .rd-set-cats{gap:22px}
  .v4-app[data-ui=next][data-redesign] .rd-set-cats__group{gap:0;border-radius:var(--rd-set-r);background:var(--gb-surface);overflow:hidden}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat{min-height:var(--rd-set-row-h)!important;padding:0 var(--rd-set-pad)!important;border-radius:0!important;gap:14px;font-size:17px!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat + .rd-set-cat{background-image:linear-gradient(var(--gb-hair),var(--gb-hair))!important;background-repeat:no-repeat!important;background-position:calc(var(--rd-set-pad) + 43px) 0!important;background-size:calc(100% - var(--rd-set-pad) - 43px) 1px!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-cat[aria-current="page"],
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-me[aria-current="page"]{background-color:var(--gb-surface)!important;color:var(--gb-ink)!important}
  .v4-app[data-ui=next][data-redesign] .rd-set-me[aria-current="page"] .rd-set-me__text small{color:var(--gb-ink-2)}
  .v4-app[data-ui=next][data-redesign] .v4-settings :is(.rd-set-cat,.rd-set-me):active{background-color:var(--gb-press)!important}
  .v4-app[data-ui=next][data-redesign] .rd-set-ico:not(.rd-set-ico--big){width:29px;height:29px}
  .v4-app[data-ui=next][data-redesign] .rd-set-ico:not(.rd-set-ico--big) svg{width:19px;height:19px}
  .v4-app[data-ui=next][data-redesign] .rd-set-ico--big{width:58px;height:58px;border-radius:13px}
  .v4-app[data-ui=next][data-redesign] .rd-set-ico--big svg{width:36px;height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-set-side .rd-set-chev{display:block}
  .v4-app[data-ui=next][data-redesign] .rd-set-row,.v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-row{font-size:17px!important}
  .v4-app[data-ui=next][data-redesign] .rd-set-list > .rd-set-row--icon::before{left:calc(var(--rd-set-pad) + 41px)}
  .v4-app[data-ui=next][data-redesign] .v4-settings > .v4-settings-body{padding:0 16px 140px!important}
  /* the head lends its children to the body, so the bar with the back button stays stuck to the top for the whole screen
     (a sticky element only sticks inside its parent, and the head ends after the large title) */
  .v4-app[data-ui=next][data-redesign] .v4-settings-body > .rd-set-head{display:contents}
  .v4-app[data-ui=next][data-redesign] .rd-set-head > *{order:-3}
  /* the list screen: header, search, business card and categories; no detail */
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="list"] > .v4-settings-body{display:none!important}
  /* a pushed screen: the bar with its back button on top; the list is gone */
  .v4-app[data-ui=next][data-redesign] .v4-settings:is([data-rd-view="detail"],[data-rd-view="sub"]) > :first-child,
  .v4-app[data-ui=next][data-redesign] .v4-settings:is([data-rd-view="detail"],[data-rd-view="sub"]) > .rd-set-side{display:none!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="find"] > :first-child,
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="find"] .rd-set-side > :not(.rd-set-find){display:none!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="find"] .rd-set-side{padding-bottom:12px}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="detail"] .rd-set-back{display:inline-flex!important}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="detail"] .rd-set-bar{display:flex}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="sub"] .rd-set-bar__title{display:none} /* the large title right below names the screen */
  .v4-app[data-ui=next][data-redesign] .rd-set-bar{position:sticky;top:0;z-index:3;margin:0 -16px 8px;padding:0 8px;min-height:44px;background:var(--rd-glass);
    -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 -.5px 0 var(--rd-glass-line)}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="find"] .rd-set-bar{display:none}
  .v4-app[data-ui=next][data-redesign] .v4-settings .rd-set-back{margin-left:0;font-size:17px!important;min-height:44px!important;padding:0 8px!important}
  .v4-app[data-ui=next][data-redesign] .rd-set-back svg{width:12px;height:21px}
  .v4-app[data-ui=next][data-redesign] .rd-set-bar__title{display:block;position:absolute;left:50%;transform:translateX(-50%);max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:600;color:var(--gb-ink)}
  .v4-app[data-ui=next][data-redesign] .rd-set-hero{margin:8px 0 26px;padding:22px 18px 20px}
  .v4-app[data-ui=next][data-redesign] .rd-set-subhead{margin:6px 0 18px}
  .v4-app[data-ui=next][data-redesign] .rd-set-subhead__title{font-size:28px}
  .v4-app[data-ui=next][data-redesign] .rd-set-row__value{max-width:46%}
  .v4-app[data-ui=next][data-redesign] .rd-set-themes{gap:14px}
  .v4-app[data-ui=next][data-redesign] .rd-set-theme__pic{width:84px;height:56px}
  .v4-app[data-ui=next][data-redesign] .v4-settings-body .crm-form-grid{grid-template-columns:minmax(0,1fr)}
  .v4-app[data-ui=next][data-redesign] #booking-settings .booking-day{grid-template-columns:minmax(0,1fr) auto}
  .v4-app[data-ui=next][data-redesign] #booking-settings .booking-day > :is(span,.booking-window){grid-column:1 / -1}
  .v4-app[data-ui=next][data-redesign] #booking-settings .booking-day > .text-button{grid-column:2}
  .v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div{grid-template-columns:minmax(0,1fr)!important}
  .v4-app[data-ui=next][data-redesign] :is(#set-business,#set-authority) > [style*="display: grid"] > div > :nth-child(n+2){justify-self:stretch;text-align:left;max-width:none}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="list"] .rd-set-side{animation:gbn-rd-settings-pop var(--gb-dur-2) var(--gb-ease) both}
  .v4-app[data-ui=next][data-redesign] .v4-settings[data-rd-view="detail"] :is(.rd-set-hero,.rd-set-pane){animation:gbn-rd-settings-push var(--gb-dur-2) var(--gb-ease) both}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .v4-settings :is(.rd-set-side,.rd-set-hero,.rd-set-pane){animation:none!important}
}

/* 12 · dark: every colour above is a token with a dark value (rd-0-tokens.css), so dark needs no rules of its own here */

/* ==========================================================================
   UI-REDESIGN · chat (ff.ui.redesign, default off). The Manager chat in the Apple Messages look; full chat mode is
   option D: the thread column on the left, the conversation centred (760px) in the middle, the details pane on the right.
   Markup: src/assistant.html (every new piece sits in <sc-if value="{{ rdOn }}">); values: src/v4/pages/rd-chat-model.js.
   The message rules are container-agnostic (#anna-panel in any view: full, the dock, the phone sheet); only the
   layout rules look at [data-view=full].
     1  layout: the second column shows in full chat mode only, so every other page gets its full width
     2  the thread column (Threads, search, Today / Mine / All, Waiting on you, Working, Done today)
     3  the conversation header
     4  the transcript: bubbles, runs and tails, time stamps, Delivered / Read, tapbacks, actions, cards, typing
     5  the composer: round +, the pill, the mic inside, the blue send arrow, the predicted message and its Tab key
     6  the details pane (steps, customer, quote, promises, files, done today) and its phone sheet
     7  phones
   ========================================================================== */

/* 1 · layout ------------------------------------------------------------------------------------------------------ */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign]{--rd-col-w:clamp(272px,21.6vw,312px);--rd-pane-w:clamp(280px,22vw,320px)}
  .v4-app[data-ui=next][data-redesign][data-anna-open=true][data-anna-view=full]{--gb-list-w:var(--rd-col-w)}
  /* pages keep their full width: no column beside a page, a docked chat or a closed chat */
  .v4-app[data-ui=next][data-redesign][data-chatkit-shell=true]:not([data-anna-open=true]),
  .v4-app[data-ui=next][data-redesign][data-chatkit-pending=true]:not([data-anna-open=true]),
  .v4-app[data-ui=next][data-redesign][data-chatkit-shell=true][data-anna-open=true][data-anna-view=full]{--gbn-left:var(--gb-rail-w)}
  .v4-app[data-ui=next][data-redesign]:not([data-anna-open=true]) .ck-navigation-host>#anna-chatkit-sidebar,
  .v4-app[data-ui=next][data-redesign][data-anna-open=true]:not([data-anna-view=full]) .ck-navigation-host>#anna-chatkit-sidebar{display:none!important}
  /* the page bar's column toggle has no column to show there, closed or floating; the bar's Chat button is the classic
     look's only (src/assistant.html, {{ !rdOn }}): the rail's Chat and the dock open the chat */
  .v4-app[data-ui=next][data-redesign]:not([data-anna-open=true]) .ck-workspace-controls>button,
  .v4-app[data-ui=next][data-redesign][data-anna-open=true]:not([data-anna-view=full]) .ck-workspace-controls>button{display:none!important}
}

/* 2 · the thread column ------------------------------------------------------------------------------------------- */
/* What the column replaces stays mounted (hooks draw into the hidden slots) but out of sight. */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar:has(>.rd-chat-col-hd)>:is(header,.ck-cc-biz,.ck-cc-nav){display:none!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar:has(>.rd-chat-col-hd)>nav>:not(.ck-call-slot){display:none!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar:has(>.rd-chat-col-hd)>nav{margin:0!important;padding:0!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar:has(>.rd-chat-col-hd) .anna-chatkit-sidebar-scroll>:not(.rd-chat-list):not(#ck-work-panel):not(.ck-cc-head):not(.ck-cc-goals){display:none!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar:has(>.rd-chat-col-hd) .anna-chatkit-sidebar-scroll{padding:0 0 16px!important;-webkit-mask-image:none!important;mask-image:none!important;scroll-snap-type:none!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar:has(>.rd-chat-col-hd){padding:0 12px 10px!important;background:var(--gb-column)!important;box-shadow:inset -1px 0 0 var(--gb-hair)!important;font-family:var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-col-hd,.rd-chat-list,.rd-chat-col-ft) button{font-family:var(--gb-font);-webkit-tap-highlight-color:transparent}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-col-hd,.rd-chat-list,.rd-chat-col-ft) svg{fill:none!important;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-col-hd,.rd-chat-list,.rd-chat-col-ft) :focus-visible{outline:2px solid var(--gb-focus);outline-offset:1px}

/* header: "Threads 7", activity, new chat; the search field; Today / Mine / All */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-hd{flex:none;display:flex;flex-direction:column;gap:10px;padding:14px 2px 6px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-bar{display:flex;align-items:center;gap:2px;min-height:36px;padding-left:2px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-title{flex:1;min-width:0;margin:0!important;padding:0!important;font:700 22px/1.2 var(--gb-font)!important;letter-spacing:-.022em!important;color:var(--gb-ink)!important;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-count{margin-left:7px;font-weight:400;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-ibtn{display:grid;place-items:center;flex:none;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-ibtn:hover:not(:disabled,[aria-disabled=true]){background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-ibtn:is(:disabled,[aria-disabled=true]){opacity:.4;cursor:default}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-ibtn svg{width:20px;height:20px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-back{display:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search{position:relative;display:flex;align-items:center;height:36px;border-radius:10px;background:var(--gb-fill-2);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search>svg{position:absolute;left:9px;width:17px;height:17px;pointer-events:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search-in{flex:1;min-width:0;height:100%;margin:0;padding:0 32px 0 33px;border:0;border-radius:inherit;outline:0;background:transparent;color:var(--gb-ink);font:400 15px/1 var(--gb-font);letter-spacing:-.01em;-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search-in::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search-in::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--gb-focus) 55%,transparent)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search-x{position:absolute;right:8px;display:grid;place-items:center;width:18px;height:18px;margin:0;padding:0;border:0;border-radius:50%;background:var(--gb-ink-3);color:var(--gb-column);cursor:pointer}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-search-x svg{width:12px;height:12px;stroke-width:2.6}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 4px 0 10px;border-radius:10px;background:var(--gb-select)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj-name{display:flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0;padding:0;border:0;background:transparent;color:var(--gb-ink);font:500 13.5px/1.2 var(--gb-font);cursor:pointer;text-align:left}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj-name svg{flex:none;width:16px;height:16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj-clear{flex:none;margin:0;padding:4px 8px;border:0;border-radius:8px;background:transparent;color:var(--rd-blue);font:500 13px/1.2 var(--gb-font);cursor:pointer}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj-clear:hover{background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;height:32px;padding:2px;border-radius:9px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-seg>button{position:relative;margin:0;padding:0 8px;border:0;border-radius:7px;background:transparent;color:var(--gb-ink);font:500 13px/1 var(--gb-font);letter-spacing:-.005em;cursor:pointer;transition:background-color var(--gb-dur-2) var(--gb-ease),box-shadow var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-seg>button[aria-pressed=true]{background:var(--gb-seg-on);box-shadow:0 0 0 .5px rgba(0,0,0,.04),0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);font-weight:600}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-seg>button:not([aria-pressed=true]):hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-hd[data-work=true]>:not(.rd-chat-col-bar){display:none}

/* the list: the Main chat on top, then the groups */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-list{display:flex;flex-direction:column;padding:2px 0 8px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-list[data-work=true]{display:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-grp{margin-top:16px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-grp>h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 4px;padding:0 10px;font:600 13px/1.3 var(--gb-font);letter-spacing:-.003em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-grp>h3>small{font:400 13px/1.3 var(--gb-font);color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-grp>ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row{position:relative;display:flex;align-items:flex-start;width:100%;margin:0;padding:9px 10px 10px 28px;border:0;border-radius:12px;background:transparent;color:var(--gb-ink)!important;text-align:left;cursor:pointer;transition:background-color var(--gb-dur-1) var(--gb-ease),box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row:hover:not([aria-current=page]){background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[aria-current=page]{background:var(--gb-surface);box-shadow:0 0 0 .5px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.06),0 6px 16px -10px rgba(0,0,0,.18)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] #anna-chatkit-sidebar .rd-chat-row[aria-current=page]{background:var(--gb-raised);box-shadow:0 0 0 .5px var(--gb-hair)}
/* While the Manager replies the rows are held: the app's action feedback swaps disabled for aria-disabled and fades the whole
   button (crm-action-feedback-style.css). The open thread stays as it is; the others fade their words a little. */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row:is(:disabled,[aria-disabled=true]){cursor:progress;opacity:1}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row:is(:disabled,[aria-disabled=true]):not([aria-current=page]) .rd-chat-row-tx{opacity:.72}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-tx{display:flex;flex-direction:column;flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-top{display:flex;align-items:baseline;gap:8px;min-width:0}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-top>b{flex:1;min-width:0;overflow:hidden;font:500 14.5px/1.3 var(--gb-font);letter-spacing:-.008em;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-top>time{flex:none;font:400 12.5px/1.3 var(--gb-font);color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:2px;font:400 13px/1.38 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-sub:empty{display:none}
/* Light look: chatkit-live-tail.css greys every span, small, p and button of the sidebar with !important (#555), and each
   {{ value }} is drawn inside a span. The column keeps the inks Messages uses: names in ink, status words in their colour. */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-col-hd,.rd-chat-list,.rd-chat-col-ft) .sc-interp{color:inherit!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-row-tx,.rd-chat-grp>h3>span,.rd-seg>button,.rd-chat-proj-name>span){color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-row-sub,.rd-chat-row-sub>span){color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-col-count,.rd-chat-dots>span,.rd-chat-grp>h3>small){color:var(--gb-ink-3)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn:not(:hover,[aria-expanded=true]),.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn:not(:hover,[aria-expanded=true])>span{color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-ft-btn:is(:hover,[aria-expanded=true]),.rd-chat-ft-btn:is(:hover,[aria-expanded=true])>span){color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn>small{color:#fff!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-proj-clear{color:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-link,.rd-chat-link span){color:var(--rd-blue)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar :is(.rd-chat-link:is(:disabled,[aria-disabled=true]),.rd-chat-link:is(:disabled,[aria-disabled=true]) span){color:var(--gb-ink-3)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-note>span{color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-sub>em{font-style:normal;font-weight:500}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-sub>em+span::before{content:"·";margin:0 5px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[data-status=needs] .rd-chat-row-sub>em{color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[data-status=working] .rd-chat-row-sub>em{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[data-status=done] .rd-chat-row-sub>em{color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[data-status=failed] .rd-chat-row-sub>em{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[data-status=done] .rd-chat-row-top>b{font-weight:400;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row[data-status=""]{padding-left:10px}
/* the status mark at the row's start: Needs you (orange), Working (blue spinner), Completed (green check), Failed (red) */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st{position:absolute;left:10px;top:14px;width:10px;height:10px;border-radius:50%}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st[data-status=""]{display:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st[data-status=needs]{left:11px;top:15px;width:8px;height:8px;background:var(--rd-orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--rd-orange) 22%,transparent)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st[data-status=failed]{left:11px;top:15px;width:8px;height:8px;background:var(--rd-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--rd-red) 20%,transparent)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st[data-status=working]{left:9px;top:13px;width:12px;height:12px;border-radius:0;background:var(--rd-blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.9' fill='none' stroke='black' stroke-opacity='.22' stroke-width='1.5'/%3E%3Cpath d='M1.4 3.6A4.9 4.9 0 0 1 10.9 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px 12px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.9' fill='none' stroke='black' stroke-opacity='.22' stroke-width='1.5'/%3E%3Cpath d='M1.4 3.6A4.9 4.9 0 0 1 10.9 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px 12px no-repeat;animation:gbn-rd-chat-spin 1s linear infinite}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st[data-status=done]{left:9px;top:13px;width:13px;height:13px;border-radius:0;background:var(--rd-green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.4L19 7.4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px 13px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.4L19 7.4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px 13px no-repeat}
/* the 10px step dots and "3 of 7" */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:6px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>i{display:block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--gb-ink-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.4' fill='none' stroke='black' stroke-width='1' stroke-dasharray='1.25 1.05'/%3E%3C/svg%3E") center/10px 10px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.4' fill='none' stroke='black' stroke-width='1' stroke-dasharray='1.25 1.05'/%3E%3C/svg%3E") center/10px 10px no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>i[data-state=done]{background:var(--rd-green);-webkit-mask:none;mask:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>i[data-state=failed]{background:var(--rd-red);-webkit-mask:none;mask:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>i[data-state=wait]{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>i[data-state=running]{background:var(--rd-blue);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.4' fill='none' stroke='black' stroke-opacity='.22' stroke-width='1.1'/%3E%3Cpath d='M1.2 3.1A4.4 4.4 0 0 1 9.4 5' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.4' fill='none' stroke='black' stroke-opacity='.22' stroke-width='1.1'/%3E%3Cpath d='M1.2 3.1A4.4 4.4 0 0 1 9.4 5' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");animation:gbn-rd-chat-spin 1s linear infinite}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>i[data-state=skipped]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.4' fill='none' stroke='black' stroke-width='.9'/%3E%3Cpath d='M3 5h4' stroke='black' stroke-width='.9' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.4' fill='none' stroke='black' stroke-width='.9'/%3E%3Cpath d='M3 5h4' stroke='black' stroke-width='.9' stroke-linecap='round'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-dots>span{margin-left:5px;font:400 12px/1 var(--gb-font);color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
/* the Main chat: the Manager's orb, its name and "Main chat" */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-main{align-items:center;gap:10px;padding:8px 10px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-orb{width:30px;height:30px;box-shadow:none}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-main .rd-chat-row-sub{margin-top:0}
/* The row Messages shows while you write a new message: on top, selected, a plain avatar with the compose glyph. */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-new{align-items:center;gap:10px;min-height:46px;padding:8px 10px;margin-bottom:2px;cursor:default;animation:gbn-rd-chat-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-new-ic{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#a5abb9,#858994);color:#fff}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-new-ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* quiet lines and links under the list */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 0;padding:0 10px;font:400 13px/1.4 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-link{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--rd-blue);font:500 13.5px/1.3 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-note .rd-chat-link{margin:0;padding:2px 4px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-link:hover:not(:disabled,[aria-disabled=true]){background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-link:is(:disabled,[aria-disabled=true]){color:var(--gb-ink-3);cursor:progress}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-link svg{flex:none;width:16px;height:16px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-link b{font-weight:600}
/* the footer: Needs you (the work list), Projects, Threads overview */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-ft{flex:none;display:flex;gap:4px;margin:0 -4px;padding:8px 0 0;border-top:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;height:34px;margin:0;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--gb-ink-2);font:500 13px/1 var(--gb-font);white-space:nowrap;cursor:pointer}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn[aria-expanded=true]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn svg{flex:none;width:17px;height:17px}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn>span{overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn>small{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--rd-orange);color:#fff;font:600 11px/1 var(--gb-font);font-variant-numeric:tabular-nums}
/* the work list (Needs you) keeps its own markup; it takes the list's place while open */
.v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar #ck-work-panel{margin-top:6px}

/* 3 · the conversation header ----------------------------------------------------------------------------------- */
/* the conversation sits on the canvas colour; the columns beside it keep the side-column grey */
.v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full]{background:var(--gb-ground)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .rd-chat-info{display:grid;place-items:center}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .rd-chat-info svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .rd-chat-info[aria-pressed=true]{color:var(--gb-ink);background:var(--gb-fill)}
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-identity{max-width:none;min-height:60px;padding:10px 16px 10px 14px;box-shadow:inset 0 -1px 0 var(--gb-hair)}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-identity .anna-dot-mark,
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-identity .anna-dot-orb{width:36px;height:36px}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-identity .anna-dot-who strong{font:600 15px/1.25 var(--gb-font);letter-spacing:-.01em}
}

/* 4 · the transcript ---------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log{isolation:isolate;gap:0!important;max-width:var(--gb-chat-max)!important;padding:8px 20px 20px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>:is(.anna-day-line,.anna-turn-author){display:none!important}
/* bubbles: the owner's iMessage blue on the right, the Manager's grey on the left; 2px inside a run, 12px between runs */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai){position:relative;width:auto;max-width:var(--rd-bubble-max)!important;margin:2px 0 0!important;padding:var(--rd-bubble-pad)!important;border-radius:var(--rd-bubble-r)!important;box-shadow:none!important;font:400 var(--rd-bubble-fs)/var(--rd-bubble-lh) var(--gb-font)!important;letter-spacing:-.012em!important;white-space:normal;overflow-wrap:anywhere;text-wrap:pretty;-webkit-font-smoothing:antialiased}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-user{align-self:flex-end;background:var(--rd-blue)!important;color:var(--rd-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai{align-self:flex-start;background:var(--rd-in)!important;color:var(--rd-in-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai) .anna-md{display:block;white-space:pre-wrap}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai) .anna-md>:first-child{margin-top:0}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai) .anna-md>:last-child{margin-bottom:0}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-user a{color:inherit;text-decoration:underline}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai a{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=start]+p,
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=start]+.anna-reply-quote{margin-top:12px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=stamped]+p,
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=stamped]+.anna-reply-quote{margin-top:2px!important}
/* the tail on the last bubble of a run (drawn in the bubble's own colour, so it sits on any background) */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=tail]+p:is(.is-user,.is-ai)::after{content:"";position:absolute;bottom:0;z-index:-1;width:24px;height:21px;background:inherit;pointer-events:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=tail]+p.is-user{border-bottom-right-radius:6px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=tail]+p.is-user::after{right:-6px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M0 0H18V9C18 15.6 20.6 19.5 24 21H0Z'/%3E%3C/svg%3E") center/24px 21px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M0 0H18V9C18 15.6 20.6 19.5 24 21H0Z'/%3E%3C/svg%3E") center/24px 21px no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=tail]+p.is-ai{border-bottom-left-radius:6px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-run[data-run~=tail]+p.is-ai::after{left:-6px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M24 0H6V9C6 15.6 3.4 19.5 0 21H24Z'/%3E%3C/svg%3E") center/24px 21px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M24 0H6V9C6 15.6 3.4 19.5 0 21H24Z'/%3E%3C/svg%3E") center/24px 21px no-repeat}
/* a line that did not send */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.anna-fallback-failed{border-inline-start:0!important;padding-inline-start:13px!important;opacity:.78}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p .anna-fallback-state{display:block;margin-top:2px;font:500 12px/1.3 var(--gb-font);color:inherit;opacity:.85}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-fallback-retry{align-self:flex-start;min-height:28px;margin:6px 0 0 4px;padding:0 12px;border-radius:14px;background:transparent;box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--rd-red);font:500 13px/1 var(--gb-font)}
/* centred time stamps between runs more than 15 minutes apart: "Today 9:41 AM" */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-stamp{flex:none;align-self:center;margin:20px 0 6px;font:400 var(--rd-meta-fs)/1.3 var(--gb-font);letter-spacing:0;color:var(--rd-meta);text-align:center;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-stamp:first-child,
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-thread-header+.rd-chat-stamp{margin-top:8px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-stamp>b{font-weight:600}
/* "Delivered", then "Read 9:41 AM" under the owner's latest message */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-receipt{flex:none;align-self:flex-end;margin:3px 4px 2px 0;font:400 var(--rd-meta-fs)/1.3 var(--gb-font);letter-spacing:0;color:var(--rd-meta);font-variant-numeric:tabular-nums;animation:gbn-rd-chat-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-receipt>b{font-weight:600}
/* tapbacks: the Manager's on the owner's bubble (top-left, grey), the owner's on the Manager's (top-right, blue); a ring in
   the page colour and the two small "thought" dots, as in Messages */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai):has(>.anna-tapback){margin-top:26px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai):has(>.anna-tapback){margin-bottom:0!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p>.anna-tapback{position:absolute;top:-25px;bottom:auto;display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border-radius:16px;font:17px/1 var(--gb-font);box-shadow:0 0 0 2.5px var(--gb-ground)!important;pointer-events:none;animation:gbn-rd-chat-pop var(--gb-dur-3) cubic-bezier(.34,1.56,.64,1) both;z-index:1}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p>.anna-tapback::after{content:"";position:absolute;bottom:-3px;width:7px;height:7px;border-radius:50%;background:inherit;box-shadow:0 0 0 1.5px var(--gb-ground)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-user>.anna-tapback{inset-inline-start:-14px!important;inset-inline-end:auto!important;background:var(--rd-in)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-user>.anna-tapback::after{right:1px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai>.anna-tapback{inset-inline-end:-14px!important;inset-inline-start:auto!important;background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai>.anna-tapback::after{left:1px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p>.anna-tapback[data-pending=true]{animation:gbn-rd-chat-wait 1.4s var(--gb-ease) infinite}
/* hover actions beside the bubble (Reply, React); phones long-press for the same menu */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p>:is(.anna-reply-action,.anna-react-action){top:50%!important;bottom:auto!important;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--gb-fill)!important;box-shadow:none!important;color:var(--gb-ink-2)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p>:is(.anna-reply-action,.anna-react-action):hover{background:var(--gb-fill-2)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai>.anna-reply-action{inset-inline-start:auto!important;inset-inline-end:-38px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai>.anna-react-action{inset-inline-start:auto!important;inset-inline-end:-38px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai:has(>.anna-reply-action)>.anna-react-action{inset-inline-end:-70px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-user>.anna-reply-action{inset-inline-end:auto!important;inset-inline-start:-38px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai:has(>.anna-reply-action){margin-bottom:0!important}
@media (hover:hover){
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-ai:has(>:is(.anna-reply-action,.anna-react-action))::before{content:"";position:absolute;top:0;bottom:0;left:100%;width:76px}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.is-user:has(>.anna-reply-action)::before{content:"";position:absolute;top:0;bottom:0;right:100%;width:44px}
}
/* inline replies: the quoted line as a faint outlined bubble above the reply */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-reply-quote{padding:6px 12px 7px!important;border-radius:16px!important;background:transparent!important;box-shadow:inset 0 0 0 1px var(--gb-hair-2)!important;color:var(--gb-ink-2)!important;font:400 14px/1.35 var(--gb-font)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-reply-quote+p{margin-top:4px!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-reply-count{margin:3px 8px 0!important;padding:0!important;background:transparent!important;color:var(--rd-blue)!important;font:500 12px/1.3 var(--gb-font)!important}
/* the message menu: the tapback row as a pill, the actions as a rounded list */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-reply-menu{min-width:220px;padding:6px;border-radius:14px;background:color-mix(in srgb,var(--gb-surface) 90%,transparent);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:0 0 0 .5px var(--rd-glass-line),var(--gb-shadow-3)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-reply-menu>.anna-tapbacks{gap:4px;margin:0 0 6px;padding:4px 4px 8px;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-reply-menu>.anna-tapbacks>button{width:36px;min-height:36px;font-size:21px;transition:transform var(--gb-dur-1) cubic-bezier(.34,1.56,.64,1),background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-reply-menu>.anna-tapbacks>button:hover{transform:scale(1.18);background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-reply-menu>.anna-tapbacks>button[aria-checked=true]{background:var(--rd-blue);box-shadow:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-reply-menu button[role=menuitem]{min-height:36px;border-radius:8px;font:400 14px/1 var(--gb-font)}
/* rich results: left-aligned attachment cards up to 560px, 18px radius, under the Manager's bubble */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-fallback-extra:not(:empty){align-self:flex-start;width:100%;max-width:560px;margin-top:6px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-fallback-extra .hc-card{border-radius:18px;box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-ck-widgets{align-self:flex-start;width:100%;max-width:560px!important;margin-top:6px;gap:6px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-ck-widgets .cw-card{padding:16px 18px;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-ck-widgets .cw-title{font:600 16px/1.3 var(--gb-font);letter-spacing:-.01em}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-ck-widgets .cw-bar{height:8px;background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-ck-widgets .cw-bar>span{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-ck-widgets .cw-button{min-height:34px;border-radius:17px;font:500 14px/1 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-ck-widgets .cw-col>.cw-button{border-radius:12px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-thread-card{width:100%;max-width:560px;margin-top:6px;padding:12px 14px;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.anna-thread-card>svg{stroke:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] #anna-panel .anna-fallback-log>:is(.anna-thread-card,.anna-fallback-extra) .hc-card,
.v4-app[data-ui=next][data-redesign][data-theme=dark] #anna-panel .anna-fallback-log>.anna-thread-card,
.v4-app[data-ui=next][data-redesign][data-theme=dark] #anna-panel .anna-ck-widgets .cw-card{background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2)}
/* typing: a grey bubble with three pulsing dots (the reply that has not started, and the chat data layer's rdTyping) */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>:is(p.anna-fallback-working,.rd-chat-typing){position:relative;flex:none;align-self:flex-start;display:flex;box-sizing:border-box;align-items:center;gap:5px;width:auto;height:38px;margin:12px 0 0 0!important;padding:0 14px!important;border-radius:19px;background:var(--rd-in);color:transparent!important;font-size:0!important;line-height:0;animation:gbn-rd-chat-rise var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>:is(p.anna-fallback-working,.rd-chat-typing)::before{content:"";position:absolute;left:-3px;bottom:-2px;width:12px;height:12px;border-radius:50%;background:var(--rd-in)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>:is(p.anna-fallback-working,.rd-chat-typing)::after{content:"";position:absolute;left:-9px;bottom:-8px;width:6px;height:6px;border-radius:50%;background:var(--rd-in)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.anna-fallback-working>.anna-fallback-dots{display:flex;align-items:center;gap:5px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.anna-fallback-working>.anna-fallback-dots>i,.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-typing>i{display:block;width:8px;height:8px;border-radius:50%;background:var(--gb-ink-3);animation:gbn-rd-chat-dot 1.3s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.anna-fallback-working>.anna-fallback-dots>i:nth-child(2),.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-typing>i:nth-child(2){animation-delay:.18s}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.anna-fallback-working>.anna-fallback-dots>i:nth-child(3),.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-typing>i:nth-child(3){animation-delay:.36s}
/* a message waiting for the reply to finish: a quiet blue outline on the right, with Edit (and Send now after a failed reply) */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-queued{flex:none;align-self:flex-end;display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:var(--rd-bubble-max);margin-top:12px;animation:gbn-rd-chat-rise var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-queued-text{margin:0;padding:var(--rd-bubble-pad);border-radius:var(--rd-bubble-r);background:color-mix(in srgb,var(--rd-blue) 10%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--rd-blue) 55%,transparent);color:var(--gb-ink);font:400 var(--rd-bubble-fs)/var(--rd-bubble-lh) var(--gb-font);letter-spacing:-.012em;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-queued-meta{display:flex;align-items:center;gap:10px;margin-right:4px;font:400 var(--rd-meta-fs)/1.3 var(--gb-font);color:var(--rd-meta)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-queued[data-held=true] .rd-chat-queued-meta>span{color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-queued-meta>button{margin:0;padding:0;border:0;background:transparent;color:var(--rd-blue);font:500 var(--rd-meta-fs)/1.3 var(--gb-font);cursor:pointer}
/* new lines rise and fade in */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p:is(.is-user,.is-ai):last-of-type{animation:gbn-rd-chat-rise var(--gb-dur-2) var(--gb-ease) both}
/* the "Latest messages" pill */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-latest{height:30px;background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);color:var(--rd-blue);font:600 12.5px/1 var(--gb-font)}

/* 5 · the composer ------------------------------------------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer{max-width:var(--gb-chat-max)!important;padding:6px 20px 16px}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .composer-controls{position:relative;isolation:isolate;display:flex;align-items:flex-end;gap:0;min-height:var(--rd-composer-h)!important;padding:4px 5px 4px 52px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .composer-controls::before{content:"";position:absolute;inset:0 0 0 44px;border-radius:22px;background:var(--gb-ground);box-shadow:inset 0 0 0 1px var(--gb-hair-2),var(--gb-shadow-2);pointer-events:none;z-index:-1;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .composer-controls:focus-within::before{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gb-ink) 22%,transparent),var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] #anna-panel .anna-fallback-composer .composer-controls::before{background:var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-plus{position:absolute!important;left:0;bottom:4px;width:36px;height:36px;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-plus:hover,
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-plus[aria-expanded=true]{background:var(--gb-press);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-plus svg{width:20px;height:20px;stroke-width:2}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-menu{left:0!important;bottom:calc(100% + 8px)!important;min-width:220px;padding:6px;border-radius:14px;background:color-mix(in srgb,var(--gb-surface) 90%,transparent);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:0 0 0 .5px var(--rd-glass-line),var(--gb-shadow-3)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-menu button{min-height:36px;border-radius:8px;font:400 14px/1.2 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer textarea{flex:1;min-width:0;min-height:36px;max-height:160px;padding:7px 8px 7px 10px!important;border:0;background:transparent!important;color:var(--gb-ink)!important;font:400 var(--rd-bubble-fs)/var(--rd-bubble-lh) var(--gb-font)!important;letter-spacing:-.012em}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer textarea::placeholder{color:var(--gb-ink-3)!important;opacity:1}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-actions:empty{display:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-composer-actions{align-self:flex-end;display:flex;align-items:center;min-height:36px}
/* the mic inside the field; the blue round send arrow once there is text */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-dictate,.composer-send,.anna-send){align-self:flex-end;width:36px!important;height:36px!important;margin:0;border-radius:50%;background:transparent!important;color:var(--gb-ink-2)!important;box-shadow:none!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-dictate,.composer-send):hover:not(:disabled,[aria-disabled=true]){background:var(--gb-fill)!important;color:var(--gb-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-dictate,.composer-send) svg{width:20px;height:20px;stroke-width:1.8}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-send[aria-label="Send message"],.anna-send){width:32px!important;height:32px!important;margin:2px 0 2px 2px;background:var(--rd-blue)!important;color:var(--rd-blue-ink)!important;animation:gbn-rd-chat-pop var(--gb-dur-2) cubic-bezier(.34,1.56,.64,1) both}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-send[aria-label="Send message"],.anna-send):hover:not(:disabled,[aria-disabled=true]){background:color-mix(in srgb,var(--rd-blue) 88%,#000)!important;color:var(--rd-blue-ink)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-send[aria-label="Send message"],.anna-send) svg{width:18px;height:18px;stroke-width:2.4}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer :is(.composer-send[aria-label="Send message"],.anna-send):is(:disabled,[aria-disabled=true]){opacity:.45}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .composer-send[aria-label="Stop listening"]{background:var(--rd-red)!important;color:#fff!important}
/* the predicted message: the empty field's ghost text, with a small Tab key; on phones a chip above the field */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .rd-chat-tab{align-self:center;flex:none;margin:0 6px 0 2px;padding:3px 6px 4px;border-radius:6px;background:var(--gb-fill);box-shadow:inset 0 0 0 1px var(--gb-hair-2),0 1px 0 var(--gb-hair-2);color:var(--gb-ink-3);font:500 11px/1 var(--gb-font);letter-spacing:.01em;pointer-events:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .composer-controls:has(textarea:not(:placeholder-shown)) .rd-chat-tab{display:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .rd-chat-ghost-chip{display:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-busy-note,
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .anna-status{margin:6px 0 0 56px;font:400 12px/1.3 var(--gb-font);color:var(--gb-ink-3)}
/* chips above the field (replying to, off the record, files): aligned with the pill */
.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer>:is(.anna-reply-chip,.anna-offrecord-chip,.anna-attach-chips){margin-left:50px!important}
@media (hover:none),(max-width:760px){
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .rd-chat-tab{display:none}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .rd-chat-ghost-chip{display:flex;align-items:center;max-width:calc(100% - 50px);min-height:34px;margin:0 0 8px 50px;padding:0 14px;border:0;border-radius:17px;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--rd-blue);font:500 15px/1.2 var(--gb-font);text-align:left;cursor:pointer}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .rd-chat-ghost-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer:has(textarea:not(:placeholder-shown)) .rd-chat-ghost-chip{display:none}
}
/* the docked sheet (420-600px) has no room for the ghost text on one line: the chip above the field, as on phones */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=dock] .anna-fallback-composer .rd-chat-tab{display:none}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=dock] .anna-fallback-composer .rd-chat-ghost-chip{display:flex;align-items:center;max-width:calc(100% - 50px);min-height:32px;margin:0 0 8px 50px;padding:0 13px;border:0;border-radius:16px;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--rd-blue);font:500 14px/1.2 var(--gb-font);text-align:left;cursor:pointer}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=dock] .anna-fallback-composer .rd-chat-ghost-chip:hover{background:var(--gb-hover)}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=dock] .anna-fallback-composer .rd-chat-ghost-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=dock] .anna-fallback-composer:has(textarea:not(:placeholder-shown)) .rd-chat-ghost-chip{display:none}
}

/* 5b · an empty chat, as ChatGPT opens one on a wide screen: the greeting over the box, the starter questions under it.
   The Manager's welcome is one block drawn after the composer; its pieces join the column so they can sit either side. */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty:has(>.hc-mount>.hc-empty:not(.hc-empty--recent)),
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty>.hc-mount:has(>.hc-empty:not(.hc-empty--recent)),
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty>.hc-mount>.hc-empty:not(.hc-empty--recent){display:contents}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty .hc-empty__title{order:-2;align-self:center;max-width:min(100%,680px);margin:0 0 6px;padding:0 20px;font:600 28px/1.2 var(--gb-font);letter-spacing:-.022em;color:var(--gb-ink);text-align:center;animation:gbn-rd-chat-rise var(--gb-dur-3) var(--gb-ease) both}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty .hc-empty__greeting{order:-1;align-self:center;max-width:min(100%,560px);margin:0 0 18px;padding:0 20px;font:400 15px/1.45 var(--gb-font);color:var(--gb-ink-2);text-align:center;animation:gbn-rd-chat-rise var(--gb-dur-3) var(--gb-ease) 40ms both}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty .hc-chips{order:30;align-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:var(--gb-chat-max);margin:2px 0 0;padding:0 20px 0 64px;box-sizing:border-box;animation:gbn-rd-chat-fade var(--gb-dur-3) var(--gb-ease) 80ms both}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell>.anna-fallback-empty .hc-recent{order:31;align-self:center;width:100%;max-width:var(--gb-chat-max);margin:18px 0 0;padding:0 20px 0 64px;box-sizing:border-box}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full] .anna-dot-shell:has(>.anna-fallback-empty>.hc-mount>.hc-empty:not(.hc-empty--recent))>.anna-fallback-composer{order:20}
}
/* phones: the welcome sits in the middle of the screen and the composer stays pinned at the bottom, as everywhere else */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty:has(>.hc-mount>.hc-empty:not(.hc-empty--recent)),
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty>.hc-mount:has(>.hc-empty:not(.hc-empty--recent)),
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty>.hc-mount>.hc-empty:not(.hc-empty--recent){display:contents}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty .hc-empty__title{order:-2;align-self:center;margin:auto 0 6px;padding:0 24px;font:600 24px/1.2 var(--gb-font);letter-spacing:-.02em;color:var(--gb-ink);text-align:center}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty .hc-empty__greeting{order:-1;align-self:center;margin:0 0 18px;padding:0 28px;font:400 15px/1.4 var(--gb-font);color:var(--gb-ink-2);text-align:center}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty .hc-chips{order:1;align-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;margin:0;padding:0 16px;box-sizing:border-box}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell>.anna-fallback-empty .hc-recent{order:2;align-self:stretch;margin:18px 0 0;padding:0 16px}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-shell:has(>.anna-fallback-empty>.hc-mount>.hc-empty:not(.hc-empty--recent))>.anna-fallback-composer{order:20;margin-top:auto}
}

/* 6 · the details pane -------------------------------------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane{display:none;margin:0!important}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-scrim{display:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-body{display:flex;flex-direction:column;gap:22px;min-height:100%;padding:18px 18px 28px;color:var(--gb-ink);font:400 14px/1.4 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-hd{display:flex;align-items:flex-start;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-grab{display:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-who{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-who>h2{margin:0;font:600 17px/1.3 var(--gb-font);letter-spacing:-.016em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-who>p{margin:3px 0 0;font:400 13px/1.35 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-who>.rd-pill{margin-top:10px}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane .rd-ibtn{display:grid;place-items:center;flex:none;width:30px;height:30px;margin:-4px -6px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--gb-ink-2);cursor:pointer}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane .rd-ibtn:hover{background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-sec>h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px;font:500 13px/1.3 var(--gb-font);letter-spacing:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-sec>h3>small{font:400 13px/1.3 var(--gb-font);color:var(--gb-ink-3);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane :is(ol,ul){display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
/* pills: 24px, tinted, with a 7px dot */
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:var(--gb-fill);color:var(--gb-ink-2);font:500 12.5px/1 var(--gb-font);white-space:nowrap}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-pill[data-tone=needs]{background:color-mix(in srgb,var(--rd-orange) 14%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-pill[data-tone=done]{background:color-mix(in srgb,var(--rd-green) 14%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-pill[data-tone=fail]{background:color-mix(in srgb,var(--rd-red) 12%,transparent);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-pill[data-tone=work]{background:color-mix(in srgb,var(--rd-blue) 12%,transparent);color:var(--rd-blue)}
/* steps: the option D step icons */
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li{display:flex;align-items:flex-start;gap:10px;padding:5px 0;font:400 14px/1.35 var(--gb-font);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li>i{position:relative;flex:none;width:18px;height:18px;margin-top:0;border-radius:50%;background:var(--gb-ink-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='none' stroke='black' stroke-width='1' stroke-dasharray='1.65 1.6'/%3E%3C/svg%3E") center/18px 18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='none' stroke='black' stroke-width='1' stroke-dasharray='1.65 1.6'/%3E%3C/svg%3E") center/18px 18px no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li:is([data-state=done],[data-state=failed])>i{-webkit-mask:none;mask:none;background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=failed]>i{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li:is([data-state=done],[data-state=failed])>i::after{content:"";position:absolute;inset:3px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.4L19 7.4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.4L19 7.4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=failed]>i::after{inset:4px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=running]>i{background:var(--rd-blue);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='7.75' fill='none' stroke='black' stroke-opacity='.2' stroke-width='1.5'/%3E%3Cpath d='M2.3 5.1A7.75 7.75 0 0 1 16.75 9' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='7.75' fill='none' stroke='black' stroke-opacity='.2' stroke-width='1.5'/%3E%3Cpath d='M2.3 5.1A7.75 7.75 0 0 1 16.75 9' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");animation:gbn-rd-chat-spin 1s linear infinite}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=wait]>i{background:var(--rd-blue);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='black' stroke-width='1.4' stroke-dasharray='2.1 1.85'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='black' stroke-width='1.4' stroke-dasharray='2.1 1.85'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=skipped]>i{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='black' stroke-width='1.2'/%3E%3Cpath d='M5.6 9h6.8' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='black' stroke-width='1.2'/%3E%3Cpath d='M5.6 9h6.8' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E")}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li:is([data-state=todo],[data-state=skipped]){color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=skipped]>span{text-decoration:line-through;text-decoration-color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-steps>li[data-state=failed]>span{color:var(--rd-red)}
/* the customer: the Messages monogram */
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-person{display:flex;align-items:center;gap:12px;padding:2px 0}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-person+.rd-chat-person{margin-top:10px}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-mono{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#a5abb9,#858994);color:#fff;font:600 17px/1 var(--gb-font);letter-spacing:.01em}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-mono:empty::before{content:"";width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4.2'/%3E%3Cpath d='M3.5 21a8.5 8.5 0 0 1 17 0Z'/%3E%3C/svg%3E") center/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4.2'/%3E%3Cpath d='M3.5 21a8.5 8.5 0 0 1 17 0Z'/%3E%3C/svg%3E") center/100% no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-person-tx{display:flex;flex-direction:column;min-width:0}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-person-tx>b{overflow:hidden;font:600 16px/1.3 var(--gb-font);letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-person-tx>small{font:400 13px/1.35 var(--gb-font);color:var(--gb-ink-2)}
/* the quote: a card with its total and state; tap shows it in the chat */
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-quote{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;margin:0;padding:14px 16px;border:0;border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);text-align:left;font:inherit;cursor:pointer;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-quote+.rd-chat-quote{margin-top:8px}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-quote:hover{box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-quote-top{display:flex;align-items:baseline;gap:10px;width:100%}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-quote-t{flex:1;min-width:0;font:600 14px/1.35 var(--gb-font);letter-spacing:-.006em}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-quote-top>b{flex:none;font:600 22px/1.1 var(--gb-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign][data-theme=dark] #anna-panel .rd-chat-quote{background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2)}
/* promises, files, done today */
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-promises>li,
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-did>li{display:flex;align-items:flex-start;gap:10px;padding:5px 0;font:400 14px/1.35 var(--gb-font)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-promises>li>span{display:flex;flex-direction:column;min-width:0}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-promises>li small{font:400 12.5px/1.35 var(--gb-font);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] #anna-panel :is(.rd-chat-promises,.rd-chat-did)>li>i{position:relative;flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;background:var(--gb-ink-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='none' stroke='black' stroke-width='1' stroke-dasharray='1.65 1.6'/%3E%3C/svg%3E") center/16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='none' stroke='black' stroke-width='1' stroke-dasharray='1.65 1.6'/%3E%3C/svg%3E") center/16px 16px no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-panel :is(.rd-chat-promises>li[data-done=true],.rd-chat-did>li)>i{-webkit-mask:none;mask:none;background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] #anna-panel :is(.rd-chat-promises>li[data-done=true],.rd-chat-did>li)>i::after{content:"";position:absolute;inset:3px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.4L19 7.4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.4L19 7.4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-files>li>.rd-chat-file{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:6px 8px 6px 0;border:0;border-radius:10px;background:transparent;color:var(--gb-ink);font:400 14px/1.35 var(--gb-font);text-align:left;cursor:pointer}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-files>li>.rd-chat-file:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-file>i{display:grid;place-items:end center;flex:none;width:30px;height:38px;padding-bottom:5px;border-radius:5px;background:var(--gb-surface);box-shadow:inset 0 0 0 1px var(--gb-hair-2);color:var(--rd-red);font:700 8.5px/1 var(--gb-font);font-style:normal;letter-spacing:.04em}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-empty{margin:0;font:400 13px/1.45 var(--gb-font);color:var(--gb-ink-3)}
/* the live pane's Recent activity is the thread column beside it, and its Outputs list the files (with their links) */
.v4-app[data-ui=next][data-redesign]:has(#anna-chatkit-sidebar[data-open=true] .rd-chat-list) #anna-panel[data-view=full] .rd-chat-pane-live .hcall-sec[aria-label="Recent activity"]{display:none}
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-body:has(.rd-chat-pane-live .hcall-sec[aria-label=Outputs]) .rd-chat-pane-sec[aria-label=Files]{display:none}
/* what another renderer puts in the side pane (live call, the computer, notifications, activity, outputs) sits under ours */
.v4-app[data-ui=next][data-redesign] #anna-panel .rd-chat-pane-live{position:static!important;inset:auto!important;width:auto!important;margin:0 -18px!important;overflow:visible!important;border-radius:0!important;background:transparent!important;box-shadow:inset 0 1px 0 var(--gb-hair)!important}
.v4-app[data-ui=next][data-redesign] #anna-panel[data-side-panel] .rd-chat-pane-live{display:block}
@media (min-width:1100px){
  /* full chat: the pane is the right column; the conversation keeps its centred 760px column in what is left */
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full]>.rd-chat-pane[data-open=true]{display:block;position:absolute;top:0;right:0;bottom:0;z-index:4;width:var(--rd-pane-w);overflow-y:auto;overscroll-behavior:contain;background:var(--gb-ground);box-shadow:inset 1px 0 0 var(--gb-hair)}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full]>.anna-chatkit-layout{width:auto;margin-right:0}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full]:has(>.rd-chat-pane[data-open=true])>.anna-chatkit-layout{margin-right:var(--rd-pane-w)}
  .v4-app[data-ui=next][data-redesign] #anna-panel[data-view=full]>.rd-chat-pane .rd-chat-pane-x{display:none}
}
@media (max-width:1099.98px){
  /* narrower screens: the pane comes up as a sheet */
  .v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane[data-sheet=true]{display:block;position:fixed;inset:0;z-index:150}
  .v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane[data-sheet=true] .rd-chat-pane-scrim{display:block;position:absolute;inset:0;margin:0;padding:0;border:0;background:var(--gb-scrim);cursor:default;animation:gbn-rd-chat-fade var(--gb-dur-2) var(--gb-ease) both}
  .v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane[data-sheet=true] .rd-chat-pane-body{position:absolute;top:10px;right:10px;bottom:10px;width:min(360px,calc(100% - 20px));min-height:0;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-3);animation:gbn-rd-chat-in-right var(--gb-dur-3) var(--gb-ease) both}
}

/* 7 · phones ------------------------------------------------------------------------------------------------------ */
@media (max-width:760px){
  /* the thread list is its own screen */
  .v4-app[data-ui=next][data-redesign] .ck-navigation-host>#anna-chatkit-sidebar:has(>.rd-chat-col-hd){left:0!important;width:100vw!important;max-width:none!important;padding:0 14px calc(72px + env(safe-area-inset-bottom))!important;box-shadow:none!important;background:var(--gb-ground)!important}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-back{display:grid;margin-left:-8px;color:var(--rd-blue)!important}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-back svg{width:24px;height:24px;stroke-width:2}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-back:hover:not(:disabled,[aria-disabled=true]){background:transparent}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-back:active{opacity:.45}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-title{font-size:28px!important}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-col-hd{padding-top:10px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row{min-height:56px;padding-top:11px;padding-bottom:12px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-top>b{font-size:16px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-row-sub{font-size:14px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st:not([data-status=working]):not([data-status=done]){top:17px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-st:is([data-status=working],[data-status=done]){top:15px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-chat-ft-btn{height:44px;font-size:14px}
  .v4-app[data-ui=next][data-redesign] #anna-chatkit-sidebar .rd-ibtn{width:44px;height:44px}
  /* the chat: full screen, the composer pinned above the home indicator; the tab bar under it shows the chat's canvas,
     not the page behind the chat */
  .v4-app[data-ui=next][data-redesign][data-anna-open=true] .gbn-tabbar{background:color-mix(in srgb,var(--gb-ground) 94%,transparent)!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log{padding:6px 14px 14px!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer{padding:4px 10px calc(8px + env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-composer .composer-controls::before{box-shadow:inset 0 0 0 1px var(--gb-hair-2)}
  /* the header as in Messages: "< Threads" on the left, the Manager's orb and name centred (tap them for the details) */
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity{position:relative;align-items:flex-start;min-height:80px;padding:6px 10px 8px!important;box-shadow:inset 0 -.5px 0 var(--gb-hair)}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity>.anna-dot-mark{position:absolute;top:5px;left:50%;width:40px!important;height:40px!important;margin:0 0 0 -20px!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity>.anna-dot-mark>*{width:40px!important;height:40px!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity>.anna-dot-who{position:absolute;top:48px;left:50%;display:flex;flex-direction:column;align-items:center;max-width:58%;transform:translateX(-50%);text-align:center;pointer-events:none}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity>.anna-dot-who>strong{display:flex;align-items:center;gap:1px;max-width:100%;overflow:hidden;font:500 12px/1.2 var(--gb-font)!important;letter-spacing:0!important;color:var(--gb-ink)!important;white-space:nowrap}
  .v4-app[data-ui=next][data-redesign] #anna-panel:has(.rd-chat-info) .anna-dot-identity>.anna-dot-who>strong::after{content:"";flex:none;width:10px;height:10px;background:var(--gb-ink-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity>.anna-dot-who>:not(strong){font:400 11px/1.25 var(--gb-font)!important;color:var(--gb-ink-3)!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .rd-chat-info{position:absolute!important;top:2px;left:50%;z-index:1;width:156px!important;min-width:0!important;height:76px!important;margin-left:-78px;border-radius:16px!important;background:transparent!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .rd-chat-info>svg{display:none}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .rd-chat-info:active{background:var(--gb-fill)!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity>.anna-dot-head-actions{margin-left:auto;padding-top:2px}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .anna-dot-menu{width:auto!important;min-width:44px!important;height:44px!important;margin:-2px 0 0 -6px;padding:0 4px;border-radius:22px!important;background:transparent!important;color:var(--rd-blue)!important}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .anna-dot-menu>svg{display:none}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .anna-dot-menu::before{content:"";display:block;flex:none;width:24px;height:24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m15 5-7 7 7 7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m15 5-7 7 7 7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .anna-dot-menu{display:flex!important;align-items:center;gap:0}
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-dot-identity .anna-dot-menu::after{content:"Threads";padding-right:4px;font:400 17px/1 var(--gb-font);letter-spacing:-.02em}
  /* the details: a bottom sheet with a grabber */
  .v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane[data-sheet=true] .rd-chat-pane-body{top:auto;left:0;right:0;bottom:0;width:auto;max-height:86dvh;border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;padding-bottom:calc(28px + env(safe-area-inset-bottom));animation:gbn-rd-chat-in-up var(--gb-dur-3) var(--gb-ease) both}
  .v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane[data-sheet=true] .rd-chat-pane-grab{position:absolute;top:6px;left:50%;display:block;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] #anna-panel>.rd-chat-pane[data-sheet=true] .rd-chat-pane-hd{position:relative;padding-top:8px}
}

/* motion ------------------------------------------------------------------------------------------------------------ */
@keyframes gbn-rd-chat-spin{to{transform:rotate(360deg)}}
@keyframes gbn-rd-chat-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-1px)}}
@keyframes gbn-rd-chat-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-chat-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-chat-pop{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
@keyframes gbn-rd-chat-wait{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes gbn-rd-chat-in-right{from{opacity:.6;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes gbn-rd-chat-in-up{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] #anna-panel :is(.anna-fallback-log>*,.anna-fallback-log>p>.anna-tapback,.rd-chat-pane-body,.rd-chat-pane-scrim,.composer-send),
  .v4-app[data-ui=next][data-redesign] :is(.rd-chat-dots>i,.rd-chat-st,.rd-chat-steps>li>i),
  .v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>p.anna-fallback-working>.anna-fallback-dots>i,.v4-app[data-ui=next][data-redesign] #anna-panel .anna-fallback-log>.rd-chat-typing>i{animation:none!important;transition:none!important}
}

/* ==========================================================================
   UI-REDESIGN · the chat dock (ff.ui.redesign, default off) · src/v4/pages/rddock-model.js
   --------------------------------------------------------------------------
   The Manager on every page outside full chat mode, in the style the owner picks from the dock's menu:
     bar     a glass message box centred at the bottom of the page ("Ask your Manager about …"), with the
             "Looking at" chip, a mic, the blue call button and the send arrow;
     bubble  the Manager orb in the bottom-right corner (working ring, unread count);
     mini    a small window with the latest reply and a message box, dragged to any corner;
     hidden  nothing on screen (⌘J, the rail orb, the tab bar orb; a hover at the bottom edge peeks a handle).
   The conversation is the existing #anna-panel. While it floats (pAssistant && !acFull, data-view=dock) and the
   dock is on the page, it draws here as a sheet above the dock: 22px corners, shadow-3, never the left column,
   and the page keeps its place. Full chat mode (data-view=full) belongs to the full chat. The sheet reads the
   dock's style, corner and "under" from the dock element with :has(), so the shared panel template is untouched.

   GEOMETRY. rddock-model.js measures the page area and the bottom chrome and puts the numbers on <html>:
   --rd-dock-l / --rd-dock-mw / --rd-dock-r  the main area's left edge, width and right gap,
   --rd-dock-floor  how much of the bottom of the window the AI activity strip or the phone tab bar takes,
   --rd-dock-ceil   the bottom of the top bar.
   So nothing here guesses where the strip, the bell or the tab bar are: the dock always sits clear of them.

   LAYERS. The dock layer is z 46: over the page, its toasts (40) and the AI activity strip (42); under page
   modals (50+), the activity log (69/70), the rail (107) and the tab bar (108). The floating sheet keeps the
   panel's 106 and drops to 41 ("under") while the log, the palette, the picker or the activity drawer cover it.
   The menu lifts the layer to 140 while it is open.
   ========================================================================== */

/* 0 · numbers ------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign]{
  --rd-dock-gap:14px;--rd-dock-side:24px;--rd-dock-bar-h:56px;--rd-dock-orb:56px;
  --rd-dock-base:calc(var(--rd-dock-floor,0px) + var(--rd-dock-gap));
  --rd-dock-cx:calc(var(--rd-dock-l,0px) + var(--rd-dock-mw,100vw) / 2);
  --rd-dock-right:calc(var(--rd-dock-r,0px) + var(--rd-dock-side));
  --rd-dock-left:calc(var(--rd-dock-l,0px) + var(--rd-dock-side));
  --rd-dock-top:calc(var(--rd-dock-ceil,56px) + var(--rd-dock-gap));
  --rd-dock-bar-w:min(var(--rd-dock-w,720px),calc(var(--rd-dock-mw,100vw) - 48px));
  --rd-dock-spring:cubic-bezier(.2,.9,.25,1.04);
}

/* 1 · the layer ------------------------------------------------------------ */
.v4-app[data-ui=next][data-redesign] .rd-dock{position:fixed;inset:0;z-index:46;pointer-events:none;font-family:var(--gb-font);color:var(--gb-ink);-webkit-font-smoothing:antialiased}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-menu=true]{z-index:140}
.v4-app[data-ui=next][data-redesign] .rd-dock :is(.rd-dock-bar,.rd-dock-bubble,.rd-dock-mini,.rd-dock-menu,.rd-dock-scrim){pointer-events:auto}
.v4-app[data-ui=next][data-redesign] :where(.rd-dock button,.rd-dock-sheet-me){appearance:none;-webkit-appearance:none;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v4-app[data-ui=next][data-redesign] :where(.rd-dock button:disabled){cursor:default;opacity:.38}
.v4-app[data-ui=next][data-redesign] .rd-dock svg,.v4-app[data-ui=next][data-redesign] .rd-dock-sheet-me svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] .rd-dock :focus-visible,.v4-app[data-ui=next][data-redesign] .rd-dock-sheet-me:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-dock .orb{box-shadow:none}

/* shared pieces: the orb menu button, icon buttons, the blue round buttons, the message field */
.v4-app[data-ui=next][data-redesign] :is(.rd-dock-me,.rd-dock-sheet-me){flex:none;display:inline-flex;align-items:center;gap:1px;height:44px;padding:0 3px 0 5px;border-radius:var(--gb-r-full);color:var(--gb-ink-3);transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-dock-me,.rd-dock-sheet-me) .orb{width:34px;height:34px;box-shadow:0 0 0 .5px var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] :is(.rd-dock-me,.rd-dock-sheet-me) svg{width:14px;height:14px;stroke-width:2;transition:rotate var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] :is(.rd-dock-me,.rd-dock-sheet-me):hover{background:var(--gb-fill);color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] :is(.rd-dock-me,.rd-dock-sheet-me)[aria-expanded=true]{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] :is(.rd-dock-me,.rd-dock-sheet-me)[aria-expanded=true] svg{rotate:180deg}
.v4-app[data-ui=next][data-redesign] .rd-dock-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--gb-ink-2);transition:background-color var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-icon svg{width:20px;height:20px}
.v4-app[data-ui=next][data-redesign] .rd-dock-icon:hover:not(:disabled){background:var(--gb-fill);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mic[aria-pressed=true]{background:color-mix(in srgb,var(--rd-red) 14%,transparent);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-dock-round{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rd-blue);color:var(--rd-blue-ink);transition:filter var(--gb-dur-1) var(--gb-ease),scale var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-round:hover:not(:disabled){filter:brightness(1.08)}
.v4-app[data-ui=next][data-redesign] .rd-dock-round:active:not(:disabled){scale:.94}
.v4-app[data-ui=next][data-redesign] .rd-dock-round svg{width:20px;height:20px;stroke-width:2.1}
.v4-app[data-ui=next][data-redesign] .rd-dock-call svg{width:19px;height:19px;fill:currentColor;stroke:none}
.v4-app[data-ui=next][data-redesign] .rd-dock-send{animation:gbn-rd-dock-pop var(--gb-dur-2) var(--rd-dock-spring) both}
.v4-app[data-ui=next][data-redesign] .rd-dock-input{flex:1;min-width:0;height:44px;margin:0;padding:0 6px;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;color:var(--gb-ink);font:400 15px/1.25 var(--gb-font);letter-spacing:-.01em;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-dock-input::placeholder{color:var(--gb-ink-3);opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-dock-input:focus-visible{outline:0}

/* 2 · floating bar ---------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-dock-bar{position:absolute;left:var(--rd-dock-cx);bottom:var(--rd-dock-base);width:var(--rd-dock-bar-w);height:var(--rd-dock-bar-h);translate:-50% 0;display:flex;align-items:center;gap:2px;padding:0 8px 0 4px;box-sizing:border-box;border-radius:var(--gb-r-full);background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--gb-shadow-2);transition:opacity var(--gb-dur-2) var(--gb-ease),translate var(--gb-dur-3) var(--gb-ease),box-shadow var(--gb-dur-2) var(--gb-ease),visibility 0s linear 0s}
.v4-app[data-ui=next][data-redesign] .rd-dock-bar:focus-within{box-shadow:0 0 0 .5px var(--gb-hair-2),var(--gb-shadow-3)}
.v4-app[data-ui=next][data-redesign] .rd-dock-chip{flex:none;display:inline-flex;align-items:center;gap:5px;max-width:min(260px,34%);height:28px;margin:0 4px 0 2px;padding:0 11px;box-sizing:border-box;border-radius:var(--gb-r-full);background:var(--gb-fill);font-size:12.5px;line-height:1;white-space:nowrap;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-dock-chip>span{flex:none;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-dock-chip>b{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-dock-bar .rd-dock-round{margin-left:2px}

/* 3 · corner bubble --------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-dock-bubble{position:absolute;right:var(--rd-dock-right);bottom:var(--rd-dock-base);width:var(--rd-dock-orb);height:var(--rd-dock-orb);transition:opacity var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-3) var(--rd-dock-spring),visibility 0s linear 0s}
.v4-app[data-ui=next][data-redesign] .rd-dock-orb{position:relative;display:block;width:100%;height:100%;border-radius:50%;box-shadow:var(--gb-shadow-2);transition:scale var(--gb-dur-2) var(--rd-dock-spring)}
.v4-app[data-ui=next][data-redesign] .rd-dock-orb:hover{scale:1.05}
.v4-app[data-ui=next][data-redesign] .rd-dock-orb:active{scale:.95}
.v4-app[data-ui=next][data-redesign] .rd-dock-orb::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--gb-btn);opacity:0;transition:opacity var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-orb .orb{position:absolute;inset:0;width:100%;height:100%;transition:opacity var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-3) var(--rd-dock-spring)}
.v4-app[data-ui=next][data-redesign] .rd-dock-orb__down{position:absolute;inset:0;width:24px;height:24px;margin:auto;color:var(--gb-btn-ink);stroke-width:2.2!important;opacity:0;scale:.5;transition:opacity var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-3) var(--rd-dock-spring)}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-state=open] .rd-dock-orb::before{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-state=open] .rd-dock-orb .orb{opacity:0;scale:.5}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-state=open] .rd-dock-orb__down{opacity:1;scale:1}
.v4-app[data-ui=next][data-redesign] .rd-dock-ring{position:absolute;inset:-5px;border:2.5px solid transparent;border-radius:50%;opacity:0;pointer-events:none;transition:opacity var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-working] .rd-dock-ring{opacity:1;border-top-color:var(--rd-blue);border-right-color:var(--rd-blue);animation:gbn-rd-dock-spin .9s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-dock-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:var(--gb-r-full);background:var(--rd-blue);color:var(--rd-blue-ink);font:600 12px/20px var(--gb-font);text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--gb-ground);animation:gbn-rd-dock-pop var(--gb-dur-2) var(--rd-dock-spring) both}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-state=open] .rd-dock-badge{display:none}
.v4-app[data-ui=next][data-redesign] .rd-dock-more{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--gb-raised);color:var(--gb-ink-2);box-shadow:var(--gb-shadow-1);transition:opacity var(--gb-dur-1) var(--gb-ease),scale var(--gb-dur-2) var(--rd-dock-spring),color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-more svg{width:16px;height:16px;stroke-width:2.8}
.v4-app[data-ui=next][data-redesign] .rd-dock-more:hover{color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-dock-bubble .rd-dock-more{position:absolute;top:-6px;left:-6px;opacity:0;scale:.7}
.v4-app[data-ui=next][data-redesign] .rd-dock-bubble:is(:hover,:focus-within) .rd-dock-more,.v4-app[data-ui=next][data-redesign] .rd-dock-bubble .rd-dock-more[aria-expanded=true]{opacity:1;scale:1}

/* 4 · mini window ----------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-dock-mini{position:absolute;right:var(--rd-dock-right);bottom:var(--rd-dock-base);width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;padding:6px 8px 8px;box-sizing:border-box;border-radius:20px;background:var(--gb-surface);box-shadow:var(--gb-shadow-2);transition:opacity var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-3) var(--gb-ease),visibility 0s linear 0s}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-corner=bl] .rd-dock-mini{right:auto;left:var(--rd-dock-left);transform-origin:bottom left}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-corner=tr] .rd-dock-mini{bottom:auto;top:var(--rd-dock-top);transform-origin:top right}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-corner=tl] .rd-dock-mini{right:auto;bottom:auto;left:var(--rd-dock-left);top:var(--rd-dock-top);transform-origin:top left}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini{transform-origin:bottom right}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini[data-rd-dragging]{transition:none;box-shadow:var(--gb-shadow-3);cursor:grabbing}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__hd{display:flex;align-items:center;gap:6px;min-height:44px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__hd .rd-dock-me{height:40px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__hd .rd-dock-me .orb{width:30px;height:30px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__who{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.2}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__who b{font-size:13.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__who small{font-size:11.5px;color:var(--gb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-dock[data-working] .rd-dock-mini__who small{color:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__hd .rd-dock-icon{width:32px;height:32px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__hd .rd-dock-icon svg{width:16px;height:16px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__last{display:flex;flex-direction:column;align-items:flex-start;gap:3px;align-self:flex-start;max-width:88%;padding:8px 13px 9px;box-sizing:border-box;border-radius:var(--rd-bubble-r,19px);border-bottom-left-radius:6px;background:var(--rd-in);color:var(--rd-in-ink);text-align:left;transition:filter var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__last:hover{filter:brightness(.97)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__last[data-mine=true]{align-self:flex-end;border-bottom-left-radius:var(--rd-bubble-r,19px);border-bottom-right-radius:6px;background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__last small{font-size:11px;font-weight:600;opacity:.6}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__last span{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form{display:flex;align-items:center;gap:2px;height:44px;padding:0 3px 0 12px;box-sizing:border-box;border-radius:var(--gb-r-full);background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form:focus-within{box-shadow:0 0 0 1.5px var(--gb-focus)}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form .rd-dock-input{height:40px;padding:0;font-size:14.5px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form .rd-dock-icon{width:34px;height:34px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form .rd-dock-icon svg{width:18px;height:18px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form .rd-dock-round{width:36px;height:36px}
.v4-app[data-ui=next][data-redesign] .rd-dock-mini__form .rd-dock-round svg{width:18px;height:18px}

/* 5 · hidden: a handle peeks up at the bottom edge on hover (desktop) or keyboard focus ------------- */
.v4-app[data-ui=next][data-redesign] .rd-dock-peek{position:absolute;left:var(--rd-dock-cx);bottom:var(--rd-dock-floor,0px);translate:-50% 0;width:340px;height:14px;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:0 0 12px;box-sizing:border-box;pointer-events:auto}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek:is(:hover,:focus-within),.v4-app[data-ui=next][data-redesign] .rd-dock[data-menu=true] .rd-dock-peek{height:76px}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek>button{flex:none;opacity:0;translate:0 18px;pointer-events:none;transition:opacity var(--gb-dur-2) var(--gb-ease),translate var(--gb-dur-3) var(--rd-dock-spring)}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek:is(:hover,:focus-within)>button,.v4-app[data-ui=next][data-redesign] .rd-dock[data-menu=true] .rd-dock-peek>button{opacity:1;translate:0 0;pointer-events:auto}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek__open{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 16px 0 5px;box-sizing:border-box;border-radius:var(--gb-r-full);background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--gb-shadow-2);font-size:14px;font-weight:500;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek__open .orb{width:34px;height:34px}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek kbd{margin-left:2px;font:500 12px/1 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-dock-peek .rd-dock-more{width:44px;height:44px;background:var(--rd-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--gb-shadow-2)}

/* 6 · when the launcher steps back: the conversation is open (bar, mini, hidden), full chat mode, a page
   with its own message box (Home), or a shell layer (log, palette, picker, activity drawer) over the page */
.v4-app[data-ui=next][data-redesign] .rd-dock:is([data-state=open],[data-state=full],[data-launcher=false],[data-under]) :is(.rd-dock-bar,.rd-dock-mini,.rd-dock-peek),
.v4-app[data-ui=next][data-redesign] .rd-dock:is([data-state=full],[data-launcher=false],[data-under]) .rd-dock-bubble{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--gb-dur-1) var(--gb-ease),translate var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-2) var(--gb-ease),visibility 0s linear var(--gb-dur-2)}
.v4-app[data-ui=next][data-redesign] .rd-dock:is([data-state=open],[data-state=full],[data-launcher=false],[data-under]) .rd-dock-bar{translate:-50% 18px}
.v4-app[data-ui=next][data-redesign] .rd-dock:is([data-state=open],[data-state=full],[data-launcher=false],[data-under]) :is(.rd-dock-mini,.rd-dock-bubble){scale:.92}

/* 7 · the menu ------------------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-dock-scrim{position:absolute;inset:0;background:transparent}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu{position:absolute;width:min(292px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;padding:5px;box-sizing:border-box;border-radius:14px;background:color-mix(in srgb,var(--gb-raised) 94%,transparent);-webkit-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px);box-shadow:var(--gb-shadow-3);font-size:13.5px;animation:gbn-rd-dock-menu-in var(--gb-dur-2) var(--rd-dock-spring) both}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;box-sizing:border-box;border-radius:9px;color:var(--gb-ink);text-align:left;line-height:1.25}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__item>svg{flex:none;width:18px;height:18px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__item:is(:hover,:focus-visible){outline:0;background:var(--rd-blue);color:var(--rd-blue-ink)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__item:is(:hover,:focus-visible) :is(svg,small,kbd){color:inherit;opacity:.85}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__text b{font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__text small{font-size:12px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu kbd{flex:none;font:400 12.5px/1 var(--gb-font);color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu .rd-dock-menu__check{flex:none;width:16px;height:16px;stroke-width:2.2;color:var(--rd-blue);opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__item[aria-checked=true] .rd-dock-menu__check{opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__item[aria-checked=true]:is(:hover,:focus-visible) .rd-dock-menu__check{color:inherit;opacity:1}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__sep{height:1px;margin:5px 10px;background:var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__group::before,.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners::before{content:"Chat style";display:block;padding:5px 10px 3px;font-size:11.5px;font-weight:600;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 6px 6px}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners::before{content:"Corner";grid-column:1/-1;padding:5px 4px 0}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners button{position:relative;height:38px;border-radius:9px;background:var(--gb-fill);transition:background-color var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners button:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners i{position:absolute;width:13px;height:9px;border-radius:3px;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners [data-corner=tl] i{top:6px;left:7px}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners [data-corner=tr] i{top:6px;right:7px}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners [data-corner=bl] i{bottom:6px;left:7px}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners [data-corner=br] i{bottom:6px;right:7px}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners [aria-checked=true]{background:color-mix(in srgb,var(--rd-blue) 14%,transparent);box-shadow:inset 0 0 0 1.5px var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-dock-menu__corners [aria-checked=true] i{background:var(--rd-blue)}

/* 8 · the floating conversation (desktop): #anna-panel as a sheet above the dock, never a column ------ */
@media (min-width:761px){
  /* the page keeps its place right after the rail while the conversation floats: the thread list shows in full chat
     mode only (zz-next-zzz-rd-9-chat.css), so no room is kept for it here */
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock)[data-anna-open=true][data-anna-view=dock]{--gbn-left:var(--gb-rail-w)}
  /* where the sheet sits for each style: the bubble's above the orb, the bar's centred where the bar was, the mini
     window's in its corner, Hidden's bottom right */
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock){
    --rd-sheet-w:min(420px,calc(var(--rd-dock-mw,100vw) - 32px));
    --rd-sheet-x:calc(var(--rd-dock-l,0px) + var(--rd-dock-mw,100vw) - var(--rd-dock-side) - var(--rd-sheet-w));
    --rd-sheet-b:var(--rd-dock-base);--rd-sheet-t:auto;--rd-sheet-o:bottom right;
    --rd-sheet-h:min(620px,calc(100dvh - var(--rd-dock-ceil,56px) - var(--rd-dock-base) - var(--rd-dock-gap)));
  }
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=bar]){--rd-sheet-w:min(600px,var(--rd-dock-bar-w));--rd-sheet-x:calc(var(--rd-dock-cx) - var(--rd-sheet-w) / 2);--rd-sheet-o:bottom center}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=bubble]){--rd-sheet-b:calc(var(--rd-dock-base) + var(--rd-dock-orb) + 12px);--rd-sheet-h:min(620px,calc(100dvh - var(--rd-dock-ceil,56px) - var(--rd-dock-base) - var(--rd-dock-orb) - 12px - var(--rd-dock-gap)))}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=mini]:is([data-corner=bl],[data-corner=tl])){--rd-sheet-x:var(--rd-dock-left);--rd-sheet-o:bottom left}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=mini]:is([data-corner=tl],[data-corner=tr])){--rd-sheet-t:var(--rd-dock-top);--rd-sheet-b:auto;--rd-sheet-o:top right}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=mini][data-corner=tl]){--rd-sheet-o:top left}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock]{
    top:var(--rd-sheet-t)!important;right:auto!important;bottom:var(--rd-sheet-b)!important;left:var(--rd-sheet-x)!important;
    width:var(--rd-sheet-w)!important;height:var(--rd-sheet-h)!important;max-width:none!important;min-height:0!important;
    border:0!important;border-radius:var(--gb-r-lg)!important;overflow:hidden!important;
    background:var(--gb-surface)!important;box-shadow:var(--gb-shadow-3)!important;
    transform:none!important;transform-origin:var(--rd-sheet-o);opacity:0;scale:.94;visibility:hidden;
    transition:opacity var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-3) var(--gb-ease),visibility 0s linear var(--gb-dur-3)!important;
    --ac-bg:var(--gb-surface);--ac-panel:var(--gb-surface);
  }
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock][data-open=true]{opacity:1;scale:1;visibility:visible;transition:opacity var(--gb-dur-2) var(--gb-ease),scale var(--gb-dur-3) var(--rd-dock-spring),visibility 0s linear 0s!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-resize{display:none!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=mini]) .anna-sidechat[data-view=dock] .anna-chat-header{cursor:grab}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock][data-rd-dragging]{transition:none!important;cursor:grabbing}
  /* a shell layer is over the page (log, palette, picker, activity drawer): the sheet waits under it */
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-under]) .anna-sidechat[data-view=dock]{z-index:41!important}
}

/* 9 · the sheet's head, one row: the dock's orb (its menu), the Manager and what it is looking at, then talk,
   full screen and close. The panel's second row (the big orb and name) folds into it; its side thread, history
   and pin move into the dock's menu (rdDockConvOn), so nothing is lost. */
@media (min-width:761px){
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-chat-header{height:56px;gap:4px;padding:0 10px 0 6px!important;box-shadow:inset 0 -.5px 0 var(--gb-hair)}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-chat-header>.gbn-pin{display:none!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock]:not(:has(.anna-dot-identity)) .anna-chat-header>.anna-icon[data-chat-layout]{display:inline-grid!important;place-items:center}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .gbn-panel-title b{font-size:15px;font-weight:600;letter-spacing:-.012em}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .gbn-panel-title>span{font-size:12px;color:var(--gb-ink-2)}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-dot-identity{position:absolute;top:12px;right:46px;left:auto!important;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:2px;width:auto!important;height:32px;min-height:0!important;max-width:calc(100% - 210px);margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-dot-identity>:is(.anna-dot-menu,.anna-dot-mark,.anna-dot-who){display:none!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-dot-head-actions{display:flex;align-items:center;gap:4px;margin:0!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-dot-head-actions>:is(.anna-dot-new,.anna-dot-history,.anna-dot-close){display:none!important}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-dot-identity :is(.pj-chip,.pj-alert){min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
.v4-app[data-ui=next][data-redesign] .rd-dock-sheet-me{height:40px;margin-right:2px}
.v4-app[data-ui=next][data-redesign] .rd-dock-sheet-me .orb{width:32px;height:32px}
.v4-app[data-ui=next][data-redesign] .anna-sidechat:not([data-view=dock]) .rd-dock-sheet-me{display:none}
/* phones: the panel's own head row (the identity row) stays; the dock's orb takes the place of its orb */
.v4-app[data-ui=next][data-redesign] .anna-dot-identity:has(>.rd-dock-sheet-me)>.anna-dot-mark{display:none!important}

/* 10 · phones: the bar and the orb sit above the tab bar; the conversation is the full-height bottom sheet -- */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign]{--rd-dock-gap:8px;--rd-dock-side:12px;--rd-dock-bar-h:52px;--rd-dock-orb:52px;--rd-dock-bar-w:calc(100vw - 24px)}
  .v4-app[data-ui=next][data-redesign] .rd-dock-bar{padding:0 6px 0 3px}
  .v4-app[data-ui=next][data-redesign] .rd-dock-bar .rd-dock-chip{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-dock-bar .rd-dock-input{font-size:16px}
  .v4-app[data-ui=next][data-redesign] .rd-dock-mini__form .rd-dock-input{font-size:16px}
  .v4-app[data-ui=next][data-redesign] .rd-dock-mini{width:calc(100vw - 24px)}
  .v4-app[data-ui=next][data-redesign] .rd-dock-mini__hd{cursor:default}
  .v4-app[data-ui=next][data-redesign] :is(.rd-dock-icon,.rd-dock-round){min-width:40px;min-height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-dock-bubble .rd-dock-more{opacity:1;scale:1;top:-8px;left:-8px}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock]{background:var(--gb-surface)!important;--ac-bg:var(--gb-surface);--ac-panel:var(--gb-surface)}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock] .anna-chat-header{margin-top:10px}
}
@media (hover:none){
  .v4-app[data-ui=next][data-redesign] .rd-dock-peek{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-dock-bubble .rd-dock-more{opacity:1;scale:1}
}

/* 11 · room for the dock: the page scrolls clear of the bar, toasts and confirmations rise above it ------ */
.v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=bar][data-launcher=true]) #v4-page-content::after{content:"";display:block;height:calc(var(--rd-dock-bar-h) + 2 * var(--rd-dock-gap))}
.v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=bar][data-launcher=true]:not([data-state=open]):not([data-state=full])) .gb-toasts{bottom:calc(var(--rd-dock-base) + var(--rd-dock-bar-h) + 12px)}
.v4-app[data-ui=next][data-redesign]:has(>.rd-dock[data-style=bar][data-launcher=true]:not([data-state=open]):not([data-state=full]))~.action-confirmation{bottom:calc(var(--rd-dock-floor,0px) + var(--rd-dock-gap,14px) + var(--rd-dock-bar-h,56px) + 12px)}

/* 12 · motion ---------------------------------------------------------------- */
@keyframes gbn-rd-dock-pop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes gbn-rd-dock-spin{to{rotate:360deg}}
@keyframes gbn-rd-dock-menu-in{from{opacity:0;scale:.96}to{opacity:1;scale:1}}
.v4-app[data-ui=next][data-redesign][data-motion=false] .rd-dock,.v4-app[data-ui=next][data-redesign][data-motion=false] .rd-dock *{transition:none!important;animation:none!important}
.v4-app[data-ui=next][data-redesign][data-motion=false]:has(>.rd-dock) .anna-sidechat[data-view=dock]{transition:none!important}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] .rd-dock,.v4-app[data-ui=next][data-redesign] .rd-dock *{transition:none!important;animation:none!important}
  .v4-app[data-ui=next][data-redesign] .rd-dock[data-working] .rd-dock-ring{border-color:var(--rd-blue);opacity:.55}
  .v4-app[data-ui=next][data-redesign]:has(>.rd-dock) .anna-sidechat[data-view=dock]{transition:none!important}
}

/* 13 · Settings > Appearance: the same choice as picture buttons (#rd-settings-chat-style) ------------ */
.v4-app[data-ui=next][data-redesign] .rd-dock-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin:4px 0}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 4px 6px;border:0;border-radius:var(--gb-r-md);background:none;color:var(--gb-ink);font:inherit;text-align:center;cursor:pointer}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick__art{position:relative;display:block;width:112px;height:72px;border-radius:12px;background:var(--gb-ground);box-shadow:0 0 0 .5px var(--gb-hair-2),var(--gb-shadow-1);overflow:hidden;transition:box-shadow var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick[aria-checked=true] .rd-dock-pick__art{box-shadow:0 0 0 2.5px var(--rd-blue),var(--gb-shadow-1)}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick__page{position:absolute;inset:9px 12px auto;height:22px;border-radius:4px;background:linear-gradient(var(--gb-fill-2) 0 4px,transparent 4px 9px,var(--gb-fill) 9px 13px,transparent 13px 18px,var(--gb-fill) 18px 22px)}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick__dock{position:absolute;background:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick[data-style=bar] .rd-dock-pick__dock{left:24px;right:24px;bottom:9px;height:10px;border-radius:var(--gb-r-full)}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick[data-style=bubble] .rd-dock-pick__dock{right:9px;bottom:8px;width:15px;height:15px;border-radius:50%}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick[data-style=mini] .rd-dock-pick__dock{right:9px;bottom:8px;width:34px;height:24px;border-radius:6px}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick[data-style=hidden] .rd-dock-pick__dock{left:46px;right:46px;bottom:4px;height:3px;border-radius:var(--gb-r-full);opacity:.5}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick[aria-checked=true] .rd-dock-pick__dock{background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick__label{font-size:13px;font-weight:500}
.v4-app[data-ui=next][data-redesign] .rd-dock-pick__note{font-size:11.5px;line-height:1.3;color:var(--gb-ink-2)}

/* ==========================================================================
   UI-REDESIGN · voice (ff.ui.redesign, default off)
   --------------------------------------------------------------------------
   The Dot-like voice view (rdTalk), the call card in the chat and the call
   detail sheet (rdCallOpen). Markup: src/v4/pages/rdvoice-model.js (RdVoiceKit).
   The voice view and the sheet are layers on the .v4-app root; the card sits in
   the message's [data-gbn-message-extra] box as a left-aligned attachment.
   Everything here is scoped under the redesign switch and drawn from the tokens
   in zz-next-zzz-rd-0-tokens.css, so light and dark both work.
   ========================================================================== */

.v4-app[data-ui=next][data-redesign] .rd-voice-anchor{display:none}
.v4-app[data-ui=next][data-redesign] .rd-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v4-app[data-ui=next][data-redesign] .rd-vc-ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.v4-app[data-ui=next][data-redesign] .rd-vc-ico--fill{fill:currentColor;stroke:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-ico .rd-vc-ico--dots{stroke-width:2.4}

/* ---- the voice view ----------------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-voice-layer{position:fixed;inset:0;z-index:950;display:flex;background:var(--gb-ground);color:var(--gb-ink);font-family:var(--gb-font);-webkit-font-smoothing:antialiased;animation:gbn-rd-voice-in var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-voice{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;min-height:0;box-sizing:border-box;padding:max(24px,env(safe-area-inset-top)) 24px max(32px,calc(env(safe-area-inset-bottom) + 20px));overflow:hidden;outline:none}
.v4-app[data-ui=next][data-redesign] .rd-voice::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 38% at 50% 44%,rgba(255,149,0,.085),rgba(255,149,0,0) 72%);transition:opacity var(--gb-dur-3) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-voice::before{background:radial-gradient(46% 38% at 50% 44%,rgba(255,122,40,.15),rgba(255,122,40,0) 72%)}
.v4-app[data-ui=next][data-redesign] .rd-voice>*{position:relative}
.v4-app[data-ui=next][data-redesign] .rd-voice>.rd-voice__head{position:static;width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:28px}
.v4-app[data-ui=next][data-redesign] .rd-voice__name{margin:0;font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.016em;color:var(--gb-ink);outline:none}
.v4-app[data-ui=next][data-redesign] .rd-voice__status{display:flex;align-items:center;justify-content:center;gap:6px;min-height:19px;margin:0;font-size:14px;line-height:19px;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-voice__clock:not(:empty)::before{content:"·";margin-right:6px;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-voice__close{position:absolute;top:max(22px,env(safe-area-inset-top));right:22px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink);cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-voice__close:hover{background:rgba(118,118,128,.24)}
.v4-app[data-ui=next][data-redesign] .rd-voice__close .rd-vc-ico{width:16px;height:16px;stroke-width:2}

/* The orb: the Manager's own avatar, alive. --rd-voice-level (0..1) is written every frame by the model. */
.v4-app[data-ui=next][data-redesign] .rd-voice__stage{flex:1;min-height:0;width:100%;display:grid;place-items:center;padding:12px 0}
.v4-app[data-ui=next][data-redesign] .rd-voice__orb{--rd-voice-level:0;position:relative;width:clamp(184px,33vh,296px);aspect-ratio:1;transition:width var(--gb-dur-3) var(--gb-ease),opacity var(--gb-dur-3) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-voice__ball{position:absolute;inset:0;border-radius:50%;background:url(/assets/gb/orb-idle-480.webp) center/cover no-repeat;will-change:transform;box-shadow:0 36px 90px -34px rgba(255,105,20,.6),inset 0 0 0 .5px rgba(0,0,0,.04);transform:scale(calc(1 + var(--rd-voice-level) * .13));transition:transform 90ms linear,filter var(--gb-dur-3) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-voice__glow{position:absolute;inset:-24%;border-radius:50%;will-change:transform,opacity;background:radial-gradient(closest-side,rgba(255,138,46,.34),rgba(255,138,46,.12) 55%,rgba(255,138,46,0));opacity:calc(.3 + var(--rd-voice-level) * .9);transform:scale(calc(.9 + var(--rd-voice-level) * .32));transition:opacity 110ms linear,transform 110ms linear}
.v4-app[data-ui=next][data-redesign][data-theme=dark] .rd-voice__glow{background:radial-gradient(closest-side,rgba(255,128,36,.42),rgba(255,128,36,.14) 55%,rgba(255,128,36,0))}
.v4-app[data-ui=next][data-redesign] .rd-voice__ring{position:absolute;inset:-10px;border-radius:50%;opacity:0;background:conic-gradient(from 0deg,rgba(255,149,0,0) 0 62%,rgba(255,149,0,.75) 88%,rgba(255,149,0,0));-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));transition:opacity var(--gb-dur-2) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=connecting] .rd-voice__orb{animation:gbn-rd-voice-wait 1.8s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=connecting] .rd-voice__ring{opacity:.7;animation:gbn-rd-voice-spin 1.1s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=listening] .rd-voice__orb{animation:gbn-rd-voice-breathe 4.6s ease-in-out infinite}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=thinking] .rd-voice__ring{opacity:1;animation:gbn-rd-voice-spin 1.4s linear infinite}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=paused] .rd-voice__ball{filter:grayscale(1) brightness(1.12) contrast(.86);box-shadow:0 30px 70px -36px rgba(0,0,0,.28);transform:scale(.94)}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=paused] .rd-voice__glow{opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-phase=paused]::before{opacity:.25}
.v4-app[data-ui=next][data-redesign] .rd-voice:is([data-view=unavailable],[data-view=failed]) .rd-voice__orb{width:clamp(132px,21vh,184px)}
.v4-app[data-ui=next][data-redesign] .rd-voice:is([data-view=unavailable],[data-view=failed]) .rd-voice__ball{filter:grayscale(.88) brightness(1.06) contrast(.9);box-shadow:none;opacity:.78}
.v4-app[data-ui=next][data-redesign] .rd-voice:is([data-view=unavailable],[data-view=failed]) .rd-voice__glow{opacity:0}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-view=ended] .rd-voice__orb{opacity:.55;width:clamp(150px,26vh,230px)}
.v4-app[data-ui=next][data-redesign] .rd-voice[data-view=ended] .rd-voice__glow{opacity:0}

/* Live captions: the Manager's newest words big and black, the owner's above them in grey. */
.v4-app[data-ui=next][data-redesign] .rd-voice__captions{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;width:100%;max-width:620px;min-height:132px;margin:4px 0 30px;text-align:center}
.v4-app[data-ui=next][data-redesign] :is(.rd-voice__you,.rd-voice__mgr){display:flex;flex-direction:column;justify-content:flex-end;max-width:100%;margin:0;overflow:hidden}
.v4-app[data-ui=next][data-redesign] .rd-voice__you{max-height:calc(15px * 1.4 * 2);font-size:15px;line-height:1.4;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-voice__mgr{max-height:calc(23px * 1.3 * 3);font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.019em;color:var(--gb-ink);text-wrap:balance}
.v4-app[data-ui=next][data-redesign] .rd-voice__mgr[data-hint=true]{max-height:none;font-size:19px;font-weight:400;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] :is(.rd-voice__you,.rd-voice__mgr)[data-clip=top]{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 .9em);mask-image:linear-gradient(to bottom,transparent,#000 .9em)}
.v4-app[data-ui=next][data-redesign] :is(.rd-voice__you,.rd-voice__mgr):has(>span:empty){display:none}

/* Mute · Text · End: round buttons with their names under them, as on a phone call. */
.v4-app[data-ui=next][data-redesign] .rd-voice__controls{display:flex;justify-content:center;gap:48px}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:64px;margin:0;padding:0;border:0;background:none;color:var(--gb-ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v4-app[data-ui=next][data-redesign] .rd-voice__circle{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--gb-fill-2);transition:background var(--gb-dur-1) var(--gb-ease),color var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-voice__circle .rd-vc-ico{width:27px;height:27px}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl:hover .rd-voice__circle{background:rgba(118,118,128,.24)}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl:active .rd-voice__circle{transform:scale(.93)}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl[aria-pressed=true] .rd-voice__circle{background:var(--gb-ink);color:var(--gb-ground)}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl--end .rd-voice__circle,.v4-app[data-ui=next][data-redesign] .rd-voice__ctl--end:hover .rd-voice__circle{background:var(--rd-red);color:#fff}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl--end .rd-voice__circle .rd-vc-ico{width:34px;height:34px}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl--end:hover .rd-voice__circle{filter:brightness(.92)}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl:disabled{cursor:default;opacity:.38}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl:disabled .rd-voice__circle{transform:none}
.v4-app[data-ui=next][data-redesign] .rd-voice__label{font-size:13px;line-height:16px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl:focus-visible{outline:none}
.v4-app[data-ui=next][data-redesign] .rd-voice__ctl:focus-visible .rd-voice__circle{box-shadow:0 0 0 3px var(--gb-ground),0 0 0 5px var(--gb-focus)}
.v4-app[data-ui=next][data-redesign] .rd-voice__phone{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:14px;padding:0 10px;border-radius:999px;font-size:14px;font-weight:500;color:var(--rd-blue);text-decoration:none}
.v4-app[data-ui=next][data-redesign] .rd-voice__phone:hover{text-decoration:underline;text-underline-offset:3px}
.v4-app[data-ui=next][data-redesign] .rd-voice__phone .rd-vc-ico{width:16px;height:16px}
.v4-app[data-ui=next][data-redesign] .rd-voice__phone-num{font-weight:400;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-voice__phone-num::before{content:"·";margin-right:6px;color:var(--gb-ink-3)}

/* Not available / didn't connect: say so, then the ways that do work. */
.v4-app[data-ui=next][data-redesign] .rd-voice__notice{max-width:440px;margin:0 0 30px;text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-voice__notice-title{margin:0 0 8px;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.022em;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-voice__notice-body{margin:0;font-size:16px;line-height:1.47;color:var(--gb-ink-2);text-wrap:pretty}
.v4-app[data-ui=next][data-redesign] .rd-voice__choices{display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px;margin-bottom:8px}
.v4-app[data-ui=next][data-redesign] .rd-voice__choice{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;margin:0;padding:0 20px;border:0;border-radius:999px;font:inherit;font-size:16px;font-weight:600;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:filter var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-voice__choice.rd-btn--blue{background:var(--rd-blue);color:#fff}
.v4-app[data-ui=next][data-redesign] .rd-voice__choice.rd-btn--sec{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-voice__choice:hover{filter:brightness(.95)}
.v4-app[data-ui=next][data-redesign] .rd-voice__choice:active{transform:scale(.985)}
.v4-app[data-ui=next][data-redesign] .rd-voice__choice .rd-vc-ico{width:19px;height:19px}
/* Not available / didn't connect: the orb, the words and the choices sit together in the middle. */
.v4-app[data-ui=next][data-redesign] .rd-voice:is([data-view=unavailable],[data-view=failed]) .rd-voice__stage{flex:none;margin-top:auto;padding:0 0 30px}
.v4-app[data-ui=next][data-redesign] .rd-voice:is([data-view=unavailable],[data-view=failed]) .rd-voice__choices{margin-bottom:auto}
.v4-app[data-ui=next][data-redesign] :is(.rd-voice__choice,.rd-voice__close,.rd-voice__phone):focus-visible{outline:2px solid var(--gb-focus);outline-offset:3px}

/* ---- the call card in the chat ----------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-vc-mount{display:block;max-width:min(560px,100%);margin:4px 0 6px}
.v4-app[data-ui=next][data-redesign] .rd-vc-mount--end{margin-top:12px}
.v4-app[data-ui=next][data-redesign] .rd-vc-mount>.rd-vc-card+.rd-vc-card{margin-top:8px}
.v4-app[data-ui=next][data-redesign] .rd-vc-card{box-sizing:border-box;display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;column-gap:12px;width:100%;margin:0;padding:12px 14px 13px 12px;border:0;border-radius:18px;background:var(--gb-surface);box-shadow:var(--gb-shadow-1);color:var(--gb-ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--gb-dur-2) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-vc-card:hover{box-shadow:var(--gb-shadow-2)}
.v4-app[data-ui=next][data-redesign] .rd-vc-card:active{transform:scale(.992)}
.v4-app[data-ui=next][data-redesign] .rd-vc-card:focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__av{position:relative;width:40px;height:40px}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__orb{display:block;width:100%;height:100%;border-radius:50%;background:url(/assets/gb/orb-idle-128.webp) center/cover no-repeat}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__badge{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--gb-ink);color:var(--gb-surface);box-shadow:0 0 0 2px var(--gb-surface)}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__badge .rd-vc-ico{width:11px;height:11px;fill:currentColor;stroke:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__hd{display:flex;flex-direction:column;gap:1px;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__title{overflow:hidden;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__meta{overflow:hidden;font-size:13px;line-height:1.3;color:var(--gb-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__go{display:grid;place-items:center;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__go .rd-vc-ico{width:15px;height:15px;stroke-width:2}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__sum{grid-column:1/-1;display:-webkit-box;margin-top:10px;overflow:hidden;font-size:15px;line-height:1.4;color:var(--gb-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v4-app[data-ui=next][data-redesign] .rd-vc-card__chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;max-width:100%;height:28px;padding:0 10px;border-radius:999px;background:var(--gb-fill);font-size:13px;font-weight:500;color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip__text{min-width:0;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip[data-fit=narrow]{display:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip__badge{padding:2px 4px;border-radius:4px;background:var(--gb-ink);color:var(--gb-surface);font-size:9.5px;font-weight:700;line-height:1;letter-spacing:.02em}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip__dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--rd-blue)}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip[data-state=done] .rd-vc-chip__dot{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip[data-state=needs] .rd-vc-chip__dot{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip[data-state=fail] .rd-vc-chip__dot{background:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-vc-chip:is([data-kind=more],[data-kind=lines]){color:var(--gb-ink-2)}
/* The server's "Call logged: …" line is only a stand-in for the card, and the hybrid card and chip say the same thing. */
.v4-app[data-ui=next][data-redesign] .anna-fallback-log>p.is-ai:has(+.anna-fallback-extra>.rd-vc-mount[data-rd-replaces-text]),
.v4-app[data-ui=next][data-redesign] .anna-fallback-log>p.is-ai:has(+.anna-thread-card+.anna-fallback-extra>.rd-vc-mount[data-rd-replaces-text]),
.v4-app[data-ui=next][data-redesign] .anna-fallback-log>.anna-thread-card:has(+.anna-fallback-extra>.rd-vc-mount[data-rd-replaces-text]),
.v4-app[data-ui=next][data-redesign] [data-gbn-message-extra]:has(>.rd-vc-mount)>:is(.hc-mount:has(>[data-hc-card=call]),[data-gbn-call-chip]),
.v4-app[data-ui=next][data-redesign] [data-gbn-home-chat-end]:has(>.rd-vc-mount)>.hc-call-pending{display:none}

/* ---- the call detail sheet ---------------------------------------------- */
.v4-app[data-ui=next][data-redesign] .rd-vc-layer{position:fixed;inset:0;z-index:900;display:grid;place-items:center;box-sizing:border-box;padding:24px;background:var(--gb-scrim);color:var(--gb-ink);font-family:var(--gb-font);-webkit-font-smoothing:antialiased;animation:gbn-rd-voice-fade var(--gb-dur-2) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet{position:relative;display:flex;flex-direction:column;width:min(600px,100%);max-height:min(86vh,880px);overflow:hidden;border-radius:var(--gb-r-lg);background:var(--gb-surface);box-shadow:var(--gb-shadow-3);outline:none;animation:gbn-rd-voice-rise var(--gb-dur-3) var(--gb-ease) both}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__grab{display:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__hd{display:grid;grid-template-columns:44px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:18px 18px 16px 20px;border-bottom:.5px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__av{display:block;width:44px;height:44px;overflow:hidden;border-radius:50%}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__av--person{display:grid;place-items:center;background:linear-gradient(180deg,#a5abb9,#858994);color:#fff;font-size:16px;font-weight:600;letter-spacing:.01em}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__who{min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__title{margin:0;overflow:hidden;font-size:17px;font-weight:600;line-height:1.25;letter-spacing:-.016em;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__meta{margin:2px 0 0;font-size:13px;line-height:1.35;color:var(--gb-ink-2);font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__x{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--gb-fill-2);color:var(--gb-ink-2);cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__x:hover{background:rgba(118,118,128,.24);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__x .rd-vc-ico{width:15px;height:15px;stroke-width:2.2}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:2px 20px 22px}
.v4-app[data-ui=next][data-redesign] .rd-vc-sec{margin-top:20px}
.v4-app[data-ui=next][data-redesign] .rd-vc-sec__title{margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-vc-note{margin:0;font-size:14px;line-height:1.45;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-vc-note--wait{margin-top:20px}
.v4-app[data-ui=next][data-redesign] .rd-vc-note--error{margin-top:8px;color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-vc-note--foot{margin-top:12px;font-size:13px;line-height:1.4;color:var(--gb-ink-3);text-align:center}
.v4-app[data-ui=next][data-redesign] .rd-vc-sum{margin:0;font-size:15px;line-height:1.5;color:var(--gb-ink);text-wrap:pretty}
.v4-app[data-ui=next][data-redesign] .rd-vc-play{box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:8px 14px 8px 8px;border:0;border-radius:14px;background:var(--gb-fill);color:var(--gb-ink);font:inherit;font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-vc-play:hover{background:var(--gb-fill-2)}
.v4-app[data-ui=next][data-redesign] .rd-vc-play:disabled{cursor:progress;opacity:.72}
.v4-app[data-ui=next][data-redesign] .rd-vc-play__btn{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--rd-blue);color:#fff}
.v4-app[data-ui=next][data-redesign] .rd-vc-play__btn .rd-vc-ico{width:18px;height:18px;margin-left:2px}
.v4-app[data-ui=next][data-redesign] .rd-vc-audio{padding:6px;border-radius:14px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-vc-audio__el{display:block;width:100%;height:44px}
.v4-app[data-ui=next][data-redesign] .rd-vc-list{margin:0;padding:0;overflow:hidden;list-style:none;border-radius:12px;background:var(--gb-fill)}
.v4-app[data-ui=next][data-redesign] .rd-vc-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:48px;box-sizing:border-box;padding:8px 12px;font-size:15px;line-height:1.35}
.v4-app[data-ui=next][data-redesign] .rd-vc-row+.rd-vc-row::before{content:"";position:absolute;top:0;right:0;left:12px;height:.5px;background:var(--gb-hair-2)}
.v4-app[data-ui=next][data-redesign] .rd-vc-row__text{flex:1;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill{display:inline-flex;align-items:center;gap:6px;flex:none;height:24px;padding:0 9px;border-radius:999px;background:color-mix(in srgb,var(--rd-blue) 13%,transparent);color:var(--rd-blue);font-size:12.5px;font-weight:500;white-space:nowrap}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill>i{width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill[data-state=done]{background:color-mix(in srgb,var(--rd-green) 15%,transparent);color:var(--gb-sage-ink)}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill[data-state=done]>i{background:var(--rd-green)}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill[data-state=needs]{background:color-mix(in srgb,var(--rd-orange) 16%,transparent);color:var(--gb-ember-ink)}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill[data-state=needs]>i{background:var(--rd-orange)}
.v4-app[data-ui=next][data-redesign] .rd-vc-pill[data-state=fail]{background:color-mix(in srgb,var(--rd-red) 13%,transparent);color:var(--rd-red)}
.v4-app[data-ui=next][data-redesign] .rd-vc-file__ic{width:36px;height:40px;display:grid;place-items:end center;box-sizing:border-box;padding-bottom:6px;flex:none;border-radius:7px;background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2),0 1px 2px rgba(0,0,0,.05);color:var(--gb-ink-2);font-size:9.5px;font-weight:700;letter-spacing:.02em}
.v4-app[data-ui=next][data-redesign] .rd-vc-file__txt{display:flex;flex:1;flex-direction:column;min-width:0}
.v4-app[data-ui=next][data-redesign] .rd-vc-file__name{overflow:hidden;font-weight:500;white-space:nowrap;text-overflow:ellipsis}
.v4-app[data-ui=next][data-redesign] .rd-vc-file__type{font-size:12.5px;color:var(--gb-ink-2)}
.v4-app[data-ui=next][data-redesign] .rd-vc-file__acts{display:flex;gap:6px;flex:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-mini{height:30px;margin:0;padding:0 13px;border:0;border-radius:999px;background:var(--gb-surface);box-shadow:0 0 0 .5px var(--gb-hair-2);color:var(--rd-blue);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-vc-mini:hover{background:var(--gb-hover)}
.v4-app[data-ui=next][data-redesign] .rd-vc-mini:disabled{cursor:progress;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-vc-mini--icon{width:30px;display:grid;place-items:center;padding:0}
.v4-app[data-ui=next][data-redesign] .rd-vc-mini--icon .rd-vc-ico{width:16px;height:16px;stroke-width:1.8}
.v4-app[data-ui=next][data-redesign] .rd-vc-file__err{flex-basis:100%;margin:0 0 0 48px;font-size:12.5px;color:var(--rd-red)}
/* The transcript as a small conversation: the owner on the right in blue, the other side on the left in grey. */
.v4-app[data-ui=next][data-redesign] .rd-vc-lines{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-line{display:flex;flex-direction:column;align-items:flex-start;max-width:84%}
.v4-app[data-ui=next][data-redesign] .rd-vc-line:is([data-who=owner],[data-who=agent]){align-self:flex-end;align-items:flex-end}
.v4-app[data-ui=next][data-redesign] .rd-vc-line__who{margin:9px 12px 3px;font-size:11.5px;line-height:1.2;color:var(--gb-ink-3)}
.v4-app[data-ui=next][data-redesign] .rd-vc-line__who time{margin-left:3px;font-variant-numeric:tabular-nums}
.v4-app[data-ui=next][data-redesign] .rd-vc-line[data-who=owner]+.rd-vc-line[data-who=owner] .rd-vc-line__who,
.v4-app[data-ui=next][data-redesign] .rd-vc-line[data-who=manager]+.rd-vc-line[data-who=manager] .rd-vc-line__who,
.v4-app[data-ui=next][data-redesign] .rd-vc-line[data-who=caller]+.rd-vc-line[data-who=caller] .rd-vc-line__who,
.v4-app[data-ui=next][data-redesign] .rd-vc-line[data-who=agent]+.rd-vc-line[data-who=agent] .rd-vc-line__who{display:none}
.v4-app[data-ui=next][data-redesign] .rd-vc-line__text{padding:7px 12px 8px;border-radius:17px;background:var(--rd-in);color:var(--rd-in-ink);font-size:15px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-app[data-ui=next][data-redesign] .rd-vc-line[data-who=owner] .rd-vc-line__text{background:var(--rd-blue);color:#fff}
.v4-app[data-ui=next][data-redesign] .rd-vc-line[data-who=agent] .rd-vc-line__text{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__ft{display:flex;gap:10px;padding:14px 20px 18px;border-top:.5px solid var(--gb-hair)}
.v4-app[data-ui=next][data-redesign] .rd-vc-foot{box-sizing:border-box;display:flex;flex:1;align-items:center;justify-content:center;gap:8px;height:46px;margin:0;padding:0 18px;border:0;border-radius:999px;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:filter var(--gb-dur-1) var(--gb-ease),transform var(--gb-dur-1) var(--gb-ease)}
.v4-app[data-ui=next][data-redesign] .rd-vc-foot.rd-btn--blue{background:var(--rd-blue);color:#fff}
.v4-app[data-ui=next][data-redesign] .rd-vc-foot.rd-btn--sec{background:var(--gb-fill-2);color:var(--gb-ink)}
.v4-app[data-ui=next][data-redesign] .rd-vc-foot:hover{filter:brightness(.95)}
.v4-app[data-ui=next][data-redesign] .rd-vc-foot:active{transform:scale(.985)}
.v4-app[data-ui=next][data-redesign] .rd-vc-foot .rd-vc-ico{width:18px;height:18px}
.v4-app[data-ui=next][data-redesign] :is(.rd-vc-sheet__x,.rd-vc-play,.rd-vc-mini,.rd-vc-foot):focus-visible{outline:2px solid var(--gb-focus);outline-offset:2px}

/* ---- phones ---------------------------------------------------------------- */
@media (max-width:760px){
  .v4-app[data-ui=next][data-redesign] .rd-voice{padding-right:16px;padding-left:16px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__head{padding-top:14px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__close{top:max(10px,env(safe-area-inset-top));right:10px;width:44px;height:44px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__phone-num{display:none}
  .v4-app[data-ui=next][data-redesign] .rd-voice__orb{width:min(64vw,31vh,264px)}
  .v4-app[data-ui=next][data-redesign] .rd-voice__captions{min-height:118px;margin-bottom:26px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__mgr{font-size:21px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__controls{gap:36px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__circle{width:68px;height:68px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__notice-title{font-size:22px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-card{padding:11px 12px 12px 11px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-chip__text{max-width:none}
  .v4-app[data-ui=next][data-redesign] .rd-vc-chip:is([data-rank="3"],[data-fit=wide]){display:none}
  .v4-app[data-ui=next][data-redesign] .rd-vc-chip[data-fit=narrow]{display:inline-flex}
  .v4-app[data-ui=next][data-redesign] .rd-voice__mgr{max-height:calc(21px * 1.3 * 3)}
  .v4-app[data-ui=next][data-redesign] .rd-vc-layer{place-items:end stretch;padding:0}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet{width:100%;max-height:92dvh;border-radius:var(--gb-r-lg) var(--gb-r-lg) 0 0;animation-name:gbn-rd-voice-up}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__grab{display:block;flex:none;width:36px;height:5px;margin:6px auto 0;border-radius:3px;background:var(--gb-hair-2)}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__hd{grid-template-columns:40px minmax(0,1fr) 44px;padding:8px 10px 14px 16px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__av,.v4-app[data-ui=next][data-redesign] .rd-vc-sheet__av .rd-vc-card__orb{width:40px;height:40px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__x{width:44px;height:44px;background:transparent}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__x .rd-vc-ico{width:30px;height:30px;padding:7px;box-sizing:border-box;border-radius:50%;background:var(--gb-fill-2)}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__body{padding:0 16px 18px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-sheet__ft{flex-direction:column-reverse;gap:8px;padding:12px 16px max(16px,env(safe-area-inset-bottom))}
  .v4-app[data-ui=next][data-redesign] .rd-vc-foot{flex:none;height:50px;font-size:16px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-mini{height:36px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-mini--icon{width:36px}
  .v4-app[data-ui=next][data-redesign] .rd-vc-file__err{margin-left:0}
}
@media (max-height:640px){
  .v4-app[data-ui=next][data-redesign] .rd-voice__head{padding-top:6px}
  .v4-app[data-ui=next][data-redesign] .rd-voice__captions{min-height:92px;margin-bottom:18px}
}

/* ---- motion ---------------------------------------------------------------- */
@keyframes gbn-rd-voice-in{from{opacity:0;transform:scale(1.012)}to{opacity:1;transform:none}}
@keyframes gbn-rd-voice-fade{from{opacity:0}to{opacity:1}}
@keyframes gbn-rd-voice-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes gbn-rd-voice-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes gbn-rd-voice-breathe{0%,100%{transform:scale(.972)}50%{transform:scale(1.028)}}
@keyframes gbn-rd-voice-wait{0%,100%{opacity:.66;transform:scale(.955)}50%{opacity:1;transform:scale(1)}}
@keyframes gbn-rd-voice-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .v4-app[data-ui=next][data-redesign] :is(.rd-voice-layer,.rd-voice__orb,.rd-voice__ring,.rd-vc-layer,.rd-vc-sheet){animation:none!important}
  .v4-app[data-ui=next][data-redesign] :is(.rd-voice__ball,.rd-voice__glow,.rd-vc-card,.rd-voice__circle){transition:none!important}
}
