/* M29B1 – company profile (uses existing tokens only) */
.xa-co-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.xa-co-row input[type="text"], .xa-co-row input:not([type]), .xa-co-row input[inputmode] { flex: 1 1 160px; min-width: 0; }
.xa-co-logo { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; border: 1px solid var(--line-2); background: var(--surface); display: inline-grid; place-items: center; }
.xa-co-logo.ph { color: var(--muted, #888); }
.xa-co-head { display: flex; align-items: center; gap: 14px; }
.xa-co-head .xa-co-logo { width: 44px; height: 44px; flex: none; }
.xa-co-todo { margin-bottom: 12px; }
.xa-icon-btn[data-bell] { position: relative; }
.xa-bell-badge { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--danger, #d92d20); color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; }
.xa-notif-body { max-height: 60vh; overflow: auto; }
.xa-notif-body .xa-task { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; }
.xa-notif-body .xa-task-main { display: flex; flex-direction: column; text-align: left; }
.xa-notif-body .xa-list { list-style: none; margin: 0; padding: 0; }
.xa-help { width: 22px; height: 22px; margin-left: 8px; border-radius: 50%; border: 1px solid var(--line-2, #ccd); background: var(--surface); color: var(--muted, #667); font: 700 13px/1 inherit; cursor: pointer; vertical-align: middle; padding: 0; }
.xa-help:hover, .xa-help:focus-visible { border-color: var(--brand, #2a4bd7); color: var(--brand, #2a4bd7); }
.xa-help-pop { position: fixed; z-index: 80; width: min(320px, calc(100vw - 16px)); padding: 14px; border-radius: 14px; border: 1px solid var(--line, #dde); background: color-mix(in srgb, var(--surface) 90%, transparent); backdrop-filter: blur(10px); box-shadow: var(--shadow-lg); }
.xa-help-pop p { margin: 0 0 10px; line-height: 1.45; }
.xa-field > label:has(.xa-help) { display: flex; align-items: center; gap: 8px; }
.xa-field > label .xa-help { margin-left: 0; flex: none; }

/* M29B2a – inactive "coming soon" tiles */
.xa-soon-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.xa-soon-item { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px dashed var(--line, rgba(128,128,128,.4)); border-radius: 12px; opacity: .6; cursor: default; user-select: none; }
.xa-soon-item .xi { width: 18px; height: 18px; flex: none; }
.xa-soon-item span { font-weight: 600; font-size: 14px; flex: 1; min-width: 0; }
.xa-soon-item em { font-style: normal; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: rgba(128,128,128,.18); }

/* M29B2a fix: icon + name on one line, badge underneath (no overlap in narrow tiles) */
.xa-soon-item { display: grid; grid-template-columns: 18px 1fr; column-gap: 8px; row-gap: 4px; align-items: center; }
.xa-soon-item span { overflow-wrap: anywhere; }
.xa-soon-item em { grid-column: 2; justify-self: start; }
/* dictation button */
.xa-dict-host { position: relative; }
.xa-dict-host textarea { padding-right: 52px; }
.xa-dict { position: absolute; right: 10px; bottom: 10px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line, rgba(128,128,128,.4)); background: var(--card, transparent); color: inherit; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.xa-dict .xi { width: 18px; height: 18px; }
.xa-dict .xa-eq { display: none; gap: 2px; align-items: center; height: 16px; }
.xa-dict .xa-eq i { display: block; width: 3px; height: 6px; border-radius: 2px; background: currentColor; animation: xa-eq 0.9s ease-in-out infinite; }
.xa-dict .xa-eq i:nth-child(2) { animation-delay: .15s; } .xa-dict .xa-eq i:nth-child(3) { animation-delay: .3s; } .xa-dict .xa-eq i:nth-child(4) { animation-delay: .45s; }
.xa-dict.on { background: var(--primary, #2f55e6); color: #fff; border-color: transparent; }
.xa-dict.on .xi { display: none; } .xa-dict.on .xa-eq { display: inline-flex; }
@keyframes xa-eq { 0%, 100% { height: 5px; } 50% { height: 16px; } }
@media (prefers-reduced-motion: reduce) { .xa-dict .xa-eq i { animation: none; height: 10px; } }

a.xa-recent { text-decoration: none; color: inherit; }

/* documents page */
.xa-docs .xa-docs-list { margin: 14px 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.xa-docs .xa-docs-note { opacity: .8; margin: 6px 0 14px; }

/* personal avatar */
.xa-avatar { overflow: hidden; }
.xa-avatar .xa-avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.xa-av-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* why block, sign-in footer, language button */
.xa-why summary { cursor: pointer; list-style: none; display: grid; gap: 2px; }
.xa-why summary::-webkit-details-marker { display: none; }
.xa-why-motto { font-weight: 700; font-size: 17px; }
.xa-why-more { font-size: 13px; color: var(--primary, #3b5bdb); }
.xa-why-more::after { content: ' \25BE'; }
.xa-why[open] .xa-why-more::after { content: ' \25B4'; }
.xa-why p { margin: 10px 0 0; line-height: 1.5; }
.xa-why-list { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 4px; }
.xa-why-list .now { font-weight: 600; }
.xa-why-src { font-size: 12px; opacity: .75; }
.xa-why-src a { color: inherit; }
.xa-auth-foot { display: grid; gap: 12px; border-top: 1px solid var(--line, #dfe3ee); padding-top: 14px; }
.xa-auth-lang { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.xa-auth-lang select { font: inherit; padding: 6px 10px; border-radius: 10px; border: 1px solid var(--line, #dfe3ee); background: var(--surface, #fff); color: inherit; }
.xa-lang-btn { width: auto; min-width: 40px; padding: 0 8px; font-weight: 700; font-size: 12px; letter-spacing: .04em; }
/* company brand in the top bar */
.xa-brand-co img { width: 34px; height: 34px; object-fit: contain; background: var(--surface, #fff); border: 1px solid var(--line-2, #e3e7f1); padding: 2px; }
.xa-brand-co span { display: grid; line-height: 1.1; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xa-brand-co small { font-size: 11px; font-weight: 600; opacity: .6; }
