/* Reference lock: client identity/metadata from image 1, people metrics from 2,
   author/bubble/note hierarchy from 3. Existing GBC blue glass palette retained. */
.shell[hidden],.demobar[hidden],.demo-exit[hidden]{display:none!important}
.avatar img,.people-avatar img,.team-avatar img,.performance-avatar img,.message-sender img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar,.people-avatar,.team-avatar,.performance-avatar,.message-sender{overflow:hidden}
.context>.client-summary{margin:0 0 12px;padding:0;background:#f5faffb8;border:1px solid #ffffffd9;border-radius:22px;box-shadow:0 8px 25px #42698808;overflow:hidden}.client-summary>header{text-align:center;padding:23px 12px 18px;border-bottom:1px solid #d7e6f0}.client-portrait{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;margin:0 auto 12px;color:#4c7c9d;font-size:17px;font-weight:650;background:linear-gradient(140deg,#d9eaf8,#b9d8ec);box-shadow:0 0 0 4px #ffffff85}.client-summary h2{margin:0 0 6px;font-size:19px;letter-spacing:-.4px;color:#345c79;line-height:1.3}.client-channel{font-size:10px;color:#7597b0}.client-summary dl{padding:10px 16px;margin:0}.client-summary dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:9px;align-items:start;padding:10px 0}.client-summary dt{display:flex;gap:7px;align-items:center;font-size:11px;color:#7a95a9}.client-summary dt svg{width:15px;height:15px;flex-shrink:0}.client-summary dd{margin:0;color:#456b87;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.client-summary-tags{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.client-summary-tags .client-tag{font-size:9px;max-width:100%;white-space:normal}.client-summary-tags button{border:1px solid #cadfeb;background:#e8f3fb;border-radius:50%;padding:3px;width:21px;height:21px;display:grid;place-items:center;color:#5f89a7}.client-summary-tags button svg{width:12px;height:12px}.client-note-preview{border-top:1px solid #dae7f0;padding:13px 16px 16px}.client-note-preview>div{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:10px}.client-note-preview h3{font-size:11px;font-weight:600;margin:0;color:#6b8ba3}.client-note-preview h3 span{font-weight:400;margin-left:4px;color:#8ba3b5}.client-note-preview button{font-size:10px;padding:5px 7px;border:1px solid #c8deed;background:#eef7fd;color:#517fa0;border-radius:8px}.client-note-preview>small{font-size:10px;color:#8aa2b4}.client-note-preview p{margin:7px 0 0;padding:9px;border-radius:10px;background:#e4f0fb;font-size:11px;line-height:1.6;color:#587a96;overflow-wrap:anywhere}.client-note-preview p small{display:block;font-size:9px;color:#8ba4b8;margin-top:4px}
.messages .message{gap:10px;align-items:flex-end;margin:16px 0;max-width:88%}.message .message-body{min-width:0}.message .message-author{font-size:10px;font-weight:500;color:#7895ac;margin:0 10px 5px}.message.out .message-author{text-align:right}.messages .message .bubble{border-radius:19px 19px 19px 5px;padding:12px 15px;background:#f8fcff;color:#3d607c;box-shadow:0 3px 10px #4f789409;border:1px solid #fff}.messages .message.out .bubble{border-radius:19px 19px 5px 19px;background:#397dab;color:#fff;border-color:#3d81ad}.messages .message.private-note .bubble{background:#dceafa;color:#315c80;border:1px solid #a8c9e6;box-shadow:inset 3px 0 #7aa8cc}.messages .message.private-note .stamp{color:#6283a0}.messages .message .stamp{margin:6px 9px 0;font-size:9px}.messages .message-sender{flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#f3faff;border:1px solid #d2e4f1}.messages .message-sender svg{width:17px;height:17px}.composerwrap:has(.composehead strong:first-child) .composer{border-radius:18px}.composerwrap:has(.composehead strong) .input{line-height:1.7}.team-message .team-bubble{border-radius:19px 19px 19px 5px;padding:12px 15px}.team-message.mine .team-bubble{border-radius:19px 19px 5px 19px}.team-message .team-avatar{border-radius:50%}.team-stamp{padding:5px 6px}.team-compose{border-radius:18px}
.performance-section{margin:24px 0}.performance-section>header,.performance-section>footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.performance-section h2{font-size:19px;letter-spacing:-.3px;color:#385e7c;margin:7px 0}.performance-section>header label{font-size:11px;color:#7993a6;display:grid;gap:6px}.performance-section select{padding:8px;border:1px solid #cddfea;background:#f4faff;border-radius:9px;color:#466f8e;font:inherit}.performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.performance-card{border:1px solid #fff;border-radius:20px;background:#f5faffbd;padding:20px;box-shadow:0 8px 24px #456d8b08;min-width:0}.performance-person{display:flex;gap:11px;align-items:center;margin-bottom:20px}.performance-avatar{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;background:#d5e7f5;font-size:13px;color:#5b82a0;font-weight:600}.performance-person>div{min-width:0}.performance-person h3{font-size:14px;line-height:1.4;color:#385f7d;margin:0 0 4px;overflow-wrap:anywhere}.performance-person small{font-size:10px;color:#829caf;line-height:1.5}.performance-card dl{margin:0}.performance-card dl>div{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #dce8f255}.performance-card dt{font-size:11px;color:#7491a8;line-height:1.6}.performance-card dd{margin:0;text-align:right;font-size:14px;font-weight:600;color:#4b7c9a;white-space:nowrap}.performance-sample{display:block;margin-top:14px;font-size:9px;color:#8da5b7;line-height:1.6}.performance-section>footer{margin:12px 0 0}.performance-section>footer p{font-size:10px;color:#849caf;line-height:1.7;max-width:700px;margin:0}
.shell>.nav .who{cursor:pointer;border-radius:12px}.shell>.nav .who:focus-visible{outline:2px solid #77a9ce;outline-offset:2px}.shell>.nav .logout-button{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:3px 0 0 6px;padding:8px;border:0;box-shadow:none;background:transparent;color:#7395b0;width:34px;height:32px;min-height:32px;border-radius:10px}.logout-button .icon{flex:0 0 17px;width:17px;height:17px}.logout-button span{display:none;white-space:nowrap;font-size:10px}.shell>.nav:is(:hover,:has(:focus-visible),[data-presence-menu=open]) .logout-button,.shell.menu-open>.nav .logout-button{width:174px}.shell>.nav:is(:hover,:has(:focus-visible),[data-presence-menu=open]) .logout-button span,.shell.menu-open>.nav .logout-button span{display:block}.shell>.nav .logout-button:hover{background:#ffffff72;color:#49799e}.my-profile-picture{text-align:center;padding:15px 0}.my-profile-picture .avatar{width:80px;height:80px;border-radius:50%;margin:auto;font-size:24px;display:grid;place-items:center}.my-profile-picture h3{margin:14px 0 5px;color:#3e6483}.my-profile-picture p{font-size:12px;color:#7e98ac}.profile-photo-actions{display:flex;gap:8px;justify-content:center;margin:10px 0 20px}.demo-exit{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:24px;text-align:center;background:linear-gradient(135deg,#d6eafa,#ebf4fc);color:#3c6380}.demo-exit h1{font-size:26px;margin:5px 0}.demo-exit p{font-size:14px;margin:0;color:#6d8ca3}.demo-exit small{font-size:11px;color:#8ca3b5;max-width:360px;line-height:1.7}.demo-exit button{padding:12px 24px;border-radius:12px;border:0;background:#3d7fae;color:white;margin:10px}
@media(max-width:1200px){.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-card{padding:16px}}@media(max-width:650px){.performance-grid{grid-template-columns:1fr}.performance-section>header,.performance-section>footer{align-items:flex-start;flex-direction:column}.messages .message{max-width:95%}.client-summary dl>div{grid-template-columns:95px minmax(0,1fr)}}

/* Form controls must fit their grid tracks, including the 90px currency column. */
#modal form,#modal .sale-fields>div{min-width:0}
#modal input:not([type=checkbox]),#modal select,#modal textarea,#modal .select-trigger{box-sizing:border-box;min-width:0;max-width:100%;width:100%}

/* Short visual viewports (zoom or keyboard): keep reply controls reachable. */
@media(max-height:520px){
 .shell{height:calc(100dvh - 52px)!important;margin:0!important;min-height:0;grid-template-rows:minmax(0,1fr)}
 .shell>.conversation{min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .conversation .chathead{padding:6px 10px;max-height:25dvh;overflow-y:auto}
 .conversation .subhead{margin-top:4px;padding-top:4px}
 .conversation .chat-labels{padding:2px 4px;max-height:30px;overflow-y:auto;flex-shrink:0}
 .conversation .timelinebar{margin-top:2px;padding:2px}
 .conversation .timelinebar span{padding:4px 8px}
 .conversation .messages{min-height:32px;flex:1 0 32px;padding:4px 3px}
 .conversation .composerwrap{position:sticky;bottom:0;z-index:4;flex-shrink:0;max-height:60dvh;overflow-y:auto;padding:0 0 2px;background:#edf5fc}
 .conversation .composehead{padding:3px 8px}
 .conversation .input{height:34px;min-height:34px;padding:5px 10px}
 .conversation .toolbar{padding:3px 8px}
 .conversation .composerhint{margin:2px 5px 0}
}

/* Long forms keep their actions visible while fields continue to scroll. */
#modal:not(.search-dialog):not(.history-dialog) #modal-form>.buttons{position:sticky;bottom:0;z-index:2;padding:8px 0;background:Canvas;box-shadow:0 -5px 12px #ffffffeb}

/* Closed desktop dock: the hit target must fit the visible 60px rail, not its clipped expanded width. */
@media(min-width:801px){
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .navitem{width:44px!important;min-width:0;max-width:44px;box-sizing:border-box}
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .navitem .nav-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .presence .who{width:44px;min-width:0;max-width:44px;box-sizing:border-box;position:relative}
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .presence .who>div{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .presence-control{width:44px;min-width:0;max-width:44px;box-sizing:border-box}
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .presence-control .select-trigger{width:44px;min-width:0;max-width:44px;box-sizing:border-box;padding:0;position:relative}
 .shell:not(.menu-open)>.nav:not(:hover):not(:has(:focus-visible)):not([data-presence-menu=open]) .presence-control :is(.select-value,.select-chevron){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .shell>.nav .navitem:focus-visible{outline:2px solid #77a9ce;outline-offset:-2px}
}

/* Compact, task-specific Liquid Glass close sheet. Shared dialog/menu behavior stays intact. */
.private-transfer-dialog.finish-dialog,#modal.finish-dialog{box-sizing:border-box;width:min(470px,calc(100vw - 24px));max-width:470px;max-height:calc(100dvh - 32px);padding:16px 20px 0;border:1px solid #ffffffed;border-radius:24px;background:linear-gradient(145deg,#f8fcfff5,#eaf4fbeF);box-shadow:0 26px 80px #173b6240,inset 0 1px 0 #fff;backdrop-filter:blur(28px);color:#294e6b;overflow-y:auto}
.private-transfer-dialog.finish-dialog h2,#modal.finish-dialog h2{display:flex;align-items:center;gap:10px;margin:0;font-size:19px;letter-spacing:-.35px;color:#284e6e}
.private-transfer-dialog.finish-dialog h2>.ui-close-button,#modal.finish-dialog h2>.ui-close-button{margin-left:auto}
.finish-heading-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,#e1f1ff,#c6e1f3);border:1px solid #ffffff;color:#3678a5;flex-shrink:0}
.private-transfer-dialog.finish-dialog .finish-intro,#modal.finish-dialog .finish-intro{margin:6px 0 12px;font-size:12px;line-height:1.5;color:#627e94}
.private-transfer-dialog.finish-dialog .finish-grid,#modal.finish-dialog .finish-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.private-transfer-dialog.finish-dialog .finish-grid>div,#modal.finish-dialog .finish-grid>div{min-width:0}
.private-transfer-dialog.finish-dialog label,#modal.finish-dialog label{display:block;margin:0 0 7px;font-size:11px;font-weight:600;color:#42647f;line-height:1.4}
.private-transfer-dialog.finish-dialog label span,#modal.finish-dialog label span{font-weight:400;color:#728a9d}
.private-transfer-dialog.finish-dialog :is(input,textarea,.select-trigger),#modal.finish-dialog :is(input,textarea,.select-trigger){font-size:12px;color:#345977;background:#ffffffb8;border:1px solid #c9dfea;border-radius:11px;padding:10px 11px;box-shadow:inset 0 1px 0 #fff;min-height:39px}
.private-transfer-dialog.finish-dialog .select-trigger,#modal.finish-dialog .select-trigger{margin:0;display:flex;justify-content:space-between;gap:10px;padding-right:12px}
.private-transfer-dialog.finish-dialog .select-value,#modal.finish-dialog .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.private-transfer-dialog.finish-dialog .finish-commercial,#modal.finish-dialog .finish-commercial{margin-top:12px}
.private-transfer-dialog.finish-dialog [hidden],#modal.finish-dialog [hidden]{display:none!important}
.private-transfer-dialog.finish-dialog .finish-segments,#modal.finish-dialog .finish-segments{display:flex;flex-wrap:wrap;gap:7px;padding:0;border:0;background:transparent}
.private-transfer-dialog.finish-dialog .finish-segments button,#modal.finish-dialog .finish-segments button{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;gap:6px;padding:7px 11px;width:auto;min-width:0;min-height:32px;border:1px solid #d5e1e9;border-radius:10px;background:#ffffff75;color:#526b80;font-size:11px;box-shadow:0 1px 3px #32475a05;white-space:nowrap;transition:background 120ms ease,border-color 120ms ease}
.private-transfer-dialog.finish-dialog .finish-segments .icon,#modal.finish-dialog .finish-segments .icon{width:14px;height:14px;flex-shrink:0}
.private-transfer-dialog.finish-dialog .finish-segments button[aria-pressed=true],#modal.finish-dialog .finish-segments button[aria-pressed=true]{color:#235e91;background:linear-gradient(150deg,#edf6ff,#dbeafa);border-color:#a8c7e2;box-shadow:inset 0 1px 0 #ffffffc9,0 2px 5px #4267880d;font-weight:650}
.private-transfer-dialog.finish-dialog .finish-segments button:focus-visible,#modal.finish-dialog .finish-segments button:focus-visible{outline:2px solid #367fae;outline-offset:1px}
.private-transfer-dialog.finish-dialog .finish-sale,#modal.finish-dialog .finish-sale{margin-top:10px}
.private-transfer-dialog.finish-dialog .finish-money,#modal.finish-dialog .finish-money{width:min(100%,250px)}
.private-transfer-dialog.finish-dialog .finish-branch,#modal.finish-dialog .finish-branch{display:flex;align-items:center;gap:9px;margin-top:10px;padding:9px 10px;border-radius:14px;border:1px solid #c7deef;background:linear-gradient(120deg,#e3f1fbcc,#f7fbffe6)}
.finish-branch-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;color:#4481aa;background:#fff9}
.finish-branch>div{min-width:0;flex:1}
.private-transfer-dialog.finish-dialog .finish-branch small,#modal.finish-dialog .finish-branch small{display:block;font-size:10px;color:#66849b;margin-bottom:3px}
.private-transfer-dialog.finish-dialog .finish-branch strong,#modal.finish-dialog .finish-branch strong{display:block;font-size:12px;line-height:1.4;color:#2d5b7c;overflow-wrap:anywhere}
.private-transfer-dialog.finish-dialog .finish-branch div>span,#modal.finish-dialog .finish-branch div>span{display:block;margin-top:4px;font-size:9px;line-height:1.4;color:#637f94}
.private-transfer-dialog.finish-dialog .finish-auto,#modal.finish-dialog .finish-auto{align-self:flex-start;padding:4px 6px;border:1px solid #c5dfee;border-radius:6px;background:#f6fcff;font-size:8px;color:#477894}
.private-transfer-dialog.finish-dialog .finish-note,#modal.finish-dialog .finish-note{margin-top:12px}
.private-transfer-dialog.finish-dialog textarea,#modal.finish-dialog textarea{display:block;resize:vertical;min-height:46px;height:46px;max-height:112px;line-height:1.5;margin:0}
.private-transfer-dialog.finish-dialog .finish-note>small,#modal.finish-dialog .finish-note>small{display:block;margin-top:6px;color:#72899c;font-size:10px;line-height:1.4}
.private-transfer-dialog.finish-dialog .error:empty,#modal.finish-dialog .error:empty{display:none}
.private-transfer-dialog.finish-dialog:not(.search-dialog):not(.history-dialog) .private-finish-form>.buttons,#modal.finish-dialog:not(.search-dialog):not(.history-dialog) #modal-form>.buttons{display:flex;justify-content:flex-end;gap:9px;margin:12px -20px 0;padding:11px 20px;bottom:0;border-top:1px solid #d7e5f0;background:#edf6fcf5;box-shadow:0 -8px 18px #edf6fc8c;backdrop-filter:blur(18px)}
.private-transfer-dialog.finish-dialog .private-finish-form>.buttons button,#modal.finish-dialog #modal-form>.buttons button{font-size:12px;padding:10px 15px;border-radius:11px;min-height:38px}
.private-transfer-dialog.finish-dialog .private-finish-form>.buttons .primary,#modal.finish-dialog #modal-form>.buttons .primary{background:linear-gradient(140deg,#4389b8,#3376a6);color:white;border-color:#3376a6;box-shadow:0 4px 10px #397eaa25}
@media(max-width:480px){.private-transfer-dialog.finish-dialog,#modal.finish-dialog{padding:16px 18px 0;border-radius:20px}.private-transfer-dialog.finish-dialog .finish-grid:not(.finish-money),#modal.finish-dialog .finish-grid:not(.finish-money){grid-template-columns:minmax(0,1fr);gap:10px}.private-transfer-dialog.finish-dialog:not(.search-dialog):not(.history-dialog) .private-finish-form>.buttons,#modal.finish-dialog:not(.search-dialog):not(.history-dialog) #modal-form>.buttons{margin-left:-18px;margin-right:-18px;padding:12px 18px}.finish-auto{display:none}}

/* The custom control already owns an SVG: remove the legacy border-drawn arrow. */
.select-trigger .select-chevron{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;margin:0;border:0;transform:none;line-height:1;color:#6b8399;pointer-events:none}
.select-trigger .select-chevron svg{display:block;width:16px;height:16px;stroke-width:1.8;transition:transform 150ms ease}
.select-trigger[aria-expanded=true] .select-chevron svg{transform:rotate(180deg)}
.private-transfer-dialog.finish-dialog .finish-segments button:hover,#modal.finish-dialog .finish-segments button:hover{border-color:#adc5da;background:#edf5fc}
@media(prefers-reduced-motion:reduce){.select-trigger .select-chevron svg,.private-transfer-dialog.finish-dialog .finish-segments button,#modal.finish-dialog .finish-segments button{transition:none}}

/* Sale traffic lights retain labels/icons and pressed semantics; consultations stay neutral. */
.private-transfer-dialog.finish-dialog [data-finish-outcome=unknown],.outcome.unknown,#modal.finish-dialog [data-finish-outcome=unknown],.outcome.unknown{--sale-dot:#b37b0c;--sale-ink:#805a10;--sale-bg:#fff4d9;--sale-line:#dfc180}
.private-transfer-dialog.finish-dialog [data-finish-outcome=won],.outcome.won,#modal.finish-dialog [data-finish-outcome=won],.outcome.won{--sale-dot:#26966c;--sale-ink:#216a50;--sale-bg:#e1f4eb;--sale-line:#99cfb6}
.private-transfer-dialog.finish-dialog [data-finish-outcome=lost],.outcome.lost,#modal.finish-dialog [data-finish-outcome=lost],.outcome.lost{--sale-dot:#ce5663;--sale-ink:#9b3544;--sale-bg:#fce9ec;--sale-line:#e1aab3}
.private-transfer-dialog.finish-dialog .finish-segments button::before,.outcome:is(.unknown,.won,.lost)::before,#modal.finish-dialog .finish-segments button::before,.outcome:is(.unknown,.won,.lost)::before{content:"";display:inline-block;width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--sale-dot);box-shadow:0 0 0 2px #ffffffb3}
.private-transfer-dialog.finish-dialog .finish-segments button[aria-pressed=true],#modal.finish-dialog .finish-segments button[aria-pressed=true]{color:var(--sale-ink);background:var(--sale-bg);border-color:var(--sale-line);box-shadow:inset 0 1px 0 #fff,0 2px 5px #4267880d}
.outcome:is(.unknown,.won,.lost){display:inline-flex;align-items:center;gap:5px;color:var(--sale-ink);background:var(--sale-bg)}
