/* Allies shares Alliance's quiet shell; Slack is an accent, not a second app frame. */
alliance-allies { display: block; height: calc(100% - var(--topbar-height)); min-height: 0; }
.al-workspace { height: 100%; display: grid; grid-template-columns: var(--al-sidebar-width, var(--shell-width)) minmax(0, 1fr); padding:0 12px 12px 0; background:var(--shell-surface); }
.al-surface { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; min-height:0; overflow:hidden; border:1px solid var(--line-strong); border-radius:17px; background:var(--paper); box-shadow:0 2px 7px rgba(30,38,34,.035); }
.al-workspace.has-detail > .al-surface { grid-template-columns:minmax(0,1fr) minmax(300px,350px); }
.al-workspace button, .al-workspace input, .al-workspace textarea { font: inherit; }
.al-workspace button { border: 0; background: transparent; }
.al-workspace button:focus-visible, .al-workspace input:focus-visible, .al-workspace textarea:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.al-workspace svg { width: 18px; height: 18px; flex-shrink: 0; }
.al-slack { stroke: none; }
.al-sidebar { min-height: 0; display: flex; flex-direction: column; padding: 18px 12px 14px; background: var(--shell-surface); border:0; }
.al-sidebar-heading { display: flex; gap:8px; align-items: center; justify-content: space-between; padding: 0 10px 13px; font-size: 20px; font-weight: 550; letter-spacing: -.5px; }
.al-sidebar-heading > div { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.al-sidebar-heading h1 { margin:0; font:inherit; letter-spacing:inherit; }
.al-workspace-picker { position: relative; }
.al-workspace-button { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; padding: 11px; border-radius: 9px; }
.al-workspace-button:hover { background: var(--nav-hover); }
.al-workspace-mark { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 9px; font-size: 18px; font-weight: 600; }
.al-workspace-button > span:nth-child(2) { flex: 1; min-width: 0; display: grid; gap: 4px; }
.al-workspace-button strong { font-size: 14px; font-weight: 600; }
.al-workspace-button small { display: flex; align-items: center; gap: 4px; font-size: 11px; color: var(--muted); }
.al-workspace-button small svg { width: 12px; height: 12px; }
.al-workspace-button > svg { width: 14px; }
.al-workspace-menu { position: absolute; top: 100%; left: 0; right: 0; z-index: 10; padding: 7px; border: 1px solid var(--line-strong); border-radius: 10px; background: white; box-shadow: 0 10px 30px #22272515; }
.al-workspace-menu p { margin: 7px; color: var(--muted); font-size: 11px; }
.al-workspace-menu button { width: 100%; padding: 8px; display: flex; align-items: center; gap: 9px; border-radius: 6px; font-size: 13px; text-align: left; }
.al-workspace-menu button:hover { background: var(--canvas); }
.al-workspace-menu button > span:nth-child(2) { flex: 1; }
.al-workspace-menu .al-workspace-mark { width: 27px; height: 27px; font-size: 13px; }
.al-shortcuts { display: grid; gap: 0; padding: 0 0 21px; border-bottom: 1px solid var(--line); }
.al-shortcuts button, .al-channel { width: 100%; min-height: 35px; padding: 8px 12px; display: flex; align-items: center; gap: 10px; border-radius: 6px; color: var(--nav-muted); text-align: left; font-size: var(--sidebar-text-size); }
.al-shortcuts button:hover, .al-channel:hover { background: var(--nav-hover); color: var(--ink); }
.al-shortcuts button.is-active, .al-channel.is-active { background: #e1e8df; color: #304936; }
.al-shortcuts svg { width: 16px; height: 16px; }
.al-shortcuts b, .al-channel b { margin-left: auto; min-width: 18px; border-radius: 4px; padding: 1px 5px; background: white; color: #657660; font-size: var(--sidebar-meta-size); font-weight: 600; text-align: center; }
.al-at { width: 16px; font-size: 17px; line-height: 16px; }
.al-sidebar-scroll { min-height: 0; overflow-y: auto; flex: 1; padding-top: 19px; }
.al-sidebar-scroll section + section { margin-top: 27px; }
.al-sidebar-scroll section > header { position:relative; display: flex; align-items: center; margin-bottom:7px; }
.al-sidebar-scroll h2 { flex:1; min-width:0; font-size: var(--sidebar-label-size); font-weight: 600; color: #858c82; margin: 0; }
.al-sidebar-scroll section > header > button { position:absolute; right:8px; top:5px; }
.al-sidebar-scroll header button { color: var(--muted); width: 26px; height: 26px; display: grid; place-items: center; border-radius: 5px; }
.al-sidebar-scroll header button:hover { background: var(--nav-hover); }
.al-sidebar-scroll header svg { width: 14px; height: 14px; }
.al-sidebar-scroll header .al-group-toggle { width:100%; height:36px; display:flex; align-items:center; gap:7px; padding:0 42px 0 12px; font:inherit; color:inherit; text-align:left; }
.al-group-toggle[aria-expanded="false"] > svg { transform:rotate(-90deg); }
/* Preserve the original composer spacing after removing the status copy. */
.al-conversation > .al-composer { margin-bottom:38.5px; }
.al-channel > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.al-channel > svg { width: 15px; height: 15px; }
.al-hash { width: 16px; font-size: 18px; color: #8a9487; text-align: center; }
.al-presence { display: block; width: 7px; height: 7px; border-radius: 50%; background: #78956c; flex-shrink: 0; margin: 0 4px; }
#al-dms .al-channel > span:nth-child(2) { font-size:var(--sidebar-text-size); font-weight:500; }
.al-hq-mark { width:16px; height:16px; flex-shrink:0; object-fit:contain; }
.al-hq-avatar { background:var(--shell-surface); }
.al-hq-avatar img { width:23px; height:26px; object-fit:contain; }
.al-connection { display: flex; align-items: center; gap: 10px; padding: 14px 10px 0; margin-top: 22px; border-top: 1px solid var(--line) !important; text-align: left; }
.al-connection > span { flex: 1; display: grid; gap: 4px; }
.al-connection strong { font-size: calc(12px + 1pt); font-weight: 500; }
.al-connection small { font-size: var(--sidebar-meta-size); color: var(--muted); }
.al-connection > svg:last-child { width: 15px; color: #92978f; }
.al-conversation { min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.al-conversation-header { min-height: 68px; display: flex; justify-content: space-between; align-items: center; padding: 0 30px; gap: 12px; border-bottom: 1px solid var(--line); }
.al-channel-title { min-width: 0; display: flex; align-items: center; gap: 11px; padding: 6px 0; text-align: left; }
.al-channel-title > span:first-child:not(.al-avatar) { color: #96a08f; font-size: 27px; font-weight: 400; }
.al-channel-title > span:nth-child(2) { min-width: 0; }
.al-channel-title h1 { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -.5px; }
.al-channel-title small { display: block; margin-top: 6px; font-size: 11px; font-weight: 400; color: var(--muted); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: 420px; }
.al-channel-title > svg:last-child { width: 13px; color: var(--muted); }
.al-header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.al-members, .al-huddle-button { display: flex; align-items: center; gap: 7px; font-size: 12px !important; color: var(--muted); }
.al-huddle-button { padding: 8px 10px; border: 1px solid var(--line) !important; border-radius: 7px; background: #fafbf8 !important; color: #54664c; }
.al-huddle-button:hover { background: #eef3e9 !important; }
.al-header-actions svg { width: 16px; height: 16px; }
.al-conversation-toolbar { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 30px; border-bottom: 1px solid var(--line); }
.al-tabs { display: flex; align-self: stretch; gap: 20px; }
.al-tabs button { padding: 0; position: relative; font-size: 12px !important; color: var(--muted); white-space: nowrap; }
.al-tabs button[aria-selected="true"] { color: #3d5536; font-weight: 600; }
.al-tabs button[aria-selected="true"]::after { content: ''; position: absolute; bottom: -1px; height: 2px; background: #789069; left: 0; right: 0; }
.al-search { display: flex; align-items: center; gap: 7px; min-width: 100px; color: #92998c; }
.al-search svg { width: 14px; height: 14px; }
.al-search input { width: 160px; min-width: 0; padding: 6px 0; background: transparent; border: 0; font-size: 11px; }
.al-search input::placeholder { color: #91968e; }
.al-pinned { display: flex; align-items: center; gap: 9px; min-height: 45px; padding: 10px 30px; border-bottom: 1px solid #edf0e7 !important; text-align: left; background: #fafcf7 !important; color: #657554; font-size: 10px !important; }
.al-pinned svg { width: 13px; height: 13px; }
.al-pinned strong { color: #55674b; font-size: 11px; font-weight: 500; }
.al-pinned small { color: #929b85; margin-left: 4px; font-size: 10px; }
.al-pinned > svg:last-child { margin-left: auto; }
.al-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 0 10px; scrollbar-width: thin; }
.al-day { position: relative; display: flex; justify-content: center; margin: 0 30px 21px; }
.al-day::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid var(--line); }
.al-day span { z-index: 1; background: white; padding: 3px 14px; font-size: 11px; font-weight: 500; color: #838b7d; }
.al-message { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 12px 30px; }
.al-message:hover { background: #fafbf8; }
.al-avatar { width: 34px; height: 34px; flex-shrink: 0; display: grid; place-items: center; border-radius: 10px; font-size: 11px; font-weight: 600; letter-spacing: -.3px; }
.al-workspace .sage { background: #e3eadc; color: #58734c; }
.al-workspace .rose { background: #f2e0d9; color: #966c59; }
.al-workspace .blue { background: #e1e9ee; color: #5f7d90; }
.al-workspace .gold { background: #efe8d6; color: #93804b; }
.al-workspace .ink { background: #dfe4dd; color: #4a5747; }
.al-message-body { flex: 1; min-width: 0; }
.al-message-body header { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; min-height: 17px; }
.al-message-body header strong { font-size: 14px; font-weight: 600; }
.al-message-body time { color: var(--muted); font-size: 11px; }
.al-message-body p { margin: 5px 0 0; color: var(--ink); font-size: 15px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.al-message-body mark { background: #ebefdf; color: #5c7542; border-radius: 3px; padding: 1px 3px; }
.al-attachment { width: min(100%, 350px); display: flex; align-items: center; gap: 11px; margin: 14px 0 2px; padding: 12px; border: 1px solid #e1e5db !important; border-radius: 9px; background: white !important; text-align: left; }
.al-attachment:hover { border-color: #aaba9d !important; }
.al-attachment-icon { width: 34px; height: 38px; display: grid; place-items: center; border-radius: 6px; background: #f4f0e8; color: #9b8461; flex-shrink: 0; }
.al-attachment-icon.view { background: #eef2e8; color: #7e9664; }
.al-attachment > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 5px; }
.al-attachment strong { font-size: 12px; font-weight: 550; }
.al-attachment small { color: #92978b; font-size: 10px; line-height: 1.4; }
.al-attachment > svg { width: 14px; color: #8f9b83; }
.al-reactions { display: flex; gap: 5px; margin-top: 11px; }
.al-reactions button { display: flex; align-items: center; gap: 5px; padding: 3px 8px; border: 1px solid #e2e7db !important; border-radius: 6px; background: #f6f8f2 !important; font-size: 12px !important; }
.al-reactions span { color: #7b886b; font-size: 10px; }
.al-reactions button[aria-pressed="true"] { background: #e7efdc !important; border-color: #adbf98 !important; }
.al-reply-link { display: flex; align-items: center; gap: 8px; padding: 0; margin-top: 13px; }
.al-reply-link strong { font-size: 10px; font-weight: 550; color: #6d845c; }
.al-reply-link small { color: #9a9e93; font-size: 10px; }
.al-mini-avatars { display: flex; }
.al-mini-avatars .al-avatar { width: 20px; height: 20px; font-size: 7px; border-radius: 6px; border: 1px solid white; }
.al-mini-avatars .al-avatar + .al-avatar { margin-left: -4px; }
.al-message-actions { display: flex; position: absolute; top: -11px; right: 24px; padding: 3px; border: 1px solid var(--line); border-radius: 7px; background: white; opacity: 0; box-shadow: 0 3px 8px #22272508; }
.al-message:hover .al-message-actions, .al-message:focus-within .al-message-actions { opacity: 1; }
.al-message-actions button { width: 29px; height: 27px; display: grid; place-items: center; color: #808976; border-radius: 4px; }
.al-message-actions button:hover, .al-message-actions button[aria-pressed="true"] { background: #edf2e6; color: #536c3e; }
.al-message-actions svg { width: 14px; height: 14px; }
.al-composer { margin: 14px 30px 0; border: 1px solid #dce2d3; border-radius: 10px; background: white; flex-shrink: 0; }
.al-composer:focus-within { border-color: #94a67e; box-shadow: 0 0 0 2px #94a67e13; }
.al-composer textarea { resize: none; width: 100%; display: block; padding: 15px 15px 5px; border: 0; border-radius: 10px; outline: 0 !important; font-size: 15px; min-height: 56px; max-height: 200px; background: transparent; line-height: 1.6; }
.al-composer textarea::placeholder { color: #a0a697; }
.al-composer footer { display: flex; align-items: center; justify-content: space-between; padding: 6px 85px 9px 15px; }
.al-composer-hint { font-size: 11px; color: #9a9f91; }
.al-composer footer button { width: 31px; height: 29px; display: grid; place-items: center; background: #5d7750; color: white; border-radius: 6px; }
.al-composer footer button:disabled { cursor: default; background: #ebeee5; color: #aeb7a1; }
.al-composer footer svg { width: 15px; }
.al-email-label { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:400; color:var(--color-view); }
.al-email-label svg { width:13px; height:13px; }
.al-email-context { margin-top:5px; font-size:11px; font-weight:500; color:var(--muted); }
.al-email-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:14px; margin-top:12px; }
.al-email-actions .al-email-reply { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; border:1px solid var(--line); border-radius:6px; background:var(--paper); font-size:11px; color:var(--color-view); }
.al-email-actions .al-email-reply:hover, .al-email-reply[aria-expanded="true"] { background:var(--color-view-soft); }
.al-email-reply svg { width:14px; height:14px; }
.al-email-details { padding:5px 0; font-size:11px; color:var(--muted); }
.al-email-details summary { cursor:pointer; }
.al-email-details dl { display:grid; grid-template-columns:38px minmax(0,1fr); gap:6px; margin:12px 0 0; }
.al-email-details dd { margin:0; overflow-wrap:anywhere; color:var(--ink); }
.al-message-body > .al-email-composer { max-width:600px; margin:12px 0 4px; }
.al-email-recipient { display:flex; align-items:center; gap:7px; padding:9px 12px; border-bottom:1px solid var(--line); font-size:11px; color:var(--color-view); }
.al-email-recipient svg { width:14px; height:14px; }
.al-email-recipient strong { font-weight:500; }
.al-email-recipient button { display:grid; place-items:center; margin-left:auto; padding:3px; color:var(--muted); }
.al-email-audience { padding:8px 12px 0; font-size:11px; color:var(--muted); overflow-wrap:anywhere; }
.al-email-subject { padding:7px 12px 0; font-size:11px; color:var(--muted); }
.al-email-composer footer { gap:10px; padding-right:12px; }
.al-email-composer footer button { display:inline-flex; align-items:center; justify-content:center; gap:7px; width:auto; height:31px; padding:5px 11px; font-size:12px; white-space:nowrap; background:var(--color-view); }
.al-email-composer footer button:disabled { background:var(--line); color:var(--muted); }
.al-email-composer .al-composer-hint { font-size:11px; }
.al-detail { display: flex; flex-direction: column; min-height: 0; min-width: 0; border-left: 1px solid var(--line); background: #fdfefb; }
.al-detail > header { min-height: 69px; display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid var(--line); }
.al-detail h2 { font-size: 14px; font-weight: 600; margin: 0; }
.al-detail h2 small { display: block; color: #9a9f92; font-size: 10px; font-weight: 400; margin-top: 5px; }
.al-detail > header button { width: 25px; height: 25px; display: grid; place-items: center; color: #919986; }
.al-detail > header svg { width: 15px; }
.al-detail-scroll { flex: 1; min-height: 0; overflow-y: auto; padding-block: 15px; scrollbar-width: thin; }
.al-detail .al-message { padding: 12px 20px; gap: 10px; }
.al-detail .al-message p { font-size: 12px; }
.al-detail .al-avatar { width: 29px; height: 29px; font-size: 10px; border-radius: 8px; }
.al-thread-divider { font-size: 10px; margin: 20px; padding-bottom: 12px; color: #949c88; border-bottom: 1px solid var(--line); }
.al-detail .al-composer { margin: 15px 18px 24px; }
.al-detail-content { padding: 22px; }
.al-detail-content h3 { font-size: 13px; font-weight: 600; margin: 24px 0 8px; }
.al-detail-content p { font-size: 12px; line-height: 1.7; color: #7d8575; }
.al-detail-content .al-muted { font-size: 11px; color: #969e8b; }
.al-settings-brand > svg { width: 29px; height: 29px; }
.al-settings-brand h3 { font-size: 20px; letter-spacing: -.5px; font-weight: 500; margin: 16px 0 8px; }
.al-setting-card { display: grid; gap: 8px; border: 1px solid #e3e7db; border-radius: 10px; padding: 17px; background: white; margin-top: 24px; }
.al-setting-card small { color: #929b84; font-size: 10px; }
.al-setting-card strong { font-size: 13px; font-weight: 550; }
.al-setting-card > span:not(.al-sample-state) { font-size: 11px; color: #8a947d; overflow-wrap: anywhere; }
.al-sample-state { display: inline-flex; align-self: start; width: fit-content; border-radius: 5px; color: #75895b; background: #edf2e4; font-size: 10px; padding: 5px 7px; }
.al-channel-choices { margin: 16px 0 22px; display: grid; gap: 13px; }
.al-channel-choices label { display: flex; gap: 10px; align-items: center; font-size: 12px; color: #67765b; cursor: pointer; }
.al-channel-choices input { width: 14px; height: 14px; accent-color: #6b8556; }
.al-channel-choices label > span { display: flex; gap: 6px; align-items: center; }
.al-channel-choices svg { width: 12px; height: 12px; }
.al-primary { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 11px; background: #627b50 !important; border-radius: 7px; color: white; font-size: 12px !important; }
.al-primary:hover { background: #516b40 !important; }
.al-primary svg { width: 14px; }
.al-text-button { color: #9a7d6d; padding: 7px 0; font-size: 11px !important; }
.al-channel-description { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.al-large-hash { font-size: 38px; color: #98aa82; }
.al-channel-description h3 { font-size: 19px; margin-top: 12px; }
.al-person-choice { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 12px 0; }
.al-person-choice > span:nth-child(2) { flex: 1; display: grid; gap: 4px; }
.al-person-choice strong { font-size: 12px; font-weight: 500; }
.al-person-choice small { font-size: 10px; color: #9a9f91; }
.al-person-choice > svg { width: 14px; color: #8b997a; }
.al-huddle { text-align: center; padding-top: 24px; }
.al-huddle-icon { display: grid; place-items: center; background: #edf2e4; border-radius: 20px; width: 68px; height: 68px; margin: auto; color: #7f9468; }
.al-huddle-icon svg { width: 30px; height: 30px; }
.al-huddle h3 { font-size: 22px; font-weight: 500; letter-spacing: -.5px; }
.al-huddle-people { display: flex; justify-content: center; gap: 20px; margin: 28px 0; }
.al-huddle-people > div { display: grid; justify-items: center; gap: 9px; }
.al-huddle-people .al-avatar { width: 48px; height: 48px; border-radius: 16px; font-size: 14px; }
.al-huddle-people > div > span:last-child { font-size: 9px; color: #8a947d; }
.al-huddle .al-primary { margin-top: 24px; }
.al-attachment-preview > svg { width: 32px; height: 32px; color: #819b65; }
.al-attachment-preview h3 { font-size: 20px; font-weight: 500; letter-spacing: -.5px; }
.al-preview-document { padding: 25px 20px; background: #f6f7f0; border: 1px solid #e2e6d7; border-radius: 10px; margin: 24px 0; }
.al-preview-document > span { font-size: 9px; letter-spacing: .12em; color: #96a581; }
.al-preview-document h4 { font-size: 25px; font-weight: 450; letter-spacing: -.8px; line-height: 1.2; color: #60794c; margin: 18px 0 10px; }
.al-preview-document > div { display: flex; align-items: center; gap: 10px; padding: 16px 0; border-top: 1px solid #e2e6d7; font-size: 11px; }
.al-preview-document > div > span:last-child { display: grid; gap: 5px; color: #697b57; }
.al-preview-document small { color: #9ca58d; font-size: 9px; }
.al-document-dot { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #d7dfca; color: #acb69b; font-size: 10px; }
.al-document-dot.complete { background: #e5ecd9; color: #8a9f70; }
.al-empty { padding: 50px 25px; text-align: center; color: var(--muted); }
.al-empty h2 { font-size: 17px; font-weight: 500; }
.al-empty p { font-size: 12px; }
.al-notice { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 90; max-width: calc(100vw - 48px); border-radius: 9px; background: #36482d; color: #f4f7ee; box-shadow: 0 5px 20px #36482d20; font-size: 12px; line-height: 1.6; }
.al-notice:not(:empty) { padding: 10px 16px; }
@media (max-width: 1180px) {
  .al-workspace.has-detail > .al-surface { grid-template-columns:minmax(0,1fr) 305px; }
  .al-conversation-header, .al-conversation-toolbar { padding-inline: 22px; }
  .al-message { padding-inline: 22px; }
  .al-pinned { padding-inline: 22px; }
  .al-composer { margin-inline: 22px; }
  .has-detail .al-channel-title small, .has-detail .al-pinned small, .has-detail .al-members, .has-detail .al-search { display: none; }
  .has-detail .al-channel-title h1 { font-size: 16px; }
}
@media (max-height: 760px) {
  .al-sidebar { padding-top: 17px; }
  .al-sidebar-heading { padding-bottom: 13px; }
  .al-shortcuts { padding-bottom: 13px; }
  .al-sidebar-scroll section + section { margin-top: 16px; }
  .al-message { padding-block: 10px; }
  .al-conversation-header { min-height: 75px; }
}

/* Reuse the shell's 48px rail, hover preview, and keyboard focus behavior. */
.al-workspace:has(> #workspace-sidebar[data-sidebar-collapsed="true"]) { --al-sidebar-width:48px; }
.al-sidebar[data-sidebar-collapsed="true"][data-sidebar-peek="false"] > .al-sidebar-heading { padding-inline:0; }
.al-sidebar[data-sidebar-collapsed="true"] > .al-sidebar-heading > .sidebar-toggle { order:0; }
/* Production interaction surfaces. Preview data is always labeled at the boundary. */
.al-preview-banner,.al-offline { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 25px; border-bottom:1px solid #dfdac8; background:#f7f1df; color:#665b3c; font-size:11px; line-height:1.6; }
.al-preview-banner button { color:#665b3c; text-decoration:underline; flex-shrink:0; }
.al-offline { background:#f9e9e4; color:#864d41; }
.al-sidebar-note { padding:0 12px; color:var(--muted); font-size:12px; }
.al-welcome { max-width:530px; margin:auto; padding:45px 32px; text-align:center; }
.al-welcome h2 { margin:18px 0 12px; font-size:30px; font-weight:500; letter-spacing:-1px; }
.al-welcome p { color:var(--muted); font-size:13px; line-height:1.8; }
.al-welcome > small { color:var(--muted); font-size:11px; }
.al-welcome-icon { display:inline-grid; place-items:center; width:64px; height:64px; background:#e8eee4; border-radius:20px; color:#627b50; }
.al-welcome-icon svg { width:28px; height:28px; }
.al-welcome-actions { display:flex; align-items:center; justify-content:center; gap:18px; margin:24px 0; font-size:12px; }
.al-welcome-actions .al-primary { width:auto; }
.al-welcome .al-setting-card { text-align:left; }
.al-setting-card p { margin:0; }
.al-detail-content label { display:grid; gap:7px; margin:16px 0 12px; color:var(--ink); font-size:12px; }
.al-detail-content input:not([type=checkbox]),.al-detail-content select { min-width:0; width:100%; padding:10px 12px; border:1px solid var(--line-strong); border-radius:7px; background:var(--paper); color:var(--ink); font:inherit; }
.al-detail-content select:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.al-detail-content .al-person-choice { display:flex; margin:0; border-bottom:1px solid var(--line); gap:10px; }
.al-person-choice input[type=checkbox] { width:16px; height:16px; accent-color:#627b50; }
.al-person-choice > span { min-width:0; }
.al-person-choice small { overflow-wrap:anywhere; }
.al-people-results { max-height:350px; overflow:auto; }
.al-local-label,.al-is-pinned { color:#827148; font-size:10px; }
.al-is-pinned { display:block; margin-top:8px; }
.al-email-warning { margin:5px 12px 12px; color:#8c5742; font-size:11px; line-height:1.5; }
.al-compose-tools { display:flex; align-items:center; gap:3px; }
.al-composer .al-compose-tools button { display:grid; place-items:center; width:27px; height:27px; padding:4px; color:var(--muted); background:transparent; border-radius:5px; }
.al-compose-tools button:hover { background:var(--nav-hover); }
.al-composer { position:relative; }
.al-composer:focus-within { border-color:#8b9c7e; }
.al-workspace button:disabled { opacity:.5; cursor:not-allowed; }
.al-mention-picker { display:grid; gap:2px; position:absolute; z-index:15; bottom:100%; left:0; width:min(280px,100%); padding:8px; border:1px solid var(--line); background:var(--paper); border-radius:9px; box-shadow:0 8px 24px #23332218; }
.al-mention-picker button { text-align:left; padding:9px; border-radius:5px; color:var(--ink); }
.al-mention-picker button:hover { background:var(--nav-hover); }
.al-mention-none { margin:0; padding:9px; font-size:13px; color:var(--muted,#666); }
.al-upload-queue { display:grid; gap:8px; padding:8px 14px; }
.al-upload-queue > div { display:flex; align-items:center; gap:10px; padding:10px; background:#f7f5ee; border:1px solid var(--line); border-radius:7px; font-size:11px; }
.al-upload-queue span { display:grid; gap:5px; flex:1; overflow-wrap:anywhere; }
.al-upload-queue small { color:#8a6c45; }
.al-upload-queue button { color:var(--muted); }
.al-staged-files { display:grid; gap:8px; margin-top:10px; }
.al-staged-files > span { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px; border:1px solid var(--line); border-radius:8px; font-size:12px; }
.al-staged-files small { color:#8a6c45; }
.al-message:focus-within .al-message-actions { opacity:1; }
.al-message-actions { flex-wrap:wrap; }
.al-message-body { min-width:0; }
.al-message-body p { overflow-wrap:anywhere; }
.al-search-scope { display:flex; gap:4px; align-items:center; white-space:nowrap; color:var(--muted); font-size:10px; }
.al-search .al-search-scope input { width:12px; height:12px; accent-color:#627b50; }
.al-search button svg { width:14px; }
.al-retry,.al-confirm button,.al-preview-controls button { padding:8px 12px; border:1px solid var(--line-strong); border-radius:6px; font-size:12px; }
.al-confirm { padding:12px; background:#f9eee7; border:1px solid #e2cdbd; border-radius:9px; margin-block:14px; }
.al-confirm button { margin:5px; }
.al-danger { color:#9a453b; }
.al-preview-controls { margin-top:24px; padding-top:18px; border-top:1px dashed var(--line-strong); font-size:12px; }
.al-preview-controls summary { cursor:pointer; color:var(--muted); }
.al-preview-controls button { margin:5px 5px 5px 0; }
.al-skeleton { height:70px; border-radius:8px; margin-bottom:18px; background:linear-gradient(110deg,#eef0e9 25%,#f8f9f4 40%,#eef0e9 65%); background-size:200% 100%; animation:al-shimmer 1.8s infinite; }
@keyframes al-shimmer { to { background-position:-200% 0; } }
.al-call-card { display:flex; align-items:center; gap:13px; padding:16px; margin:12px 0 5px; border:1px solid #dce3d6; border-radius:11px; background:#f5f7ef; max-width:630px; }
.al-call-glyph { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#e5eddc; color:#71835e; flex-shrink:0; }
.al-call-card > div { flex:1; min-width:0; }
.al-call-card strong { display:block; font-size:12px; font-weight:550; }
.al-call-card small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.al-call-card > button { border:1px solid #d0dac5; border-radius:6px; padding:8px 10px; font-size:11px; color:#526346; }
.al-artifact-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.al-artifact-chips span { color:#67765b; padding:4px 6px; background:#e9eee1; border-radius:4px; font-size:9px; }
/* The call owner is a body-level sibling of #app. Re-rendering routes cannot unmount it. */
#allies-call-root { --ac-paper:#fcfcf8; --ac-ink:#29392e; --ac-muted:#65705e; font-family:inherit; color:var(--ac-ink); font-size:13px; }
#allies-call-root * { box-sizing:border-box; }
#allies-call-root button,#allies-call-root input,#allies-call-root select { font:inherit; }
#allies-call-root button { border:1px solid #d6dece; border-radius:7px; padding:9px 12px; background:#f8faf5; color:#394e32; cursor:pointer; line-height:1.4; }
#allies-call-root button:hover { background:#eaf0e2; }
#allies-call-root button:disabled { cursor:not-allowed; opacity:.45; }
#allies-call-root :focus-visible { outline:2px solid #547d62; outline-offset:3px; }
.ac-dock { position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:160; display:flex; align-items:center; gap:10px; max-width:calc(100vw - 32px); padding:10px 12px; border:1px solid #c6d2bb; border-radius:13px; box-shadow:0 8px 40px #20351e2b; background:#f7faef; }
#allies-call-root .ac-dock-title { text-align:left; border:0; background:none; padding:0 6px; min-width:130px; }
.ac-dock-title strong { display:block; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.ac-dock-title small { display:block; margin-top:3px; font-size:10px; color:#718262; }
.ac-dock-status { max-width:180px; font-size:10px; color:#75856b; line-height:1.6; }
.ac-live-dot { width:8px; height:8px; border-radius:50%; background:#64884d; flex-shrink:0; }
.ac-backdrop { position:fixed; inset:0; display:grid; place-items:center; background:#18281c66; backdrop-filter:blur(4px); z-index:170; padding:24px; }
.ac-modal { display:flex; flex-direction:column; width:min(820px,100%); max-height:calc(100dvh - 48px); overflow:hidden; border:1px solid #d6dfcd; background:var(--ac-paper); border-radius:18px; box-shadow:0 25px 100px #0d1a1240; }
.ac-modal > header { padding:22px 25px; display:flex; justify-content:space-between; align-items:center; gap:14px; border-bottom:1px solid #e0e5d8; flex-shrink:0; }
.ac-eyebrow { display:block; font-size:9px; letter-spacing:.1em; color:#8c7951; line-height:1.6; }
.ac-modal h2 { margin:8px 0 0; font-size:23px; letter-spacing:-.7px; font-weight:500; }
.ac-modal-body { padding:20px 25px; overflow:auto; min-height:0; }
.ac-modal p { color:var(--ac-muted); font-size:12px; line-height:1.8; }
.ac-consent { padding:16px 18px; border:1px solid #e1d7b8; background:#f8f3e3; border-radius:10px; margin:18px 0; }
.ac-consent > strong { font-weight:550; font-size:13px; color:#6d5e38; }
.ac-consent p { color:#776b4f; margin:8px 0 0; }
.ac-statuses { display:flex; flex-wrap:wrap; gap:8px; padding-block:12px; }
.ac-status { font-size:11px; padding:6px 9px; border:1px solid #dfe4d5; background:#f1f4e9; border-radius:6px; color:#69765d; }
.ac-status strong { font-weight:550; }
.ac-status.is-failed { color:#a34e45; background:#faeee7; border-color:#e6c8bf; }
.ac-status.is-active { color:#8c403d; background:#fae8e3; border-color:#e6bcb2; }
.ac-status.is-pending { background:#f6f1e3; color:#817147; }
.ac-inline { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ac-people { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px 0; }
.ac-people > div { display:flex; align-items:center; flex-direction:column; gap:9px; padding:20px 10px; background:#edf1e7; border:2px solid transparent; border-radius:12px; text-align:center; }
.ac-people > div.is-speaking { border-color:#92a57e; }
.ac-person-avatar { display:grid; place-items:center; width:48px; height:48px; font-size:16px; background:#dce5d1; border-radius:16px; color:#62754e; }
.ac-people strong { font-size:12px; font-weight:550; }
.ac-people small { color:#78866b; font-size:10px; }
.ac-share-preview { border:1px solid #a5b993; border-radius:11px; overflow:hidden; margin-block:15px; background:#e9f0df; }
.ac-share-preview[hidden] { display:none; }
.ac-share-preview header { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px; }
.ac-share-preview header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.ac-share-preview video { display:block; max-height:320px; width:100%; background:#1d2b20; }
#ac-camera { width:160px; max-height:100px; border-radius:9px; background:#263428; margin-block:12px; }
.ac-devices { padding-top:15px; margin-top:12px; border-top:1px solid #e0e5d8; }
.ac-devices summary,.ac-scenarios summary { cursor:pointer; font-size:12px; color:#67775b; }
.ac-device-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:15px; }
#allies-call-root label { display:grid; gap:7px; font-size:11px; color:#657259; }
#allies-call-root select,#allies-call-root input:not([type=file]) { display:block; width:100%; min-width:0; border:1px solid #d7dfcd; border-radius:6px; background:white; padding:9px 10px; color:#405637; }
#ac-level { width:80px; height:12px; accent-color:#718b5c; }
.ac-modal > footer { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; padding:17px 25px; border-top:1px solid #e0e5d8; flex-shrink:0; }
#allies-call-root .ac-primary { background:#627b50; color:white; border-color:#627b50; }
#allies-call-root .ac-danger { color:#9c5048; background:#fbf0e9; border-color:#e7d0c5; }
.ac-scenarios { margin-top:16px; padding:15px 0; border-top:1px dashed #d8dece; }
.ac-scenarios button { font-size:10px !important; padding:7px 9px !important; }
.ac-scenarios p { font-size:10px; }
.ac-scenarios .ac-inline { margin-top:12px; }
.ac-error { background:#faeee7; color:#964e42 !important; padding:10px 13px; border-radius:7px; }
.ac-confirm { margin:0 25px 20px; padding:12px 15px; border:1px solid #e0c7bd; background:#faeee7; border-radius:9px; }
.ac-confirm button { margin-right:8px; }
.ac-viewer { width:min(1120px,100%); overflow:auto; }
.ac-viewer > .ac-statuses { padding:15px 25px 0; }
.ac-viewer-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr); gap:25px; padding:20px 25px; min-height:0; }
.ac-viewer-grid > section { min-width:0; }
.ac-video-frame { background:#e8ede1; border:1px solid #d8e1ce; border-radius:11px; overflow:hidden; min-height:220px; }
.ac-video-frame video { display:block; width:100%; max-height:360px; background:#213024; min-height:150px; }
.ac-video-frame p { padding:0 20px 12px; }
.ac-artifact-state { padding:25px; }
.ac-artifact-state h3 { font-size:16px; font-weight:500; }
.ac-transcript { display:flex; flex-direction:column; min-height:0; }
.ac-transcript > input { margin-top:8px; }
#ac-segments { overflow:auto; max-height:380px; padding-right:5px; margin-top:10px; }
#allies-call-root .ac-segment { display:flex; gap:13px; width:100%; border:1px solid transparent; border-radius:8px; padding:12px 10px; background:transparent; text-align:left; }
.ac-segment time { flex-shrink:0; color:#879572; font-variant-numeric:tabular-nums; font-size:11px; padding-top:1px; }
.ac-segment > span { display:grid; gap:7px; font-size:12px; line-height:1.7; }
.ac-segment strong { font-weight:550; color:#4a603d; }
#allies-call-root .ac-segment.is-active { border-color:#cbd7bf; background:#eef3e6; }
.ac-segment mark { background:#e4e5ac; color:#3e4c31; border-radius:2px; }
.ac-muted { color:#8a957f !important; font-size:10px !important; }
.ac-local-file { margin-block:15px; }
.ac-local-file input { font-size:11px; }
.ac-viewer > .ac-scenarios { margin:0 25px 15px; }
body.has-allies-call .al-conversation > .al-composer { margin-bottom:90px; }
@media(max-width:1050px) {
 .al-workspace.has-detail > .al-surface { position:relative; grid-template-columns:minmax(0,1fr); }
 .al-workspace.has-detail .al-detail { position:absolute; inset:0 0 0 auto; width:min(400px,100%); z-index:20; background:var(--paper); box-shadow:-18px 0 50px #27322520; }
 .al-conversation-toolbar { gap:12px; flex-wrap:wrap; height:auto; min-height:60px; padding-block:10px; }
 .al-search { flex:1; }
 .al-call-card { flex-wrap:wrap; }
 .al-call-card > button { margin-left:53px; }
 .ac-dock-status { display:none; }
}
@media(max-width:700px) {
 .al-workspace { --al-sidebar-width:48px; padding:0 6px 6px 0; }
 .al-sidebar { padding:12px 5px; overflow:hidden; }
 .al-sidebar-heading { padding-inline:2px; }
 .al-sidebar-heading > div,.al-sidebar .al-shortcuts span,.al-sidebar .al-shortcuts b,.al-sidebar .al-sidebar-scroll,.al-sidebar .al-connection { display:none; }
 .al-shortcuts button { padding-inline:9px; min-height:38px; }
 .al-conversation-header { padding-inline:15px; min-height:70px; }
 .al-channel-title small { max-width:180px; font-size:10px; }
 .al-channel-title h1 { font-size:16px; }
 .al-members { display:none; }
 .al-header-actions { gap:5px; }
 .al-huddle-button span { display:none; }
 .al-preview-banner { padding:8px 14px; font-size:10px; }
 .al-preview-banner > span { max-width:230px; }
 .al-conversation-toolbar { padding:10px 15px; }
 .al-conversation-toolbar .al-search { display:flex; width:100%; }
 .al-message { padding:15px; }
 .al-message > .al-avatar { width:28px; height:28px; font-size:10px; border-radius:8px; }
 .al-message-actions { position:static; opacity:1; display:grid; align-self:start; gap:5px; }
 .al-message-actions button { width:23px; height:23px; }
 .al-message-actions svg { width:14px; height:14px; }
 .al-message p { font-size:12px; }
 .al-composer { margin-inline:12px; }
 .al-composer-hint { display:none; }
 .al-composer footer { justify-content:space-between; }
 .al-pinned { padding-inline:15px; }
 .al-pinned strong { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .al-welcome { padding:25px 18px; }
 .al-welcome h2 { font-size:23px; }
 .al-welcome-actions { flex-direction:column; }
 .al-notice { bottom:90px; }
 .ac-backdrop { padding:8px; }
 .ac-modal { max-height:calc(100dvh - 16px); border-radius:12px; }
 .ac-modal > header,.ac-modal-body { padding:16px; }
 .ac-modal h2 { font-size:20px; }
 .ac-modal > footer { padding:12px 16px; justify-content:flex-start; }
 .ac-modal > footer button { flex:1; }
 .ac-device-grid { grid-template-columns:1fr; }
 .ac-people { gap:7px; }
 .ac-people > div { padding:14px 7px; }
 .ac-people strong { font-size:10px; }
 .ac-people small { font-size:9px; }
 .ac-dock { bottom:8px; gap:6px; padding:9px; max-width:calc(100vw - 12px); }
 #allies-call-root .ac-dock button { padding:8px; font-size:10px; }
 #allies-call-root .ac-dock-title { min-width:85px; max-width:105px; }
 .ac-viewer-grid { grid-template-columns:minmax(0,1fr); gap:20px; padding:16px; }
 #ac-segments { max-height:300px; }
 .ac-eyebrow { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .al-skeleton { animation:none; } }
html:has(alliance-allies),body:has(alliance-allies),#app:has(alliance-allies) { min-width:0; }
body:has(.ac-backdrop) { min-width:0; }
.ac-consent .ac-acknowledge { display:flex !important; align-items:start; gap:9px !important; margin-top:14px; line-height:1.6; font-size:12px !important; color:#66572e !important; }
#allies-call-root .ac-acknowledge input[type=checkbox] { width:16px; height:16px; flex-shrink:0; margin-top:2px; accent-color:#627b50; }
.al-pending-link { display:flex; align-items:center; gap:8px; padding:10px 14px; border-top:1px solid var(--line); font-size:11px; color:#627b50; }
.al-pending-link button { margin-left:auto; }
@media(max-width:700px) { #app:has(alliance-allies) .topbar { padding-inline:10px; grid-template-columns:auto minmax(0,1fr) auto; gap:6px; } #app:has(alliance-allies) .topnav { min-width:0; overflow:auto; gap:0; } #app:has(alliance-allies) .topnav button { padding-inline:8px; font-size:10px; } #app:has(alliance-allies) .brand { display:none; } }
.al-workspace .al-composer .al-compose-tools button:not(:disabled) { background:transparent; color:var(--muted); }
.al-workspace .al-composer .al-compose-tools button:hover:not(:disabled) { background:var(--nav-hover); color:var(--ink); }
.ac-dock-error { position:absolute; bottom:calc(100% + 8px); left:0; right:0; padding:10px 14px; border:1px solid #e1c5b9; border-radius:9px; background:#fbefe7; color:#87483c; font-size:11px; line-height:1.6; }
.al-mobile-nav-toggle,.al-mobile-nav-backdrop { display:none; }
.ac-screen-expanded { width:min(1280px,100%); }
.ac-screen-expanded .ac-people { display:none; }
.ac-screen-expanded .ac-share-preview video { max-height:65dvh; min-height:220px; }
@media(max-width:700px) {
 .al-workspace { position:relative; }
 .al-sidebar-heading > .sidebar-toggle { display:none; }
 .al-sidebar-heading > .al-mobile-nav-toggle { display:grid; place-items:center; width:30px; height:30px; color:var(--muted); }
 .al-workspace[data-mobile-open="true"] .al-sidebar { position:absolute; inset:0 auto 0 0; width:min(280px,calc(100vw - 60px)); z-index:35; background:var(--shell-surface); box-shadow:15px 0 45px #27322530; padding:18px 14px; overflow:auto; }
 .al-workspace[data-mobile-open="true"] .al-sidebar-heading { padding-inline:7px; }
 .al-workspace[data-mobile-open="true"] .al-sidebar-heading > div { display:flex; }
 .al-workspace[data-mobile-open="true"] .al-sidebar .al-shortcuts span { display:inline; }
 .al-workspace[data-mobile-open="true"] .al-sidebar .al-sidebar-scroll { display:block; }
 .al-workspace[data-mobile-open="true"] .al-sidebar .al-connection { display:flex; }
 .al-workspace[data-mobile-open="true"] .al-mobile-nav-backdrop { display:block; position:absolute; inset:0; z-index:34; background:#24332344; color:transparent; }
 .ac-share-preview header { align-items:start; flex-direction:column; }
}
/* Dedicated pre-call lobby. This occupies the app window without a modal backdrop. */
body.allies-lobby-open #app { visibility:hidden; }
body.allies-lobby-open { min-width:0; }
.ac-lobby-host { position:fixed; inset:0; z-index:170; overflow:auto; background:#f8f7f3; }
.ac-lobby { min-height:100%; color:#30372e; outline:none; background:radial-gradient(ellipse at 20% 45%,#ecefe3 0,transparent 55%),#f8f7f3; }
.ac-lobby-header { display:flex; align-items:center; gap:16px; padding:26px 38px; }
.ac-lobby-brand { display:flex; align-items:center; gap:11px; color:#384c3e; font-size:15px; font-weight:550; }
.ac-lobby-brand > svg { width:23px; height:23px; }
.ac-lobby-brand i { padding-inline:9px; font-style:normal; color:#b3b8aa; font-weight:400; }
.ac-lobby-fixture { color:#7d724f; background:#ede8d9; border-radius:5px; padding:4px 7px; font-size:10px; }
#allies-call-root .ac-lobby-back { display:flex; align-items:center; gap:4px; margin-left:auto; border:0; padding:7px 0; color:#7b8174; background:transparent; font-size:12px; }
.ac-lobby-back svg { width:15px; height:15px; }
.ac-lobby-layout { display:grid; grid-template-columns:minmax(0,640px) minmax(300px,355px); align-items:center; justify-content:center; gap:clamp(40px,6vw,90px); width:min(1240px,100%); min-height:calc(100dvh - 95px); padding:30px 45px 80px; margin:auto; }
.ac-lobby-left { min-width:0; }
.ac-lobby-preview { position:relative; display:grid; place-items:center; aspect-ratio:16/10; overflow:hidden; background:radial-gradient(ellipse at 50% 35%,#3e4d40 0,#29382f 70%); border-radius:18px; box-shadow:0 18px 45px #2e3d2b13; color:#ecf0e6; }
.ac-lobby-preview-top { position:absolute; inset:19px 20px auto; z-index:2; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#d5dece; }
.ac-lobby-preview-top > span:last-child { display:flex; align-items:center; gap:6px; color:#b9c6b4; }
.ac-lobby-preview-top svg { width:14px; height:14px; }
.ac-lobby-preview.has-camera .ac-lobby-preview-top { text-shadow:0 1px 6px #18231c; }
.ac-lobby-preview.has-camera::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(#14221b55,transparent 22%,transparent 65%,#14221b66); }
#allies-call-root .ac-lobby-preview #ac-camera { position:absolute; inset:0; width:100%; height:100%; max-height:none; border-radius:0; margin:0; object-fit:cover; transform:scaleX(-1); }
#allies-call-root .ac-lobby-preview #ac-camera[hidden] { display:none; }
.ac-lobby-avatar { display:grid; justify-items:center; gap:15px; padding-bottom:18px; }
.ac-lobby-avatar > span { display:grid; place-items:center; width:92px; height:92px; border-radius:50%; border:1px solid #b9c4a729; background:#b3c49c23; font-size:29px; font-weight:450; letter-spacing:-1px; color:#e4ebd8; box-shadow:0 0 0 17px #b3c49c07; }
.ac-lobby-avatar p { margin:0; color:#b9c6b4; font-size:12px; }
.ac-lobby-self { position:absolute; left:19px; bottom:21px; z-index:2; display:flex; align-items:center; gap:7px; color:#dbe4d4; font-size:11px; }
.ac-lobby-self svg { width:14px; height:14px; }
.ac-lobby-media-controls { position:absolute; bottom:19px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:10px; }
#allies-call-root .ac-lobby-media-button { display:grid; place-items:center; width:43px; height:43px; padding:10px; border:1px solid #e1e9d71a; border-radius:50%; background:#16271de6; color:#e5eddd; box-shadow:0 2px 10px #17281f33; }
#allies-call-root .ac-lobby-media-button:hover { background:#435741; }
#allies-call-root .ac-lobby-media-button.is-on { background:#e1e8d4; color:#354b32; border-color:#e1e8d4; }
.ac-lobby-media-button svg { width:19px; height:19px; }
.ac-lobby-device-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:23px 0 13px; font-size:11px; color:#828876; }
.ac-lobby-device-heading > span { display:flex; align-items:center; gap:7px; }
.ac-lobby-device-heading svg { width:14px; height:14px; }
.ac-lobby-device-heading > .is-ready { color:#628056; }
#allies-call-root .ac-lobby-device-test { padding:0; border:0; color:#60774f; background:none; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.ac-lobby-devices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#allies-call-root .ac-lobby-devices label { gap:7px; color:#838977; font-size:10px; }
#allies-call-root .ac-lobby-devices select { border-color:#dfe2d6; border-radius:7px; background:#fcfcf8; padding:9px 8px; color:#4f5b46; font-size:11px; }
.ac-lobby-sound-check { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:15px; }
.ac-lobby-sound-check > div { display:flex; align-items:center; gap:7px; color:#909684; font-size:10px; }
.ac-lobby-sound-check svg { width:13px; height:13px; }
.ac-lobby-sound-check #ac-level { width:58px; height:9px; }
#allies-call-root .ac-lobby-sound-test { display:flex; align-items:center; gap:6px; padding:0; border:0; background:none; color:#737f65; font-size:10px; }
.ac-lobby-system-audio { font-size:10px; color:#919785; margin-top:12px; }
.ac-lobby-device-error { padding:12px 14px; margin-top:16px; border:1px solid #e6cdbf; border-radius:8px; background:#f8eee6; color:#875541; line-height:1.7; font-size:11px; }
#allies-call-root .ac-lobby-device-error button { display:block; margin-top:8px; padding:4px 9px; font-size:11px; }
.ac-lobby-right { padding-bottom:6px; }
.ac-lobby-eyebrow { font-size:11px; color:#8e947e; }
.ac-lobby-intro h1 { margin:12px 0 23px; font-size:clamp(28px,3.1vw,39px); line-height:1.18; font-weight:500; letter-spacing:-1.4px; max-width:330px; }
.ac-lobby-destination { display:flex; align-items:center; gap:9px; color:#536848; font-size:13px; font-weight:500; }
.ac-lobby-destination svg { width:17px; height:17px; color:#7f9270; }
.ac-lobby-destination > span { overflow-wrap:anywhere; }
.ac-lobby-intro > p { margin:10px 0 27px; color:#8a907f; font-size:12px; line-height:1.8; }
.ac-lobby-recording { display:flex; align-items:start; gap:11px; padding:21px 0 0; border-top:1px solid #dedfd3; }
.ac-lobby-record-icon { display:grid; place-items:center; flex-shrink:0; width:25px; height:25px; margin-top:1px; color:#9e8066; background:#efe8dd; border-radius:7px; }
.ac-lobby-record-icon svg { width:15px; height:15px; }
.ac-lobby-recording strong { display:block; font-size:12px; font-weight:550; color:#626e56; }
.ac-lobby-recording p { margin:7px 0 0; font-size:11px; color:#8b917f; line-height:1.75; }
.ac-lobby-capture-status { display:grid; gap:8px; padding:15px 0 0 36px; }
.ac-lobby-capture-status > div { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; color:#909582; }
.ac-lobby-capture-status strong { color:#8f815b; font-size:10px; font-weight:450; }
.ac-lobby-capture-status strong.is-active,.ac-lobby-capture-status strong.is-failed { color:#a55b4a; }
.ac-lobby-capture-status strong.is-ready { color:#627e50; }
#allies-call-root .ac-lobby-acknowledge { display:flex; align-items:start; gap:10px; margin:23px 0 19px; font-size:11px; color:#727d65; line-height:1.7; cursor:pointer; }
#allies-call-root .ac-lobby-acknowledge input[type=checkbox] { width:15px; height:15px; flex-shrink:0; accent-color:#627b50; margin-top:3px; }
#allies-call-root .ac-lobby-join { display:flex; justify-content:space-between; align-items:center; width:100%; border:1px solid #627b50; border-radius:9px; background:#627b50; color:#fff; padding:13px 17px; font-size:13px; font-weight:500; }
#allies-call-root .ac-lobby-join:hover:not(:disabled) { background:#506940; }
#allies-call-root .ac-lobby-join:disabled { background:#dce2d1; border-color:#dce2d1; color:#8c997c; opacity:1; }
.ac-lobby-join svg { width:17px; height:17px; }
.ac-lobby-join-note { margin:10px 0 0; text-align:center; font-size:10px; line-height:1.7; color:#969c8b; }
.ac-lobby-local-note { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:25px; color:#9ba18e; font-size:10px; }
.ac-lobby-local-note svg { width:13px; height:13px; }
#allies-call-root .ac-lobby-decline { display:block; margin:12px auto 0; border:0; padding:5px; background:none; color:#8c7663; font-size:11px; }
@media(max-width:1050px) { .ac-lobby-layout { grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr); gap:35px; padding-inline:30px; } .ac-lobby-intro h1 { font-size:31px; } .ac-lobby-preview { aspect-ratio:4/3; } }
@media(max-height:760px) and (min-width:701px) { .ac-lobby-header { padding-block:18px; } .ac-lobby-layout { padding-block:15px 30px; min-height:calc(100dvh - 70px); } .ac-lobby-preview { aspect-ratio:16/9; } .ac-lobby-intro h1 { margin-block:10px 18px; font-size:32px; } .ac-lobby-intro > p { margin-bottom:20px; } .ac-lobby-recording { padding-top:16px; } .ac-lobby-acknowledge { margin-block:18px 14px !important; } .ac-lobby-local-note { margin-top:18px; } }
@media(max-width:700px) { .ac-lobby-header { padding:18px 20px; flex-wrap:wrap; gap:10px; } .ac-lobby-brand { font-size:13px; } .ac-lobby-back { font-size:10px !important; } .ac-lobby-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding:10px 22px 35px; min-height:0; } .ac-lobby-preview { aspect-ratio:16/10; } .ac-lobby-right { max-width:430px; width:100%; margin:auto; } .ac-lobby-intro h1 { margin-bottom:17px; font-size:30px; } .ac-lobby-intro > p { margin-bottom:20px; } .ac-lobby-avatar > span { width:70px; height:70px; font-size:23px; } .ac-lobby-devices { gap:8px; } .ac-lobby-device-heading { margin-top:17px; } }

/* Sending and typing share a quiet, accessible activity indicator. */
.al-typing{display:flex;align-items:center;gap:9px;min-height:30px;padding:5px 22px;color:var(--muted,#757c77);font-size:12px}
.al-typing-dots{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;height:18px}
.al-typing-dots i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;animation:al-typing-pulse 1.2s ease-in-out infinite}
.al-typing-dots i:nth-child(2){animation-delay:.15s}.al-typing-dots i:nth-child(3){animation-delay:.3s}
.al-pending-message{opacity:.75}.al-pending-message p{white-space:pre-wrap;overflow-wrap:anywhere}.al-pending-message [role=status]{font-size:12px;color:var(--muted,#757c77)}
@keyframes al-typing-pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.al-typing-dots i{animation:none;opacity:.7}}

/* Message formatting remains text-only except the escaped inline tokens. */
.al-message-body code { padding:2px 5px; border-radius:4px; background:var(--canvas); font: .9em ui-monospace, SFMono-Regular, Menlo, monospace; }
.al-message-body .al-code-block { display:block; margin:8px 0; padding:12px; white-space:pre-wrap; }
.al-message-body a { color:var(--teal); text-decoration:underline; text-underline-offset:2px; }
.al-pending-message [role="status"] { display:inline-flex; align-items:center; gap:6px; margin-top:4px; color:var(--muted); font-size:11px; }
.al-pending-message[data-state="failed"] [role="status"] { color:var(--danger, #a43b35); }
.al-pending-message [data-al-action="retry-send"], .al-pending-message [data-al-action="support-retry"] { margin-left:10px; text-decoration:underline; color:var(--ink); }
@media (prefers-reduced-motion: reduce) { .al-typing-dots i { animation:none; } }

/* Slack / Teams feel (Jacob, 2026-10-25): tight rows, square avatars, name + time on one line, consecutive messages grouped. */
.al-message { padding: 5px 20px; gap: 10px; }
.al-message:hover { background: #f7f8f6; }
.al-avatar { width: 36px; height: 36px; border-radius: 8px; font-size: 12px; }
.al-message-body header { gap: 8px; min-height: 20px; }
.al-message-body header strong { font-size: 15px; font-weight: 700; }
.al-message-body time { font-size: 12px; color: #6b7280; }
.al-message-body p { margin: 1px 0 0; font-size: 15px; line-height: 1.5; }
.al-message.is-grouped { padding-top: 2px; padding-bottom: 2px; }
.al-message .al-hover-time { width: 36px; flex-shrink: 0; padding-top: 3px; text-align: right; font-size: 11px; color: #9ca3af; opacity: 0; }
.al-message.is-grouped:hover .al-hover-time { opacity: 1; }
.al-message-actions { top: -12px; right: 20px; }
/* Composer like Slack: one bordered box, tools on the left, send on the right, no hint line. */
.al-composer { margin: 10px 20px 12px; border-radius: 12px; border-color: #d9dde3; }
.al-composer:focus-within { border-color: #9aa6b2; box-shadow: 0 0 0 3px #9aa6b21a; }
.al-composer textarea { padding: 12px 14px 4px; font-size: 15px; min-height: 44px; }
.al-composer footer { padding: 2px 8px 8px 8px; }
.al-compose-tools { display: flex; align-items: center; gap: 2px; }
.al-compose-tools button { width: 30px; height: 28px; display: grid; place-items: center; border-radius: 6px; color: #6b7280; background: transparent; }
.al-compose-tools button:hover, .al-compose-tools button[aria-expanded="true"] { background: #eef0f3; color: #111; }
.al-composer-hint { display: none; }
.al-composer footer > button[type="submit"] { width: 32px; height: 30px; border-radius: 8px; background: #137333; }
.al-composer footer > button[type="submit"]:disabled { background: #e5e7eb; color: #9ca3af; }
.al-emoji-anchor { position: relative; }
.al-emoji-glyph { font-size: 17px; line-height: 1; }
.al-emoji-picker { position: absolute; left: 0; bottom: calc(100% + 6px); z-index: 20; display: grid; grid-template-columns: repeat(8, 32px); gap: 2px; padding: 6px; border: 1px solid #d9dde3; border-radius: 10px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.14); }
.al-emoji-picker button { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 6px; font-size: 18px; background: transparent; }
.al-emoji-picker button:hover { background: #eef0f3; }

/* Pins 63-64 (2026-10-25): denser header, tabs, sidebar sections; bigger avatars with tighter text. */
.al-conversation-header { min-height: 50px; padding: 0 20px; }
.al-tabs button { padding: 9px 0; }
.al-messages { padding: 8px 0 6px; }
.al-day { margin: 0 20px 10px; }
.al-avatar { width: 40px; height: 40px; border-radius: 9px; font-size: 13px; }
.al-message .al-hover-time { width: 40px; }
.al-message-body header { min-height: 18px; }
.al-message-body p { margin: 0; line-height: 1.45; }
.al-sidebar-scroll { padding-top: 10px; }
.al-sidebar-scroll section + section { margin-top: 10px; }
.al-sidebar-scroll section > header { margin-bottom: 2px; }
.al-channel { min-height: 31px; height: 31px; }
