:root {
  --bg: #eaf1fa; --surface: rgb(255 255 255 / 94%); --surface-subtle: rgb(244 247 252 / 97%); --line: #cdd8e6;
  --text: #22364d; --muted: #43566d; --accent: #285b9e;
  --accent-hover: #204a83; --accent-soft: #e5eefc; --success: #287351; --success-soft: #e9f4ed;
  --warning: #8b6018; --warning-soft: #fff4d9; --danger: #b13737; --danger-soft: #fceeee;
  --info: #38639a; --info-soft: #edf3fc;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s8: 32px;
  --text-base: 14px; --text-title: 27px;
  --radius: 7px; --radius-panel: 12px; --shadow: 0 3px 16px #162b450c;
  --workspace-surface: rgb(255 255 255 / 92%); --data-surface: rgb(255 255 255 / 98%);
  --shell-surface: rgb(20 30 55 / 16%); --topbar-surface: rgb(20 30 55 / 11%);
  --shell-blur: 6px; --shell-saturation: 110%; --shell-ink: rgb(255 255 255 / 96%); --shell-muted: rgb(255 255 255 / 80%); --shell-disabled-ink: rgb(255 255 255 / 88%);
  --shell-active-ink: #ffffff; --shell-accent: #8ec5ff; --shell-edge: rgb(255 255 255 / 18%);
  --shell-text-shadow: 0 1px 2px rgb(10 20 35 / 55%), 0 0 8px rgb(10 20 35 / 20%); --shell-icon-shadow: drop-shadow(0 1px 2px rgb(10 20 35 / 55%)) drop-shadow(0 0 8px rgb(10 20 35 / 20%)); --shell-focus: #ffffff;
  --shell-contrast: 92%; --topbar-contrast: 94%;
  --shell-material-filter: blur(var(--shell-blur)) saturate(var(--shell-saturation)) contrast(var(--shell-contrast)); --shell-inner-highlight: rgb(255 255 255 / 8%);
  --control-glass: rgb(255 255 255 / 18%); --control-border: rgb(255 255 255 / 32%);
  --utility-surface: rgb(255 255 255 / 58%);
  --glass-hover: rgb(255 255 255 / 8%); --glass-active: rgb(255 255 255 / 16%);
  --glass-highlight: rgb(255 255 255 / 18%); --local-blur: 16px;
  --control: 36px; --row-height: 58px; --focus: 0 0 0 3px #58a9ec70;
  --dropdown-height:42px; --dropdown-border:rgb(128 151 177 / 72%); --dropdown-border-hover:rgb(79 119 158 / 86%);
  --dropdown-radius:10px; --dropdown-padding-inline:12px; --dropdown-chevron-width:12px; --dropdown-chevron-height:8px; --dropdown-chevron-offset:14px;
  --dropdown-chevron-image:url("./dropdown-chevron.svg"); --editable-control-background:#fff;
  --sidebar-width: 232px;
  /* OD-128: light frosted glass of content panels (approved for the calendar first). */
  --frost-surface: rgb(255 255 255 / 72%); --frost-edge: rgb(255 255 255 / 65%); --frost-filter: blur(22px) saturate(140%);
  --frost-radius: 22px; --frost-shadow: 0 12px 34px rgb(30 40 60 / 14%); --frost-control: rgb(255 255 255 / 60%); --frost-line: rgb(23 35 56 / 10%);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--text-base); color: var(--text); background: var(--bg);
}
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #348bcc; outline-offset: 3px; box-shadow: var(--focus); }
h1,h2,h3,p { margin: 0; }
h1 { font-size: var(--text-title); letter-spacing: -.7px; font-weight: 600; line-height: 1.3; }
h2 { font-size: var(--text-base); font-weight: 600; }
h3 { font-size: var(--text-base); font-weight: 500; }
.icon { width: 20px; height: 20px; flex: 0 0 20px; }
.workspace { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.sidebar { position:sticky; top:0; height:100vh; padding:0 var(--s3); display:flex; flex-direction:column; z-index:30; overflow-y:auto; }
.brand { display:flex; align-items:center; gap:var(--s3); padding:18px var(--s3); min-height:76px; font-size:26px; font-weight:600; letter-spacing:-.5px; }
.brand-mark { background:#e5eefc; color:var(--accent); width:33px; height:33px; line-height:28px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; font-size:30px; text-align:center; flex-shrink:0; position:relative; }
.brand-mark span { font-size: 20px; position: absolute; right: 3px; top: 2px; }
.brand-logo-image { display:block; width:112px; max-height:40px; object-fit:contain; object-position:left center; }
.brand-word { display:flex; flex-direction:column; gap:0; align-items:baseline; }
.brand-caption { font-size:7px; letter-spacing:1px; color:var(--shell-muted); font-weight:500; }
.workspace-label { display: flex; align-items: center; gap: 10px; border: 1px solid var(--shell-edge); border-radius: var(--radius); margin: var(--s1) 0 var(--s8); padding: var(--s3); }
.workspace-label strong { font-size: 12px; font-weight: 500; display: block; }
.workspace-label small { color:var(--shell-muted); font-size:10px; display:block; }
.organization-copy { min-width:0; flex:1; }
.organization-copy strong,.organization-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.organization-copy>label,.organization-switcher>label { display:block; color:var(--shell-muted); font-size:9px; letter-spacing:.7px; margin-bottom:3px; }
.organization-copy>select option,.organization-switcher select option { color:var(--text); background:white; }
.organization-switcher>div { display:flex; gap:4px; min-width:0; }
.organization-switcher select { flex:1; min-width:0; }
.organization-switcher button { min-height:27px; border:1px solid var(--shell-edge); border-radius:var(--radius); background:var(--control-glass); color:var(--shell-ink); padding:3px 6px; font-size:9px; text-shadow:var(--shell-text-shadow); }
.organization-switcher button:hover { background:var(--glass-active); }
.nav-heading { font-size:9px; letter-spacing:1.5px; color:var(--shell-muted); padding:0 var(--s3) var(--s2); }
.nav-link { display: flex; align-items: center; gap: var(--s3); min-height: 42px; padding: 0 var(--s3); margin: 3px 0; font-size: 13px; background: none; color: var(--text); width: 100%; border-radius: 12px; text-align: left; position:relative; border:1px solid transparent; }
a.nav-link:hover, button.nav-link:hover { background:var(--glass-hover); color:var(--shell-ink); }
.nav-link.is-active { color:var(--shell-active-ink); background:var(--glass-active); border-color:rgb(255 255 255 / 25%); box-shadow:inset 0 1px 0 var(--glass-highlight), 0 2px 8px #10253b0a; -webkit-backdrop-filter:blur(var(--local-blur)); backdrop-filter:blur(var(--local-blur)); }
.nav-link.is-active:hover { background:rgb(255 255 255 / 16%); }
.nav-link.is-active::before { content:""; position:absolute; left:3px; top:14px; bottom:14px; width:2px; border-radius:2px; background:var(--shell-accent); }
.nav-link.is-active .icon { color: currentColor; }
.nav-divider { height: 1px; background:var(--shell-edge); margin:var(--s6) var(--s3); }
.is-disabled { cursor:default; }
.soon { font-size: 9px; margin-left: var(--s2); border: 1px solid #ffffff20; padding: 1px 5px; border-radius: 3px; }
.sidebar-bottom { margin-top: auto; padding-top: var(--s8); }
.sidebar-foot { border-top:1px solid #ffffff12; display:flex; align-items:center; gap:var(--s2); padding:var(--s4) var(--s3); color:var(--shell-muted); font-size:10px; }
.sidebar-foot>span:last-child { margin-left: auto; }
.tiny-dot { width: 5px; height: 5px; border-radius: 50%; background: #83ad98; }
.main-shell { min-width: 0; }
.topbar { height:60px; padding:0 24px; background:var(--topbar-surface); border-bottom:1px solid var(--shell-edge); display:flex; align-items:center; justify-content:space-between; gap:var(--s4); }
.breadcrumbs, .topbar-actions { display: flex; align-items: center; gap: var(--s4); font-size: 12px; }
.breadcrumbs>span { color: var(--muted); }
.breadcrumbs strong { font-weight: 500; }
/* B52-DEF-009: a long Project/Task/Provider name in the top bar is cut with
   an ellipsis inside its own area and never pushes the tools off screen. */
.topbar .breadcrumbs { flex:1 1 auto; min-width:0; overflow:hidden; }
.topbar .breadcrumbs>*:not(strong) { flex:none; }
.topbar .breadcrumbs strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topbar .global-tools,.topbar .topbar-actions { flex-shrink:0; }
.breadcrumb-separator { color: #adb6bf !important; }
.topbar-actions { gap: var(--s3); }
.session-label { display:none; }
.icon-button { width: var(--control); height: var(--control); border-radius: var(--radius); border: 1px solid transparent; background: transparent; display: inline-flex; justify-content: center; align-items: center; color: var(--muted); }
.icon-button:hover { background: var(--bg); color: var(--text); }
.avatar { background: #e9eef3; color: #4b5b70; border: 2px solid white; box-shadow: 0 0 0 1px var(--line); width: 31px; height: 31px; border-radius: 50%; display: inline-grid; place-items: center; font-size: 10px; font-weight: 600; flex-shrink: 0; }
.account { position: relative; }
.account summary { list-style: none; cursor: pointer; border-radius: 50%; }
.account summary::-webkit-details-marker { display:none; }
.account-menu { position: absolute; right: 0; top: 45px; border: 1px solid var(--line); box-shadow: 0 8px 25px #172b3a18; width: 240px; padding: var(--s4); border-radius: var(--radius); z-index: 40; }
.account-menu p { color: var(--muted); font-size: 12px; margin: 8px 0 12px; }
.preview-bar { min-height: 37px; padding: 5px var(--s8); background:transparent; color:#24364a; border:0; font-size:10px; display:flex; justify-content:space-between; align-items:center; gap:var(--s3); }
.preview-bar strong { font-weight: 600; }
.preview-bar>span,.preview-control { background:var(--utility-surface); border:1px solid rgb(255 255 255 / 42%); border-radius:999px; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.preview-bar>span { padding:4px 9px; }
.preview-control { display:flex; align-items:center; gap:var(--s2); padding:3px 4px 3px 9px; }
main { max-width:1500px; margin:0 auto; padding:24px; }
.page-header { display:flex; justify-content:space-between; align-items:flex-end; gap:var(--s4); min-width:0; margin:0 0 10px; padding:6px 0 0; color:var(--shell-ink); background:transparent; text-shadow:var(--shell-text-shadow); }
.page-header-copy { min-width:0; }
.page-header-title-row { display:flex; align-items:center; gap:7px; min-width:0; }
.page-header-title-row h1 { margin:0; font-size:25px; line-height:1.2; }
.page-header-count { min-width:24px; min-height:24px; display:inline-flex; align-items:center; justify-content:center; padding:3px 7px; border:1px solid rgb(96 126 158 / 22%); border-radius:999px; background:rgb(255 255 255 / 82%); color:#526980; font-size:11px; font-weight:700; text-shadow:none; }
.page-header-kicker { margin-bottom:3px; color:var(--shell-accent); }
.page-header-metadata { color:var(--shell-muted); font-size:11px; font-weight:600; }
.page-header-action { flex:0 0 auto; }
.button.page-header-action { min-height:34px; padding:5px 10px; white-space:nowrap; }
.button.page-header-action:disabled { opacity:.74; }
.eyebrow { font-size: 9px; font-weight: 600; letter-spacing: 1.5px; color: var(--accent); margin-bottom: var(--s2); }
.page-header p { max-width:680px; margin:4px 0 0; color:var(--shell-muted); font-size:12px; }
.badge { display: inline-flex; align-items: center; gap: 5px; width: max-content; padding: 3px 7px; border-radius: 4px; font-size: 10px; font-weight: 500; white-space: nowrap; }
.neutral { background: #eff1f4; color: #5e6a78; }
.success { background: var(--success-soft); color: var(--success); }
.warning { background: var(--warning-soft); color: var(--warning); }
.entity-status-badge { padding:4px 8px; border:0; font-weight:700; line-height:1.35; }
.entity-status-draft { background:#526273; color:#fff; }
.entity-status-active { background:#137a43; color:#fff; }
.entity-status-paused { background:#d99a00; color:#2b1a00; }
.danger { background: var(--danger-soft); color: var(--danger); }
.info { background: var(--info-soft); color: var(--info); }
.work-status-badge { min-height:24px; justify-content:center; padding:4px 9px; border:1px solid var(--work-status-border); border-radius:6px; background:var(--work-status-bg); color:var(--work-status-fg); font-size:10px; font-weight:750; line-height:1.25; letter-spacing:.01em; }
.work-status-new { --work-status-border:var(--accent); --work-status-bg:var(--accent); --work-status-fg:#fff; }
.work-status-waiting,.work-status-draft { --work-status-border:var(--accent); --work-status-bg:var(--accent); --work-status-fg:#fff; }
.work-status-in_progress { --work-status-border:var(--accent-hover); --work-status-bg:var(--accent-hover); --work-status-fg:#fff; }
.work-status-needs_clarification { --work-status-border:#d2a52d; --work-status-bg:#f2c14e; --work-status-fg:#3a2900; }
.work-status-completed { --work-status-border:#287351; --work-status-bg:#287351; --work-status-fg:#fff; }
.work-status-partially_completed { --work-status-border:#776421; --work-status-bg:#9b842d; --work-status-fg:#fff; }
.work-status-unsuccessful { --work-status-border:#85502d; --work-status-bg:#9b5c32; --work-status-fg:#fff; }
.work-status-cancelled { --work-status-border:#a63131; --work-status-bg:#b13737; --work-status-fg:#fff; }
.overview-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-bottom: var(--s6); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-panel); box-shadow: var(--shadow); }
.overview-item { display: flex; align-items: center; gap: var(--s3); padding: var(--s5); }
.overview-item + .overview-item { border-left: 1px solid var(--line); }
.overview-item:hover { background: var(--surface-subtle); }
.overview-item strong { font-size: 12px; font-weight: 600; display: block; }
.overview-item small { font-size: 11px; color: var(--muted); }
.overview-item>.icon { margin-left: auto; width: 16px; flex-basis:16px; color: #89949e; }
.tile-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:7px; color:var(--accent); background:var(--accent-soft); flex-shrink:0; }
.tile-icon.small { width:29px; height:29px; background:var(--bg); color:var(--muted); }
.dashboard-grid { display:grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap:var(--s5); }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-panel); box-shadow:var(--shadow); overflow: clip; }
.panel-heading { padding:var(--s4) var(--s5); display:flex; justify-content:space-between; align-items:center; gap:var(--s3); border-bottom:1px solid var(--line); min-height:68px; }
.caption { font-size:11px; color:var(--muted); }
.text-link { color:var(--muted); font-size:11px; white-space:nowrap; }
.text-link:hover { color:var(--accent); text-decoration:underline; }
.panel-toolbar { display:flex; justify-content:space-between; align-items:center; padding:0 var(--s5); height:41px; border-bottom:1px solid var(--line); background:var(--surface-subtle); }
.tab-label { font-size:11px; color:var(--accent); font-weight:600; line-height:40px; border-bottom:2px solid var(--accent); }
.surface { min-height: 225px; }
.empty-state { min-height:225px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s2); padding:var(--s6); text-align:center; }
.empty-state p { color:var(--muted); font-size:12px; max-width:290px; }
.empty-state .badge { margin-top:var(--s2); }
.state-symbol { display:grid; place-items:center; width:35px; height:35px; background:var(--bg); color:var(--muted); border-radius:50%; font-size:20px; margin-bottom:var(--s1); }
.page-footer { color:var(--muted); font-size:10px; display:flex; justify-content:space-between; gap:var(--s4); margin-top:var(--s6); padding-top:var(--s4); }
.section-placeholder { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s4); text-align:center; padding:var(--s8); }
.section-placeholder p { max-width:440px; color:var(--muted); }
.access-denied-layout,.not-found-layout { min-height:clamp(380px,calc(100vh - 108px),660px); display:grid; place-items:center; padding:clamp(12px,3vw,32px); }
.access-denied-card,.not-found-layout .not-found-card { width:min(100%,500px); display:flex; flex-direction:column; align-items:center; padding:32px clamp(20px,4vw,42px); border:1px solid rgb(255 255 255 / 68%); border-radius:var(--radius-panel); background:rgb(255 255 255 / 95%); box-shadow:0 16px 44px rgb(21 43 68 / 16%),inset 0 1px 0 rgb(255 255 255 / 72%); text-align:center; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.access-denied-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:16px; border:1px solid rgb(177 55 55 / 18%); border-radius:50%; background:var(--danger-soft); color:var(--danger); }
.access-denied-icon .icon { width:25px; height:25px; flex-basis:25px; }
.access-denied-card h1,.not-found-layout .not-found-card h1 { font-size:24px; letter-spacing:-.35px; }
.access-denied-lead,.not-found-lead { margin-top:10px; color:var(--text); font-size:14px; }
.access-denied-help,.not-found-help { max-width:390px; margin-top:7px; color:var(--muted); font-size:12px; line-height:1.55; }
.access-denied-actions,.not-found-layout .not-found-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:24px; }
.access-denied-actions .button,.not-found-layout .not-found-actions .button { min-width:148px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:var(--s3); border-radius:var(--radius); min-height:var(--control); border:1px solid transparent; padding:7px 13px; font-weight:500; font-size:12px; }
.primary { background:var(--accent); color:white; }
.primary:hover { background:var(--accent-hover); }
.primary:active { background:#193c68; }
/* One primary action (reference: «＋ Создать проект»): accent fill, no shadow, the same on glass headers. */
.button.primary { border-color:transparent; background:var(--accent); color:white; box-shadow:none; text-shadow:none; }
.button.primary:hover { background:var(--accent-hover); }
.button.primary:active { background:#193c68; }
.secondary { background:white; border-color:var(--line); color:var(--text); }
.secondary:hover { background:var(--bg); }
.text-button { border:0; background:transparent; color:var(--accent); padding:8px 0; font-size:12px; }
.field { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:500; margin-top:var(--s4); }
input,textarea { background:white; border:1px solid #cbd2da; border-radius:var(--radius); color:var(--text); min-height:var(--control); padding:8px 10px; max-width:100%; }
input[aria-invalid="true"] { border-color:var(--danger); }
.error-message { background:var(--danger-soft); color:var(--danger); padding:var(--s3); font-size:12px; margin:var(--s4) 0; border-radius:var(--radius); }
.muted { color:var(--muted); font-size:13px; }
.full { width:100%; }
.mobile-menu { display:none; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:8px 16px; background:white; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.nav-scrim { position:fixed; inset:0; background:#102c3060; border:0; z-index:25; }
.feedback,.noscript { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:var(--text); color:white; padding:var(--s3) var(--s5); border-radius:var(--radius); box-shadow:var(--shadow); z-index:60; max-width:90vw; }
.is-collapsed { --sidebar-width:72px; }
.is-collapsed .sidebar-copy,.is-collapsed .brand-word { display:none; }
.is-collapsed .brand { padding-left:6px; }
.is-collapsed .workspace-label { border:0; padding:8px; }
.is-collapsed .nav-link { justify-content:center; }
.auth-layout { --auth-card-width:436px; --auth-enrollment-width:572px; --auth-input-height:44px; --auth-primary-height:45px; --auth-totp-width:48px; --auth-totp-height:52px; --auth-totp-gap:8px; --auth-totp-row-width:328px; width:100%; max-width:none; min-height:100vh; padding:clamp(20px,4vh,42px) 20px; display:grid; place-items:center; align-content:center; gap:10px; }
.auth-card { width:min(100%,var(--auth-card-width)); padding:24px 28px 21px; border:1px solid rgb(255 255 255 / 64%); border-radius:24px; background:rgb(244 249 255 / 66%); box-shadow:inset 0 1px 0 rgb(255 255 255 / 58%), 0 22px 65px rgb(20 42 72 / 18%); -webkit-backdrop-filter:blur(24px) saturate(108%); backdrop-filter:blur(24px) saturate(108%); }
.auth-layout[data-auth-stage="enrollment"] .auth-card { width:min(100%,var(--auth-enrollment-width)); padding:22px 24px 20px; }
.auth-branding { display:flex; flex-direction:column; align-items:center; gap:2px; }
.auth-brand { min-height:0; padding:0; color:#18324a; justify-content:center; }
.auth-brand .brand-mark { width:35px; height:35px; border:1px solid rgb(83 119 157 / 20%); border-radius:10px; background:rgb(255 255 255 / 46%); color:var(--accent); box-shadow:inset 0 1px 0 rgb(255 255 255 / 72%); }
.auth-brand .brand-logo-image { width:auto; max-width:170px; max-height:42px; object-position:center; }
.auth-brand .brand-word { font-size:24px; font-weight:700; letter-spacing:-.6px; }
.auth-heading { margin:18px auto 17px; text-align:center; color:#18324a; }
.auth-heading h1 { font-size:27px; line-height:1.2; letter-spacing:-.8px; }
.auth-heading p { max-width:520px; margin:6px auto 0; color:#40566d; font-size:13px; }
.auth-field { display:block; margin:12px 0 6px; color:#263f59; font-size:12px; font-weight:600; }
.auth-card input { width:100%; min-height:var(--auth-input-height); padding:9px 12px; border:1px solid rgb(105 132 161 / 34%); border-radius:12px; background:rgb(255 255 255 / 74%); color:#18324a; box-shadow:inset 0 1px 0 rgb(255 255 255 / 82%); }
.auth-card input:hover { border-color:rgb(63 102 143 / 46%); }
.auth-card input:focus-visible { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 18%); }
.auth-label-line { display:flex; align-items:center; justify-content:space-between; }
.password-control { position:relative; }
.password-control input { padding-right:84px; }
.password-visibility { position:absolute; top:50%; right:7px; transform:translateY(-50%); min-height:32px; padding:5px 9px; border:0; border-radius:8px; background:transparent; color:#2e6293; font-size:11px; font-weight:600; }
.password-visibility:hover { background:rgb(40 91 158 / 8%); }
.auth-primary { min-height:var(--auth-primary-height); margin-top:16px; border:1px solid rgb(32 74 131 / 26%); border-radius:12px; background:var(--accent); color:white; box-shadow:inset 0 1px 0 rgb(255 255 255 / 25%), 0 8px 20px rgb(32 74 131 / 18%); font-size:13px; font-weight:650; }
.auth-primary:hover { background:var(--accent-hover); }
.auth-primary:active { background:#193c68; }
.auth-primary:disabled { background:#7f9cc2; box-shadow:none; opacity:.72; }
.auth-secondary-actions { display:flex; flex-direction:column; align-items:center; gap:2px; margin-top:9px; }
.auth-card .text-button { color:#285b9e; font-size:11px; }
.auth-card .text-button:hover { color:#193f72; text-decoration:underline; }
.auth-restart { margin-top:4px; }
.code-entry>.auth-field { text-align:center; }
.totp-control { position:relative; }
.totp-control>input { position:absolute; inset:0; z-index:2; width:100%; height:100%; padding:0; border:0; background:transparent; color:transparent; caret-color:transparent; opacity:.01; }
.totp-cells { width:min(100%,var(--auth-totp-row-width)); display:grid; grid-template-columns:repeat(6,minmax(0,var(--auth-totp-width))); justify-content:center; gap:var(--auth-totp-gap); margin-inline:auto; }
.totp-cell { height:var(--auth-totp-height); display:grid; place-items:center; border:1px solid rgb(94 125 158 / 38%); border-radius:11px; background:rgb(255 255 255 / 70%); color:#18324a; box-shadow:inset 0 1px 0 rgb(255 255 255 / 84%); font-size:22px; font-weight:650; }
.totp-cell.is-filled { border-color:rgb(40 91 158 / 54%); }
.totp-control:focus-within .totp-cell { border-color:#348bcc; box-shadow:0 0 0 2px rgb(52 139 204 / 16%), inset 0 1px 0 rgb(255 255 255 / 84%); }
.code-entry .caption { margin-top:6px; text-align:center; }
.auth-layout[data-auth-stage="enrollment"] .auth-heading { margin:15px auto 14px; }
.enrollment-setup { margin-bottom:10px; }
.enrollment-grid { display:grid; grid-template-columns:minmax(0,1fr) 166px; align-items:center; gap:14px; padding:11px; border:1px solid rgb(109 139 171 / 26%); border-radius:16px; background:rgb(255 255 255 / 30%); }
.enrollment-instructions ol { display:flex; flex-direction:column; gap:10px; padding:0; margin:0; list-style:none; }
.enrollment-instructions li { display:flex; align-items:center; gap:10px; color:#29435e; font-size:12px; font-weight:550; }
.enrollment-instructions li>span { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border:1px solid rgb(40 91 158 / 24%); border-radius:50%; background:rgb(255 255 255 / 58%); color:#285b9e; font-weight:700; }
.enrollment-qr { width:156px; max-width:100%; aspect-ratio:1; margin:auto; padding:8px; border:1px solid rgb(86 116 148 / 32%); border-radius:14px; background:white; box-shadow:0 10px 25px rgb(27 58 91 / 12%); }
.enrollment-qr svg { display:block; width:100%; height:100%; }
.manual-setup { margin-top:8px; padding:9px 11px; border:1px solid rgb(109 139 171 / 24%); border-radius:14px; background:rgb(255 255 255 / 28%); }
.manual-setup-title { color:#29435e; font-size:12px; font-weight:650; }
.manual-setup .caption { margin-top:2px; }
.enrollment-secret-row { display:flex; align-items:stretch; gap:7px; margin-top:6px; }
.enrollment-secret { min-width:0; min-height:var(--auth-input-height); flex:1; display:flex; align-items:center; padding:8px 10px; overflow-wrap:anywhere; user-select:all; border:1px solid rgb(105 132 161 / 32%); border-radius:10px; background:rgb(255 255 255 / 64%); color:#18324a; font-size:12px; letter-spacing:.6px; }
.copy-secret-button { min-height:var(--auth-input-height); flex:0 0 auto; padding:7px 10px; border:1px solid rgb(105 132 161 / 32%); border-radius:10px; background:rgb(255 255 255 / 50%); color:#285b9e; font-size:11px; font-weight:600; }
.copy-secret-button:hover { background:rgb(255 255 255 / 72%); }
.reset-panel { padding:12px; border:1px solid rgb(109 139 171 / 25%); border-radius:14px; background:rgb(255 255 255 / 31%); color:#40566d; font-size:12px; }
.reset-panel ul { margin:8px 0 0; padding-left:18px; }
.reset-panel li+li { margin-top:3px; }
.auth-result { margin-top:10px; padding:10px; border-radius:10px; background:rgb(226 244 234 / 82%); color:#226345; font-weight:550; }
.auth-message { min-height:0; margin:8px 0 0; border-radius:10px; font-size:11px; }
.auth-message:empty { display:none; }
.auth-status { color:#40566d; text-align:center; }
.auth-success-indicator { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 16px; border-radius:50%; background:#2f9b62; color:white; box-shadow:0 10px 24px rgb(30 115 70 / 22%); font-size:28px; font-weight:700; }
.auth-layout[data-auth-stage="success"] .auth-card { max-width:440px; padding-top:36px; padding-bottom:34px; }
.auth-layout[data-auth-stage="success"] .auth-heading { margin-bottom:8px; }
.auth-layout[data-auth-stage="success"] .auth-security { display:none; }
.auth-security { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:16px; padding-top:13px; border-top:1px solid rgb(91 121 153 / 22%); color:#4e6277; font-size:10px; text-align:center; }
.auth-security .icon { width:16px; height:16px; flex-basis:16px; color:#2f7353; }
.auth-preview-note { max-width:440px; padding:5px 10px; border:1px solid rgb(255 255 255 / 38%); border-radius:999px; background:rgb(244 249 255 / 54%); color:rgb(24 50 74 / 82%); font-size:10px; font-weight:550; text-align:center; text-shadow:0 1px 1px rgb(255 255 255 / 72%); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.task-table { width:100%; border-collapse:collapse; font-size:11px; }
.task-table th { text-align:left; font-size:9px; font-weight:500; text-transform:uppercase; letter-spacing:.7px; color:var(--muted); height:32px; border-bottom:1px solid var(--line); background:var(--surface-subtle); }
.task-table td,.task-table th { padding:8px 12px; }
.task-table td:first-child,.task-table th:first-child { padding-left:20px; }
.task-table td { border-bottom:1px solid var(--line); height:var(--row-height); }
.task-table tr:last-child td { border-bottom:0; }
.row-title { display:block; font-weight:500; font-size:12px; }
.row-subtitle { display:block; font-size:10px; color:var(--muted); margin-top:3px; }
.project-row,.timeline-row { padding:var(--s4) var(--s5); display:flex; align-items:center; gap:var(--s3); border-bottom:1px solid var(--line); }
.project-row:last-child,.timeline-row:last-child { border-bottom:0; }
.project-row .badge { margin-left:auto; }
.project-code { width:33px; height:33px; border:1px solid var(--line); background:var(--surface-subtle); border-radius:6px; display:grid; place-items:center; color:var(--accent); font-size:10px; font-weight:600; flex-shrink:0; }
.projects-surface { min-height:0; }
.table-scroll { max-width:100%; overflow-x:auto; }
.projects-table { min-width:1040px; }
.projects-table th:first-child { width:32%; }
.projects-table time { color:var(--muted); white-space:nowrap; }
.project-no-activity { color:var(--muted); white-space:nowrap; }
.project-participants { display:flex; align-items:center; gap:7px; min-width:0; }
.participant-avatars { display:inline-flex; align-items:center; padding-left:5px; }
.participant-avatar,.participant-overflow { width:24px; height:24px; margin-left:-5px; border:2px solid #f7f9fb; border-radius:50%; background:#dbe9f7; color:#315d88; display:inline-grid; place-items:center; font-size:8px; font-weight:700; line-height:1; box-shadow:0 0 0 1px rgb(122 148 177 / 28%); }
.participant-avatar.is-missing { background:#e8edf2; color:#7a8796; }
.participant-overflow { background:#eef4fa; color:#52708f; font-size:9px; }
.participant-count { color:var(--text); font-size:11px; font-weight:600; }
.participant-missing-label { display:block; margin-top:2px; color:var(--muted); font-size:9px; white-space:nowrap; }
.project-technical-code { display:inline-flex; border:1px solid var(--line); border-radius:5px; background:var(--surface-subtle); color:var(--accent); padding:3px 7px; font-family:ui-monospace, SFMono-Regular, Consolas, monospace; font-size:10px; }
.timeline-row { align-items:flex-start; }
.timeline-row .row-title { font-size:11px; font-weight:400; }
.timeline-row time { margin-left:auto; color:var(--muted); font-size:10px; white-space:nowrap; }
.skeleton-row { padding:var(--s5); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.skeleton { height:10px; background:#edf0f3; width:70%; border-radius:3px; }
.skeleton.short { width:40%; }
@media (max-width:1100px) {
  :root { --sidebar-width:204px; } .brand-caption { display:none; }
  main { padding:var(--s6); } .topbar,.preview-bar { padding-left:var(--s6); padding-right:var(--s6); }
  .dashboard-grid { grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr); } .overview-item { padding:var(--s4); }
}
@media (min-width:761px) and (max-width:950px) {
  :root { --sidebar-width:72px; } .sidebar-copy,.brand-word { display:none; }
  .brand { padding-left:6px; } .workspace-label { border:0; padding:8px; } .nav-link { justify-content:center; } .collapse-control { display:none; }
}
@media (max-width:760px) {
  .workspace { display:block; } .sidebar { position:fixed; left:0; width:250px; transform:translateX(-100%); }
  .nav-open .sidebar { transform:translateX(0); } .nav-open { overflow:hidden; }
  .is-collapsed .sidebar-copy,.is-collapsed .brand-word { display:initial; } .is-collapsed .nav-link { justify-content:flex-start; }
  .mobile-menu { display:inline-flex; } .collapse-control { display:none; } .topbar { height:58px; padding:0 var(--s4); }
  .breadcrumbs { gap:var(--s2); } main { padding:var(--s5) var(--s4); }
  .preview-bar { padding:6px var(--s4); } .preview-note { display:none; }
  .page-header { align-items:flex-start; flex-wrap:wrap; } .page-header-action { margin-left:0; }
  h1 { font-size:24px; } .overview-strip { grid-template-columns:1fr; }
  .overview-item { padding:var(--s3) var(--s4); } .overview-item + .overview-item { border-left:0; border-top:1px solid var(--line); }
  .dashboard-grid { grid-template-columns:minmax(0,1fr); } .page-footer span:last-child { display:none; }
  .task-table td,.task-table th { padding:8px; } .task-table td:first-child,.task-table th:first-child { padding-left:12px; }
  .task-table .priority-column { display:none; } .panel-heading { padding:var(--s4); } .auth-layout { padding-top:var(--s6); }
  .access-denied-layout,.not-found-layout { min-height:calc(100svh - 98px); padding:8px 0; }
  .access-denied-card,.not-found-layout .not-found-card { padding:28px 20px; }
}
@media (max-width:420px) {
  .access-denied-actions,.not-found-layout .not-found-actions { width:100%; display:grid; }
  .access-denied-actions .button,.not-found-layout .not-found-actions .button { width:100%; min-width:0; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

/* Shared wallpaper, local translucent surfaces; no image contents are altered. */
body { isolation:isolate; --workspace-image:url('./backgrounds/crm-bg-01-neutral-blue.png'); background:var(--bg); }
body::before { content:""; position:fixed; inset:0; z-index:-1; background-image:var(--workspace-image); background-size:cover; background-position:center; background-repeat:no-repeat; }
body[data-background="crm-bg-01-neutral-blue"] { --workspace-image:url('./backgrounds/crm-bg-01-neutral-blue.png'); }
body[data-background="crm-bg-02-violet-blue"] { --workspace-image:url('./backgrounds/crm-bg-02-violet-blue.png'); }
body[data-background="crm-bg-03-warm-neutral"] { --workspace-image:url('./backgrounds/crm-bg-03-warm-neutral.png'); }
body[data-background="crm-bg-04-daisy-meadow"] { --workspace-image:url('./backgrounds/crm-bg-04-daisy-meadow.png'); }
body[data-background="crm-bg-05-wildflower-meadow"] { --workspace-image:url('./backgrounds/crm-bg-05-wildflower-meadow.png'); }
body[data-background="crm-bg-06-pastel-meadow"] { --workspace-image:url('./backgrounds/crm-bg-06-pastel-meadow.png'); }
body[data-background="crm-bg-07-cyberpunk-city"] { --workspace-image:url('./backgrounds/crm-bg-07-cyberpunk-city.png'); }
body[data-background="crm-bg-08-cyberpunk-office"] { --workspace-image:url('./backgrounds/crm-bg-08-cyberpunk-office.png'); }
/* The dark photographic backgrounds use a slightly brighter shell edge. */
body[data-background="crm-bg-07-cyberpunk-city"],
body[data-background="crm-bg-08-cyberpunk-office"] { --shell-edge:rgb(255 255 255 / 20%); }
/* The approved tinted shell keeps the edge-to-edge wallpaper visible. */
.sidebar,
.project-tabs,
.task-role-select,
.task-search-filter,
.task-filter-trigger,
.task-view-tabs,
.task-control-group {
  background:var(--shell-surface); color:var(--shell-ink); text-shadow:var(--shell-text-shadow);
  -webkit-backdrop-filter:var(--shell-material-filter); backdrop-filter:var(--shell-material-filter);
}
.project-tabs,
.task-role-select,
.task-search-filter,
.task-filter-trigger,
.task-view-tabs,
.task-control-group { border-color:var(--shell-edge); box-shadow:inset 0 1px 0 var(--shell-inner-highlight); }
.sidebar,.topbar {
  color:var(--shell-ink); text-shadow:var(--shell-text-shadow);
}
.sidebar .icon,.topbar .icon { filter:var(--shell-icon-shadow); }
.sidebar { border-right:1px solid var(--shell-edge); box-shadow:inset -1px 0 0 var(--shell-inner-highlight); }
.sidebar .nav-link,
.project-tabs a,
.task-view-tabs a { color:var(--shell-ink); }
.sidebar .nav-link.is-active,
.project-tabs a[aria-current="page"],
.task-view-tabs a[aria-current="page"] { color:var(--shell-active-ink); }
.sidebar .is-disabled,
.project-tabs>span[aria-disabled="true"],
.task-list-search,
.task-list-search::placeholder,
.task-filter-trigger:disabled,
.task-view-tabs>span[aria-disabled="true"],
.task-control-group>span { color:var(--shell-disabled-ink); }
.sidebar .brand-mark { background:var(--control-glass); border:1px solid var(--control-border); box-shadow:inset 0 1px 0 var(--glass-highlight); color:var(--shell-ink); -webkit-backdrop-filter:blur(var(--local-blur)); backdrop-filter:blur(var(--local-blur)); }
.topbar { position:relative; z-index:20; box-shadow:inset 0 -1px 0 rgb(255 255 255 / 8%); -webkit-backdrop-filter:blur(var(--shell-blur)) saturate(var(--shell-saturation)) contrast(var(--topbar-contrast)); backdrop-filter:blur(var(--shell-blur)) saturate(var(--shell-saturation)) contrast(var(--topbar-contrast)); }
.topbar .breadcrumbs>span,.topbar .icon-button { color:var(--shell-muted); }
.topbar .icon-button,.topbar .avatar,.topbar .global-tools input,.topbar .global-tools .secondary { background:var(--control-glass); border-color:var(--control-border); -webkit-backdrop-filter:blur(var(--local-blur)); backdrop-filter:blur(var(--local-blur)); }
.topbar .icon-button:hover { background:var(--glass-active); color:var(--shell-ink); }
.topbar .avatar { box-shadow:inset 0 1px 0 var(--glass-highlight); color:var(--shell-ink); }
.topbar .global-tools input,.topbar .global-tools input::placeholder { color:var(--shell-ink); text-shadow:var(--shell-text-shadow); opacity:1; }
.topbar .global-tools .secondary { color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }
.sidebar :focus-visible,.topbar :focus-visible { outline:2px solid var(--shell-focus); outline-offset:2px; box-shadow:0 0 0 3px rgb(255 255 255 / 72%); }
/* Do not blur dense data, forms or contextual content. */
.task-table,.context-drawer { background:var(--data-surface); }
body[data-section="settings"] .appearance-panel { background:rgb(255 255 255 / 97%); border-color:rgb(255 255 255 / 56%); }
.account-menu { background:var(--data-surface); text-shadow:none; }
.brand-word { font-size:23px; }
.workspace-label { margin-bottom:20px; }
.global-tools { display:flex; gap:8px; align-items:center; flex:1; max-width:440px; }
.global-tools input { width:100%; min-width:0; box-shadow:inset 0 1px 0 #ffffff24; font-size:12px; }
.global-tools .button { white-space:nowrap; }
.page-footer,.pattern-links { padding:12px 16px; background:var(--workspace-surface); border-radius:var(--radius); }
.pattern-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; font-size:12px; color:var(--accent); }
.account-menu strong { display:block; margin-top:8px; }
/* One line on every settings page: the tabs never wrap, keep their places
   between pages and scroll inside the navigation when the width runs out. */
.branding-panel>.panel-heading { border-bottom-color:rgb(130 151 176 / 24%); }
.appearance-panel fieldset { border:0; padding:20px; margin:0; min-width:0; }
.appearance-panel legend { padding:20px 0 0; font-weight:600; font-size:13px; }
.background-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.background-choice { position:relative; border:2px solid rgb(130 151 176 / 34%); border-radius:12px; padding:6px; background:rgb(255 255 255 / 3%); cursor:pointer; min-width:0; display:flex; flex-direction:column; gap:8px; }
.background-choice:hover { border-color:#819bbc; background:rgb(255 255 255 / 4%); box-shadow:0 3px 10px #2445720d; }
.background-choice:has(:checked) { border-color:var(--accent); background:rgb(255 255 255 / 4%); box-shadow:inset 0 0 0 1px #ffffff54, 0 2px 8px #285b9e12; }
.background-choice:has(:focus-visible) { outline:2px solid #224b80; outline-offset:4px; box-shadow:0 0 0 4px #ffffff; }
.background-choice input { position:absolute; top:12px; left:12px; width:18px; height:18px; min-height:0; margin:0; accent-color:var(--accent); }
.background-choice img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:7px; }
.background-choice>span:not(.selection-mark) { padding:0 5px 6px; font-size:12px; font-weight:500; }
.selection-mark { position:absolute; right:10px; top:10px; border-radius:50%; background:var(--accent); color:white; width:23px; height:23px; text-align:center; display:none; }
.background-choice:has(:checked) .selection-mark { display:block; }
.settings-actions { padding:0 20px 20px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.settings-actions p { font-size:12px; color:var(--muted); flex:1 1 240px; }
body[data-section="settings"] .page-footer { background:transparent; }
.branding-panel { scroll-margin-top:20px; }
.branding-content { padding:20px; display:flex; gap:24px; }
.branding-content p { font-size:12px; color:var(--muted); margin:8px 0; max-width:660px; }
.branding-content .settings-actions { padding:8px 0 0; }
.mfa-reset-actions.settings-actions { padding:0; gap:8px; }
.logo-preview { min-width:130px; height:80px; border:1px dashed #9cacc0; border-radius:var(--radius); display:flex; align-items:center; justify-content:center; gap:12px; }
.logo-preview .brand-logo-image { width:auto; max-width:150px; max-height:56px; object-position:center; }
.branding-settings { min-width:0; flex:1; }
.branding-upload-form { max-width:520px; }
.branding-file-label { display:block; margin-top:12px; margin-bottom:6px; font-size:12px; font-weight:600; color:var(--text); }
.branding-upload-form input[type="file"] { width:100%; min-height:38px; padding:6px; border:1px solid #bdcce0; border-radius:var(--radius); background:#f8fafdee; color:var(--text); font-size:12px; }
.branding-upload-form input[type="file"]::file-selector-button { min-height:26px; margin-right:10px; padding:4px 10px; border:1px solid #aebfd5; border-radius:8px; background:#eef3f9; color:var(--text); cursor:pointer; }
.branding-upload-form input[type="file"]:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
#branding-remove-form { display:inline-flex; }
#branding-status { margin-top:10px; }
.pattern-notice { padding:10px 16px; margin-bottom:12px; background:var(--workspace-surface); border-radius:var(--radius); font-size:12px; }
.pattern-toolbar,.pagination { display:flex; align-items:end; gap:12px; padding:16px 20px; flex-wrap:wrap; }
.pattern-toolbar label { display:flex; flex-direction:column; gap:5px; font-size:12px; }
.view-selector { display:flex; gap:4px; margin-left:auto; }
.pagination { align-items:center; justify-content:flex-end; border-top:1px solid var(--line); }
.pagination .caption { margin-right:auto; }
body[data-section="projects"] .projects-page-header { background:transparent; color:var(--shell-ink); padding:6px 4px 0; align-items:flex-end; text-shadow:var(--shell-text-shadow); }
.projects-page-header .eyebrow { color:var(--shell-accent); margin-bottom:4px; }
.projects-page-header p { color:var(--shell-muted); }
.projects-soon { padding-left:8px; border-left:1px solid rgb(255 255 255 / 38%); font-size:9px; font-weight:600; letter-spacing:.3px; }
.projects-list { background:rgb(255 255 255 / 97%); border-color:rgb(255 255 255 / 64%); }
.projects-toolbar { min-height:53px; display:flex; align-items:center; gap:8px; padding:9px 14px; border-bottom:1px solid rgb(181 197 216 / 58%); }
.projects-search { width:min(340px,100%); min-height:32px; height:32px; padding:6px 10px; font-size:11px; }
.projects-filter { min-height:32px; padding:5px 10px; background:rgb(255 255 255 / 72%); font-size:11px; }
.projects-filter-value { color:var(--muted); font-size:10px; }
.projects-list .projects-table { background:transparent; }
.projects-surface>.empty-state { min-height:350px; }
.projects-table th { height:34px; background:rgb(239 244 250 / 72%); border-bottom-color:rgb(181 197 216 / 62%); }
.projects-table td { height:48px; border-bottom-color:rgb(181 197 216 / 52%); }
.projects-table tbody tr:hover td { background:rgb(232 240 250 / 72%); }
.projects-table .row-title { color:#193d67; font-size:13px; font-weight:600; }
.projects-table .project-technical-code { display:block; width:max-content; margin-top:2px; padding:0; border:0; background:transparent; color:var(--muted); }
.projects-list .pagination { padding:11px 14px; border-top-color:rgb(181 197 216 / 58%); }
.project-task-list { min-width:0; }
.task-list-page-header { margin:3px 0 10px; padding:4px 4px 0; color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }
.task-list-context { display:flex; align-items:center; gap:12px; margin-bottom:4px; font-size:11px; }
.task-list-page-header .project-back-link { margin:0; color:var(--shell-ink); font-weight:500; }
.task-project-context { display:flex; align-items:baseline; gap:5px; min-width:0; color:var(--shell-ink); font-weight:500; letter-spacing:normal; }
.task-context-name,.task-context-code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-context-code { color:var(--shell-muted); font-size:10px; font-weight:400; }
.task-control-line { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; justify-content:start; gap:2px 12px; min-width:0; }
.task-list-subtitle { grid-column:1/-1; color:var(--shell-muted); font-size:11px; }
.task-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.task-primary-controls { display:flex; align-items:center; justify-content:flex-start; gap:7px; min-width:0; }
.task-role-select-form { position:relative; flex:0 1 142px; min-width:126px; }
.task-role-select { width:100%; }
.task-role-select option { background:#f7f9fc; color:var(--text); }
.task-search-filter { display:flex; flex:0 1 340px; align-items:center; min-width:190px; height:36px; overflow:hidden; border:1px solid; border-radius:var(--radius); }
.task-filter-example { flex:0 0 auto; margin-left:3px; padding:6px 8px; border:1px solid rgb(255 255 255 / 20%); border-radius:5px; background:rgb(40 91 158 / 68%); color:white; font-size:9px; font-weight:600; white-space:nowrap; box-shadow:inset 0 1px 0 rgb(255 255 255 / 14%); text-shadow:var(--shell-text-shadow); }
.task-list-search { flex:1 1 auto; min-width:0; min-height:34px; height:34px; padding:6px 9px; border:0; background:transparent; font-size:11px; box-shadow:none; text-shadow:inherit; -webkit-text-fill-color:var(--shell-disabled-ink); opacity:1; }
.task-list-search::placeholder { opacity:1; }
.task-filter-trigger { flex:0 0 auto; min-height:36px; padding:6px 11px; border:1px solid; border-radius:var(--radius); font-size:10px; font-weight:400; cursor:not-allowed; }
.task-filter-trigger:disabled { opacity:1; }
.project-task-list>.project-tabs { margin-bottom:8px; }
.task-secondary-controls { display:flex; align-items:center; gap:8px; margin-bottom:8px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
.task-secondary-controls::-webkit-scrollbar { display:none; width:0; height:0; }
.task-view-tabs,.task-control-group { display:flex; flex:0 0 auto; align-items:center; gap:2px; padding:4px; border:1px solid; border-radius:var(--radius); }
.task-view-tabs a,.task-view-tabs>span,.task-control-group>span { flex:0 0 auto; min-height:31px; padding:7px 10px; border-radius:5px; font-size:10px; font-weight:400; white-space:nowrap; }
.task-view-tabs a[aria-current="page"] { border:1px solid rgb(255 255 255 / 22%); }
.task-view-tabs>span[aria-disabled="true"],.task-control-group>span { cursor:not-allowed; }
.task-indicator-group>span+span { border-left:1px solid var(--control-border); border-radius:0; }
.task-list-panel { background:rgb(255 255 255 / 97%); border-color:rgb(255 255 255 / 64%); }
.mfa-reset-table { min-width:840px; }
.mfa-reset-table td:last-child,.mfa-reset-table th:last-child { text-align:right; }
.mfa-reset-table time { white-space:nowrap; color:var(--muted); }
.task-list-surface { min-height:0; }
.task-list-surface>.empty-state { min-height:320px; }
.project-task-table { min-width:980px; background:transparent; }
.project-task-table th { height:34px; background:rgb(239 244 250 / 72%); border-bottom-color:rgb(181 197 216 / 62%); }
.project-task-table td { height:50px; border-bottom-color:rgb(181 197 216 / 52%); }
.project-task-table tbody tr:hover td { background:rgb(232 240 250 / 72%); }
.project-task-table th:first-child { width:27%; }
.project-task-table time,.task-list-empty-value { color:var(--muted); white-space:nowrap; }
.project-task-table .row-title { color:#193d67; font-size:12px; font-weight:600; }
.task-executor { display:flex; align-items:center; gap:7px; min-width:0; }
.task-executor .participant-avatar { flex:0 0 24px; margin-left:0; border-color:white; }
.task-executor>span:last-child,.task-project-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-task-table .project-technical-code { display:block; width:max-content; max-width:100%; margin-top:2px; padding:0; overflow:hidden; border:0; background:transparent; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.task-list-panel .pagination { padding:11px 14px; border-top-color:rgb(181 197 216 / 58%); }
.project-workspace { min-width:0; }
.project-workspace-header { color:var(--shell-ink); text-shadow:var(--shell-text-shadow); padding:4px 4px 18px; }
.project-back-link { display:inline-flex; margin-bottom:12px; color:var(--shell-muted); font-size:11px; font-weight:600; }
.project-back-link:hover { color:var(--shell-ink); }
.project-workspace-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.project-workspace-heading .eyebrow { color:var(--shell-accent); margin-bottom:4px; }
.project-workspace-heading h1 { margin-bottom:6px; }
.project-workspace-heading .project-technical-code { color:var(--shell-muted); text-shadow:var(--shell-text-shadow); }
.project-workspace-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.project-header-facts { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.project-header-facts>div { min-width:145px; padding:8px 11px; border:1px solid rgb(255 255 255 / 24%); border-radius:var(--radius); background:rgb(255 255 255 / 12%); }
.project-header-facts dt { color:var(--shell-muted); font-size:9px; font-weight:600; letter-spacing:.35px; text-transform:uppercase; }
.project-header-facts dd { margin:3px 0 0; font-size:12px; font-weight:600; }
.project-tabs { display:flex; align-items:center; gap:2px; overflow-x:auto; margin-bottom:12px; padding:5px; border:1px solid; border-radius:var(--radius-panel); scrollbar-width:thin; }
.project-tabs a,.project-tabs>span { position:relative; flex:0 0 auto; min-height:34px; padding:9px 12px; border-radius:6px; font-size:11px; font-weight:400; white-space:nowrap; }
.project-tabs a:hover { background:var(--glass-hover); }
.project-tabs a[aria-current="page"],.task-view-tabs a[aria-current="page"] { background:rgb(40 91 158 / 78%); box-shadow:inset 0 1px 0 rgb(255 255 255 / 20%), 0 0 10px rgb(52 122 211 / 24%); }
.project-tabs a[aria-current="page"]::after { content:""; position:absolute; right:12px; bottom:4px; left:12px; height:2px; border-radius:2px; background:var(--accent); }
.project-tabs>span[aria-disabled="true"] { cursor:not-allowed; }
.project-tabs small { margin-left:5px; color:inherit; font-size:8px; font-weight:400; text-transform:uppercase; }
.project-overview { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr); gap:12px; align-items:start; }
.project-overview-card { background:rgb(255 255 255 / 97%); border-color:rgb(255 255 255 / 64%); }
.project-information { grid-row:span 2; }
.project-card-content { padding:18px 20px 20px; }
.project-description { max-width:760px; font-size:13px; line-height:1.55; }
.project-information-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; margin:20px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.project-information-list div { min-width:0; }
.project-information-list dt { color:var(--muted); font-size:10px; }
.project-information-list dd { margin:4px 0 0; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.project-participant-summary { scroll-margin-top:76px; }
.project-participant-list { display:grid; gap:0; margin:0; padding:4px 20px 10px; list-style:none; }
.project-participant-list li { display:flex; align-items:center; gap:10px; min-height:39px; border-bottom:1px solid var(--line); font-size:12px; }
.project-participant-list li:last-child { border-bottom:0; }
.project-participant-avatar { width:28px; height:28px; margin-left:0; border-color:white; flex:0 0 auto; }
.project-participant-more { margin:0; padding:0 20px 16px; color:var(--muted); font-size:10px; }
.project-activity-summary strong { font-size:15px; color:#244f7d; }
.project-activity-summary p { margin-top:7px; }
.client-workspace { min-width:0; }
.client-workspace-header { padding-bottom:16px; }
main:has(.client-overview-workspace) { max-width:none; }
.client-overview-workspace { width:100%; }
.client-content-panel { background:rgb(255 255 255 / 97%); border-color:rgb(255 255 255 / 64%); }
.client-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 24px; margin:0; }
.client-data-grid>div { min-width:0; }
.client-data-grid .client-data-wide { grid-column:1/-1; }
.client-data-grid dt,.client-responsible-details dt { color:var(--muted); font-size:10px; }
.client-data-grid dd,.client-responsible-details dd { min-width:0; margin:4px 0 0; color:var(--text); font-size:12px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.client-data-grid .client-data-wide dd { max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.client-chat-data { grid-template-columns:repeat(3,minmax(0,1fr)); }
.provider-contracts .provider-contract-line { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; }
.provider-contract-value { flex:1 1 120px; min-width:0; overflow-wrap:anywhere; }
.provider-contract-action { flex:0 0 auto; min-height:34px; padding:5px 10px; white-space:nowrap; }
.client-responsible-details { display:grid; gap:9px; margin:13px 0 0; padding-top:12px; border-top:1px solid var(--line); }
.client-responsible-details dd { margin-top:2px; }
.client-activity-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.client-form-workspace { min-width:0; max-width:980px; margin:0 auto; }
.client-form-header { padding-bottom:10px; }
.client-editor { padding:18px 20px; overflow:visible; background:rgb(255 255 255 / 97%); }
.client-editor>.client-form-section { margin:0; padding:12px 0; border-top:1px solid rgb(145 165 188 / 32%); }
.client-editor>.client-form-section:first-of-type { padding-top:0; border-top:0; }
.client-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
.client-field-wide { grid-column:1/-1; }
.client-field { min-width:0; display:flex; flex-direction:column; gap:6px; color:var(--text); font-size:11px; font-weight:600; }
.client-field>span,.client-field legend { color:#40566d; font-size:10px; }
.client-field input,.client-field textarea { width:100%; min-width:0; border:1px solid rgb(128 151 177 / 72%); border-radius:10px; background:#fff; color:var(--text); box-shadow:inset 0 1px 1px rgb(31 56 82 / 4%); transition:border-color .16s ease,box-shadow .16s ease; }
.client-field input { height:42px; padding:0 12px; }
.client-field textarea { padding:11px 12px; line-height:1.45; }
.client-field input:hover,.client-field textarea:hover { border-color:rgb(79 119 158 / 86%); }
.client-field input:focus,.client-field textarea:focus { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.client-field small { color:var(--muted); font-size:9px; font-weight:400; }
.client-form-section { min-width:0; }
.client-section-heading { margin-bottom:9px; }
.client-section-heading h2 { margin:0; color:#274c70; font-size:13px; }
.client-contact-grid { display:grid; gap:9px; }
.client-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; }
.client-contact-wide { grid-column:1/-1; }
.client-contact-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.client-selector-trigger { width:100%; height:42px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 12px; border:1px solid rgb(128 151 177 / 72%); border-radius:10px; background:#fff; color:var(--text); font:inherit; font-weight:500; text-align:left; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease; }
.client-selector-trigger>span:first-child,.client-combobox>summary>span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.client-selector-trigger:hover { border-color:rgb(79 119 158 / 86%); }
.client-selector-trigger:focus-visible { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.client-manager-staged { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 9px 8px 11px; border:1px solid rgb(128 151 177 / 58%); border-radius:10px; background:#f7fafd; }
.client-manager-staged[hidden] { display:none; }
.client-manager-copy { min-width:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 9px; }
.client-manager-copy strong,.client-manager-copy>a { width:100%; overflow:hidden; color:#264866; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.client-manager-copy span { max-width:100%; overflow:hidden; color:#60758a; font-size:9px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.client-manager-actions { flex:0 0 auto; display:flex; gap:4px; }
.client-manager-actions button { min-height:30px; padding:4px 8px; border:1px solid rgb(128 151 177 / 48%); border-radius:8px; background:#fff; color:#2f6fa4; font:inherit; font-size:9px; font-weight:600; cursor:pointer; }
.client-manager-actions button:last-child { color:#65798d; }
.client-manager-actions button:hover { background:#edf4fb; }
.client-manager-actions button:focus-visible { outline:2px solid var(--focus); outline-offset:1px; }
.client-combobox { position:relative; }
.client-combobox-menu { position:absolute; z-index:12; top:calc(100% + 6px); left:0; width:100%; min-width:240px; padding:8px; border:1px solid rgb(128 151 177 / 58%); border-radius:11px; background:rgb(255 255 255 / 99%); box-shadow:0 14px 34px rgb(31 56 82 / 20%); }
.client-combobox-menu input { height:36px; font-size:10px; }
.client-combobox-options { display:grid; gap:2px; max-height:176px; margin:6px 0; overflow:auto; }
.client-combobox-option { width:100%; min-height:34px; padding:7px 9px; border:0; border-radius:7px; background:transparent; color:var(--text); font:inherit; font-size:10px; font-weight:500; text-align:left; cursor:pointer; }
.client-combobox-option:hover,.client-combobox-option:focus-visible { background:#edf4fb; outline:0; }
.client-combobox-option[aria-selected="true"] { background:var(--accent-soft); color:var(--accent); }
.client-combobox-option.client-combobox-clear { color:var(--muted); border-bottom:1px solid var(--line); border-radius:7px 7px 0 0; }
.client-picker-add { width:100%; min-height:34px; padding:0 10px; border:1px solid rgb(128 151 177 / 60%); border-radius:9px; background:#f7fafd; color:#2f6fa4; font-size:10px; font-weight:600; text-align:left; cursor:pointer; }
.client-contract-grid,.client-chat-grid,.client-catalog-grid { display:grid; gap:14px; }
.client-contract-grid,.client-chat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.client-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.client-catalog-grid form { display:grid; gap:12px; margin:12px 0; }
.client-catalog-grid ul { margin:0; padding-left:18px; color:var(--muted); }
.client-upload-button { width:max-content; min-height:36px; padding:6px 11px; cursor:pointer; }
.client-file-field input.sr-only { width:1px; height:1px; padding:0; }
.client-file-list { min-width:0; display:flex; flex-wrap:wrap; gap:5px; }
.client-file-list[hidden] { display:none; }
.client-file-chip { max-width:100%; min-height:26px; display:inline-flex; align-items:center; gap:6px; padding:3px 5px 3px 8px; border:1px solid rgb(128 151 177 / 46%); border-radius:8px; background:#f4f8fc; color:#40566d; font-size:9px; font-weight:500; }
.client-file-chip[hidden] { display:none; }
.client-file-chip>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.client-file-chip button { width:19px; height:19px; flex:0 0 19px; border:0; border-radius:5px; background:transparent; color:#63778d; cursor:pointer; }
.client-file-chip button:hover { background:#e2ebf4; }
.client-comment-section textarea { min-height:64px; resize:vertical; }
.client-lifecycle-section { max-width:320px; }
.client-dialog { width:min(520px,calc(100vw - 28px)); max-height:calc(100vh - 40px); padding:18px; border:1px solid rgb(255 255 255 / 60%); border-radius:16px; background:rgb(250 252 255 / 98%); color:var(--text); box-shadow:0 18px 60px rgb(20 38 58 / 28%); overflow:auto; }
.client-dialog::backdrop { background:rgb(14 29 47 / 38%); backdrop-filter:blur(2px); }
.client-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.client-dialog-head h2 { color:#274c70; font-size:16px; }
.client-dialog-close { width:32px; height:32px; border:0; border-radius:8px; background:transparent; color:#526b84; font-size:20px; }
.client-dialog-close:hover { background:#edf3f8; }
.client-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.client-dialog-feedback { margin-top:9px; color:var(--danger); font-size:10px; }
.client-catalog-tabs { width:max-content; display:flex; gap:4px; margin:0 0 10px; padding:4px; border:1px solid var(--shell-edge); border-radius:10px; background:var(--shell-surface); color:var(--shell-ink); text-shadow:var(--shell-text-shadow); backdrop-filter:var(--shell-material-filter); }
.client-catalog-tabs a { padding:7px 11px; border-radius:7px; font-size:11px; }
.client-catalog-tabs a[aria-current="page"] { background:var(--glass-active); box-shadow:inset 0 1px 0 var(--glass-highlight); }
.catalog-record-workspace { max-width:1180px; }
.catalog-fluid-record-workspace { width:100%; max-width:none; margin:0; }
main:has(.catalog-fluid-record-workspace) { max-width:none; }
.catalog-page-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:7px 20px; }
.catalog-page-header>.project-back-link { grid-column:1/-1; margin-bottom:1px; }
.catalog-page-heading { min-width:0; }
.catalog-page-heading p { margin:4px 0 0; color:var(--shell-muted); font-size:12px; }
.catalog-title-line { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.catalog-title-line h1 { margin:0; overflow-wrap:anywhere; }
.catalog-header-action { align-self:end; white-space:nowrap; }
.catalog-list-toolbar { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:9px; padding:14px 16px; border-bottom:1px solid var(--line); background:rgb(248 251 254 / 82%); }
.catalog-search { min-width:0; }
.catalog-search input { width:100%; height:40px; padding:0 13px; border:1px solid rgb(128 151 177 / 64%); border-radius:10px; background:#fff; color:var(--text); box-shadow:inset 0 1px 1px rgb(31 56 82 / 4%); }
.catalog-search input:hover { border-color:rgb(79 119 158 / 86%); }
.catalog-search input:focus { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.catalog-filter-button { min-width:94px; min-height:40px; opacity:1; color:#718397; background:#f4f7fa; border-color:rgb(128 151 177 / 38%); }
.catalog-table-wrap { overflow-x:auto; }
.client-catalog-table { min-width:840px; table-layout:auto; }
.client-catalog-table th:first-child { width:auto; }
.client-catalog-table td { padding-top:9px; padding-bottom:9px; overflow-wrap:anywhere; }
.catalog-list-footer { min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 16px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
main:has(.catalog-directory-workspace) { max-width:none; }
.catalog-directory-workspace { width:100%; max-width:none; margin:0; }
.catalog-directory-panel { width:100%; padding:18px; }
.catalog-directory-toolbar { display:flex; align-items:center; padding:0 0 16px; border-bottom:0; background:transparent; }
.catalog-directory-search { position:relative; flex:1 1 auto; }
.catalog-directory-search .catalog-search-icon { position:absolute; top:50%; left:13px; width:17px; height:17px; color:#718397; transform:translateY(-50%); pointer-events:none; }
.catalog-directory-search input { padding-left:39px; }
.catalog-directory-add { min-height:40px; padding-right:16px; padding-left:16px; white-space:nowrap; }
.catalog-directory-panel .catalog-table-wrap { border:0; border-radius:0; }
.catalog-directory-panel .client-catalog-table { width:100%; min-width:720px; table-layout:fixed; }
.catalog-directory-panel .client-catalog-table th { height:42px; padding:10px 12px; border-bottom-color:rgb(145 165 188 / 66%); }
.catalog-directory-panel .client-catalog-table td { height:50px; padding:10px 12px; border-bottom-color:rgb(181 197 216 / 72%); vertical-align:middle; }
.catalog-directory-panel .project-name-link { color:#244f7d; font-weight:650; }
.catalog-directory-footer { min-height:38px; justify-content:flex-start; margin-top:0; padding:12px 2px 0; border-top:0; }
.catalog-directory-empty,.commercial-journal .commercial-history>.empty-state { min-height:0; padding:36px 16px 28px; }
.reference-workspace { min-width:0; }
.reference-description-cell { min-width:0; }
.reference-description-cell span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reference-currency-toolbar { justify-content:space-between; gap:14px; }
.reference-currency-toolbar strong { color:#274c70; font-size:13px; }
.reference-currency-list { columns:2; column-gap:32px; margin:0; padding:0; list-style:none; }
.reference-currency-list li { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start; gap:12px; break-inside:avoid; padding:7px 0; line-height:1.4; }
.reference-currency-list li strong { color:#274c70; font-size:12px; }
.reference-currency-list li span { min-width:0; color:var(--muted); overflow-wrap:anywhere; }
.reference-form:not([data-reference-form]) { max-width:620px; }
.reference-currency-create-fields { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,2fr); gap:14px; }
@media (max-width:700px) { .reference-currency-list { columns:1; } .reference-currency-create-fields { grid-template-columns:minmax(0,1fr); } }
.reference-country-help { margin:0 0 14px; color:var(--muted); }
.reference-country-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.reference-country-search-area,.reference-country-selection-area { min-width:0; }
.reference-country-search-area>.client-field { margin-bottom:6px; }
.reference-country-search-area>input { width:100%; height:40px; padding:0 12px; border:1px solid rgb(128 151 177 / 64%); border-radius:10px; background:#fff; color:var(--text); }
.reference-country-search-area>input:hover { border-color:rgb(79 119 158 / 86%); }
.reference-country-search-area>input:focus { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.reference-country-options { height:232px; overflow-y:auto; margin-top:9px; padding:5px; border:1px solid rgb(128 151 177 / 52%); border-radius:10px; background:#fff; }
.reference-country-option { display:flex; align-items:center; min-width:0; min-height:39px; gap:9px; padding:7px 9px; border-radius:7px; cursor:pointer; }
.reference-country-option+.reference-country-option { border-top:1px solid rgb(181 197 216 / 32%); }
.reference-country-option:hover,.reference-country-option:has(input:focus-visible) { background:#edf5fb; }
.reference-country-option:has(input:checked) { background:#eaf4fc; color:#245b89; }
.reference-country-option[hidden],.reference-country-no-results[hidden] { display:none; }
.reference-country-option input { flex:0 0 auto; margin:0; accent-color:#2d7eb8; }
.reference-country-name { min-width:0; flex:1; overflow-wrap:anywhere; }
.reference-country-code { flex:0 0 auto; color:var(--muted); font-size:11px; font-weight:650; }
.reference-country-no-results { margin:12px; color:var(--muted); }
.reference-country-selection-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; min-height:59px; gap:6px 12px; }
.reference-country-selection-heading strong { color:#274c70; font-size:13px; }
.reference-country-clear { padding:5px 0; border:0; background:transparent; color:#2f6fa4; font:inherit; font-weight:650; cursor:pointer; }
.reference-country-clear:hover,.reference-country-clear:focus-visible { text-decoration:underline; }
.reference-country-clear:disabled { opacity:.45; cursor:default; text-decoration:none; }
.reference-country-selected { display:flex; align-content:flex-start; align-items:flex-start; flex-wrap:wrap; gap:7px; min-height:110px; max-height:232px; overflow-y:auto; padding:10px; border:1px solid rgb(128 151 177 / 52%); border-radius:10px; background:#f9fcff; color:var(--muted); }
.reference-country-chip { max-width:100%; padding:6px 9px; border:1px solid rgb(128 151 177 / 52%); border-radius:8px; background:#fff; color:var(--text); overflow-wrap:anywhere; cursor:pointer; }
.reference-country-chip:hover,.reference-country-chip:focus-visible { border-color:#348bcc; outline:2px solid rgb(52 139 204 / 20%); }
@media (max-width:900px) { .reference-country-picker { grid-template-columns:minmax(0,1fr); gap:14px; } .reference-country-selection-heading { min-height:0; margin-bottom:8px; } }
.reference-country-composition { display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:8px 14px; margin:0; padding:0; list-style:none; }
.reference-country-composition li { display:flex; justify-content:space-between; gap:10px; min-width:0; padding:9px 11px; border:1px solid rgb(128 151 177 / 32%); border-radius:9px; overflow-wrap:anywhere; }
.reference-detail-card { margin-bottom:14px; }
.catalog-record-form { width:min(100%,920px); margin:0 auto; padding:20px 22px; }
.catalog-fluid-record-form { width:100%; max-width:none; margin:0; }
.catalog-form-section { padding:16px 0; border-top:1px solid rgb(145 165 188 / 32%); }
.catalog-form-section:first-of-type { padding-top:0; border-top:0; }
.catalog-form-section h2,.catalog-detail-card>h2 { margin:0 0 12px; color:#274c70; font-size:14px; }
.catalog-form-section textarea { min-height:74px; resize:vertical; }
.catalog-detail-card { padding:20px 22px; }
.catalog-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:0; }
.catalog-detail-grid>div { min-width:0; display:grid; grid-template-columns:128px minmax(0,1fr); gap:12px; align-items:start; padding:11px 0; border-bottom:1px solid rgb(145 165 188 / 25%); }
.catalog-detail-grid dt { color:var(--muted); font-size:10px; }
.catalog-detail-grid dd { min-width:0; margin:0; color:var(--text); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.catalog-detail-grid .catalog-detail-wide { grid-column:1/-1; }
.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; }
.field-error { color:var(--danger); font-size:9px; font-weight:600; }
.client-form-alert { margin-bottom:16px; padding:10px 12px; border:1px solid rgb(190 62 62 / 28%); border-radius:10px; background:rgb(255 239 239 / 96%); color:var(--danger); font-size:11px; }
.client-form-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.client-list-header { margin-bottom:10px; padding:6px 0 0; color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }
.client-list-header p { color:var(--shell-muted); }
.client-list-surface { background:rgb(255 255 255 / 97%); border-color:rgb(255 255 255 / 64%); }
/* Client-owned Merchant Accounts reuse the approved directory and form surfaces. */
main:has(.merchant-workspace) { max-width:none; }
.merchant-workspace { width:100%; max-width:none; min-width:0; }
.merchant-directory { min-width:0; }
.merchant-toolbar { gap:12px; }
.merchant-directory .merchant-table { width:100%; min-width:760px; table-layout:fixed; }
.merchant-table th,.merchant-table td { overflow-wrap:anywhere; }
.merchant-table th { white-space:nowrap; }
.merchant-form { width:100%; padding:22px; }
.merchant-form .field-error { color:var(--danger); font-size:11px; font-weight:600; }
.merchant-form .field-reentry-notice { display:block; color:var(--muted); font-size:11px; font-weight:600; }
.merchant-form .client-field [aria-invalid="true"] { border-color:var(--danger); box-shadow:0 0 0 2px rgb(190 62 62 / 18%); }
.merchant-form-section { padding:16px 0; border-bottom:1px solid var(--line); }
.merchant-form-section:first-of-type { padding-top:0; }
.merchant-form-section h3,.merchant-detail-grid h3,.merchant-detail-additional h3 { margin:0 0 14px; color:#274c70; font-size:15px; }
.merchant-form-section h4,.merchant-detail-grid h4 { margin:18px 0 10px; color:#40566d; font-size:12px; }
.merchant-form-section .merchant-settlement-heading { color:#40566d; font-size:12px; font-weight:700; }
.merchant-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
.merchant-fee-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.merchant-geography { position:relative; min-width:0; }
.merchant-geography-options { position:absolute; z-index:20; width:100%; max-height:300px; padding:10px; border:1px solid #a9bfd3; border-radius:10px; background:#fff; box-shadow:0 12px 32px rgb(25 53 78 / 20%); }
.merchant-geography-options>input { width:100%; }
.merchant-geography-scroll { max-height:225px; overflow:auto; }
.merchant-geography-scroll [data-geography-section][hidden] { display:none; }
.merchant-geography-scroll [data-geography-section]>strong { display:block; padding:8px 4px 4px; color:#55718d; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.merchant-geography-scroll label { display:flex; align-items:center; gap:9px; padding:6px 4px; font-size:11px; }
.merchant-geography-scroll label[hidden] { display:none; }
.merchant-geography-scroll input[type="checkbox"] { flex:0 0 16px; width:16px; min-width:16px; height:16px; min-height:16px; margin:0; padding:0; border-radius:3px; box-shadow:none; accent-color:var(--accent); }
.merchant-geography-scroll input[type="checkbox"]:focus { box-shadow:none; }
.merchant-geography-scroll input[type="checkbox"]:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.merchant-geography-selected { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.merchant-geography-selected:empty { display:none; }
.merchant-geography-chip { padding:3px 7px; border:1px solid #adc3d8; border-radius:999px; background:#eef5fb; color:#244f7d; font-size:10px; font-weight:650; cursor:pointer; }
.merchant-geography-chip:hover,.merchant-geography-chip:focus-visible { border-color:#348bcc; outline:2px solid rgb(52 139 204 / 20%); }
.merchant-form textarea { width:100%; min-height:90px; resize:vertical; }
.terminal-workspace [data-terminal-revealed] { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.merchant-credentials textarea { width:100%; min-height:110px; resize:vertical; font:inherit; }
.workflow-task-credentials textarea { width:100%; min-height:96px; resize:vertical; font:inherit; }
.merchant-credentials-editor { margin-top:14px; }
.merchant-credentials-editor[hidden] { display:none; }
.workflow-task-credentials { min-width:0; padding:13px 14px; }
.workflow-task-credentials .workflow-task-section-heading { margin-bottom:10px; }
.workflow-task-credentials-summary { min-width:0; min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.workflow-task-credentials-summary .button { flex:0 0 auto; }
.workflow-task-credentials-summary[hidden],.workflow-task-credentials-editor[hidden] { display:none; }
.workflow-task-credentials-state { margin:0; color:var(--muted); font-size:12px; }
.workflow-task-credentials-state.saved { color:var(--success); font-weight:700; }
.workflow-task-credentials-editor { min-width:0; margin-top:0; }
.credentials-state,.credentials-help,.credentials-feedback { margin:6px 0; color:var(--muted); font-size:12px; }
.credentials-feedback.success { color:var(--success); }
.credentials-feedback.error { color:var(--danger); }
.credentials-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.credentials-actions form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.credentials-copy-status { min-height:1em; color:var(--success); font-size:12px; }
@media (max-width:480px) { .workflow-task-credentials-summary { min-height:0; align-items:flex-start; flex-direction:column; gap:8px; } }
.terminal-directory .terminal-table { width:100%; table-layout:fixed; }
.terminal-creation-requests { margin-bottom:12px; }
.terminal-creation-requests-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px 9px; border-bottom:1px solid var(--line); }
.terminal-creation-requests-heading h2 { margin:0; color:#274c70; font-size:13px; }
.terminal-creation-requests-heading p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.terminal-creation-request-table { width:100%; table-layout:fixed; }
.terminal-creation-request-table th:nth-child(1) { width:25%; }
.terminal-creation-request-table th:nth-child(2) { width:18%; }
.terminal-creation-request-table th:nth-child(3) { width:17%; }
.terminal-creation-request-table th:nth-child(4) { width:22%; }
.terminal-creation-request-table th:nth-child(5) { width:18%; }
.terminal-creation-request-number { display:block; margin-top:2px; color:var(--muted); font-size:9px; }
.terminal-creation-request-unavailable { color:var(--muted); font-size:10px; }
@media (max-width:900px) {
  .terminal-creation-requests .catalog-table-wrap { overflow:visible; }
  .terminal-creation-request-table,.terminal-creation-request-table tbody,.terminal-creation-request-table tr,.terminal-creation-request-table td { display:block; width:100%; }
  .terminal-creation-request-table thead { display:none; }
  .terminal-creation-request-table tr { padding:8px 11px; border-bottom:1px solid var(--line); }
  .terminal-creation-request-table tr:last-child { border-bottom:0; }
  .terminal-creation-request-table td { display:grid; grid-template-columns:minmax(90px,32%) minmax(0,1fr); align-items:center; gap:7px; padding:3px 0; border:0; }
  .terminal-creation-request-table td::before { content:attr(data-label); color:var(--muted); font-size:9px; font-weight:650; }
}
@media (max-width:390px) {
  .terminal-creation-requests-heading { padding:10px 11px 8px; }
  .terminal-creation-request-table td { grid-template-columns:minmax(82px,34%) minmax(0,1fr); }
}
.merchant-detail-header { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.merchant-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:14px; }
.merchant-detail-grid>section { min-width:0; }
.merchant-detail-geographies { min-width:0; }
.merchant-detail-geo-section+.merchant-detail-geo-section { margin-top:16px; padding-top:4px; border-top:1px solid var(--line); }
.merchant-detail-geo-section>h4 { margin:8px 0 10px; }
.merchant-detail-geo-kind+.merchant-detail-geo-kind { margin-top:12px; }
.merchant-detail-geo-kind h5 { margin:0 0 7px; color:var(--muted); font-size:10px; font-weight:700; }
.merchant-detail-geo-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 10px; margin:0; padding:0; list-style:none; }
.merchant-detail-geo-items li { min-width:0; padding:7px 9px; border-radius:7px; background:#f4f8fc; color:var(--text); font-size:11px; overflow-wrap:anywhere; }
.merchant-detail-geo-items li[hidden] { display:none; }
.merchant-detail-geo-empty { margin:0; color:var(--muted); font-size:11px; }
.merchant-detail-geo-toggle { margin-top:10px; padding:4px 0; border:0; background:transparent; color:var(--accent); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.merchant-detail-geo-toggle:hover { text-decoration:underline; }
.merchant-detail-geo-toggle:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.merchant-detail-settlement-value { margin:0; color:var(--text); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.merchant-detail-additional { margin-top:14px; }
.merchant-detail-additional p { white-space:normal; overflow-wrap:anywhere; }
.merchant-limit-summary { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.merchant-limit-summary .commercial-section-heading { margin-bottom:10px; }
.merchant-limit-summary .commercial-section-heading h3 { margin:0 0 4px; color:#274c70; font-size:14px; }
.merchant-limit-summary .commercial-section-heading p { margin:0; }
.merchant-limit-summary-table { min-width:760px; }
.merchant-limit-summary-table th,.merchant-limit-summary-table td { text-align:right; white-space:nowrap; }
.merchant-limit-summary-table th:first-child,.merchant-limit-summary-table th:nth-child(2) { text-align:left; }
.merchant-limit-summary-table tbody+tbody { border-top:2px solid var(--line); }
.merchant-limit-summary-table .merchant-limit-total { background:rgb(43 113 174 / 8%); color:#244f7d; font-weight:800; }
.merchant-limit-summary-table .merchant-limit-exceeded { background:var(--warning-soft); color:var(--warning); font-weight:800; }
@media (max-width:1100px) {
 .merchant-fee-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1180px) {
 .merchant-directory .catalog-table-wrap { overflow:visible; }
 .merchant-directory .merchant-table { min-width:0; }
 .merchant-table thead { display:none; }
 .merchant-table,.merchant-table tbody,.merchant-table tr,.merchant-table td { display:block; width:100%; }
 .merchant-table tr { padding:10px 12px; border-bottom:1px solid var(--line); }
 .merchant-table td { display:grid; grid-template-columns:110px minmax(0,1fr); gap:8px; height:auto!important; padding:6px 0!important; border:0!important; }
 .merchant-directory .merchant-table td:last-child { width:100%; text-align:left; }
 .merchant-table td::before { content:attr(data-label); color:var(--muted); font-size:10px; }
}
@media (max-width:780px) {
 .merchant-form-grid,.merchant-detail-grid { grid-template-columns:minmax(0,1fr); }
 .merchant-detail-geo-items { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:520px) {
 .merchant-form { padding:14px; }
 .merchant-fee-grid { grid-template-columns:minmax(0,1fr); }
 .merchant-detail-header { align-items:stretch; flex-direction:column; }
 .merchant-detail-header .button { width:100%; }
}
.employee-table { width:100%; table-layout:fixed; }
.employee-table td { overflow-wrap:anywhere; }
/* OWNER-01: a long status («Требуется настройка») wraps inside its column. */
.employee-table td .badge { width:auto; max-width:100%; white-space:normal; }
.employee-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.employee-status-strip { width:max-content; max-width:100%; display:grid; grid-template-columns:max-content max-content; align-items:start; gap:28px; margin-top:12px; }
.employee-status-item { min-width:0; display:grid; align-content:start; gap:5px; }
.employee-status-label { color:var(--muted); font-size:12px; font-weight:650; }
.employee-status-item .badge { min-height:24px; padding:3px 8px; }
.employee-active-switch { min-width:0; min-height:24px; display:inline-flex; align-items:center; gap:8px; padding:0; border:0; background:transparent; color:var(--text); font:inherit; font-weight:650; cursor:pointer; }
.employee-active-switch-track { position:relative; width:34px; height:20px; flex:0 0 34px; border-radius:999px; background:#8796a5; box-shadow:inset 0 0 0 1px rgb(29 53 76 / 14%); transition:background .16s ease; }
.employee-active-switch-track span { position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgb(15 31 47 / 28%); transition:transform .16s ease; }
.employee-active-switch[aria-checked="true"] .employee-active-switch-track { background:#17824d; }
.employee-active-switch[aria-checked="true"] .employee-active-switch-track span { transform:translateX(14px); }
.employee-active-switch:focus-visible { outline:2px solid #348bcc; outline-offset:4px; border-radius:5px; }
.employee-active-switch[aria-busy="true"] { cursor:progress; opacity:.65; }
.employee-active-feedback { max-width:300px; margin:1px 0 0; color:var(--danger); font-size:10px; line-height:1.4; }
.employee-active-dialog { width:min(420px,calc(100vw - 28px)); }
.employee-active-dialog>p { margin:0; color:var(--muted); line-height:1.5; }
.employee-active-dialog .button.danger { border-color:rgb(177 55 55 / 28%); background:var(--danger); color:#fff; }
.employee-role-options input,.employee-owner-option input { flex:0 0 18px; width:18px; height:18px; min-height:18px; margin:0; padding:0; accent-color:var(--accent); }
.employee-roles { margin:0; border:0; min-width:0; }
.employee-role-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.employee-role-options label,.employee-owner-option label { min-width:0; display:flex; align-items:flex-start; gap:9px; padding:10px; border:1px solid rgb(145 165 188 / 34%); border-radius:10px; }
.employee-role-options label>span,.employee-owner-option label>span { min-width:0; }
.employee-role-options small,.employee-owner-option small { display:block; margin-top:2px; color:var(--muted); line-height:1.45; overflow-wrap:anywhere; }
.employee-owner-option { max-width:520px; }
.employee-owner-warning { margin-top:8px; }
.organization-settings { min-width:0; }
.organization-settings-panel p,.organization-settings-panel small { overflow-wrap:anywhere; }
.organization-general-form { max-width:460px; }
.organization-system-info { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); }
.organization-system-info dl { margin:0; font-size:11px; }
.organization-system-info dt { margin-bottom:5px; }
.organization-system-info dd { margin:0; color:#40566d; font-size:12px; overflow-wrap:anywhere; }
.organization-system-info p { margin:7px 0 0; font-size:11px; }
.organization-settings-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.system-update-content { min-width:0; }
.system-release-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.system-release-info>div { min-width:0; padding:14px 16px; border:1px solid rgb(145 165 188 / 34%); border-radius:10px; background:rgb(246 249 252 / 72%); }
.system-release-info dt { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.system-release-info dd { margin:4px 0 0; color:#2d4863; font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.update-empty { display:grid; gap:16px; }
.update-empty p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.update-upload-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; width:100%; }
.update-upload-row .client-field { min-width:0; }
.update-upload-row .button { min-height:42px; white-space:nowrap; }
.update-status-card { display:grid; gap:16px; border:1px solid var(--line); border-radius:var(--radius); padding:16px; background:rgb(255 255 255 / 38%); }
.update-status-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.update-status-heading strong { overflow-wrap:anywhere; }
.status-pill { display:inline-flex; align-items:center; min-height:28px; padding:4px 10px; border-radius:999px; background:#e8f1fb; color:#244f7e; font-size:12px; font-weight:700; }
.update-summary,.update-technical { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.update-summary>div,.update-technical>div { min-width:0; padding:12px; border-radius:12px; background:rgb(239 245 251 / 70%); }
.update-summary dt,.update-technical dt { color:var(--muted); font-size:11px; }
.update-summary dd,.update-technical dd { margin:5px 0 0; font-weight:650; overflow-wrap:anywhere; }
.update-messages { margin:0; padding-left:20px; color:#7a2f2f; }
.update-notes h3 { margin:0 0 6px; font-size:14px; }
.update-notes p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.update-notes h4 { margin:10px 0 4px; font-size:12px; color:#274c70; }
.update-notes ul { margin:0; padding-left:18px; display:grid; gap:3px; overflow-wrap:anywhere; }
.update-announcement { margin:12px 0 0; }
.update-status-card .settings-actions { margin-top:0; }
/* System settings keep the shared two-column card; the description column is
   wider so captions read as sentences, and the update history adapts to the
   width of its own column (cards below 640px). */
.system-settings .settings-section { grid-template-columns:200px minmax(0,1fr); align-items:start; }
.system-settings .settings-section-heading .caption { text-wrap:pretty; }
@media (max-width:1100px) { .system-settings .settings-section { grid-template-columns:minmax(0,1fr); } }
.update-history-content { min-width:0; container-type:inline-size; }
.update-history-scroll { border:1px solid rgb(145 165 188 / 34%); border-radius:10px; overflow-x:auto; background:#fff; }
.update-history-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.update-col-date { width:16%; }
.update-col-transition { width:16%; }
.update-col-state { width:19%; }
.update-col-key { width:17%; }
.update-col-backup { width:13%; }
.update-col-result { width:19%; }
.update-history-table th,.update-history-table td { padding:9px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:normal; word-break:normal; }
.update-history-table tbody tr:last-child td { border-bottom:0; }
.update-history-table th { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; line-height:1.3; background:rgb(246 249 252 / 80%); }
.update-history-table td { color:#2d4863; font-size:12px; line-height:1.4; }
.update-cell { min-width:0; }
.update-date>span { display:block; white-space:nowrap; font-variant-numeric:tabular-nums; }
.update-date>span+span { color:var(--muted); font-size:11px; }
.update-transition { display:block; white-space:nowrap; }
.update-builds { display:block; color:var(--muted); font-family:var(--mono,ui-monospace,monospace); font-size:10px; }
.update-builds>span { display:block; white-space:nowrap; }
.update-state-pill { min-height:24px; padding:3px 9px; font-size:11px; line-height:1.3; white-space:normal; }
.status-pill.is-success { background:var(--success-soft); color:var(--success); }
.status-pill.is-warning { background:var(--warning-soft); color:var(--warning); }
.status-pill.is-danger { background:var(--danger-soft); color:var(--danger); }
.update-actor { display:block; margin-top:4px; }
.update-actor>span,.update-actor>small { display:inline; white-space:nowrap; }
.update-actor>small { margin-left:4px; }
.update-actor>small { color:var(--muted); font-size:11px; font-family:var(--mono,ui-monospace,monospace); }
.update-long-value { display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; }
.update-long-value code { font-size:11px; white-space:nowrap; }
.update-copy { min-height:22px; padding:1px 7px; border:1px solid rgb(128 151 177 / 54%); border-radius:6px; background:#fff; color:#285b9e; font:inherit; font-size:10px; font-weight:650; cursor:pointer; }
.update-copy:hover,.update-copy:focus-visible { border-color:#348bcc; outline:2px solid rgb(52 139 204 / 20%); }
.update-result>span { display:block; overflow-wrap:break-word; }
.update-result>code { display:block; max-width:100%; overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
@container (max-width:600px) {
  .update-history-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .update-history-table colgroup { display:none; }
  .update-history-table,.update-history-table tbody,.update-history-table tr,.update-history-table td { display:block; }
  .update-history-table tr { padding:10px 12px; border-bottom:1px solid var(--line); }
  .update-history-table tbody tr:last-child { border-bottom:0; }
  .update-history-table td { display:grid; grid-template-columns:118px minmax(0,1fr); gap:10px; padding:3px 0; border:0; }
  .update-history-table td::before { content:attr(data-label); color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .update-history-table td[colspan] { display:block; }
  .update-history-table td[colspan]::before { content:none; }
  .update-date>span { display:inline; }
  .update-date>span+span { margin-left:6px; }
}
.update-empty { gap:12px; }
.update-file-picker { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:10px; border:1px solid rgb(145 165 188 / 46%); border-radius:10px; background:rgb(246 249 252 / 72%); }
.update-file-picker .button { min-height:38px; white-space:nowrap; }
.update-file-info { flex:1 1 180px; min-width:0; display:flex; flex-direction:column; gap:1px; }
.update-file-info strong { overflow:hidden; color:#2d4863; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.update-file-info span { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.update-file-info span:empty { display:none; }
.update-transfer { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.update-error { margin:0; padding:8px 12px; border:1px solid var(--danger); border-radius:8px; background:var(--danger-soft); color:var(--danger); font-size:12px; }
.update-error[hidden] { display:none; }
.update-transfer progress,.update-progress-bar { width:100%; height:8px; appearance:none; -webkit-appearance:none; border:0; border-radius:999px; background:#e3ebf3; color:var(--accent); overflow:hidden; }
.update-transfer progress::-webkit-progress-bar,.update-progress-bar::-webkit-progress-bar { border-radius:999px; background:#e3ebf3; }
.update-transfer progress::-webkit-progress-value,.update-progress-bar::-webkit-progress-value { border-radius:999px; background:var(--accent); transition:width .3s ease; }
.update-transfer progress::-moz-progress-bar,.update-progress-bar::-moz-progress-bar { border-radius:999px; background:var(--accent); }
.update-progress { display:grid; gap:12px; padding:14px; border:1px solid rgb(145 165 188 / 40%); border-radius:10px; background:#fff; }
.update-progress[hidden] { display:none; }
.update-progress-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.update-progress-head h3 { margin:0; font-size:14px; }
.update-progress-percent { color:#285b9e; font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; }
.update-progress-meta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; margin:0; }
.update-progress-meta dt { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.update-progress-meta dd { margin:2px 0 0; color:#2d4863; font-size:12px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.update-stages { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.update-stage { display:grid; grid-template-columns:14px minmax(0,1fr) auto; align-items:center; gap:10px; padding:6px 8px; border-radius:8px; color:#7a8ca0; font-size:12px; }
.update-stage::before { content:""; width:12px; height:12px; box-sizing:border-box; border:2px solid #b7c7d8; border-radius:50%; }
.update-stage-detail { color:inherit; font-size:11px; font-weight:400; text-align:right; }
.update-stage.is-done { color:#2f5f45; }
.update-stage.is-done::before { border-color:#2f8a5b; background:#2f8a5b; }
.update-stage.is-active { background:#eef5fb; color:#244f7d; font-weight:650; }
.update-stage.is-active::before { border-color:var(--accent); background:#d9e8f7; animation:update-step-pulse 1.4s ease-in-out infinite; }
.update-stage.is-failed { background:var(--danger-soft); color:var(--danger); font-weight:650; }
.update-stage.is-failed::before { border-color:var(--danger); background:var(--danger); }
.update-stage.is-rollback { grid-template-columns:14px minmax(0,1fr); background:var(--warning-soft); color:var(--warning); font-weight:650; }
.update-stage.is-rollback::before { border-color:var(--warning); }
@keyframes update-step-pulse { 50% { box-shadow:0 0 0 4px rgb(52 139 204 / 18%); } }
@media (prefers-reduced-motion:reduce) { .update-stage.is-active::before { animation:none; } }
.update-progress-note { margin:0; padding:8px 10px; border-radius:8px; background:#f3f7fb; color:#40566d; font-size:12px; line-height:1.5; }
.update-progress-note[data-tone="success"] { background:var(--success-soft); color:var(--success); }
.update-progress-note[data-tone="warning"] { background:var(--warning-soft); color:var(--warning); }
.update-progress-note[data-tone="danger"] { background:var(--danger-soft); color:var(--danger); }
.update-messages li.is-info { color:#40566d; }
.confirmation-dialog ul { margin:0; padding-left:20px; line-height:1.55; }
.organization-settings .branding-content { padding:0; display:grid; grid-template-columns:130px minmax(0,1fr); gap:22px; }
.organization-settings .logo-preview { min-width:0; width:130px; height:90px; padding:12px; }
.organization-settings .logo-preview .brand-logo-image { max-width:76px; max-height:56px; }
.organization-settings .branding-file-label { margin-top:0; }
.organization-settings #branding-remove-form { margin-top:10px; }
@media (max-width:600px) {
 .organization-settings .branding-content { grid-template-columns:minmax(0,1fr); gap:18px; }
 .system-release-info { grid-template-columns:minmax(0,1fr); }
 .update-file-picker .button { flex:1 1 auto; }
 .update-progress-meta { grid-template-columns:minmax(0,1fr); }
 .update-stage { grid-template-columns:14px minmax(0,1fr); }
 .update-stage-detail { grid-column:2; text-align:left; }
 .update-summary,.update-technical { grid-template-columns:minmax(0,1fr); }
 .update-status-heading { align-items:flex-start; flex-direction:column; }
 .system-update-panel .settings-actions .button { width:100%; }
}
.role-list-table-wrap { border:1px solid rgb(145 165 188 / 34%); border-radius:11px; }
.role-list-table { width:100%; table-layout:fixed; }
.role-list-table th:nth-child(1) { width:18%; }
.role-list-table th:nth-child(2) { width:15%; }
.role-list-table th:nth-child(3) { width:auto; }
.role-list-table th:nth-child(4) { width:110px; }
.role-list-table th:nth-child(5) { width:108px; }
.role-list-table td { overflow-wrap:anywhere; }
.role-title-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.role-title-line h2 { margin:0; }
.role-permission-groups { min-width:0; display:grid; gap:14px; }
.role-permission-group { padding:14px; border:1px solid rgb(145 165 188 / 42%); border-radius:12px; }
.role-permission-group legend { padding:0 6px; font-weight:700; }
.role-permission-group .employee-role-options label { background:#fff; transition:border-color .14s ease,background .14s ease,box-shadow .14s ease; }
.role-permission-group .employee-role-options label:has(input:checked) { border-color:#4a8fc8; background:#edf6fd; box-shadow:inset 3px 0 0 #2f7fba; }
.role-permission-secret { border-color:#c97600!important; background:#fff8e8!important; }
.role-permission-secret:has(input:checked) { background:#fff1cf!important; box-shadow:inset 3px 0 0 #c97600!important; }
.role-permission-secret-marker { display:inline-flex; margin-left:5px; padding:2px 5px; border-radius:4px; background:#f8d79d; color:#7a4a00; font-size:8px; font-weight:750; vertical-align:1px; }
.role-permission-dependencies { display:block; margin-top:4px; color:#536c84; font-weight:650; }
.client-contacts-header { align-items:center; }
.client-contacts-header h2 { margin:0 0 3px; color:var(--shell-ink); font-size:20px; }
.client-contacts-surface { overflow:hidden; }
.client-contacts-table td { height:50px; }
.client-contact-manager-choice { display:flex; align-items:center; gap:8px; margin-top:13px; color:#40566d; font-size:10px; font-weight:600; }
.client-contact-manager-choice input { width:16px; height:16px; accent-color:var(--accent); }
.client-contact-detail { max-width:720px; }
.client-contact-detail-form { display:grid; gap:14px; }
.client-contact-detail-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding-top:13px; border-top:1px solid var(--line); }
.project-workspace-state { min-height:340px; padding:40px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; background:rgb(255 255 255 / 97%); }
.project-workspace-state p { max-width:480px; color:var(--muted); }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 250px; }
.info-block { padding:20px; border-bottom:1px solid var(--line); }
.info-block p { margin-top:12px; font-size:13px; }
.info-block dl { display:grid; grid-template-columns:100px 1fr; gap:12px; font-size:12px; }
.info-block dd { margin:0; }
.context-drawer { padding:20px; border-left:1px solid var(--line); }
.context-drawer p { margin:12px 0; font-size:12px; color:var(--muted); }
.working-grid { display:grid; grid-template-columns:180px minmax(0,1fr) 220px; min-height:440px; }
.working-nav { padding:16px; display:flex; flex-direction:column; gap:12px; background:var(--workspace-surface); border-right:1px solid var(--line); font-size:12px; }
.working-content { min-width:0; }
.working-content .field { margin:16px; }
textarea { resize:vertical; }
@media (max-width:1100px) {
 .background-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .working-grid { grid-template-columns:150px minmax(0,1fr); }
 .working-grid>.context-drawer { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); }
 .global-tools { max-width:320px; }
 .project-overview { grid-template-columns:minmax(0,1fr) minmax(240px,.72fr); }
}
@media (max-width:760px) {
 .topbar { padding:0 12px; gap:8px; }
 .global-tools,.breadcrumb-root,.breadcrumb-separator { display:none; }
 .breadcrumbs { min-width:0; }
 main { padding:16px 12px; }
 .page-header { padding:4px 0 0; }
 .background-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .appearance-panel fieldset { padding:16px; }
 .branding-content { flex-direction:column; gap:12px; padding:16px; }
 .logo-preview { width:150px; }
 .detail-grid,.working-grid { grid-template-columns:minmax(0,1fr); }
 .context-drawer { border-left:0; border-top:1px solid var(--line); }
 .working-nav { flex-direction:row; flex-wrap:wrap; align-items:center; border-right:0; border-bottom:1px solid var(--line); }
 .panel-heading { flex-wrap:wrap; }
 .overview-item small { font-size:12px; }
 .preview-bar { flex-wrap:wrap; }
 .task-table { table-layout:fixed; }
 .task-table th:first-child { width:65%; }
 .projects-table th:first-child { width:32%; }
 .task-table .badge { white-space:normal; width:auto; }
 .project-row,.timeline-row { flex-wrap:wrap; }
 .projects-toolbar { flex-wrap:wrap; }
 .projects-search { flex:1 1 160px; }
 .projects-page-header { flex-direction:row; }
 .projects-surface>.empty-state { min-height:300px; }
 .task-list-context { align-items:flex-start; flex-wrap:wrap; gap:3px 10px; }
 .task-control-line { grid-template-columns:1fr; align-items:start; gap:3px; }
 .task-primary-controls { display:grid; grid-row:3; grid-template-columns:auto minmax(80px,1fr) auto; width:100%; margin-top:4px; }
 .task-list-subtitle { grid-column:1; grid-row:2; }
 .task-role-select-form { grid-column:2/4; min-width:0; }
 .task-search-filter { grid-column:1/3; grid-row:2; width:100%; min-width:0; max-width:none; }
 .task-filter-trigger { grid-column:3; grid-row:2; }
 .project-task-table { min-width:0; display:block; }
 .project-task-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .project-task-table tbody,.project-task-table tr,.project-task-table td { display:block; width:100%; }
 .project-task-table tr { padding:7px 12px; border-bottom:1px solid rgb(181 197 216 / 52%); }
 .project-task-table tr:last-child { border-bottom:0; }
 .project-task-table td,.project-task-table td:first-child { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:center; gap:8px; height:auto; min-height:35px; padding:6px 0; border:0; background:transparent; }
 .project-task-table td::before { content:attr(data-label); color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.55px; text-transform:uppercase; }
 .project-task-table tbody tr:hover td { background:transparent; }
 .project-task-table .project-technical-code { grid-column:2; }
 .project-task-table .task-project-name { overflow:visible; white-space:normal; overflow-wrap:anywhere; }
 .task-list-surface>.empty-state { min-height:280px; }
 .project-workspace-state { min-height:300px; padding:24px 18px; }
 .client-editor { padding:16px; }
 .client-contract-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:900px) {
 .employee-table { min-width:0; display:block; }
 .employee-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .employee-table tbody,.employee-table tr,.employee-table td { display:block; width:100%; }
 .employee-table tr { padding:8px 13px; border-bottom:1px solid rgb(181 197 216 / 52%); }
 .employee-table tr:last-child { border-bottom:0; }
 .employee-table td,.employee-table td:first-child,.employee-table td:last-child { display:grid; grid-template-columns:118px minmax(0,1fr); align-items:center; gap:8px; width:100%; height:auto; min-height:32px; padding:5px 0; border:0; background:transparent; text-align:left; }
 .employee-table td::before { content:attr(data-label); color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.45px; text-transform:uppercase; }
 .employee-table tbody tr:hover td { background:transparent; }
}
@media (max-width:768px) {
 .employee-form-grid,.employee-role-options { grid-template-columns:minmax(0,1fr); }
 .client-catalog-tabs { width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
 .client-catalog-tabs::-webkit-scrollbar { display:none; width:0; height:0; }
 .client-catalog-tabs a { flex:0 0 auto; white-space:nowrap; }
 .client-form-grid { grid-template-columns:minmax(0,1fr); }
 .client-field-wide { grid-column:auto; }
 .client-contract-grid,.client-chat-grid { grid-template-columns:minmax(0,1fr); }
 .client-editor { padding:16px; }
 .client-combobox-menu { position:fixed; top:auto; right:14px; bottom:14px; left:14px; width:auto; max-height:min(420px,calc(100vh - 28px)); }
 .client-combobox-options { max-height:220px; }
 .catalog-page-header { grid-template-columns:minmax(0,1fr) auto; }
 .catalog-list-toolbar { grid-template-columns:minmax(0,1fr) auto; padding:12px; }
 .catalog-directory-panel { padding:14px; }
 .catalog-directory-toolbar { padding:0 0 14px; }
 .catalog-table-wrap { overflow:visible; }
 .catalog-directory-panel .client-catalog-table { min-width:0; }
 .catalog-directory-panel .client-catalog-table td { height:auto; min-height:38px; padding:7px 0; }
 .client-catalog-table { min-width:0; display:block; }
 .client-catalog-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .client-catalog-table tbody,.client-catalog-table tr,.client-catalog-table td { display:block; width:100%; }
 .client-catalog-table tr { padding:9px 13px; border-bottom:1px solid rgb(181 197 216 / 52%); }
 .client-catalog-table tr:last-child { border-bottom:0; }
 .client-catalog-table td,.client-catalog-table td:first-child,.client-catalog-table td:last-child { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:8px; width:100%; height:auto; min-height:33px; padding:5px 0; border:0; background:transparent; text-align:left; }
 .client-catalog-table td::before { content:attr(data-label); color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.45px; text-transform:uppercase; }
 .client-catalog-table tbody tr:hover td { background:transparent; }
 .catalog-detail-grid { grid-template-columns:minmax(0,1fr); }
 .catalog-detail-grid .catalog-detail-wide { grid-column:auto; }
 .catalog-record-form,.catalog-detail-card { padding:16px; }
 .project-workspace-header { margin-bottom:12px; padding:16px; border:1px solid rgb(255 255 255 / 46%); border-radius:16px; background:rgb(255 255 255 / 72%); color:#18324a; text-shadow:none; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
 .project-back-link { margin-bottom:10px; color:#40566d; text-shadow:none; }
 .project-back-link:hover { color:#18324a; }
 .project-workspace-heading { align-items:flex-start; flex-direction:column; gap:10px; min-width:0; }
 .project-workspace-heading>div:first-child { min-width:0; max-width:100%; }
 .project-workspace-heading .eyebrow { color:#35658e; }
 .project-workspace-heading h1 { color:#18324a; line-height:1.16; overflow-wrap:anywhere; }
 .project-workspace-heading .project-technical-code { max-width:100%; color:#40566d; text-shadow:none; overflow-wrap:anywhere; }
 .project-workspace-badges { justify-content:flex-start; gap:6px; }
 .project-workspace-badges .badge { padding:4px 7px; font-size:9px; }
 .project-header-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin-top:14px; }
 .project-header-facts>div { min-width:0; padding:8px 0 0; border:0; border-radius:0; background:transparent; }
 .project-header-facts>div:nth-child(2) { grid-column:1/-1; grid-row:2; margin-top:8px; padding-top:10px; border-top:1px solid rgb(73 101 128 / 22%); }
 .project-header-facts>div:nth-child(3) { grid-column:2; grid-row:1; }
 .project-header-facts dt { color:#40566d; }
 .project-header-facts dd { color:#18324a; overflow-wrap:anywhere; }
 .project-tabs { margin-right:0; margin-left:0; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scrollbar-width:none; -ms-overflow-style:none; }
 .project-tabs::-webkit-scrollbar { display:none; width:0; height:0; }
 .project-tabs a,.project-tabs>span { white-space:nowrap; }
 .project-overview { grid-template-columns:minmax(0,1fr); gap:10px; }
 .project-information { grid-row:auto; }
 .project-overview-card .panel-heading { padding:16px; }
 .project-card-content { padding:16px; }
 .project-information-list { gap:13px 16px; margin-top:16px; padding-top:16px; }
 .project-participant-list { padding-right:16px; padding-left:16px; }
 .project-participant-more { padding-right:16px; padding-left:16px; }
}
@media (max-width:520px) {
 .employee-status-strip { width:100%; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
}
@media (max-width:520px) {
 .client-tabs { margin-bottom:10px; }
 .client-chat-grid,.client-contact-grid,.client-catalog-grid { grid-template-columns:minmax(0,1fr); }
 .catalog-page-header { grid-template-columns:minmax(0,1fr); }
 .catalog-page-header>.project-back-link { grid-column:1; }
 .catalog-header-action { width:100%; }
 .catalog-list-toolbar { grid-template-columns:minmax(0,1fr); }
 .catalog-directory-toolbar { align-items:stretch; flex-direction:column; gap:8px; }
 .catalog-directory-add { width:100%; }
 .catalog-filter-button { width:100%; }
 .catalog-list-footer { align-items:flex-start; flex-direction:column; gap:3px; }
 .catalog-detail-grid>div { grid-template-columns:96px minmax(0,1fr); gap:9px; }
 .client-dialog-actions { align-items:stretch; flex-direction:column-reverse; }
 .client-dialog-actions .button { width:100%; }
 .client-form-actions { align-items:stretch; flex-direction:column; }
 .client-form-actions .button { width:100%; }
 .client-contact-detail-actions { align-items:stretch; flex-direction:column; }
 .client-contact-detail-actions .button { width:100%; }
}
@media (max-width:640px) {
 .auth-layout { padding:16px 12px; align-content:start; }
 .auth-card { padding:21px 20px 19px; border-radius:20px; }
 .auth-layout[data-auth-stage="enrollment"] .auth-card { padding:20px 18px 18px; }
 .auth-heading { margin:17px auto 15px; }
 .auth-heading h1 { font-size:24px; }
 .enrollment-grid { grid-template-columns:minmax(0,1fr); gap:13px; padding:11px; }
 .enrollment-instructions ol { gap:9px; }
 .auth-security { margin-top:14px; }
}
@media (max-width:360px) {
 .auth-layout { padding:12px 8px; }
 .auth-card { padding:18px 14px 16px; border-radius:18px; }
 .auth-layout[data-auth-stage="enrollment"] .auth-card { padding:18px 14px 16px; }
 .auth-brand .brand-word { font-size:23px; }
 .auth-heading { margin:17px auto 15px; }
 .auth-heading h1 { font-size:22px; }
 .auth-heading p { font-size:12px; }
 .totp-cells { --auth-totp-gap:5px; }
 .totp-cell { height:46px; border-radius:9px; font-size:19px; }
 .enrollment-secret-row { align-items:stretch; flex-direction:column; }
}
@media (max-width:760px) {
 .client-overview-workspace .client-data-grid { grid-template-columns:minmax(0,1fr); }
 .client-overview-workspace .client-data-wide { grid-column:auto; }
}
.workflow-page { width:100%; min-width:0; }
.workflow-page .catalog-detail-card,.workflow-page .catalog-table-wrap { min-width:0; max-width:100%; }
.workflow-command-bar { position:relative; z-index:30; display:flex; align-items:center; gap:12px; min-width:0; margin:0 0 8px; padding:3px 2px; overflow:visible; background:transparent; }
.workflow-command-bar h1 { flex:0 0 auto; display:flex; align-items:center; gap:7px; margin:0 3px 0 0; color:#193d67; font-size:25px; line-height:1.2; }
.workflow-command-form { flex:1 1 auto; display:flex; align-items:center; gap:7px; min-width:0; }
.workflow-filter-search input { width:100%; height:38px; min-height:38px; padding-left:36px; border-radius:10px; background:rgb(255 255 255 / 94%); font-size:12px; }
.workflow-filter-search { position:relative; flex:1 1 390px; min-width:210px; margin-left:auto; }
.workflow-search-icon { position:absolute; z-index:1; top:50%; left:11px; width:16px; height:16px; color:#718397; transform:translateY(-50%); pointer-events:none; }
.workflow-filter-chips { display:flex; flex:0 1 auto; align-items:center; gap:5px; min-width:0; max-width:38%; overflow:hidden; }
.workflow-filter-chip { display:inline-flex; align-items:center; gap:5px; max-width:170px; min-height:27px; padding:4px 8px; border:1px solid rgb(67 112 163 / 18%); border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:10px; font-weight:600; line-height:1.2; text-decoration:none; }
.workflow-filter-chip span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workflow-filter-chip:hover { border-color:rgb(67 112 163 / 38%); background:#e5effa; }
.workflow-filter-chip.work-status-filter { border-color:var(--work-status-border); background:var(--work-status-bg); color:var(--work-status-fg); font-weight:750; }
.workflow-filter-chip.work-status-filter:hover { filter:brightness(.96); }
.workflow-filter-menu { position:relative; flex:0 0 auto; }
.workflow-filter-menu>summary { min-height:38px; padding:8px 13px; cursor:pointer; list-style:none; background:rgb(255 255 255 / 86%); }
.workflow-filter-menu>summary::-webkit-details-marker { display:none; }
.workflow-filter-menu[open]>summary { border-color:rgb(67 112 163 / 35%); background:var(--accent-soft); color:var(--accent); }
.workflow-filter-popover { position:absolute; z-index:40; top:calc(100% + 7px); right:0; width:min(620px,calc(100vw - 32px)); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:13px; border:1px solid rgb(143 164 187 / 48%); border-radius:12px; background:#fff; box-shadow:0 18px 42px rgb(28 54 84 / 22%); }
.workflow-filter-control { display:grid; gap:5px; min-width:0; color:#40566d; font-size:10px; font-weight:600; }
.workflow-filter-control input { width:100%; height:36px; min-height:36px; font-size:11px; }
.workflow-filter-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:7px; padding-top:2px; }
.workflow-filter-apply,.workflow-filter-reset { min-height:34px; white-space:nowrap; }
.workflow-filter-reset { text-decoration:none; }
.workflow-view-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; margin:0 0 7px; padding:5px 7px; border:1px solid rgb(181 197 216 / 56%); border-radius:10px; background:rgb(255 255 255 / 88%); box-shadow:0 2px 9px rgb(33 59 87 / 6%); }
.workflow-tabs { display:flex; align-items:center; gap:3px; min-width:0; margin:0; }
.workflow-tabs a,.workflow-list-mode { min-height:32px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:6px 11px; border:1px solid transparent; border-radius:7px; color:#40566d; font-size:11.5px; font-weight:650; line-height:1.2; text-decoration:none; white-space:nowrap; }
.workflow-tabs .icon { width:15px; height:15px; flex:0 0 auto; }
.workflow-list-mode { border-color:rgb(67 112 163 / 18%); background:#fff; color:#193d67; }
.workflow-tabs a:hover { background:rgb(229 238 252 / 70%); color:#244f7d; }
.workflow-tabs a.active { border-color:rgb(67 112 163 / 18%); background:var(--accent-soft); color:var(--accent); box-shadow:inset 0 1px 0 rgb(255 255 255 / 72%); }
.workflow-tabs a:focus-visible { outline:2px solid #348bcc; outline-offset:2px; }
.workflow-list-meta { flex:0 0 auto; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; white-space:nowrap; }
.workflow-list-meta strong { color:#193d67; }
.workflow-sort-label { min-height:30px; display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-left:1px solid rgb(181 197 216 / 55%); }
.workflow-view-settings { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgb(128 151 177 / 34%); border-radius:7px; background:#f5f8fb; color:#718397; }
.workflow-view-settings .icon { width:15px; height:15px; }
.workflow-view-settings:disabled { cursor:not-allowed; opacity:.66; }
.workflow-list-surface { min-width:0; overflow:hidden; padding:0; background:rgb(255 255 255 / 97%); }
.workflow-table-wrap { overflow:visible; }
.workflow-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.workflow-table th,.workflow-table td { padding:11px 12px; border-bottom:1px solid rgb(181 197 216 / 48%); text-align:left; vertical-align:middle; overflow-wrap:anywhere; }
.workflow-table th { height:34px; padding-top:9px; padding-bottom:9px; background:rgb(239 244 250 / 72%); color:var(--muted); font-size:9.5px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; }
.workflow-table td { height:70px; }
.workflow-table tbody tr:last-child td { border-bottom:0; }
.workflow-task-row { cursor:pointer; }
.workflow-task-row:hover td { background:rgb(232 240 250 / 58%); }
.workflow-task-row:focus-visible { outline:2px solid #348bcc; outline-offset:-2px; }
.workflow-table th:nth-child(1) { width:42px; }
.workflow-table th:nth-child(2) { width:auto; }
.workflow-table th:nth-child(3) { width:19%; }
.workflow-table th:nth-child(4) { width:14%; }
.workflow-table th:nth-child(5) { width:13%; }
.workflow-table th:nth-child(6) { width:12%; }
.workflow-table th:nth-child(7) { width:46px; }
.workflow-select-column,.workflow-select-cell { text-align:center!important; }
.workflow-select-column input,.workflow-select-cell input { width:15px; height:15px; margin:0; accent-color:var(--accent); }
.workflow-task-cell strong { display:block; color:#193d67; font-size:13px; font-weight:700; line-height:1.35; }
.workflow-task-cell>span { display:block; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.3; }
.workflow-task-cell .text-link { font-size:inherit; }
.workflow-queue-cell,.workflow-assignee-cell,.workflow-deadline-cell { font-size:12px; line-height:1.4; }
.workflow-queue-cell { color:#334f6b; }
.workflow-assignee-cell.is-muted,.workflow-deadline-cell.is-muted { color:var(--muted); }
.workflow-status { max-width:100%; padding:5px 7px; white-space:normal; text-align:center; }
.workflow-table-action { padding-right:18px!important; padding-left:6px!important; text-align:center!important; white-space:nowrap; }
.workflow-row-menu { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; color:#40566d; font-size:18px; line-height:1; text-decoration:none; }
.workflow-row-menu:hover,.workflow-row-menu:focus-visible { background:var(--accent-soft); color:var(--accent); }
.workflow-empty-state { min-height:0; padding:26px 18px; }
.workflow-empty-state h3 { margin:0; }
.workflow-empty-state p { margin:0; }
.workflow-task-create-dialog { width:min(540px,calc(100vw - 28px)); padding:19px; }
.workflow-task-create-dialog .client-dialog-head { margin-bottom:14px; }
.workflow-task-create-field { margin-top:0; }
.workflow-task-create-description { min-height:58px; margin-top:11px; padding:11px 12px; border:1px solid rgb(181 197 216 / 55%); border-radius:10px; background:#f4f8fc; color:var(--muted); font-size:11px; line-height:1.5; }
.workflow-task-create-description p { margin:0; }
.workflow-task-detail-title { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.workflow-task-detail-title h1 { max-width:980px; margin:2px 0 0; color:#193d67; font-size:21px; line-height:1.3; overflow-wrap:anywhere; }
.workflow-task-detail-title .eyebrow { margin:0; }
.workflow-task-detail-title>.badge { flex:0 0 auto; margin-top:4px; }
.workflow-task-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:12px; align-items:start; min-width:0; }
.workflow-task-detail-main { min-width:0; display:grid; gap:10px; }
.workflow-task-summary-card,.workflow-task-spec-card,.workflow-task-work-card,.workflow-task-actions-card { min-width:0; padding:14px 16px; }
.workflow-task-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:10px; }
.workflow-task-section-heading h2,.workflow-task-actions-card h2,.workflow-task-spec-card>h2 { margin:0; color:#274c70; font-size:14px; }
.workflow-task-section-heading p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.workflow-task-section-heading>span { flex:0 0 auto; color:var(--muted); font-size:10px; font-weight:650; }
.workflow-task-description { margin:0 0 11px; color:#40566d; font-size:11px; line-height:1.5; }
.workflow-task-meta-grid,.workflow-task-spec-grid,.workflow-task-commercial-grid { display:grid; margin:0; }
.workflow-task-meta-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 16px; }
.workflow-task-spec-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px 18px; }
.workflow-task-commercial-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.workflow-task-meta-grid>div,.workflow-task-spec-grid>div,.workflow-task-commercial-grid>div { min-width:0; }
.workflow-task-meta-grid dt,.workflow-task-spec-grid dt,.workflow-task-commercial-grid dt { color:var(--muted); font-size:9px; }
.workflow-task-meta-grid dd,.workflow-task-spec-grid dd,.workflow-task-commercial-grid dd { margin:3px 0 0; color:#294663; font-size:11px; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.workflow-task-commercial-grid>div { padding:8px 9px; border-radius:8px; background:#f5f8fb; }
.workflow-task-subsection { margin-top:12px; padding-top:11px; border-top:1px solid rgb(145 165 188 / 30%); }
.workflow-task-subsection>h3,.workflow-task-context-grid h3,.workflow-task-context-grid h4 { margin:0 0 7px; color:#40566d; font-size:11px; }
.workflow-task-geo-grid,.workflow-task-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.workflow-task-geo-grid h4 { margin:0 0 6px; color:var(--muted); font-size:9px; }
.workflow-task-chip-list { min-width:0; display:flex; flex-wrap:wrap; gap:5px; }
.workflow-task-chip { max-width:100%; padding:4px 7px; border:1px solid rgb(128 151 177 / 34%); border-radius:999px; background:#edf4fa; color:#28577f; font-size:9px; font-weight:600; overflow-wrap:anywhere; }
.workflow-task-empty { color:var(--muted); font-size:10px; }
.workflow-task-url-list { display:grid; gap:4px; min-width:0; margin:0; padding:0; list-style:none; }
.workflow-task-url-list li,.workflow-task-url-list a { min-width:0; color:#2f6fa4; font-size:10px; overflow-wrap:anywhere; word-break:break-word; }
.workflow-task-provider-list { display:grid; gap:5px; }
.workflow-task-provider-list>div { min-width:0; display:grid; grid-template-columns:minmax(90px,.35fr) minmax(0,1fr); gap:7px; padding:5px 0; border-bottom:1px solid rgb(145 165 188 / 22%); }
.workflow-task-provider-list>div:last-child { border-bottom:0; }
.workflow-task-provider-list strong,.workflow-task-provider-list span { font-size:10px; overflow-wrap:anywhere; }
.workflow-task-provider-list strong { color:#294663; }
.workflow-task-provider-list span { color:var(--muted); }
.workflow-task-note { margin-top:9px; padding:8px 10px; border-left:3px solid rgb(67 112 163 / 28%); background:#f7f9fc; color:#40566d; }
.workflow-task-note strong { font-size:9px; }
.workflow-task-note p { margin:3px 0 0; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.workflow-task-table-wrap { max-width:100%; overflow-x:auto; }
.workflow-task-work-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:10px; }
.workflow-task-work-table th,.workflow-task-work-table td { padding:8px 9px; border-bottom:1px solid rgb(181 197 216 / 44%); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.workflow-task-work-table th { color:var(--muted); background:#f4f7fb; font-size:8px; font-weight:650; letter-spacing:.35px; text-transform:uppercase; }
.workflow-task-work-table tbody tr:last-child td { border-bottom:0; }
.workflow-task-approval-table th:nth-child(1) { width:18%; }
.workflow-task-approval-table th:nth-child(2) { width:25%; }
.workflow-task-approval-table th:nth-child(3) { width:16%; }
.workflow-task-approval-table th:nth-child(4) { width:41%; }
.workflow-task-table-url { display:block; color:#2f6fa4; overflow-wrap:anywhere; word-break:break-word; }
.workflow-task-row-comment { display:block; margin-top:4px; color:var(--muted); font-size:9px; line-height:1.35; }
.workflow-task-actions-card { position:sticky; top:74px; display:grid; gap:10px; }
.workflow-task-actions-card form { display:grid; gap:7px; margin:0; padding-top:10px; border-top:1px solid rgb(145 165 188 / 30%); }
.workflow-task-actions-card form:first-of-type { padding-top:0; border-top:0; }
.workflow-task-actions-card .button { width:100%; min-height:34px; padding:6px 9px; }
.workflow-task-actions-card .client-field { gap:4px; }
.workflow-task-create-description:not(:has(p:not([hidden])))::before { content:"После выбора появится краткое описание задачи."; }
.workflow-task-create-dialog .client-dialog-actions { flex-direction:row; }
.workflow-mine { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.workflow-choice-page-header { display:block; margin-bottom:12px; }
.workflow-choice-page-header .project-back-link { display:inline-flex; margin-bottom:9px; }
.workflow-choice-page-header h1 { margin:0; }
.workflow-choice-page-header p { margin:5px 0 0; }
.workflow-choice-grid,.workflow-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.workflow-choice-grid { gap:12px; align-items:stretch; }
.workflow-choice { min-height:154px; display:grid; grid-template-rows:auto 1fr auto; gap:10px; padding:19px 20px; border-color:rgb(255 255 255 / 64%); background:rgb(255 255 255 / 96%); color:inherit; text-decoration:none; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease; }
.workflow-choice:hover { border-color:rgb(62 111 164 / 42%); background:#fff; box-shadow:0 9px 24px rgb(31 62 96 / 13%); transform:translateY(-1px); }
.workflow-choice:focus-visible { border-color:#348bcc; outline:3px solid rgb(52 139 204 / 24%); outline-offset:2px; box-shadow:0 9px 24px rgb(31 62 96 / 13%); }
.workflow-choice strong { color:#193d67; font-size:15px; line-height:1.3; }
.workflow-choice-description { max-width:590px; color:var(--muted); font-size:12px; line-height:1.55; }
.workflow-choice-action { align-self:end; width:max-content; color:var(--accent); font-size:11px; font-weight:700; }
.workflow-repeat-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-bottom:10px; }
.workflow-terminal-picker { display:grid; grid-template-columns:minmax(220px,.45fr) minmax(0,1fr); gap:18px; align-items:start; }
.workflow-terminal-results { max-height:240px; overflow:auto; border:1px solid var(--line); border-radius:12px; padding:8px; min-height:48px; }
.workflow-terminal-option { display:flex; gap:8px; padding:8px; border-radius:8px; }
.workflow-terminal-option:focus-within { outline:2px solid #348bcc; outline-offset:1px; }
.workflow-selected-terminals { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.workflow-provider-states { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:8px; }
.workflow-provider-states p { display:flex; justify-content:space-between; gap:12px; margin:0; padding:9px 11px; border-radius:9px; background:#f4f8fc; }
.merchant-detail-workspace { display:grid; gap:6px; }
.merchant-detail-workspace>.merchant-detail-header { margin:0; padding:1px 2px 2px; align-items:center; }
.merchant-detail-header-copy { min-width:0; }
.merchant-detail-workspace>.merchant-detail-header .project-back-link { margin:0 0 2px; font-size:9px; line-height:1.25; }
.merchant-detail-workspace>.merchant-detail-header h1 { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; margin:0; font-size:18px; line-height:1.2; overflow-wrap:anywhere; }
.merchant-detail-workspace>.merchant-detail-header .button { min-height:34px; padding:5px 10px; }
.merchant-detail-workspace>.merchant-detail-grid { margin-top:0; }
.merchant-detail-workspace>.merchant-detail-additional { margin-top:0; }
@media (max-width:520px) {
 .merchant-detail-workspace>.merchant-detail-header { align-items:stretch; }
 .merchant-detail-workspace>.merchant-detail-header .button { width:100%; }
}
.request-detail-page { min-width:0; display:grid; gap:10px; }
.request-detail-page>.client-list-header { margin-bottom:0; }
.request-detail-page>.request-detail-header { min-height:0; display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:7px 14px; margin:0; padding:0 2px 2px; }
.request-detail-header-copy { min-width:0; flex:1 1 180px; display:grid; gap:2px; }
.request-detail-header .project-back-link { width:max-content; margin:0 0 1px; font-size:9px; line-height:1.25; }
.request-detail-header h1 { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:0; font-size:18px; line-height:1.2; }
.request-detail-header h1 .work-status-badge { min-height:22px; padding:3px 8px; font-size:9px; }
.request-detail-header p { margin:0; font-size:10px; line-height:1.3; overflow-wrap:anywhere; }
.request-detail-header form { flex:0 0 auto; margin:0; }
@media (max-width:480px) { .request-detail-page>.request-detail-header { row-gap:4px; } }
.request-detail-header .button { min-height:34px; padding:5px 10px; }
.request-detail-page .catalog-detail-card { min-width:0; padding:14px 16px; }
.request-detail-page .catalog-detail-card>h3 { margin:0 0 9px; color:#274c70; font-size:13px; }
.request-detail-page .catalog-detail-grid>div { padding:6px 0; }
.request-detail-page .workflow-detail-grid { gap:10px; margin-bottom:0; }
.request-overview-card { min-width:0; }
.request-detail-page .request-result-card { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; padding:10px 16px; }
.request-detail-page .request-result-card>h3 { margin:0; }
.request-result-card>p { flex-basis:100%; margin:0; font-size:10px; line-height:1.4; }
.request-work-grid { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:stretch; }
.request-url-card,.request-terminal-summary { min-width:0; align-self:stretch; }
.request-work-grid.has-expanded-card { align-items:start; }
.request-work-grid.has-expanded-card .request-url-card,.request-work-grid.has-expanded-card .request-terminal-summary { align-self:start; }
.request-collection-card { display:flex; flex-direction:column; }
.request-collection-disclosure { align-self:flex-start; min-height:29px; margin-top:8px; padding:4px 9px; font-size:9px; }
.request-overview-section-heading { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.request-overview-section-heading h3 { min-width:0; margin:0; color:#274c70; font-size:12px; }
.request-overview-section-heading .button { flex:0 0 auto; min-height:34px; padding:5px 10px; }
.request-url-list { min-width:0; display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.request-url-list li,.request-url-list a { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.request-url-list a { display:block; }
.request-url-list li { padding:4px 7px; border-radius:6px; background:#f5f8fb; font-size:10px; line-height:1.35; }
.request-copy-status { display:block; min-height:1em; margin-top:6px; color:var(--success); font-size:9px; }
.request-copy-status:empty { display:none; }
/* Six columns: «Результат группы» got 0 px when five widths summed to 100%. */
.request-terminal-table th:nth-child(1),.request-terminal-table th:nth-child(2) { width:19%; }
.request-terminal-table th:nth-child(3) { width:11%; }
.request-terminal-table th:nth-child(4) { width:10%; }
.request-terminal-table th:nth-child(5) { width:23%; }
.request-terminal-table th:nth-child(6) { width:18%; }
.request-terminal-table th,.request-terminal-table td { padding:6px 8px; }
.request-terminal-table td { vertical-align:middle; }
.request-terminal-comment { display:block; margin-top:5px; color:var(--muted); font-size:9px; line-height:1.4; overflow-wrap:anywhere; }
.request-detail-page .request-specification-card>h3 { margin-bottom:10px; }
.request-specification-grid { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.request-specification-column,.request-specification-section { min-width:0; }
.request-specification-section+.request-specification-section { margin-top:10px; padding-top:9px; border-top:1px solid rgb(145 165 188 / 28%); }
.request-specification-section h4 { margin:0 0 5px; color:#40566d; font-size:10px; }
.request-specification-section h5 { margin:0 0 4px; color:var(--muted); font-size:9px; }
.request-specification-list { margin:0; }
.request-specification-list>div { min-width:0; display:grid; grid-template-columns:minmax(120px,42%) minmax(0,1fr); gap:9px; padding:4px 0; border-bottom:1px solid rgb(181 197 216 / 22%); }
.request-specification-list>div:last-child { border-bottom:0; }
.request-specification-list dt { color:var(--muted); font-size:9px; line-height:1.4; }
.request-specification-list dd { min-width:0; margin:0; color:var(--text); font-size:10px; font-weight:650; line-height:1.4; overflow-wrap:anywhere; word-break:break-word; }
.request-geography-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.request-geography-grid ul { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.request-geography-grid li { color:var(--text); font-size:10px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.request-specification-special { grid-column:1/-1; margin-top:10px; padding-top:9px; border-top:1px solid rgb(145 165 188 / 28%); }
.request-specification-special p { margin:0; color:var(--text); font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.request-related-grid { align-items:stretch; }
.request-compact-list { display:grid; gap:5px; }
.request-compact-list p { margin:0; color:var(--text); font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.request-linked-task-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.request-linked-task-row .text-link { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.request-linked-task-row .work-status-badge { flex:0 0 auto; min-height:22px; padding:3px 7px; font-size:9px; }
.workflow-table th,.workflow-table td { white-space:normal; }
.workflow-detail-grid { margin-bottom:20px; }
.workflow-page form textarea { width:100%; }
/* REQ-MA Create is intentionally denser than the shared entity forms. */
main:has(.req-ma-workspace) { max-width:none; }
.req-ma-workspace { width:100%; max-width:none; min-width:0; container:req-ma-workspace / inline-size; }
.req-ma-header { display:block; margin-bottom:8px; padding-top:2px; }
.req-ma-header .project-back-link { display:inline-flex; margin-bottom:6px; }
.req-ma-header h1 { margin:0; font-size:20px; }
.req-ma-header p { margin:3px 0 0; color:var(--shell-muted); font-size:11px; }
.req-ma-workspace-grid { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:12px; align-items:start; }
.req-ma-form { min-width:0; display:grid; gap:10px; padding:0; border:0; background:transparent; box-shadow:none; container:req-ma-form / inline-size; }
.req-ma-form .client-form-alert { margin-bottom:0; }
.req-positions { display:grid; gap:18px; min-width:0; }
.request-positions { display:grid; gap:12px; min-width:0; }
.request-positions-title { margin:6px 0 0; font-size:16px; }
.request-position-card { display:grid; gap:10px; min-width:0; }
.request-position-card-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.request-position-card-head h3 { margin:0; font-size:15px; overflow-wrap:anywhere; }
.request-position-card h4 { margin:6px 0 2px; font-size:13px; }
.request-position-spec>summary { cursor:pointer; color:var(--accent); font-weight:600; }
.request-position-spec[open]>summary { margin-bottom:6px; }
.workflow-task-position-heading { margin:14px 0 6px; padding:6px 10px; border-left:3px solid var(--accent); border-radius:4px; background:var(--accent-soft); color:var(--accent); font-size:13px; font-weight:650; overflow-wrap:anywhere; }
.workflow-task-position-heading:first-child { margin-top:0; }
.workflow-task-position-row th { padding:8px 10px; background:var(--accent-soft); color:var(--accent); font-size:12px; font-weight:650; text-align:left; }
.workflow-task-position-results { display:grid; gap:6px; margin:10px 0 0; padding:0; list-style:none; }
.workflow-task-position-results li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 12px; align-items:center; min-width:0; overflow-wrap:anywhere; }
.req-position { display:grid; gap:10px; min-width:0; }
.req-terminal-position { gap:0; }
.req-terminal-position+.req-terminal-position { margin-top:18px; padding-top:18px; border-top:2px solid var(--line); }
.req-position-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; min-width:0; padding:10px 14px; border:1px solid #c9d9f0; border-radius:10px; background:var(--accent-soft); }
.req-position-head[hidden] { display:none; }
.req-position-head h2 { margin:0; color:var(--accent); font-size:15px; font-weight:650; }
.req-position-shared { display:flex; align-items:center; min-height:36px; margin:0; padding:0 10px; border:1px dashed var(--line); border-radius:8px; background:var(--surface-subtle); color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.req-position-add { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; min-width:0; }
.req-position-url-first { display:inline-flex; gap:7px; align-items:center; margin:2px 0 6px; font-size:12px; cursor:pointer; }
.req-position-url-first input { flex:0 0 16px; width:16px; min-width:16px; height:16px; min-height:16px; margin:0; padding:0; accent-color:var(--accent); }
[data-request-urls].is-copied { background:var(--surface-subtle); color:var(--muted); }
.req-ma-card { min-width:0; padding:13px 16px; overflow:visible; }
.req-ma-card.merchant-form-section { padding:13px 16px; border-bottom:0; }
.req-ma-card-section { padding:0; border:0; }
.req-ma-card>h3,.req-ma-card-section>h3 { margin:0 0 9px; color:#274c70; font-size:13px; }
.req-ma-geography-section { margin-top:11px; padding-top:11px; border-top:1px solid rgb(145 165 188 / 34%); }
.req-ma-form .client-field { gap:4px; }
.req-ma-form .client-field>span { min-height:11px; font-size:9px; line-height:1.2; }
.req-ma-form .client-field input { height:36px; padding:0 10px; border-radius:8px; }
.req-ma-form textarea { min-height:50px; padding:8px 10px; border-radius:8px; line-height:1.35; }
.req-ma-main-grid { display:grid; grid-template-columns:repeat(20,minmax(0,1fr)); gap:9px 12px; align-items:start; }
.req-ma-main-grid>.client-field { min-width:0; }
.req-ma-client-field,.req-ma-name-field,.req-ma-platform-field,.req-ma-email-field { grid-column:span 5; }
.req-ma-operation-field,.req-ma-integration-field,.req-ma-currency-field,.req-ma-pci-dss-field { grid-column:span 5; }
.req-ma-main-grid.has-traffic .req-ma-operation-field,
.req-ma-main-grid.has-traffic .req-ma-integration-field,
.req-ma-main-grid.has-traffic .req-ma-traffic-field,
.req-ma-main-grid.has-traffic .req-ma-currency-field,
.req-ma-main-grid.has-traffic .req-ma-pci-dss-field { grid-column:span 4; }
.req-ma-geography-section>.merchant-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.req-ma-geography-section .merchant-geography-field { position:relative; min-width:0; }
.req-ma-geography-section .merchant-geography { position:static; }
.req-ma-geography-section .merchant-geography-options { top:calc(100% + 5px); right:auto; bottom:auto; left:0; width:min(340px,100%); max-width:calc(100vw - 24px); max-height:var(--geo-options-max-height,270px); padding:8px; overflow:hidden; }
.req-ma-geography-section .merchant-geography-scroll { max-height:min(205px,calc(var(--geo-options-max-height,270px) - 54px)); }
.req-ma-geography-section .merchant-geography-field.geo-options-open-up .merchant-geography-options { top:auto; bottom:calc(100% + 5px); }
.req-ma-form .merchant-geography-selected { min-width:0; }
.req-ma-form .merchant-geography-chip { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.req-ma-condition-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; align-items:start; }
.req-ma-condition-group { min-width:0; padding:0; }
.req-ma-condition-group.req-ma-success-fee { padding:0 0 10px; border-bottom:1px solid rgb(145 165 188 / 34%); }
.req-ma-condition-group h4,.req-ma-special-terms h4 { margin:0 0 7px; color:#40566d; font-size:11px; }
.req-ma-fee-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.req-ma-additional-grid { grid-template-columns:minmax(96px,.9fr) minmax(96px,.9fr) minmax(124px,1.15fr) minmax(108px,1fr) minmax(132px,1.25fr); }
.req-ma-special-terms { margin-top:10px; padding-top:8px; border-top:1px solid rgb(145 165 188 / 34%); }
.req-ma-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#40566d; font-size:11px; font-weight:700; cursor:pointer; list-style:none; }
.req-ma-disclosure summary::-webkit-details-marker { display:none; }
.req-ma-disclosure summary:focus-visible { border-radius:5px; outline:2px solid var(--accent); outline-offset:3px; }
.req-ma-disclosure-add,.req-ma-disclosure-close { color:#2f6fa4; font-size:10px; }
.req-ma-disclosure-close,.req-ma-disclosure[open] .req-ma-disclosure-add { display:none; }
.req-ma-disclosure[open] .req-ma-disclosure-close { display:inline; }
.req-ma-disclosure .client-field { margin-top:8px; }
.req-ma-comment { min-height:43px; }
.req-ma-connection { display:grid; grid-template-columns:minmax(0,41fr) minmax(0,59fr); gap:0 14px; }
.req-ma-connection>h3 { grid-column:1/-1; margin-bottom:1px; }
.req-ma-connection-section { min-width:0; padding-top:9px; }
.req-ma-connection-section+.req-ma-connection-section { margin:0; padding:9px 0 0 14px; border-top:0; border-left:1px solid rgb(145 165 188 / 34%); }
.req-ma-connection-section h4 { margin:0 0 7px; color:#40566d; font-size:11px; }
.req-ma-urls>label { display:grid; gap:3px; margin-bottom:7px; color:#40566d; font-size:11px; }
.req-ma-urls>label small { color:var(--muted); font-size:9px; font-weight:500; }
/* BUG-04: the Terminal requirement shares the heading line (no extra height). */
.req-ma-required-note { margin-left:4px; color:var(--muted); font-size:9px; font-weight:500; }
.req-ma-urls textarea { width:100%; min-width:0; min-height:132px; resize:vertical; padding:8px 10px; border:1px solid rgb(128 151 177 / 72%); border-radius:8px; font:inherit; font-size:10px; line-height:1.45; }
.req-ma-section-error { display:block; margin:1px 0 7px; }
.req-ma-terminal-add-row { display:grid; grid-template-columns:minmax(150px,31fr) minmax(0,69fr) auto; gap:7px; align-items:end; }
.req-ma-terminal-dropdown { position:relative; min-width:0; }
.req-ma-terminal-dropdown-panel { position:absolute; z-index:22; top:calc(100% + 5px); left:0; width:100%; min-width:280px; padding:8px; border:1px solid #a9bfd3; border-radius:9px; background:#fff; box-shadow:0 12px 32px rgb(25 53 78 / 20%); }
.req-ma-terminal-dropdown-panel>input { width:100%; height:34px; margin-bottom:6px; padding:0 9px; border:1px solid rgb(128 151 177 / 72%); border-radius:7px; }
.req-ma-terminal-dropdown .workflow-terminal-results { max-height:190px; min-height:44px; padding:4px; border-radius:7px; }
.req-ma-terminal-dropdown .workflow-terminal-results>p { margin:8px; color:var(--muted); }
.req-ma-terminal-dropdown .workflow-terminal-option { align-items:center; padding:6px; border:0; background:transparent; }
.req-ma-terminal-dropdown .workflow-terminal-option:hover { background:#f4f8fc; }
.req-ma-terminal-dropdown .workflow-terminal-option:focus-within { outline:0; }
.req-ma-terminal-dropdown .workflow-terminal-option input[type="checkbox"] { flex:0 0 16px; width:16px; min-width:16px; height:16px; min-height:16px; margin:0; padding:0; border-radius:3px; box-shadow:none; accent-color:var(--accent); }
.req-ma-terminal-dropdown .workflow-terminal-option input[type="checkbox"]:focus { border-color:initial; outline:0; box-shadow:none; }
.req-ma-terminal-dropdown .workflow-terminal-option input[type="checkbox"]:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.req-ma-terminal-dropdown .workflow-terminal-option span { min-width:0; display:flex; flex-direction:column; gap:2px; }
.req-ma-terminal-dropdown .workflow-terminal-option strong { color:var(--text); font-size:11px; }
.req-ma-terminal-dropdown .workflow-terminal-option small { color:var(--muted); font-size:9px; }
.req-ma-add-provider { min-height:36px; white-space:nowrap; }
.req-ma-provider-selections { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin-top:8px; }
.req-ma-provider-selections:empty { display:none; }
.req-ma-provider-row { min-width:0; display:grid; grid-template-columns:minmax(100px,30%) minmax(0,1fr) 28px; align-items:center; gap:7px; padding:7px 0; }
.req-ma-provider-row+.req-ma-provider-row { border-top:1px solid rgb(145 165 188 / 28%); }
.req-ma-provider-name { min-width:0; color:#274c70; font-size:11px; overflow-wrap:anywhere; }
.req-ma-remove-provider { width:28px; height:28px; padding:0; border:1px solid transparent; border-radius:7px; background:transparent; color:#55718d; font:inherit; font-size:17px; line-height:1; cursor:pointer; }
.req-ma-remove-provider:hover { border-color:rgb(128 151 177 / 45%); background:#f3f7fb; color:#244f7d; }
.req-ma-remove-provider:focus-visible { border-color:#348bcc; outline:2px solid rgb(52 139 204 / 22%); outline-offset:1px; }
.req-ma-terminal-chips { min-width:0; display:flex; flex-wrap:wrap; gap:5px; }
.req-ma-terminal-chips .merchant-geography-chip { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }
.req-ma-actions { margin:0; padding:0 2px; border:0; }
.req-ma-summary { width:350px; min-width:350px; max-width:350px; position:sticky; top:74px; max-height:calc(100vh - 90px); padding:14px 15px; overflow:auto; }
.req-ma-summary h2 { margin:0; color:#274c70; font-size:15px; }
.req-ma-summary-empty { margin:8px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.req-ma-summary section { padding:10px 0 0; }
.req-ma-summary section:not([hidden])~section:not([hidden]) { margin-top:10px; border-top:1px solid rgb(145 165 188 / 30%); }
.req-ma-summary h3 { display:flex; justify-content:space-between; gap:8px; margin:0 0 7px; color:#40566d; font-size:10px; }
.req-ma-summary h3 span { color:var(--muted); font-weight:600; }
.req-ma-summary-list { display:grid; gap:5px; margin:0; }
.req-ma-summary-list>div { min-width:0; display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px; }
.req-ma-summary-list dt,.req-ma-summary-row>span { color:var(--muted); font-size:9px; }
.req-ma-summary-list dd { min-width:0; margin:0; color:#294663; font-size:10px; font-weight:650; overflow-wrap:anywhere; }
.req-ma-summary-row { display:grid; grid-template-columns:66px minmax(0,1fr); gap:8px; margin-top:5px; }
.req-ma-summary-row>div { display:flex; flex-wrap:wrap; gap:4px; color:#294663; font-size:10px; font-weight:650; }
.req-ma-summary-chip { max-width:100%; padding:2px 6px; border-radius:999px; background:#edf4fa; color:#28577f; font-size:9px; overflow-wrap:anywhere; }
.req-ma-summary-provider { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; padding:5px 0; }
.req-ma-summary-provider+ .req-ma-summary-provider { border-top:1px solid rgb(145 165 188 / 22%); }
.req-ma-summary-provider strong { color:#294663; font-size:10px; }
.req-ma-summary-provider span { grid-column:1/-1; color:var(--muted); font-size:9px; overflow-wrap:anywhere; }
.req-ma-summary-provider small { grid-column:2; grid-row:1; color:var(--muted); font-size:8px; white-space:nowrap; }
.req-ma-summary-urls { display:grid; gap:4px; margin:0; padding:0; color:#294663; font-size:9px; list-style:none; }
.req-ma-summary-urls li { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Provider Overview retains compact entity identity; nested Terminal pages start at tabs. */
.provider-workspace>.provider-workspace-header { margin-bottom:5px; padding:0 2px 6px; }
.provider-workspace>.provider-workspace-header .project-back-link { margin-bottom:4px; font-size:9px; line-height:1.25; }
.provider-overview-workspace>.provider-workspace-header .client-overview-header-row { gap:12px; }
.provider-overview-workspace>.provider-workspace-header .client-overview-identity { gap:9px; }
.provider-overview-workspace>.provider-workspace-header .client-overview-avatar { width:36px; height:36px; flex-basis:36px; border-radius:9px; font-size:15px; }
.provider-overview-workspace>.provider-workspace-header .client-overview-title-row { gap:6px; }
.provider-overview-workspace>.provider-workspace-header .client-overview-title-row h1 { font-size:19px; line-height:1.15; }
.provider-overview-workspace>.provider-workspace-header .client-overview-identity-copy p { margin-top:2px; font-size:10px; line-height:1.3; }
.provider-overview-workspace>.provider-workspace-header .button { min-height:34px; padding:5px 10px; }
.provider-workspace>.provider-workspace-tabs { gap:1px; margin-bottom:8px; padding:3px; }
.provider-workspace>.provider-workspace-tabs a,.provider-workspace>.provider-workspace-tabs>span { min-height:28px; padding:6px 9px; font-size:10px; }
@media (max-width:768px) {
  .provider-workspace>.provider-workspace-header { margin-bottom:5px; padding:8px 10px; }
  .provider-overview-workspace>.provider-workspace-header .client-overview-header-row { gap:8px; }
  .provider-overview-workspace>.provider-workspace-header .client-overview-avatar { width:32px; height:32px; flex-basis:32px; font-size:14px; }
  .provider-overview-workspace>.provider-workspace-header .client-overview-title-row h1 { font-size:17px; }
  .provider-workspace>.provider-workspace-tabs { margin-bottom:7px; }
}
/* Provider Terminal Create/Edit reuses the REQ-MA card and live-summary foundation. */
.terminal-form-workspace-grid { min-width:0; }
.terminal-compact-form .terminal-form-card { min-width:0; }
.terminal-compact-form .terminal-form-card>h3 { margin:0 0 9px; color:#274c70; font-size:13px; }
.terminal-main-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px 12px; align-items:start; }
.terminal-main-grid>.client-field { min-width:0; }
.terminal-mcc-field { grid-column:1; }
.terminal-geography-section>.merchant-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.terminal-geography-section .merchant-geography-field { position:relative; min-width:0; }
.terminal-geography-section .merchant-geography { position:static; }
.terminal-geography-section .merchant-geography-options { top:calc(100% + 5px); right:auto; bottom:auto; left:0; width:min(340px,100%); max-width:calc(100vw - 24px); max-height:var(--geo-options-max-height,270px); padding:8px; overflow:hidden; }
.terminal-geography-section .merchant-geography-scroll { max-height:min(205px,calc(var(--geo-options-max-height,270px) - 54px)); }
.terminal-geography-section .merchant-geography-field.geo-options-open-up .merchant-geography-options { top:auto; bottom:calc(100% + 5px); }
.terminal-success-fee { padding:0 0 10px; border-bottom:1px solid rgb(145 165 188 / 34%); }
.terminal-additional-conditions { padding-top:10px; }
.terminal-success-fee h4,.terminal-additional-conditions h4,.terminal-limit-group h4 { margin:0 0 7px; color:#40566d; font-size:11px; }
.terminal-additional-grid { display:grid; grid-template-columns:minmax(96px,.9fr) minmax(96px,.9fr) minmax(124px,1.15fr) minmax(108px,1fr) minmax(132px,1.25fr); gap:9px; }
.terminal-limit-groups { display:grid; gap:11px; }
.terminal-limit-group { min-width:0; }
.terminal-limit-group+.terminal-limit-group { padding-top:10px; border-top:1px solid rgb(145 165 188 / 28%); }
.terminal-limit-grid { display:grid; gap:9px; }
.terminal-limit-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.terminal-limit-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.terminal-keys-card textarea { min-height:92px; }
.terminal-secret-state { margin:0 0 8px; color:var(--success); font-size:10px; font-weight:700; }
.terminal-documentation-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:start; }
.terminal-documentation-card .client-file-field { align-content:start; }
.terminal-comment-card textarea { min-height:76px; }
.terminal-form-actions { margin:0; padding:0 2px; border:0; }
.terminal-summary [data-terminal-summary-section="limits"] .req-ma-summary-list>div { grid-template-columns:104px minmax(0,1fr); }
/* Terminal Detail keeps read-only information dense and lets content define height. */
.terminal-detail-workspace { container:terminal-detail-workspace / inline-size; }
.terminal-detail-content { width:min(100%,920px); min-width:0; margin-inline:auto; }
.terminal-detail-identity { margin:0 0 6px; padding:0 2px; align-items:center; }
.terminal-detail-identity .project-back-link { margin:0 0 2px; font-size:9px; line-height:1.2; }
.terminal-detail-identity h1 { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:0; font-size:16px; line-height:1.2; }
.terminal-detail-identity>.button { min-height:34px; padding:5px 10px; }
.terminal-detail-layout { min-width:0; display:grid; gap:8px; }
.terminal-detail-card { min-width:0; padding:11px 12px; }
.terminal-detail-card>h3 { margin:0 0 7px; color:#274c70; font-size:12px; }
.terminal-detail-metric-grid { display:grid; gap:0 10px; margin:0; }
.terminal-detail-metric-grid>div { min-width:0; padding:4px 1px 5px; border:0; border-bottom:1px solid rgb(145 165 188 / 25%); border-radius:0; background:transparent; }
.terminal-detail-metric-grid dt { margin:0 0 2px; color:var(--muted); font-size:8px; font-weight:650; line-height:1.25; }
.terminal-detail-metric-grid dd { min-width:0; margin:0; color:#294663; font-size:10px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; word-break:break-word; }
.terminal-detail-main-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.terminal-detail-geographies { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.terminal-detail-geographies .merchant-detail-geo-section { min-width:0; padding:0; border:0; border-radius:0; background:transparent; }
.terminal-detail-geographies .merchant-detail-geo-section+.merchant-detail-geo-section { margin:0; padding-left:12px; border-top:0; border-left:1px solid rgb(145 165 188 / 28%); }
.terminal-detail-geographies .merchant-detail-geo-section>h4 { margin:0 0 5px; color:#40566d; font-size:10px; }
.terminal-detail-geographies .merchant-detail-geo-kind { display:flex; align-items:flex-start; flex-wrap:wrap; gap:4px 7px; }
.terminal-detail-geographies .merchant-detail-geo-kind+.merchant-detail-geo-kind { margin-top:5px; }
.terminal-detail-geographies .merchant-detail-geo-kind h5 { flex:0 0 auto; margin:3px 0 0; font-size:8px; letter-spacing:.3px; text-transform:uppercase; }
.terminal-detail-geographies .merchant-detail-geo-items { flex:1 1 180px; display:flex; align-items:flex-start; flex-wrap:wrap; gap:4px; }
.terminal-detail-geographies .merchant-detail-geo-items li { width:auto; max-width:100%; padding:3px 6px; border:1px solid rgb(128 151 177 / 24%); border-radius:999px; background:#f5f8fb; font-size:8px; }
.terminal-detail-condition-group+.terminal-detail-condition-group { margin-top:8px; padding-top:8px; border-top:1px solid rgb(145 165 188 / 28%); }
.terminal-detail-condition-group h4,.terminal-detail-limit-group h4 { margin:0 0 5px; color:#40566d; font-size:9px; line-height:1.3; }
.terminal-detail-limit-group h4 { margin-bottom:4px; }
.terminal-detail-metric-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.terminal-detail-metric-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.terminal-detail-metric-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.terminal-detail-metric-grid--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.terminal-detail-limit-groups { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:6px 8px; }
.terminal-detail-limit-group { min-width:0; padding:5px 7px; border:1px solid rgb(145 165 188 / 28%); border-radius:7px; background:rgb(247 249 252 / 54%); }
.terminal-detail-secret-mask,.terminal-detail-empty,.terminal-detail-comment { margin:0; color:#294663; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.terminal-detail-secret-mask { margin-bottom:6px; font-weight:750; letter-spacing:1.1px; }
.terminal-detail-reveal { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:0; }
.terminal-detail-reveal .button { min-height:34px; padding:5px 10px; }
.terminal-detail-reveal pre { flex:1 1 100%; margin:0; padding:6px; border-radius:6px; background:#eef3f8; }
.terminal-detail-reveal [data-terminal-reveal-error] { flex:1 1 100%; margin:0; color:var(--danger); }
.terminal-detail-documentation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.terminal-detail-documentation-grid .text-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.terminal-detail-comment { min-height:0; padding:0 0 6px; }
.terminal-detail-metadata { display:flex; flex-wrap:wrap; gap:4px 14px; margin:0; padding-top:6px; border-top:1px solid rgb(145 165 188 / 28%); }
.terminal-detail-metadata>div { min-width:0; display:flex; gap:4px; }
.terminal-detail-metadata dt { color:var(--muted); font-size:8px; }
.terminal-detail-metadata dd { margin:0; color:#40566d; font-size:8px; font-weight:650; }
@container terminal-detail-workspace (max-width: 720px) {
  .terminal-detail-main-metrics,.terminal-detail-metric-grid--4,.terminal-detail-metric-grid--5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container terminal-detail-workspace (max-width: 520px) {
  .terminal-detail-identity { align-items:stretch; flex-direction:column; }
  .terminal-detail-identity>.button { width:100%; min-height:34px; }
  .terminal-detail-main-metrics,.terminal-detail-geographies,.terminal-detail-documentation-grid,.terminal-detail-limit-groups,.terminal-detail-metric-grid--2,.terminal-detail-metric-grid--3,.terminal-detail-metric-grid--4,.terminal-detail-metric-grid--5 { grid-template-columns:minmax(0,1fr); }
  .terminal-detail-geographies .merchant-detail-geo-section+.merchant-detail-geo-section { padding-top:7px; padding-left:0; border-top:1px solid rgb(145 165 188 / 28%); border-left:0; }
  .terminal-detail-card { padding:10px; }
}
@container req-ma-workspace (max-width: 1080px) {
  .req-ma-workspace-grid { grid-template-columns:minmax(0,1fr); }
  .req-ma-summary { width:100%; min-width:0; max-width:none; position:static; max-height:none; }
}
@container req-ma-form (max-width: 860px) {
  .req-ma-connection { grid-template-columns:1fr; }
  .req-ma-connection-section+.req-ma-connection-section { margin-top:9px; padding:9px 0 0; border-top:1px solid rgb(145 165 188 / 34%); border-left:0; }
}
@container req-ma-form (max-width: 700px) {
  .req-ma-main-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .req-ma-main-grid .req-ma-client-field,
  .req-ma-main-grid .req-ma-name-field,
  .req-ma-main-grid .req-ma-platform-field,
  .req-ma-main-grid .req-ma-email-field,
  .req-ma-main-grid .req-ma-operation-field,
  .req-ma-main-grid .req-ma-integration-field,
  .req-ma-main-grid .req-ma-currency-field,
  .req-ma-main-grid .req-ma-pci-dss-field { grid-column:span 3; }
  .req-ma-main-grid.has-traffic .req-ma-operation-field,
  .req-ma-main-grid.has-traffic .req-ma-integration-field,
  .req-ma-main-grid.has-traffic .req-ma-traffic-field { grid-column:span 2; }
  .req-ma-main-grid.has-traffic .req-ma-currency-field,
  .req-ma-main-grid.has-traffic .req-ma-pci-dss-field { grid-column:span 3; }
  .req-ma-additional-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .terminal-main-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .terminal-mcc-field { grid-column:auto; }
  .terminal-additional-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container req-ma-form (max-width: 620px) {
  .req-ma-fee-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .terminal-additional-grid,.terminal-limit-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .terminal-documentation-grid { grid-template-columns:minmax(0,1fr); }
  .req-ma-provider-row { grid-template-columns:minmax(0,1fr) 32px; }
  .req-ma-provider-name { grid-column:1; grid-row:1; }
  .req-ma-remove-provider { grid-column:2; grid-row:1; justify-self:end; }
  .req-ma-terminal-chips { grid-column:1/-1; grid-row:2; }
}
@container req-ma-form (max-width: 470px) {
  .req-ma-main-grid { grid-template-columns:minmax(0,1fr); }
  .req-ma-main-grid .client-field,
  .req-ma-main-grid.has-traffic .client-field { grid-column:1/-1; }
  .req-ma-fee-grid,.req-ma-terminal-add-row { grid-template-columns:1fr; }
  .terminal-main-grid,.terminal-geography-section>.merchant-form-grid,.terminal-additional-grid,.terminal-limit-grid--2,.terminal-limit-grid--3 { grid-template-columns:minmax(0,1fr); }
  .req-ma-terminal-add-row .req-ma-add-provider { grid-column:auto; width:100%; }
}
@media (max-width: 1100px) {
  .workflow-task-detail-layout { grid-template-columns:minmax(0,1fr); }
  .workflow-task-actions-card { position:static; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
  .workflow-task-actions-card h2 { grid-column:1/-1; }
  .workflow-task-actions-card form { height:100%; padding:0 0 0 10px; border-top:0; border-left:1px solid rgb(145 165 188 / 30%); }
  .workflow-task-actions-card form:first-of-type { padding-left:0; border-left:0; }
}
@media (max-width: 1099px) {
  .request-work-grid,.request-work-grid.has-expanded-card { grid-template-columns:minmax(0,1fr); align-items:start; }
  .request-url-card,.request-terminal-summary { align-self:start; }
  .request-specification-grid { grid-template-columns:minmax(0,1fr); }
  .request-specification-column+.request-specification-column { margin-top:10px; padding-top:9px; border-top:1px solid rgb(145 165 188 / 28%); }
  .request-specification-special { grid-column:auto; }
}
@media (max-width: 1000px) {
  .workflow-table-wrap { overflow:visible; }
  .workflow-table { min-width:0; display:block; table-layout:auto; }
  .workflow-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .workflow-table tbody { display:block; width:100%; }
  .workflow-table tr { width:100%; display:grid; grid-template-columns:28px minmax(0,1fr) auto; grid-template-rows:auto auto auto; column-gap:9px; padding:9px 12px; border-bottom:1px solid rgb(181 197 216 / 52%); }
  .workflow-table tr:last-child { border-bottom:0; }
  .workflow-table td { display:block; width:auto; height:auto; min-height:0; padding:3px 0; border:0; background:transparent; text-align:left; }
  .workflow-table td::before { content:attr(data-label); margin-right:7px; color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; }
  .workflow-table tbody tr:hover td { background:transparent; }
  .workflow-table .workflow-select-cell { grid-column:1; grid-row:1/4; padding-top:5px; }
  .workflow-table .workflow-task-cell { grid-column:2; grid-row:1; padding-top:2px; }
  .workflow-table .workflow-table-action { grid-column:3; grid-row:1; padding:0; text-align:right!important; }
  .workflow-table .workflow-queue-cell { grid-column:2; grid-row:2; }
  .workflow-table .workflow-assignee-cell { grid-column:3; grid-row:2; justify-self:end; }
  .workflow-table .workflow-deadline-cell { grid-column:2; grid-row:3; }
  .workflow-table .workflow-status-cell { grid-column:3; grid-row:3; justify-self:end; padding-top:0; }
  .workflow-table .workflow-status-cell::before { content:none; }
  .workflow-filter-popover { width:min(500px,calc(100vw - 250px)); }
}
@media (max-width: 760px) {
  .workflow-choice-grid,.workflow-detail-grid,.workflow-terminal-picker { grid-template-columns:1fr; }
  .workflow-repeat-row { grid-template-columns:1fr; }
  .workflow-command-bar { flex-wrap:wrap; }
  .workflow-command-form { flex:1 1 100%; flex-wrap:wrap; }
  .workflow-filter-chips { order:3; flex-basis:100%; max-width:100%; overflow:visible; flex-wrap:wrap; }
  .workflow-filter-search { flex:1 1 200px; margin-left:0; }
  .workflow-filter-popover { position:fixed; top:74px; right:16px; left:16px; width:auto; max-height:calc(100vh - 96px); grid-template-columns:repeat(2,minmax(0,1fr)); overflow:auto; }
  .workflow-view-bar { align-items:flex-start; flex-direction:column; gap:5px; }
  .workflow-tabs { width:100%; overflow-x:auto; padding-bottom:2px; }
  .workflow-list-meta { width:100%; justify-content:space-between; }
  .workflow-task-detail-title h1 { font-size:19px; }
  .workflow-task-meta-grid,.workflow-task-spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-task-commercial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-task-actions-card { grid-template-columns:1fr; }
  .workflow-task-actions-card h2 { grid-column:auto; }
  .workflow-task-actions-card form { padding:9px 0 0; border-top:1px solid rgb(145 165 188 / 30%); border-left:0; }
  .workflow-task-work-table,.workflow-task-work-table tbody,.workflow-task-work-table tr,.workflow-task-work-table td { display:block; width:100%; }
  .workflow-task-work-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .workflow-task-work-table tr { padding:7px 0; border-bottom:1px solid rgb(181 197 216 / 44%); }
  .workflow-task-work-table tr:last-child { border-bottom:0; }
  .workflow-task-work-table td { display:grid; grid-template-columns:92px minmax(0,1fr); gap:8px; padding:5px 0; border:0; }
  .workflow-task-work-table td::before { content:attr(data-label); color:var(--muted); font-size:8px; font-weight:650; letter-spacing:.3px; text-transform:uppercase; }
  .request-overview-section-heading { align-items:flex-start; }
  .req-ma-geography-section>.merchant-form-grid,.req-ma-provider-selections { grid-template-columns:1fr; }
  .req-ma-form .client-field input { height:42px; }
  .req-ma-add-provider { min-height:42px; }
}
@media (max-width: 520px) {
  .workflow-command-bar { gap:7px; padding:9px; }
  .workflow-command-form { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .workflow-filter-search { min-width:0; }
  .workflow-filter-chips { grid-column:1/-1; grid-row:2; }
  .workflow-filter-popover { grid-template-columns:1fr; }
  .workflow-tabs a,.workflow-list-mode { padding:6px 8px; }
  .workflow-sort-label { padding-right:0; }
  .workflow-table tr { grid-template-columns:24px minmax(0,1fr) auto; padding:10px 9px; }
  .workflow-table .workflow-select-cell { grid-row:1/6; }
  .workflow-table .workflow-queue-cell { grid-column:2/4; grid-row:2; }
  .workflow-table .workflow-assignee-cell { grid-column:2/4; grid-row:3; justify-self:start; }
  .workflow-table .workflow-deadline-cell { grid-column:2/4; grid-row:4; }
  .workflow-table .workflow-status-cell { grid-column:2/4; grid-row:5; justify-self:start; }
  .workflow-task-create-dialog { width:calc(100vw - 24px); max-height:calc(100vh - 24px); padding:16px; }
  .workflow-task-create-dialog .client-dialog-actions { flex-direction:column; }
  .workflow-task-create-dialog .client-dialog-actions .button { width:100%; }
  .workflow-task-detail-title { align-items:flex-start; flex-direction:column; gap:6px; }
  .workflow-task-summary-card,.workflow-task-spec-card,.workflow-task-work-card,.workflow-task-actions-card { padding:12px; }
  .workflow-task-meta-grid,.workflow-task-spec-grid,.workflow-task-commercial-grid,.workflow-task-geo-grid,.workflow-task-context-grid { grid-template-columns:minmax(0,1fr); }
  .workflow-task-work-table td { grid-template-columns:76px minmax(0,1fr); }
  .request-overview-section-heading { flex-direction:column; }
  .request-overview-section-heading .button { width:100%; }
  .request-geography-grid { grid-template-columns:minmax(0,1fr); }
  .request-specification-list>div { grid-template-columns:minmax(96px,40%) minmax(0,1fr); }
  .req-ma-header h1 { font-size:19px; }
  .req-ma-terminal-dropdown-panel { min-width:0; }
  .req-ma-summary-list>div { grid-template-columns:78px minmax(0,1fr); }
}

/* Workflow Task workbench and Communication-owned Task Chat. */
main:has(.workflow-task-detail-layout) { max-width:none; container:workflow-task-page / inline-size; }
.workflow-task-header-meta { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:6px 16px; padding:5px 0; color:#40566d; font-size:11px; }
.workflow-task-header-meta span { display:flex; min-width:0; gap:5px; overflow-wrap:anywhere; }
.workflow-task-header-meta b { color:var(--muted); font-size:10px; font-weight:650; }
.workflow-task-detail-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.workflow-task-detail-main { width:100%; max-width:none; margin:0; padding:0; container:workflow-task-main / inline-size; }
.workflow-task-work-card,.workflow-task-specification,.workflow-task-chat { min-width:0; padding:14px 16px; }
.workflow-task-specification .workflow-task-section-heading { margin-bottom:0; }
.workflow-task-spec-section { padding-top:11px; }
.workflow-task-spec-section+.workflow-task-spec-section { margin-top:9px; border-top:1px solid rgb(145 165 188 / 28%); }
.workflow-task-spec-section h3 { margin:0 0 5px; color:#40566d; font-size:11px; }
.workflow-task-spec-section dl { margin:0; }
.workflow-task-spec-section dl>div { display:grid; grid-template-columns:minmax(130px,32%) minmax(0,1fr); gap:10px; padding:5px 0; border-bottom:1px solid rgb(181 197 216 / 22%); }
.workflow-task-spec-section dl>div:last-child { border-bottom:0; }
.workflow-task-spec-section dt { color:var(--muted); font-size:9px; line-height:1.45; }
.workflow-task-spec-section dd { min-width:0; margin:0; color:#294663; font-size:10px; font-weight:650; line-height:1.45; overflow-wrap:anywhere; word-break:break-word; }
.workflow-task-chat { position:sticky; top:72px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; align-self:start; height:calc(100dvh - 92px); min-height:560px; max-height:820px; padding:0; overflow:hidden; }
.workflow-task-chat>header { padding:13px 14px; border-bottom:1px solid rgb(145 165 188 / 30%); }
.workflow-task-chat>header>div { display:flex; align-items:center; gap:7px; }
.workflow-task-chat h2 { margin:0; color:#274c70; font-size:14px; }
.workflow-task-chat-unread { min-width:18px; padding:2px 5px; border-radius:999px; background:#e8f2fb; color:#276493; font-size:9px; text-align:center; }
.workflow-task-chat-timeline { min-width:0; min-height:0; display:flex; flex-direction:column; gap:12px; padding:16px; overflow:auto; overscroll-behavior:contain; background:#f2f6fa; }
.workflow-task-chat-empty { display:grid; gap:3px; margin:auto; color:var(--muted); font-size:11px; text-align:center; }
.workflow-task-chat-empty strong { color:#526a80; font-size:12px; font-weight:700; }
.workflow-task-chat-empty span { color:#8292a2; font-size:10px; }
.workflow-task-system-entry { width:auto; max-width:min(92%,560px); min-width:0; align-self:center; display:flex; align-items:baseline; justify-content:center; gap:7px; padding:4px 8px; color:#63788d; text-align:center; }
.workflow-task-system-entry::before { display:none; }
.workflow-task-system-entry time { color:#8292a2; font-size:9px; font-variant-numeric:tabular-nums; }
.workflow-task-system-entry p { min-width:0; margin:0; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.workflow-task-system-entry strong { color:#50677d; font-weight:650; }
.workflow-task-message { align-self:flex-start; width:max-content; max-width:min(78%,470px); min-width:min(210px,70%); padding:10px 11px 7px; border:1px solid rgb(152 174 197 / 36%); border-radius:6px 12px 12px; background:#fff; box-shadow:0 2px 8px rgb(29 61 91 / 7%); }
.workflow-task-message.is-own { align-self:flex-end; border-color:rgb(108 157 196 / 35%); border-radius:12px 6px 12px 12px; background:#e7f2fa; }
.workflow-task-message.is-deleted { background:#f2f4f6; color:var(--muted); font-style:italic; }
.workflow-task-message.is-own.is-deleted { background:#e9eef2; }
.workflow-task-message blockquote { display:grid; gap:2px; margin:0 0 7px; padding:5px 7px; border-left:2px solid #7ba6ca; background:#f3f7fa; color:#536d84; font-size:9px; overflow:hidden; }
.workflow-task-message blockquote span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workflow-task-message-head { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; }
.workflow-task-message-head>strong { min-width:0; color:#28577f; font-size:11px; line-height:1.35; overflow-wrap:anywhere; }
.workflow-task-message-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; opacity:0; }
/* OD-137: hover or keyboard focus shows the actions; a mouse click (no visible focus) does not keep them open. */
.workflow-task-message:hover .workflow-task-message-actions,.workflow-task-message:has(:focus-visible) .workflow-task-message-actions { opacity:1; }
.workflow-task-message-actions button { padding:0; border:0; background:transparent; color:#54728d; font:inherit; font-size:9px; cursor:pointer; }
.workflow-task-message-actions button:hover,.workflow-task-message-actions button:focus-visible { color:#1e679f; text-decoration:underline; }
.workflow-task-message-body { margin:5px 0; color:#294663; font-size:11px; line-height:1.5; overflow-wrap:anywhere; white-space:normal; }
.workflow-task-message.is-deleted .workflow-task-message-body { color:var(--muted); }
.workflow-task-message-mentions { display:flex; flex-wrap:wrap; gap:3px; }
.workflow-task-message-mentions span { color:#2f6fa4; font-size:8px; }
.workflow-task-message-files { display:grid; gap:4px; margin:6px 0 0; padding:0; list-style:none; }
.workflow-task-message-files li { display:flex; min-width:0; justify-content:space-between; gap:6px; padding:4px 6px; border-radius:6px; background:#eef4f8; }
.workflow-task-message-files a { min-width:0; color:#2f6fa4; font-size:9px; overflow-wrap:anywhere; }
.workflow-task-message-files small { flex:0 0 auto; color:var(--muted); font-size:7px; }
.workflow-task-message footer { display:flex; justify-content:flex-end; gap:3px; color:var(--muted); font-size:9px; }
.workflow-task-chat-composer { position:relative; display:grid; gap:7px; padding:13px 14px 14px; border-top:1px solid rgb(145 165 188 / 30%); background:#fff; box-shadow:0 -5px 14px rgb(37 66 94 / 4%); }
.workflow-task-chat-composer-row { display:grid; grid-template-columns:36px minmax(0,1fr) 38px; align-items:end; gap:7px; }
.workflow-task-chat-input { position:relative; min-width:0; }
.workflow-task-chat-composer textarea { width:100%; min-height:42px; max-height:132px; padding:10px 11px; resize:none; border:1px solid rgb(128 151 177 / 72%); border-radius:10px; font:inherit; font-size:11px; line-height:1.45; }
.workflow-task-chat-composer textarea:focus { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.workflow-task-chat-mode { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:8px; padding:6px 8px; border-left:2px solid #6c9bc1; background:#f2f6f9; color:#49657d; font-size:10px; }
.workflow-task-chat-mode span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workflow-task-chat-mode button { border:0; background:transparent; color:#526d85; cursor:pointer; }
.workflow-task-chat-file,.workflow-task-chat-send { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgb(128 151 177 / 55%); border-radius:9px; background:#f7f9fc; color:#355b7e; font-size:16px; cursor:pointer; }
.workflow-task-chat-send { width:38px; border-color:var(--accent); background:var(--accent); color:#fff; }
.workflow-task-chat-file:hover,.workflow-task-chat-file:focus-within { border-color:#348bcc; background:#edf5fb; }
.workflow-task-chat-send:hover,.workflow-task-chat-send:focus-visible { background:var(--accent-hover); }
.workflow-task-chat-file { position:relative; overflow:hidden; }
.workflow-task-chat-file input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }
.workflow-task-chat-file:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.workflow-task-chat-file-name { min-width:0; color:var(--muted); font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workflow-task-chat-file-clear { margin-left:6px; font-size:9px; }
.chat-list-scope { margin:4px 2px 8px; font-size:10px; }
.workflow-task-mention-options { position:absolute; z-index:8; right:0; bottom:calc(100% + 5px); left:0; max-height:180px; padding:5px; overflow:auto; border:1px solid rgb(128 151 177 / 62%); border-radius:9px; background:#fff; box-shadow:0 10px 26px rgb(34 64 92 / 18%); }
.workflow-task-mention-options button { width:100%; min-height:32px; display:block; padding:6px 8px; border:0; border-radius:6px; background:transparent; color:#294663; font:inherit; font-size:10px; text-align:left; cursor:pointer; }
.workflow-task-mention-options button:hover,.workflow-task-mention-options button[aria-selected='true'] { background:#edf5fb; color:#1f5f93; }
.workflow-task-chat-day { width:min(92%,560px); align-self:center; display:grid; grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr); align-items:center; gap:9px; color:#8796a5; font-size:9px; line-height:1; text-align:center; }
.workflow-task-chat-day::before,.workflow-task-chat-day::after { content:''; height:1px; background:rgb(145 165 188 / 26%); }

@container workflow-task-page (max-width: 920px) {
  .workflow-task-detail-layout { grid-template-columns:minmax(0,1fr); }
  .workflow-task-chat { position:static; height:min(680px,calc(100dvh - 90px)); min-height:500px; max-height:none; }
}
@container workflow-task-main (max-width: 650px) {
  .workflow-task-group-decision { grid-template-columns:minmax(0,1fr); }
  .workflow-task-group-actions { justify-content:flex-start; }
  .workflow-task-work-table,.workflow-task-work-table tbody,.workflow-task-work-table tr,.workflow-task-work-table td { display:block; width:100%; }
  .workflow-task-work-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .workflow-task-work-table tr { padding:7px 0; border-bottom:1px solid rgb(181 197 216 / 44%); }
  .workflow-task-work-table tr:last-child { border-bottom:0; }
  .workflow-task-work-table td { display:grid; grid-template-columns:92px minmax(0,1fr); gap:8px; padding:5px 0; border:0; }
  .workflow-task-work-table td::before { content:attr(data-label); color:var(--muted); font-size:8px; font-weight:650; letter-spacing:.3px; text-transform:uppercase; }
  .workflow-task-approval-comment-row { padding:0; }
  .workflow-task-approval-comment-row td { display:block; padding:0 0 8px; }
  .workflow-task-approval-comment-row td::before { display:none; }
  .workflow-task-approval-comment-row form { grid-template-columns:minmax(0,1fr) 28px 28px; }
}
@media (max-width: 760px) {
  .workflow-task-spec-section dl>div { grid-template-columns:minmax(95px,36%) minmax(0,1fr); }
  .workflow-task-chat { height:620px; min-height:480px; }
}
@media (max-width: 420px) {
  .workflow-task-spec-section dl>div { grid-template-columns:1fr; gap:2px; }
  .workflow-task-message { max-width:88%; min-width:min(180px,72%); }
  .workflow-task-chat-composer-row { grid-template-columns:34px minmax(0,1fr) 36px; gap:5px; }
}

/* Route-level Task workspace overlay. The CRM shell remains the single visual backdrop. */
.workflow-task-detail-layout { min-width:0; min-height:0; height:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:stretch; overflow:hidden; border-radius:inherit; }
.workflow-task-detail-main { min-height:0; height:100%; display:block; padding:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; background:#eef3f8; }
.workflow-task-header-actions { width:100%; display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-top:12px; }
.workflow-task-action-alert { margin-top:10px; padding:8px 10px; border:1px solid rgb(190 62 62 / 28%); border-radius:8px; background:rgb(255 239 239 / 96%); color:var(--danger); font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.workflow-task-primary-action { margin:0; }
.workflow-task-primary-action .button { min-height:34px; padding:5px 12px; }
.workflow-task-more-menu { position:relative; margin-left:auto; }
.workflow-task-more-menu>summary { width:33px; height:33px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgb(128 151 177 / 50%); border-radius:8px; background:#f7f9fc; color:#4f687f; font-size:18px; font-weight:700; line-height:1; cursor:pointer; list-style:none; }
.workflow-task-more-menu>summary::-webkit-details-marker { display:none; }
.workflow-task-more-menu>summary:hover { border-color:rgb(79 119 158 / 70%); background:#edf4fa; color:#275c87; }
.workflow-task-more-menu>summary:focus-visible { outline:2px solid #348bcc; outline-offset:2px; }
.workflow-task-more-panel { position:absolute; z-index:12; top:calc(100% + 6px); right:0; width:min(280px,calc(100vw - 28px)); display:grid; gap:7px; padding:9px; border:1px solid rgb(128 151 177 / 50%); border-radius:10px; background:#fff; box-shadow:0 14px 30px rgb(28 57 85 / 18%); }
.workflow-task-more-panel form { min-width:0; display:grid; gap:6px; margin:0; }
.workflow-task-more-panel form+form { padding-top:7px; border-top:1px solid rgb(181 197 216 / 38%); }
.workflow-task-more-panel label { min-width:0; display:grid; gap:4px; color:#526a80; font-size:9px; font-weight:650; }
.workflow-task-more-panel .button { min-height:34px; padding:5px 10px; }
.workflow-task-menu-action { width:100%; min-height:30px; padding:5px 7px; border:0; border-radius:7px; background:transparent; color:#355b7e; font:inherit; font-size:9px; font-weight:650; text-align:left; cursor:pointer; }
.workflow-task-menu-action:hover { background:#eef4f9; }
.workflow-task-menu-action.danger { color:#9b4242; }
.workflow-task-menu-action.danger:hover { background:#fff0f0; }
.workflow-task-work-card { padding:13px 14px; }
.workflow-task-url-list { display:grid; gap:5px; margin:10px 0 0; padding:0; list-style:none; }
.workflow-task-url-list li { min-width:0; padding:6px 8px; border-radius:7px; background:#f5f8fb; color:#31516d; font-size:10px; line-height:1.45; overflow-wrap:anywhere; word-break:break-word; }
.workflow-task-copy-status { display:block; min-height:1em; margin-top:5px; color:var(--success); font-size:9px; }
.workflow-task-approval-groups { min-width:0; display:grid; gap:11px; }
.workflow-task-approval-group { min-width:0; overflow:hidden; border:1px solid rgb(145 165 188 / 34%); border-radius:9px; background:#fff; }
.workflow-task-approval-group>header { min-width:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px; padding:8px 10px; border-bottom:1px solid rgb(145 165 188 / 30%); background:#f7f9fc; }
.workflow-task-approval-group-identity { min-width:0; flex:1 1 220px; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 7px; }
.workflow-task-approval-group>header strong { min-width:0; color:#294d6d; font-size:10px; overflow-wrap:anywhere; }
.workflow-task-approval-group>header span { color:var(--muted); font-size:9px; }
.workflow-task-approval-group>header .badge.success { color:var(--success); }
.workflow-task-approval-group>header .badge.danger { color:var(--danger); }
.workflow-task-provider-comment { display:grid; gap:4px; padding:9px 10px 0; }
.workflow-task-provider-comment p { margin:0; color:#526a80; font-size:9px; line-height:1.45; overflow-wrap:anywhere; }
.workflow-task-terminal-keys { display:grid; gap:8px; margin:9px 10px 0; padding:10px; border:1px solid rgb(145 165 188 / 34%); border-radius:8px; background:#f8fafc; }
.workflow-task-terminal-keys p,.workflow-task-terminal-keys form { margin:0; }
.workflow-task-terminal-keys textarea { width:100%; margin-top:5px; }
.workflow-task-terminal-keys pre,.workflow-task-technical-table pre { max-width:100%; overflow:auto; padding:8px; border-radius:6px; background:#eef3f8; white-space:pre-wrap; overflow-wrap:anywhere; }
.workflow-task-group-decision { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; padding:9px 10px 10px; }
.workflow-task-group-decision label { min-width:0; display:grid; gap:4px; color:#526a80; font-size:9px; font-weight:650; }
.workflow-task-group-decision textarea { width:100%; min-width:0; min-height:48px; resize:vertical; padding:7px 8px; font:inherit; font-size:9px; line-height:1.4; }
.workflow-task-group-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:5px; }
.workflow-task-group-actions .button { min-height:34px; padding:5px 10px; }
.workflow-task-approval-group>header form { flex:0 0 auto; margin:0 0 0 auto; }
.workflow-task-approval-all { min-height:28px; padding:4px 9px; border:1px solid #68b68e; border-radius:7px; background:#e8f7ef; color:#176f45; font:inherit; font-size:9px; font-weight:750; line-height:1.2; white-space:nowrap; cursor:pointer; transition:border-color .14s ease,background-color .14s ease,color .14s ease,transform .08s ease; }
.workflow-task-approval-all:hover { border-color:#459e70; background:#daf2e5; }
.workflow-task-approval-all:active { transform:translateY(1px); }
.workflow-task-approval-all:focus-visible { outline:2px solid #348bcc; outline-offset:2px; }
.workflow-task-approval-all:disabled { border-color:rgb(128 151 177 / 42%); background:#edf1f4; color:#718294; cursor:default; transform:none; }
.workflow-task-approval-table th,.workflow-task-approval-table td { padding-top:7px; padding-bottom:7px; }
.workflow-task-approval-table th { background:#f7f9fc; }
.workflow-task-approval-table th:nth-child(1) { width:52%; }
.workflow-task-approval-table th:nth-child(2) { width:20%; }
.workflow-task-approval-table th:nth-child(3) { width:28%; }
.workflow-task-approval-actions { min-width:0; display:flex; flex-wrap:wrap; align-items:flex-start; gap:5px; }
.workflow-task-approval-actions>form { margin:0; }
.workflow-task-approval-decision,.workflow-task-approval-comment-toggle { position:relative; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgb(128 151 177 / 50%); border-radius:8px; background:#f7f9fc; color:#536d84; font:inherit; font-size:14px; font-weight:800; line-height:1; cursor:pointer; transition:border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease,transform .08s ease; }
.workflow-task-approval-decision:hover,.workflow-task-approval-comment-toggle:hover { border-color:#79a3c5; background:#edf5fb; color:#285f8c; }
.workflow-task-approval-decision:active,.workflow-task-approval-comment-toggle:active { transform:translateY(1px); }
.workflow-task-approval-decision:focus-visible,.workflow-task-approval-comment-toggle:focus-visible { outline:2px solid #348bcc; outline-offset:2px; }
.workflow-task-approval-decision.approve { color:#268457; }
.workflow-task-approval-decision.approve:hover,.workflow-task-approval-decision.approve.is-selected { border-color:#68b68e; background:#e8f7ef; color:#176f45; }
.workflow-task-approval-decision.decline { color:#b34c51; }
.workflow-task-approval-decision.decline:hover,.workflow-task-approval-decision.decline.is-selected { border-color:#d58b8f; background:#fff0f0; color:#9d3037; }
.workflow-task-approval-decision.is-selected { box-shadow:inset 0 0 0 1px currentColor; }
.workflow-task-approval-decision:disabled { opacity:.58; cursor:wait; transform:none; }
.workflow-task-approval-comment-toggle { font-size:13px; font-weight:500; }
.workflow-task-approval-comment-toggle.has-comment::after { content:''; position:absolute; top:3px; right:3px; width:5px; height:5px; border:1px solid #fff; border-radius:50%; background:#4f8db9; }
.workflow-task-approval-comment-row[hidden] { display:none; }
.workflow-task-approval-comment-row td { padding:0 9px 8px; border-bottom:1px solid rgb(181 197 216 / 44%); }
.workflow-task-approval-comment-row form { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 28px 28px; align-items:center; gap:5px; margin:0; padding:6px; border-radius:8px; background:#f3f7fa; }
.workflow-task-approval-comment-row input { width:100%; min-width:0; height:30px; min-height:30px; padding:4px 7px; font-size:9px; }
.workflow-task-approval-comment-save,.workflow-task-approval-comment-cancel { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgb(128 151 177 / 50%); border-radius:7px; background:#fff; color:#4f687f; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.workflow-task-approval-comment-save { border-color:#68b68e; color:#176f45; }
.workflow-task-approval-comment-save:hover { background:#e8f7ef; }
.workflow-task-approval-comment-cancel:hover { border-color:#d58b8f; background:#fff0f0; color:#9d3037; }
.workflow-task-approval-comment-save:focus-visible,.workflow-task-approval-comment-cancel:focus-visible { outline:2px solid #348bcc; outline-offset:2px; }
/* Seven columns: the last two used to get no width at all and stacked their text letter by letter.
   Both badge columns fit «Частично согласовано» on one line. */
.workflow-task-technical-table th:nth-child(1) { width:14%; }
.workflow-task-technical-table th:nth-child(2) { width:14%; }
.workflow-task-technical-table th:nth-child(3) { width:9%; }
.workflow-task-technical-table th:nth-child(4) { width:9%; }
.workflow-task-technical-table th:nth-child(5) { width:20%; }
.workflow-task-technical-table th:nth-child(6) { width:20%; }
.workflow-task-technical-table th:nth-child(7) { width:14%; }
.workflow-task-technical-table td { vertical-align:middle; }
.workflow-task-technical-table .badge { max-width:100%; white-space:normal; text-align:left; }
.workflow-task-chat { position:static; top:auto; align-self:stretch; height:100%; min-height:0; max-height:none; border:0; border-left:1px solid rgb(145 165 188 / 46%); border-radius:0; background:#f8fafc; box-shadow:none; }
.workflow-task-chat>header { min-height:58px; display:flex; align-items:center; padding:15px 16px; background:rgb(255 255 255 / 98%); }
.workflow-task-chat-timeline { gap:14px; padding:17px 18px; background-color:#edf3f7; background-image:url("./task-chat-pattern.svg"),linear-gradient(150deg,rgb(255 255 255 / 28%) 0%,rgb(217 231 240 / 20%) 100%); background-size:720px 520px,auto; background-position:center top,0 0; }
.workflow-task-system-entry { width:min(94%,640px); max-width:640px; min-width:0; align-self:center; display:grid; grid-template-columns:42px minmax(92px,128px) minmax(0,1fr); align-items:start; gap:8px; padding:5px 8px; border-radius:8px; color:#63788d; text-align:left; }
.workflow-task-system-entry::before { display:none; }
.workflow-task-system-entry+.workflow-task-system-entry { border-top:0; }
.workflow-task-system-entry time { min-width:0; padding-top:1px; color:#94a1ad; font-size:9px; font-variant-numeric:tabular-nums; }
.workflow-task-system-entry strong { min-width:0; color:#405f7a; font-size:10px; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
.workflow-task-system-entry>span { min-width:0; color:#63788d; font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.workflow-task-system-entry.has-context>span { display:grid; gap:3px; }
.workflow-task-system-context { min-width:0; display:grid; gap:2px; padding:5px 7px; border-left:2px solid rgb(123 157 184 / 52%); border-radius:0 6px 6px 0; background:rgb(255 255 255 / 50%); color:#5b7288; font-size:9px; font-weight:400; line-height:1.4; }
.workflow-task-system-context b { color:#405f7a; font-weight:700; }
.workflow-task-system-context span,.workflow-task-system-context q { min-width:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.workflow-task-system-context q { color:#405f7a; }
.workflow-task-system-entry.tone-success { background:rgb(221 245 231 / 72%); }
.workflow-task-system-entry.tone-success strong,.workflow-task-system-entry.tone-success>span { color:#32684d; }
.workflow-task-system-entry.tone-danger { background:rgb(255 232 233 / 76%); }
.workflow-task-system-entry.tone-danger strong,.workflow-task-system-entry.tone-danger>span { color:#86484d; }
.workflow-task-system-entry.tone-warning { background:rgb(255 245 218 / 76%); }
.workflow-task-system-entry.tone-warning strong,.workflow-task-system-entry.tone-warning>span { color:#7b642f; }
.workflow-task-chat-composer { --task-chat-control-height:44px; }
.workflow-task-chat-composer-row { grid-template-columns:var(--task-chat-control-height) minmax(0,1fr) var(--task-chat-control-height); align-items:end; gap:8px; }
.workflow-task-chat-input { display:flex; align-items:flex-end; }
.workflow-task-chat-composer textarea { box-sizing:border-box; height:var(--task-chat-control-height); min-height:var(--task-chat-control-height); }
.workflow-task-chat-file,.workflow-task-chat-send { box-sizing:border-box; width:var(--task-chat-control-height); height:var(--task-chat-control-height); align-self:end; }

@media (max-width: 420px) {
  .workflow-task-system-entry { width:100%; grid-template-columns:36px minmax(66px,88px) minmax(0,1fr); gap:6px; padding-inline:5px; }
  .workflow-task-chat-composer-row { grid-template-columns:var(--task-chat-control-height) minmax(0,1fr) var(--task-chat-control-height); gap:6px; }
}

/* Authoritative CRM List/Table system.
   Variants share typography and dividers while retaining their own interaction semantics. */
.crm-list-table { --crm-list-table-header-radius:8px; width:100%; border-spacing:0; border-collapse:separate; color:var(--text); font-size:11px; }
.crm-list-table th,.crm-list-table td { border-top:0; border-right:0!important; border-left:0!important; text-align:left; vertical-align:middle; }
.crm-list-table th { height:38px; padding:9px 12px; border-bottom:1px solid rgb(145 165 188 / 58%); background:rgb(239 244 250 / 76%); color:#5d7084; font-size:9px; font-weight:700; letter-spacing:.52px; line-height:1.25; text-transform:uppercase; }
.crm-list-table thead tr:first-child>th:first-child { border-top-left-radius:var(--crm-list-table-header-radius); border-bottom-left-radius:var(--crm-list-table-header-radius); }
.crm-list-table thead tr:first-child>th:last-child { border-top-right-radius:var(--crm-list-table-header-radius); border-bottom-right-radius:var(--crm-list-table-header-radius); }
.crm-list-table td { padding:10px 12px; border-bottom:1px solid rgb(181 197 216 / 52%); line-height:1.42; }
.crm-list-table tbody tr:last-child>td { border-bottom:0; }
.crm-list-table--compact { --crm-list-table-header-radius:6px; }
.crm-list-table--compact th { height:30px; padding:7px 8px; font-size:8px; }
.crm-list-table--compact td { padding:7px 8px; }
.crm-list-table__primary-link { color:#244f7d; font-weight:700; text-decoration:none; }
.crm-list-table__primary-link:hover,.crm-list-table__primary-link:focus-visible { color:#174f80; text-decoration:underline; text-underline-offset:2px; }
.crm-list-table__row--link { cursor:pointer; }
.crm-list-table__row--link:hover>td { background:rgb(229 239 249 / 74%); }
.crm-list-table__row--link:focus { outline:none; }
.crm-list-table__row--link:focus-visible { position:relative; z-index:1; outline:2px solid #2479b7; outline-offset:-2px; }
.crm-list-table__row--link:focus-visible>td { background:rgb(225 238 250 / 88%); }
.crm-list-table--interactive tbody tr:hover>td { background:rgb(232 240 250 / 58%); }
.crm-record-list { margin:0; padding:0; list-style:none; }
.crm-record-list>li { min-width:0; padding:8px 0; border-bottom:1px solid rgb(181 197 216 / 46%); }
.crm-record-list>li:last-child { border-bottom:0; }

/* Solid entity-state tokens are intentionally separate from work and approval states. */
.crm-entity-status { border:0; font-weight:700; line-height:1.35; }
.crm-entity-status--active { background:#137a43; color:#fff; }
.crm-entity-status--draft { background:#526273; color:#fff; }
.crm-entity-status--paused { background:#d99a00; color:#2b1a00; }
.crm-entity-status--inactive { background:#596675; color:#fff; }
.projects-table.crm-list-table--registry td:last-child .badge.success { background:#137a43; color:#fff; font-weight:700; }
.projects-table.crm-list-table--registry td:last-child .badge.neutral { background:#596675; color:#fff; font-weight:700; }

/* Registry column balance after removing Open-only action columns. */
.terminal-table th:first-child { width:auto; }
.terminal-table th:nth-child(2) { width:22%; }
.terminal-table th:nth-child(3) { width:110px; }
.terminal-table th:nth-child(4) { width:112px; }
.employee-table th:first-child { width:21%; }
.employee-table th:nth-child(2) { width:24%; }
.employee-table th:nth-child(3) { width:auto; }
.employee-table th:nth-child(4),.employee-table th:nth-child(5) { width:13%; }
.reference-table th:last-child,.reference-table td:last-child { text-align:left; }
.reference-geography-table th:nth-child(1) { width:20%; }
.reference-geography-table th:nth-child(2) { width:11%; }
.reference-geography-table th:nth-child(3) { width:15%; }
.reference-geography-table th:nth-child(4) { width:auto; }
.reference-geography-table th:nth-child(5) { width:112px; }

@media (max-width:768px) {
  .crm-list-table--registry { min-width:0!important; display:block; table-layout:auto; }
  .crm-list-table--registry thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .crm-list-table--registry tbody,.crm-list-table--registry tr,.crm-list-table--registry td { display:block; width:100%; }
  .crm-list-table--registry tr { padding:9px 12px; border-bottom:1px solid rgb(181 197 216 / 52%); }
  .crm-list-table--registry tr:last-child { border-bottom:0; }
  .crm-list-table--registry td,.crm-list-table--registry td:first-child,.crm-list-table--registry td:last-child { display:grid; grid-template-columns:minmax(92px,34%) minmax(0,1fr); align-items:center; gap:8px; width:100%; min-height:32px; padding:5px 0!important; border:0!important; background:transparent; text-align:left; overflow-wrap:anywhere; }
  .crm-list-table--registry td::before { content:attr(data-label); color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.45px; line-height:1.3; text-transform:uppercase; }
  .crm-list-table--registry .project-technical-code { grid-column:2; }
  .crm-list-table__row--link:hover,.crm-list-table__row--link:focus-visible { background:rgb(229 239 249 / 78%); }
  .crm-list-table__row--link:hover>td,.crm-list-table__row--link:focus-visible>td { background:transparent; }
}

@media (max-width:420px) {
  .crm-list-table--registry tr { padding:8px 9px; }
  .crm-list-table--registry td,.crm-list-table--registry td:first-child,.crm-list-table--registry td:last-child { grid-template-columns:minmax(78px,32%) minmax(0,1fr); gap:7px; }
}

/* Compact Organization profile; personal Appearance remains independent. */
.workspace-label { padding:10px 12px; gap:0; }
.organization-selector { margin:0 0 14px; min-width:0; }
.sidebar.is-collapsed .workspace-label { display:none; }
.organization-profile-section { border:0; margin:0; min-width:0; }
.organization-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
.organization-profile-grid .client-field { min-width:0; margin:0; }
.organization-profile-wide { grid-column:1/-1; }
.organization-profile-section textarea { resize:vertical; min-height:76px; }
.organization-profile-section .caption { margin:7px 0 0; }
.organization-address-same { display:flex; align-items:center; gap:9px; font-size:12px; margin:12px 0; }
.organization-address-same input { width:17px; height:17px; accent-color:var(--accent); flex:none; }
.organization-system-info { margin:16px 0 0; }
@media (min-width:761px) and (max-width:950px) { .workspace-label { display:none; } }
@media (max-width:600px) { .organization-profile-grid { grid-template-columns:minmax(0,1fr); } }

@media (max-width:760px) { .nav-open .sidebar.is-collapsed .workspace-label { display:flex; } }

/* Progressive navigation preserves all shell surfaces. */
#main[aria-busy="true"] { cursor:progress; }

/* Personal settings share one compact surface and a consistent content column. */
.personal-settings,.settings-card { width:100%; max-width:920px; background:var(--data-surface); }
.personal-settings-section,.settings-section { display:grid; grid-template-columns:160px minmax(0,1fr); gap:24px; padding:20px; min-width:0; }
.personal-settings-section + .personal-settings-section,
.settings-card>:is(.settings-card-header,.settings-section,.settings-card-block) + :is(.settings-section,.settings-card-block) { border-top:1px solid var(--line); }
.personal-settings-heading h2,.settings-section-heading h2,.settings-card-header h2 { font-size:16px; }
.personal-settings-heading .caption,.settings-section-heading .caption,.settings-card-header .caption { margin:6px 0 0; font-size:12px; line-height:1.5; }
.personal-settings form,.settings-card form { min-width:0; }
.personal-settings .personal-timezone-panel form { width:100%; max-width:520px; }
.personal-security-content { min-width:0; }
.security-factor-row,.passkey-heading,.passkey-item { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.security-factor-row { padding:0 0 15px; border-bottom:1px solid var(--line); }
.security-factor-row p,.passkey-heading p,.passkey-copy p { margin:4px 0 0; }
.passkey-heading { align-items:flex-start; padding:16px 0 10px; }
.passkey-heading h3 { margin:0; font-size:14px; }
.passkey-list { display:grid; gap:8px; }
.passkey-item { padding:11px 12px; border:1px solid rgb(145 165 188 / 38%); border-radius:11px; background:rgb(255 255 255 / 66%); }
.passkey-copy { min-width:0; overflow-wrap:anywhere; }
.passkey-actions { flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.session-block .passkey-heading form,.session-item .passkey-actions form { flex:0 0 auto; margin:0; }
.button.compact { min-height:34px; padding:5px 10px; }
.text-button.danger { color:var(--danger); }
.personal-security-content>.empty-copy { margin:5px 0 0; padding:12px; border-radius:10px; background:#f4f7fb; color:var(--muted); font-size:12px; }
#passkey-status { min-height:1em; margin:10px 0 0; color:var(--muted); font-size:12px; }
.confirmation-dialog { width:min(440px,calc(100vw - 28px)); padding:20px; border:1px solid rgb(145 165 188 / 48%); border-radius:16px; background:#fff; color:var(--text); box-shadow:0 22px 60px rgb(22 45 70 / 24%); }
.confirmation-dialog::backdrop { background:rgb(14 30 48 / 38%); backdrop-filter:blur(2px); }
.confirmation-dialog h3 { margin:0 0 8px; }
.confirmation-dialog p { line-height:1.5; }
.confirmation-dialog .dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.confirmation-dialog .button.danger { border-color:rgb(177 55 55 / 28%); background:var(--danger); color:#fff; }
#passkey-step-up-dialog>div { display:grid; gap:10px; }
#passkey-step-up-dialog .text-button { justify-self:center; }
#passkey-step-up-dialog form { display:grid; gap:8px; }
.personal-settings .client-field>span,.settings-card .client-field>span { color:var(--text); font-size:12px; }
.personal-timezone-help { margin:8px 0 0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.personal-settings .settings-actions,.settings-card .settings-actions { padding:0; margin-top:16px; gap:8px; }
.personal-settings .settings-actions p,.settings-card .settings-actions p { flex:1 1 100%; margin:0; overflow-wrap:anywhere; }
.personal-settings .settings-actions p:empty,.settings-card .settings-actions p:empty { flex:0 0 0; }
body[data-section="settings"] .personal-settings .appearance-panel { background:transparent; }
.personal-settings .appearance-panel fieldset { padding:0; }
.personal-settings .appearance-panel legend { padding:0; margin-bottom:12px; }
.personal-settings .background-grid { gap:10px; }
.personal-settings .background-choice { border-radius:var(--radius); padding:4px; gap:6px; }
.personal-settings .background-choice>span:not(.selection-mark) { padding:0 3px 4px; font-size:12px; line-height:1.4; }
/* Every settings page uses the Personal settings surface: one 920px column of
   cards; a card holds sections with the 160px heading column, an optional
   header (back link, title, action) and full-width blocks (tables, alerts). */
/* OD-150: the settings panel on the left («Личное», «Организация»), the
   page cards in the column on the right — the frame of Contacts. */
/* The panel spans the rows of the column; a row gap would add an empty
   12px for every unused row, so the cards are spaced by a margin. */
.settings-page { width:100%; min-width:0; display:grid; grid-template-columns:220px minmax(0,1fr); gap:0 12px; align-items:start; }
.settings-page>.settings-nav { grid-column:1; grid-row:1 / span 40; display:flex; flex-direction:column; }
.settings-page>:not(.settings-nav) { grid-column:2; min-width:0; }
.settings-page>:not(.settings-nav)~:not(.settings-nav) { margin-top:12px; }
/* Settings mockup (SetFlow 1–9): each page is a set of frosted tiles — a
   tile per subject, two columns where the mockup has them, no heading column. */
.settings-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; min-width:0; }
.settings-tiles>.is-wide,.settings-tiles>form>.is-wide { grid-column:1 / -1; }
.settings-tiles>form { display:contents; }
.settings-stack { display:grid; gap:12px; min-width:0; align-content:start; }
.settings-tile { min-width:0; margin:0; padding:18px 20px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); color:var(--text); text-shadow:none; }
fieldset.settings-tile { min-inline-size:0; }
.settings-tile.is-flush { padding:0; overflow:hidden; }
.settings-tile.is-attention { background:rgb(253 241 214 / 88%); border-color:rgb(214 170 80 / 55%); }
.settings-tile-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 14px; min-width:0; }
.settings-tile.is-flush>.settings-tile-head { margin:0; padding:16px 20px 12px; }
.settings-tile-head h2,.settings-tile>legend { margin:0; padding:0; color:var(--text); font-size:16px; font-weight:700; }
.settings-tile>legend { float:left; width:100%; margin:0 0 14px; }
.settings-tile>legend+* { clear:both; }
.settings-tile-cap { margin:0; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.settings-tile-head h2.settings-tile-cap { color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.settings-tile-note { margin:12px 0 0; color:#55627a; font-size:12.5px; line-height:1.5; }
.settings-tile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; min-width:0; }
.settings-tile-grid>.is-wide { grid-column:1 / -1; }
.settings-tile-sep { margin:16px 0 14px; border:0; border-top:1px solid var(--frost-line); }
.settings-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; min-width:0; }
.settings-stat { display:grid; gap:2px; min-width:0; margin:0; padding:12px 14px; border-radius:14px; background:rgb(23 35 56 / 5%); }
.settings-stat dt,.settings-stat>span { color:#55627a; font-size:12px; }
.settings-stat dd,.settings-stat>strong { margin:0; overflow-wrap:anywhere; color:var(--text); font-size:20px; font-weight:700; line-height:1.25; }
.settings-stat small { color:#55627a; font-size:12px; }
.settings-stat .is-good { color:#137a43; } .settings-stat .is-warn { color:#8a5a00; }
.settings-saved-note { color:#137a43; font-size:12.5px; }
.settings-header-action { display:flex; align-items:center; gap:12px; }
/* The settings header keeps one height on every page: the subtitle stays on
   one line and the page's action sits on the right without pushing the panel. */
[data-page-header-section="settings"] { position:relative; }
[data-page-header-section="settings"] .page-header-copy { min-width:0; }
[data-page-header-section="settings"] .page-header-copy>p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-page-header-section="settings"]>.page-header-action { position:absolute; top:50%; right:20px; margin:0; transform:translateY(-50%); }
[data-page-header-section="settings"]:has(>.page-header-action) .page-header-copy { padding-right:240px; }
@media (max-width:1100px) {
  /* The one-line subtitle no longer fits here: it wraps instead of being cut.
     Every settings page keeps the action's place, with or without an action,
     so the subtitle wraps the same everywhere and the panel stays put (OD-53). */
  [data-page-header-section="settings"] .page-header-copy>p { white-space:normal; }
  [data-page-header-section="settings"] .page-header-copy { padding-right:240px; }
}
@media (max-width:560px) {
  [data-page-header-section="settings"] .page-header-copy,
  [data-page-header-section="settings"]:has(>.page-header-action) .page-header-copy { padding-right:120px; }
  [data-page-header-section="settings"] .settings-action-add .settings-action-label { display:none; }
}
.settings-avatar { display:grid; flex:none; place-items:center; width:36px; height:36px; overflow:hidden; border-radius:11px; background:#e3ecfb; color:#1d4fa0; font-size:13px; font-weight:700; }
.settings-avatar img { width:100%; height:100%; object-fit:cover; }
.settings-chip { display:inline-block; margin:1px 4px 1px 0; padding:2px 8px; border-radius:7px; background:rgb(23 35 56 / 7%); color:#33415c; font-size:12px; font-weight:600; white-space:nowrap; }
.settings-chip.is-owner { background:#1f3a66; color:#fff; }
.settings-dot { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; }
.settings-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#137a43; }
.settings-dot.is-warn::before { background:#d08a00; } .settings-dot.is-bad::before { background:#b42318; }
.settings-dot.is-warn { color:#8a5a00; } .settings-dot.is-bad { color:#b42318; } .settings-dot:not(.is-warn):not(.is-bad) { color:#137a43; }
.settings-record-header { display:flex; align-items:center; gap:14px; min-width:0; margin:0 0 12px; padding:16px 22px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); color:var(--text); text-shadow:none; }
.settings-record-header .settings-avatar { width:44px; height:44px; font-size:15px; border-radius:13px; }
.settings-record-header>div { flex:1; min-width:0; }
.settings-record-crumbs { margin:0 0 2px; font-size:12.5px; }
.settings-record-crumbs a { color:var(--accent); }
.settings-record-title { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; font-size:24px; font-weight:700; overflow-wrap:anywhere; }
.settings-record-title h1 { margin:0; font-size:inherit; font-weight:inherit; overflow-wrap:anywhere; }
.settings-record-sub { margin:2px 0 0; color:#55627a; font-size:13px; overflow-wrap:anywhere; }
.settings-record-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.settings-record-header>.settings-record-actions { flex:none; }
.organization-settings .settings-tile .branding-content { padding:0; grid-template-columns:minmax(0,1fr) 260px; align-items:stretch; }
.organization-settings .settings-tile .logo-preview { width:auto; height:auto; min-height:110px; border:0; border-radius:14px; background:linear-gradient(160deg,#5f8fd0,#7aa6dc); color:#fff; }
.settings-tile.organization-profile-section .organization-system-info { margin:14px 0 0; padding:0; border:0; }
.organization-tiles .organization-address-same { display:flex; align-items:center; gap:8px; font-size:13px; }
@media (max-width:760px) { .organization-settings .settings-tile .branding-content { grid-template-columns:minmax(0,1fr); } }
/* Settings mockup 1–2: «Профиль» as one tile, «Безопасность аккаунта» as tiles. */
.settings-tile.personal-settings,.settings-stack.personal-settings { max-width:none; }
.panel.personal-settings.settings-tile { padding:18px 20px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); }
.personal-profile-card .profile-editor { grid-template-columns:minmax(0,1fr); gap:16px; }
.personal-profile-card .profile-photo-block { align-items:center; gap:18px; }
.personal-profile-card .profile-photo-preview { width:76px; height:76px; font-size:26px; }
.profile-identity { display:grid; gap:4px; min-width:0; }
.profile-identity-name { margin:0; font-size:21px; font-weight:700; overflow-wrap:anywhere; }
.profile-identity-meta { margin:0 0 6px; color:#55627a; font-size:13px; overflow-wrap:anywhere; }
.personal-profile-card .profile-name-form { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:12px 14px; }
.personal-profile-card .profile-name-form .settings-actions { grid-column:1 / -1; margin:0; }
.personal-profile-card .personal-preferences { margin:0; }
.personal-profile-card .appearance-panel fieldset { margin:10px 0 0; padding:0; border:0; }
.personal-profile-card .settings-actions { margin-top:10px; }
.personal-time-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; align-items:start; margin-top:10px; }
.personal-time-grid .settings-toggle { margin:0 0 10px; }
.personal-security-stack .passkey-list { display:grid; gap:8px; }
.personal-security-stack .session-item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; }
.session-activity { color:#55627a; font-size:13px; white-space:nowrap; }
.password-details>summary { cursor:pointer; list-style:none; margin:0; }
.password-details>summary::-webkit-details-marker { display:none; }
.password-details[open]>summary .button { visibility:hidden; }
.password-details .personal-password-form { display:grid; gap:12px; max-width:460px; margin-top:6px; }
@media (max-width:760px) {
  .personal-profile-card .profile-name-form,.personal-time-grid { grid-template-columns:minmax(0,1fr); }
  .personal-security-stack .session-item { grid-template-columns:minmax(0,1fr); }
  .session-activity { white-space:normal; }
}
.badge.settings-dot { padding:0; border:0; background:none; font-weight:500; white-space:nowrap; }
.attention-rows { display:grid; margin:0; padding:0; list-style:none; }
.attention-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:10px 0; border-top:1px solid rgb(176 132 40 / 22%); }
.attention-row:first-child { border-top:0; padding-top:0; }
.attention-row strong { display:block; font-size:13.5px; } .attention-row small { color:#55627a; font-size:12.5px; }
.attention-row .settings-actions { margin:0; }
.attention-note { max-width:180px; color:#55627a; font-size:12.5px; }
.employee-search-tile { display:flex; gap:10px; align-items:center; padding:12px 16px; }
.employee-search-tile .employee-filter-search { flex:1; margin:0; } .employee-search-tile .employee-filter-sort { flex:0 0 200px; margin:0; }
.employee-cell { display:flex; align-items:center; gap:10px; min-width:0; }
.employee-cell>div { display:grid; min-width:0; }
.employee-email { color:#55627a; font-size:12px; overflow-wrap:anywhere; }
.employee-list-surface .employee-table { min-width:0; }
.employee-list-footer { padding:9px 18px; border-top:1px solid rgb(23 35 56 / 7%); color:#55627a; font-size:13px; }
.employee-row.is-inactive .settings-avatar { opacity:.55; }
@media (max-width:760px) { .attention-row { grid-template-columns:minmax(0,1fr); } .attention-note { max-width:none; } .employee-search-tile { flex-wrap:wrap; } .employee-search-tile .employee-filter-sort { flex:1 1 100%; } }
.employee-record>.employee-editor { display:contents; }
.employee-record .employee-sessions-card { grid-column:1; }
.employee-record .employee-role-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px) { .employee-record .employee-role-options { grid-template-columns:minmax(0,1fr); } }
.employee-record fieldset.settings-tile { border:1px solid var(--frost-edge); }
.employee-record .employee-form-actions { margin:0; }
.employee-signin-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin:0; padding:0; border:0; background:none; }
.employee-signin-facts dd { margin:2px 0 0; font-size:15px; }
.employee-record .employee-form-grid { grid-template-columns:minmax(0,1fr); }
.settings-record.role-record { grid-template-columns:minmax(240px,290px) minmax(0,1fr); }
@media (max-width:1100px) { .settings-record.role-record { grid-template-columns:minmax(0,1fr); } }
.role-record .role-main-grid { grid-template-columns:minmax(0,1fr); }
.role-list-surface .role-list-table { min-width:0; }
.role-purpose { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.role-matrix-tools { gap:10px; flex-wrap:nowrap; }
.role-matrix-search { flex:1; margin:0; }
.segmented { display:inline-flex; flex:none; padding:3px; border-radius:11px; background:rgb(23 35 56 / 7%); }
.segmented button { padding:6px 12px; border:0; border-radius:9px; background:none; color:#55627a; font:inherit; font-size:13px; cursor:pointer; }
.segmented button[aria-pressed="true"] { background:#fff; color:var(--text); font-weight:600; box-shadow:0 1px 3px #172b3a1f; }
.role-matrix { width:100%; border-collapse:collapse; font-size:13.5px; }
.role-matrix thead th { position:sticky; top:0; z-index:1; padding:9px 10px; background:rgb(244 246 250 / 96%); color:#55627a; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-align:center; text-transform:uppercase; }
.role-matrix thead th:first-child,.role-matrix tbody th { text-align:left; }
.role-matrix-category th { padding:7px 18px; background:rgb(23 35 56 / 5%); color:#46546a; font-size:12px; font-weight:600; }
.role-matrix-row th { padding:9px 18px; font-weight:500; }
.role-matrix-row td { padding:6px 10px; border-top:1px solid rgb(23 35 56 / 6%); text-align:center; vertical-align:middle; }
.role-matrix-row th { border-top:1px solid rgb(23 35 56 / 6%); }
.role-matrix-row input[type="checkbox"] { width:18px; height:18px; }
.role-matrix-none { display:inline-block; width:16px; height:16px; border:1px dashed rgb(23 35 56 / 14%); border-radius:4px; }
.role-matrix-other { min-width:230px; text-align:left !important; }
.role-matrix-other label { display:flex; align-items:center; gap:6px; margin:2px 0; font-size:12px; line-height:1.3; }
.role-matrix-row th { min-width:130px; }
.role-matrix thead th { padding:9px 6px; }
.role-matrix-row td { padding:6px 6px; }
.role-matrix-row.is-secret th { color:#7d3b00; }
.role-matrix-row[hidden],.role-matrix-group[hidden] { display:none; }
@media (max-width:760px) { .role-matrix-tools { flex-wrap:wrap; } }
.system-tabs { align-self:start; justify-self:start; max-width:100%; overflow-x:auto; scrollbar-width:none; white-space:nowrap; }
.system-tabs::-webkit-scrollbar { display:none; }
.system-tabs a { flex:none; }
.system-tabs a { padding:6px 14px; border-radius:9px; color:#46546a; font-size:13.5px; text-decoration:none; }
.system-tabs a[aria-current="page"] { background:#fff; color:var(--text); font-weight:600; box-shadow:0 1px 3px #172b3a1f; }
.system-settings .settings-tile.system-tab-panel { display:block; }
.system-settings .settings-tile.system-tab-panel[hidden] { display:none; }
.system-tab-note { margin:-6px 0 12px; }
.system-settings .settings-stats.system-release-info { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.system-settings .settings-stats.system-release-info>div { padding:12px 14px; border:0; border-radius:14px; background:rgb(23 35 56 / 5%); }
.system-settings .settings-stats.system-release-info dt { color:#55627a; font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; }
.system-settings .settings-stats.system-release-info dd { margin:2px 0 0; color:var(--text); font-size:20px; }
.system-settings .settings-stats.system-release-info dd.is-good { color:#137a43; } .system-settings .settings-stats.system-release-info dd.is-warn { color:#8a5a00; }
.system-settings .settings-stat code { font-size:11.5px; }
/* Stand review 2026-11-04: closer to the mockup. */
.settings-stack.personal-settings { border:0; background:none; box-shadow:none; }
.personal-security-panel #passkey-status:empty { display:none; }
.personal-security-panel .passkey-help { margin:0 0 10px; }
.settings-tile .crm-list-table td { font-size:13.5px; }
.settings-tile .crm-list-table .crm-list-table__primary-link { font-size:14px; font-weight:600; }
.employee-list-surface .employee-table th:nth-child(1) { width:40%; } .employee-list-surface .employee-table th:nth-child(2) { width:26%; }
.employee-list-surface .employee-table th:nth-child(3) { width:16%; } .employee-list-surface .employee-table th:nth-child(4) { width:12%; } .employee-list-surface .employee-table th:nth-child(5) { width:6%; }
.employee-email { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; }
.employee-cell .crm-list-table__primary-link { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.role-list-surface .role-list-table th:nth-child(1) { width:24%; } .role-list-surface .role-list-table th:nth-child(2) { width:12%; }
.role-list-surface .role-list-table th:nth-child(4) { width:12%; } .role-list-surface .role-list-table th:nth-child(5) { width:6%; }
.role-matrix input[type="checkbox"] { width:18px; height:18px; min-height:0; margin:0; }
.role-matrix-row th { padding:8px 18px; }
.role-matrix-row td { padding:7px 6px; }
.system-history-link { color:var(--accent); font-size:13px; }
.system-update-recent-list { display:grid; margin:0; padding:0; list-style:none; }
.system-update-recent-item { display:grid; grid-template-columns:150px 14px minmax(0,1fr) auto; gap:12px; align-items:center; padding:11px 0; border-top:1px solid rgb(23 35 56 / 7%); font-size:13.5px; }
.system-update-recent-item:first-child { border-top:0; }
.system-update-recent-item time { color:#55627a; }
.system-update-dot { width:10px; height:10px; border-radius:50%; background:#9aa6b8; } .system-update-dot.is-good { background:#137a43; } .system-update-dot.is-bad { background:#b42318; }
.system-update-what { display:grid; min-width:0; } .system-update-what small { color:#55627a; font-size:12px; }
.settings-tiles.system-restore-row { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
.settings-tiles.system-restore-row[hidden] { display:none; }
.system-backup-keep .system-restore-rotate { display:grid; gap:6px; margin:12px 0 0; }
.system-keep-cap { margin:16px 0 0; }
.system-keep-sftp { margin-top:10px; }
@media (max-width:1100px) { .settings-tiles.system-restore-row { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .system-update-recent-item { grid-template-columns:14px minmax(0,1fr); } .system-update-recent-item time { grid-column:2; } .system-update-recent-item .status-pill { grid-column:2; justify-self:start; } }
.employee-roles.is-picker .employee-role-options { display:none; }
.employee-role-assigned { display:grid; margin:0; padding:0; list-style:none; }
.employee-role-assigned li { display:grid; grid-template-columns:minmax(120px,0.8fr) minmax(0,2fr) auto; gap:14px; align-items:center; padding:12px 0; border-top:1px solid rgb(23 35 56 / 7%); font-size:13.5px; }
.employee-role-assigned li:first-child { border-top:0; }
.employee-role-assigned li span { color:#55627a; }
.employee-role-assigned .employee-role-none { display:block; color:#55627a; }
.employee-roles .settings-tile-head select.employee-role-add[data-role-add] { flex:0 0 auto; width:230px; max-width:100%; min-height:34px; padding:4px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; font:inherit; font-size:13px; }
.employee-record .employee-sessions-card { grid-column:1; grid-row:2; }
.employee-record>.employee-editor>.settings-stack:last-child { grid-column:2; grid-row:1 / span 2; }
@media (max-width:1100px) { .employee-record .employee-sessions-card,.employee-record>.employee-editor>.settings-stack:last-child { grid-column:auto; grid-row:auto; } }
@media (max-width:760px) { .employee-role-assigned li { grid-template-columns:minmax(0,1fr) auto; } .employee-role-assigned li span { grid-column:1 / -1; grid-row:2; } }
/* Background tiles, mockup BgCards (2026-11-09): the whole 16:9 picture, the name under it, a frosted card. */
.personal-profile-card .background-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.personal-profile-card .background-choice { position:relative; padding:5px; gap:0; border:1px solid rgb(255 255 255 / 70%); border-radius:14px; background:rgb(255 255 255 / 55%); box-shadow:0 2px 8px rgb(23 35 56 / 6%); }
.personal-profile-card .background-choice:hover { border-color:#b9c7da; background:rgb(255 255 255 / 80%); box-shadow:0 6px 16px rgb(23 35 56 / 10%); }
.personal-profile-card .background-choice:has(:checked) { border-color:transparent; background:rgb(255 255 255 / 85%); box-shadow:0 0 0 2px #1d5fd6,0 6px 16px rgb(29 95 214 / 16%); }
.personal-profile-card .background-choice img { display:block; width:100%; height:auto; aspect-ratio:16/9; border-radius:10px; object-fit:cover; }
.personal-profile-card .background-choice>input[type="radio"] { position:absolute; inset:0; z-index:2; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.personal-profile-card .background-choice:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:2px; }
.personal-profile-card .background-choice>span:not(.selection-mark) { padding:7px 4px 3px; color:#172338; font-size:12.5px; font-weight:500; line-height:1.3; overflow-wrap:anywhere; }
.personal-profile-card .background-choice:has(:checked)>span:not(.selection-mark) { color:#1d4fa8; font-weight:600; }
.personal-profile-card .background-choice .selection-mark { top:11px; right:11px; width:22px; height:22px; font-size:12px; line-height:22px; box-shadow:0 0 0 2px #fff; }
.personal-profile-card .personal-time-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
.personal-profile-card .personal-notifications-panel { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.personal-profile-card .personal-notifications-panel .settings-toggle { margin:0; }
.personal-profile-card .personal-notifications-panel .notification-volume-row { display:flex; align-items:center; gap:14px; margin:0; }
.personal-profile-card .personal-notifications-panel [data-notification-sound-status] { flex:1 1 100%; margin:0; }
.personal-profile-card .personal-timezone-panel { max-width:520px; }
.personal-profile-card .settings-toggle input[type="checkbox"] { position:relative; flex:none; width:38px; height:22px; min-height:0; padding:0; border:0; margin:0; border-radius:11px; background:#c8d1dd; appearance:none; cursor:pointer; transition:background .15s; }
.personal-profile-card .settings-toggle input[type="checkbox"]::before { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgb(0 0 0 / 25%); transition:transform .15s; }
.personal-profile-card .settings-toggle input[type="checkbox"]:checked { background:#1d5fd6; }
.personal-profile-card .settings-toggle input[type="checkbox"]:checked::before { transform:translateX(16px); }
.personal-profile-card .settings-toggle input[type="checkbox"]:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:760px) { .personal-profile-card .background-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.settings-record { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:12px; align-items:start; }
@media (max-width:1100px) {
  .settings-tiles,.settings-record { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px) {
  .settings-tile-grid { grid-template-columns:minmax(0,1fr); }
  .settings-record-header { flex-wrap:wrap; padding:14px 16px; }
  /* The actions take their own row, so the name and the e-mail keep the width. */
  .settings-record-header>.settings-record-actions { flex:1 1 100%; }
  .settings-record-title { font-size:20px; }
}
.settings-nav .tasks-scope > span { min-width:0; overflow-wrap:anywhere; }
@media (max-width:980px) {
  .settings-page { grid-template-columns:minmax(0,1fr); }
  .settings-page>.settings-nav { grid-row:auto; margin-bottom:12px; }
  .settings-page>:not(.settings-nav) { grid-column:1; }
  .settings-nav .tasks-side-group { flex-direction:row; flex-wrap:wrap; gap:4px; }
  /* Chips keep their width on every page: the open one is marked by its background only. */
  .settings-nav .tasks-scope.is-on { font-weight:inherit; }
}
.settings-section-heading,.settings-section-content { min-width:0; }
.settings-section-heading .badge { margin-top:10px; }
.settings-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px; min-width:0; }
.settings-card-header>div { min-width:0; }
.settings-card-header h2 { overflow-wrap:anywhere; }
.settings-card-header .project-back-link { margin:0 0 8px; color:var(--muted); text-shadow:none; }
.settings-card-header .project-back-link:hover { color:var(--text); }
.settings-card-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.settings-card-block { padding:20px; min-width:0; }
.settings-card .client-form-alert { margin:0; }
.settings-card .empty-state { min-height:0; padding:28px 16px; }
.settings-card .projects-table { min-width:640px; }
.settings-card-footer { padding:0 20px 20px 204px; }
.settings-card-footer .settings-actions { margin-top:0; }
@media (max-width:1100px) { .settings-card-footer { padding-left:20px; } }
@media (max-width:760px) { .settings-card-footer { padding:0 16px 16px; } }
@media (max-width:1100px) {
 .personal-settings-section,.settings-section { grid-template-columns:minmax(0,1fr); gap:16px; padding:20px; }
 .personal-settings .background-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:760px) {
 .personal-settings-section,.settings-section,.settings-card-header,.settings-card-block { padding:16px; }
 .personal-settings .personal-timezone-panel form { max-width:none; }
}
@media (max-width:600px) {
 .personal-settings .background-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .personal-settings .settings-actions .button,.settings-card .settings-actions .button { width:100%; }
 .security-factor-row,.passkey-heading,.passkey-item { align-items:stretch; flex-direction:column; }
 .passkey-heading .button,.passkey-actions { width:100%; }
 .passkey-actions .button,.passkey-actions .text-button { flex:1; }
 .session-block .passkey-heading form,.session-block .passkey-heading .button,.session-item .passkey-actions form { width:100%; }
 .confirmation-dialog .dialog-actions { flex-direction:column-reverse; }
 .confirmation-dialog .dialog-actions .button { width:100%; }
}
.account-timezone { overflow-wrap: anywhere; }

/* Form value selectors share one presentation while retaining native or searchable behavior. */
:root select:not([multiple]):not([size]) {
  width:100%;
  min-width:0;
  max-width:100%;
  height:var(--dropdown-height);
  min-height:var(--dropdown-height);
  padding:0 calc(var(--dropdown-padding-inline) + var(--dropdown-chevron-width) + 12px) 0 var(--dropdown-padding-inline);
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--dropdown-border);
  border-radius:var(--dropdown-radius);
  background-color:#fff;
  background-image:var(--dropdown-chevron-image);
  background-repeat:no-repeat;
  background-position:right var(--dropdown-chevron-offset) center;
  background-size:var(--dropdown-chevron-width) var(--dropdown-chevron-height);
  color:var(--text);
  font-family:inherit;
  font-size:11px;
  font-weight:500;
  line-height:1.5;
  text-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:inset 0 1px 1px rgb(31 56 82 / 4%);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
:root select:not([multiple]):not([size]):hover:not(:disabled) { border-color:var(--dropdown-border-hover); }
:root select:not([multiple]):not([size]):focus,
:root select:not([multiple]):not([size]):focus-visible {
  border-color:#348bcc;
  outline:0;
  box-shadow:0 0 0 3px rgb(52 139 204 / 15%);
}
:root select:not([multiple]):not([size]):disabled {
  border-color:rgb(128 151 177 / 44%);
  background-color:#f3f6fa;
  color:#718397;
  cursor:not-allowed;
  opacity:1;
}

:root .client-combobox>summary,
:root .merchant-geography>summary,
:root .req-ma-terminal-dropdown>summary,
:root .payment-method-dropdown>summary {
  position:relative;
  width:100%;
  min-width:0;
  height:var(--dropdown-height);
  min-height:var(--dropdown-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 calc(var(--dropdown-padding-inline) + var(--dropdown-chevron-width) + 12px) 0 var(--dropdown-padding-inline);
  border:1px solid var(--dropdown-border);
  border-radius:var(--dropdown-radius);
  background:#fff;
  color:var(--text);
  font-family:inherit;
  font-size:11px;
  font-weight:500;
  line-height:1.5;
  text-align:left;
  list-style:none;
  box-shadow:inset 0 1px 1px rgb(31 56 82 / 4%);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
:root .client-combobox>summary::marker,
:root .merchant-geography>summary::marker,
:root .req-ma-terminal-dropdown>summary::marker,
:root .payment-method-dropdown>summary::marker { content:""; }
:root .client-combobox>summary::-webkit-details-marker,
:root .merchant-geography>summary::-webkit-details-marker,
:root .req-ma-terminal-dropdown>summary::-webkit-details-marker,
:root .payment-method-dropdown>summary::-webkit-details-marker { display:none; }
:root .client-combobox>summary:hover,
:root .merchant-geography>summary:hover,
:root .req-ma-terminal-dropdown>summary:hover,
:root .payment-method-dropdown>summary:hover { border-color:var(--dropdown-border-hover); }
:root .client-combobox>summary:focus,
:root .client-combobox>summary:focus-visible,
:root .merchant-geography>summary:focus,
:root .merchant-geography>summary:focus-visible,
:root .req-ma-terminal-dropdown>summary:focus,
:root .payment-method-dropdown>summary:focus,
:root .req-ma-terminal-dropdown>summary:focus-visible,
:root .payment-method-dropdown>summary:focus-visible,
:root .client-combobox[open]>summary,
:root .merchant-geography[open]>summary,
:root .req-ma-terminal-dropdown[open]>summary,
:root .payment-method-dropdown[open]>summary {
  border-color:#348bcc;
  outline:0;
  box-shadow:0 0 0 3px rgb(52 139 204 / 15%);
}

:root .client-combobox-chevron,
:root .merchant-geography>summary::after,
:root .req-ma-terminal-dropdown>summary::after,
:root .payment-method-dropdown>summary::after {
  content:"";
  position:absolute;
  top:50%;
  right:var(--dropdown-chevron-offset);
  width:var(--dropdown-chevron-width);
  height:var(--dropdown-chevron-height);
  flex:0 0 var(--dropdown-chevron-width);
  margin:0;
  border:0;
  background:var(--dropdown-chevron-image) center/contain no-repeat;
  color:transparent;
  pointer-events:none;
  transform:translateY(-50%);
  transform-origin:center;
  transition:transform .16s ease;
}
:root .client-combobox[open]>summary .client-combobox-chevron,
:root .merchant-geography[open]>summary::after,
:root .req-ma-terminal-dropdown[open]>summary::after,
:root .payment-method-dropdown[open]>summary::after { transform:translateY(-50%) rotate(180deg); }

/* Editable form values are content, not a presentation state. Browser autofill must use the same white surface. */
body[data-section] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]),select:not([multiple]):not([size]):not(:disabled),.client-combobox>summary,.merchant-geography>summary,.req-ma-terminal-dropdown>summary,.payment-method-dropdown>summary) {
  background-color:var(--editable-control-background);
}
body[data-section] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly])):is(:autofill,:-webkit-autofill) {
  background-color:var(--editable-control-background);
  -webkit-text-fill-color:var(--text);
  caret-color:var(--text);
  -webkit-box-shadow:inset 0 0 0 1000px var(--editable-control-background)!important;
  box-shadow:inset 0 0 0 1000px var(--editable-control-background)!important;
}
body[data-section] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly])):is(:autofill,:-webkit-autofill):focus {
  -webkit-box-shadow:inset 0 0 0 1000px var(--editable-control-background),0 0 0 3px rgb(52 139 204 / 15%)!important;
  box-shadow:inset 0 0 0 1000px var(--editable-control-background),0 0 0 3px rgb(52 139 204 / 15%)!important;
}
body[data-section] :where(input:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly])):is(:autofill,:-webkit-autofill)[aria-invalid="true"] {
  -webkit-box-shadow:inset 0 0 0 1000px var(--editable-control-background),0 0 0 2px rgb(190 62 62 / 18%)!important;
  box-shadow:inset 0 0 0 1000px var(--editable-control-background),0 0 0 2px rgb(190 62 62 / 18%)!important;
}

/* Commercial Management MVP: tabs, connections, compatibility, history, dashboard. */
.merchant-tabs { margin-block: var(--s2); padding:3px; gap:1px; }
.merchant-tabs a { min-height:28px; padding:6px 9px; font-size:10px; }

/* OD-140: what Sales passes to a merchant. */
.merchant-list-layout { display:grid; grid-template-columns:232px minmax(0,1fr); gap:12px; align-items:start; }
.merchant-list-side { top:16px; }
.merchant-list-count { margin-left:auto; color:#55627a; font-size:12px; }
.merchant-directory.client-list-surface { display:grid; gap:12px; padding:0; border:0; background:transparent; box-shadow:none; }
.merchant-directory .merchant-toolbar { flex-wrap:nowrap; padding:12px 16px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.merchant-list-card { overflow:hidden; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.merchant-directory .catalog-directory-footer { padding:0 16px; color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }
.merchant-row { cursor:pointer; }
.merchant-row-name { display:flex; align-items:center; gap:10px; min-width:0; }
.merchant-row-name .merchant-account-currency { width:38px; height:38px; flex-basis:38px; font-size:11px; }
.merchant-row-name small { display:block; color:#55627a; font-size:12px; }
.merchant-row-toggle { min-height:34px; padding:0 4px; border:0; background:none; color:var(--accent); font:inherit; font-size:12px; cursor:pointer; white-space:nowrap; }
.merchant-row-details[hidden] { display:none; }
.merchant-row-details td { padding:12px 16px 14px 64px; background:rgb(40 91 158 / 5%); }
.merchant-row-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.3fr) auto; gap:16px; align-items:start; font-size:13px; }
.merchant-row-grid h3 { margin:0 0 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.merchant-row-grid p { margin:0 0 3px; overflow-wrap:anywhere; }
.merchant-row-grid small { color:#55627a; font-size:12px; overflow-wrap:anywhere; }
.merchant-row-warning { color:#8a2f0c; font-weight:600; }
.merchant-table th:nth-child(1) { width:auto; }
.merchant-table th:nth-child(2) { width:26%; }
.merchant-table th:nth-child(3) { width:72px; }
.merchant-table th:nth-child(4) { width:104px; }
.merchant-table th:nth-child(5) { width:92px; }
@media(max-width:980px) {
 .merchant-list-layout { grid-template-columns:minmax(0,1fr); }
 .merchant-row-grid { grid-template-columns:minmax(0,1fr); }
 .merchant-list-side { position:static; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:10px 12px; }
 .merchant-list-side .tasks-side-group:first-child { flex-direction:row; flex-wrap:wrap; gap:4px; }
 .merchant-list-side .merchant-terms-cap { display:none; }
 .merchant-list-side .tasks-scope { gap:6px; min-height:30px; padding:4px 8px; }
 /* The groups after the first are filters too: a caption and chips in a row, not a column of bare links. */
 .merchant-list-side:not(.commercial-side,.settings-nav) .tasks-side-group:not(:first-child) { flex-direction:row; flex-wrap:wrap; gap:4px; }
 .merchant-list-side:not(.commercial-side,.settings-nav) .tasks-side-group:not(:first-child) .merchant-terms-cap { display:block; flex:0 0 100%; margin:0 0 2px; padding:0 8px; }
 .merchant-list-side:not(.commercial-side,.settings-nav) .tasks-side-group:not(:first-child) a.tasks-scope:not(.is-on) { background:rgb(23 35 56 / 5%); }
 .merchant-row-details td { display:block!important; padding:10px 12px!important; }
 .merchant-row-details td::before { content:none; }
 .merchant-directory .merchant-toolbar { flex-wrap:wrap; }
}
.merchant-terms { display:grid; grid-template-columns:minmax(240px,280px) minmax(0,1fr); gap:12px; align-items:start; margin-top:12px; }
.merchant-terms-side,.merchant-terms-main { min-width:0; padding:16px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.merchant-terms-side { display:grid; gap:16px; }
.merchant-terms-cap { margin:0 0 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.merchant-terms-lang { display:flex; }
.merchant-terms-lang button { flex:1; }
.merchant-terms-lang button[aria-pressed="true"] { background:var(--surface); color:var(--text); box-shadow:0 1px 5px rgb(38 61 83 / 12%); }
.merchant-terms-options { display:grid; gap:4px; }
.merchant-terms-options button { display:flex; align-items:center; justify-content:space-between; min-height:38px; padding:7px 10px; border:0; border-radius:10px; background:rgb(128 151 177 / 10%); color:var(--text); font:inherit; font-size:13px; cursor:pointer; }
.merchant-terms-options button[aria-pressed="true"] { background:rgb(40 91 158 / 12%); font-weight:600; }
.merchant-terms-note { margin:0 0 6px; padding:9px 10px; border-radius:10px; background:rgb(128 151 177 / 12%); color:var(--text); font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.merchant-terms-note.is-warning { background:rgb(194 65 12 / 9%); color:#8a2f0c; }
.merchant-terms-head { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.merchant-terms-head > div { flex:1; min-width:0; }
.merchant-terms-head h2 { margin:0; color:var(--text); font-size:17px; }
.merchant-terms-status { color:var(--success); font-size:12px; }
.merchant-terms-text { min-height:420px; max-height:640px; margin:0; padding:16px 18px; overflow:auto; border-radius:14px; background:#fff; color:var(--text); font:inherit; font-size:14px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:980px) {
 .merchant-terms { grid-template-columns:minmax(0,1fr); }
}

/* OD-138 composed Merchant Account overview. */
.merchant-detail-workspace { grid-template-columns:minmax(0,1fr); }
.merchant-account-hero { min-width:0; padding:14px 22px 0; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); box-shadow:var(--shadow); }
.merchant-account-crumbs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; color:var(--muted); font-size:10px; }
.merchant-account-crumbs a { color:var(--accent); }
.merchant-account-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.merchant-account-title { display:flex; align-items:center; gap:12px; min-width:0; }
.merchant-account-currency { display:grid; flex:0 0 44px; place-items:center; width:44px; height:44px; border-radius:12px; background:rgb(43 113 174 / 10%); color:#245d9d; font-size:13px; font-weight:800; }
.merchant-account-title h1 { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 4px; color:var(--text); font-size:19px; line-height:1.2; }
.merchant-account-title p { display:flex; flex-wrap:wrap; gap:5px 14px; margin:0; color:var(--muted); font-size:10px; }
.merchant-account-hero .merchant-account-tabs,.commercial-dashboard-tabs.merchant-account-tabs { margin:11px 0 0; padding:0; gap:4px; overflow-x:auto; scrollbar-width:none; border:0; border-top:1px solid var(--frost-line); border-radius:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.merchant-account-hero .merchant-account-tabs a,.commercial-dashboard-tabs.merchant-account-tabs a { flex:0 0 auto; min-height:0; padding:7px 12px 5px; border-bottom:3px solid transparent; border-radius:0; color:var(--text); font-size:13px; text-shadow:none; }
.merchant-account-hero .merchant-account-tabs a:hover,.commercial-dashboard-tabs.merchant-account-tabs a:hover { background:transparent; color:#1d5fd6; }
.merchant-account-hero .merchant-account-tabs a[aria-current="page"],.commercial-dashboard-tabs.merchant-account-tabs a[aria-current="page"] { border-bottom-color:#1d5fd6; background:transparent; box-shadow:none; color:#1d5fd6; font-weight:600; }
.merchant-account-hero .merchant-account-tabs a[aria-current="page"]::after,.commercial-dashboard-tabs.merchant-account-tabs a[aria-current="page"]::after { display:none; }
.merchant-account-count { display:inline-grid; min-width:19px; height:19px; place-items:center; margin-left:4px; border-radius:6px; background:rgb(43 113 174 / 10%); color:#245d9d; font-size:9px; }
.merchant-account-more { position:relative; }
.merchant-account-more>summary { list-style:none; cursor:pointer; }
.merchant-account-more>summary::-webkit-details-marker { display:none; }
.merchant-account-more-menu { position:absolute; z-index:5; top:calc(100% + 6px); right:0; width:280px; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.merchant-account-overview-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,280px); gap:10px; align-items:start; }
.merchant-account-overview-main,.merchant-account-overview-side { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; gap:10px; }
.merchant-account-overview-layout .merchant-account-conditions,.merchant-account-overview-layout .merchant-account-side-card { border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.merchant-geo-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:8px 0; }
.merchant-geo-summary div { padding:8px 10px; border-radius:10px; background:var(--success-soft); color:var(--success); }
.merchant-geo-summary div.is-closed { background:rgb(128 151 177 / 14%); color:var(--text); }
.merchant-geo-summary strong { display:block; font-size:20px; line-height:1.1; }
.merchant-geo-summary span { font-size:11px; }
.merchant-geo-preview { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.merchant-geo-preview span { padding:4px 7px; border-radius:6px; background:var(--success-soft); color:var(--success); font-size:11px; font-weight:600; }
.merchant-geo-preview small { color:var(--muted); font-size:11px; }
.merchant-geo-open { width:100%; margin-top:10px; }
.merchant-geo-dialog { width:min(760px,calc(100vw - 32px)); max-height:min(720px,calc(100dvh - 32px)); padding:20px 22px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 92%); box-shadow:var(--frost-shadow); color:var(--text); }
.merchant-geo-dialog::backdrop { background:rgb(20 30 55 / 34%); }
.merchant-geo-dialog-head { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.merchant-geo-dialog-head h2 { flex:1; min-width:0; margin:0; font-size:19px; overflow-wrap:anywhere; }
.merchant-geo-search { width:100%; height:38px; margin-bottom:6px; padding:0 12px; box-sizing:border-box; border:1px solid var(--line); border-radius:10px; font:inherit; font-size:13px; }
.merchant-geo-dialog .merchant-detail-geo-items { display:flex; flex-wrap:wrap; gap:4px; }
.merchant-geo-dialog .merchant-detail-geo-items li { padding:4px 8px; border-radius:6px; background:var(--success-soft); color:var(--success); font-size:12px; font-weight:600; }
.merchant-geo-dialog .merchant-detail-geo-section+.merchant-detail-geo-section .merchant-detail-geo-items li { background:rgb(128 151 177 / 14%); color:var(--text); }
.merchant-geo-dialog .merchant-detail-geo-kind[hidden] { display:none; }
.merchant-account-section-head,.merchant-account-side-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.merchant-account-section-head { margin-bottom:13px; }
.merchant-account-section-head h2,.merchant-account-side-card h3 { margin:0; color:#274c70; font-size:14px; font-weight:700; }
.merchant-condition-switch { display:flex; padding:3px; border-radius:9px; background:rgb(128 151 177 / 10%); }
.merchant-condition-switch button { min-height:32px; padding:7px 10px; border:0; border-radius:7px; background:transparent; color:var(--muted); font:inherit; font-size:10px; cursor:pointer; }
.merchant-condition-switch button[aria-selected="true"] { background:var(--surface); color:var(--text); box-shadow:0 1px 5px rgb(38 61 83 / 12%); }
.merchant-condition-switch button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.merchant-condition-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:14px; }
.merchant-condition-kpis article { min-width:0; min-height:76px; padding:10px; border-radius:11px; background:rgb(128 151 177 / 8%); }
.merchant-condition-kpis small,.merchant-condition-kpis span { display:block; color:var(--muted); font-size:9px; }
.merchant-condition-kpis strong { display:block; margin:3px 0; color:var(--text); font-size:19px; line-height:1.2; overflow-wrap:anywhere; }
.merchant-condition-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:-4px 0 14px; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:rgb(255 255 255 / 35%); }
.merchant-condition-details div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; min-width:0; }
.merchant-condition-details h4 { margin:0; color:var(--muted); font-size:9px; font-weight:650; }
.merchant-condition-details span { color:var(--text); font-size:10px; font-weight:650; text-align:right; overflow-wrap:anywhere; }
.merchant-account-subhead { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:0 0 6px; }
.merchant-account-subhead h3,#merchant-terminal-conditions>h3,.merchant-limit-summary>h3,.merchant-account-availability>h3 { margin:0; color:#274c70; font-size:12px; font-weight:700; }
.merchant-account-subhead span { color:var(--muted); font-size:9px; }
.merchant-condition-table,.merchant-terminal-conditions-table,.merchant-account-availability table { width:100%; border-collapse:collapse; font-size:10px; }
.merchant-condition-table th,.merchant-condition-table td,.merchant-terminal-conditions-table th,.merchant-terminal-conditions-table td,.merchant-account-availability th,.merchant-account-availability td { padding:8px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.merchant-condition-table th:first-child,.merchant-condition-table td:first-child,.merchant-terminal-conditions-table th:first-child,.merchant-account-availability th:first-child,.merchant-account-availability td:first-child { text-align:left; }
.merchant-terminal-conditions-table { min-width:680px; margin-top:6px; }
.merchant-terminal-conditions-table th small { display:block; color:var(--muted); font-weight:400; }
.merchant-account-availability { margin-top:14px; }
.merchant-account-availability table { margin-top:6px; }
.merchant-account-comment { padding:12px; border:1px solid #eadca7; border-radius:13px; background:#fff9df; }
.merchant-account-comment h3 { margin:0 0 5px; color:#6e5b18; font-size:10px; text-transform:uppercase; }
.merchant-account-comment p { margin:0; font-size:10px; }
.merchant-account-side-card { padding:13px; }
.merchant-account-terminal-card { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:7px; align-items:center; margin-top:7px; padding:8px; border-radius:9px; background:rgb(128 151 177 / 8%); color:var(--text); font-size:9px; text-decoration:none; }
.merchant-account-terminal-card strong,.merchant-account-terminal-card small { display:block; overflow-wrap:anywhere; }
.merchant-account-terminal-card small { margin-top:2px; color:var(--muted); }
.merchant-account-side-card .credentials-state { padding:8px; border-radius:8px; background:var(--success-soft); color:var(--success); font-size:10px; }
.merchant-account-side-card .credentials-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:7px; }
.merchant-account-side-card .credentials-actions form { gap:4px; }
.merchant-account-side-card .credentials-copy-status:empty { display:none; }
.merchant-account-side-card .credentials-actions>[data-credentials-edit-toggle] { grid-column:1 / -1; }
.merchant-account-side-card .credentials-actions form,.merchant-account-side-card .credentials-actions .button { width:100%; }
.merchant-account-side-card .credentials-actions .button { padding-inline:8px; }
.merchant-account-parameters { display:grid; grid-template-columns:86px minmax(0,1fr); gap:8px; margin:10px 0 0; font-size:9px; }
.merchant-account-parameters dt { color:var(--muted); }
.merchant-account-parameters dd { min-width:0; margin:0; overflow-wrap:anywhere; }
.merchant-account-parameters .text-link { white-space:normal; overflow-wrap:anywhere; }
.merchant-credentials-revealed { max-height:180px; margin:8px 0 0; padding:8px; overflow:auto; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); font-size:11px; white-space:pre-wrap; overflow-wrap:anywhere; }
.merchant-account-conditions .merchant-limit-summary { margin-top:14px; }
@media(max-width:980px) {
 .merchant-account-overview-layout { grid-template-columns:minmax(0,1fr); }
 .merchant-account-overview-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .merchant-account-hero { padding:12px 14px 0; }
 .merchant-account-title-row { display:grid; grid-template-columns:minmax(0,1fr); }
 .merchant-account-title { align-items:flex-start; }
 .merchant-account-title-row .commercial-header-actions { width:100%; }
 .merchant-account-title-row .commercial-header-actions>.button { flex:1; }
 /* The client card has four actions: each keeps its caption on one line and
    the row wraps, instead of three squeezed three-line buttons. */
 .client-hero .commercial-header-actions>.button { flex:1 1 auto; white-space:nowrap; }
 .merchant-account-section-head { align-items:stretch; flex-direction:column; }
 .merchant-condition-switch { overflow:auto; }
 .merchant-condition-switch button { flex:1 0 auto; }
 .merchant-condition-kpis,.merchant-account-overview-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .merchant-condition-details { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:460px) {
 .merchant-account-currency { width:38px; height:38px; flex-basis:38px; }
 .merchant-condition-kpis,.merchant-account-overview-side { grid-template-columns:minmax(0,1fr); }
 /* The «•••» button may stand at the right edge: the open menu takes a row
    of its own under the buttons instead of leaving the screen. */
 .merchant-account-more[open] { flex:1 1 100%; }
 .merchant-account-more[open]>summary { width:max-content; }
 .merchant-account-more-menu { position:static; width:auto; margin-top:6px; }
}
.commercial-header-actions { display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center; }
.commercial-section-heading { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); flex-wrap:wrap; }
.commercial-flash { margin:var(--s3) 0; padding:var(--s2) var(--s3); border-radius:var(--radius); border:1px solid var(--line); background:var(--surface); }
.commercial-flash.success { border-color:var(--success); background:var(--success-soft); color:var(--success); }
.commercial-flash.warning { border-color:var(--warning); background:var(--warning-soft); color:var(--warning); }
.commercial-flash.error { border-color:var(--danger); background:var(--danger-soft); color:var(--danger); }
.commercial-margin { font-weight:700; color:var(--success); }
.commercial-margin.is-negative { color:var(--danger); }
.commercial-reasons { display:block; color:var(--danger); margin:var(--s1) 0 0; padding-left:var(--s4); }
.button.danger { color:var(--danger); border-color:var(--danger); }
.merchant-pending { border:1px dashed var(--warning); border-radius:var(--radius); padding:var(--s3); margin-block:var(--s3); background:var(--warning-soft); }
.merchant-pending ul { margin:var(--s2) 0; padding-left:var(--s4); }
/* OD-142: connecting a Terminal — side panel, compact table, a window per row. */
.commercial-connect-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:12px; align-items:start; margin-top:12px; }
.commercial-connect-side,.commercial-connect-main { min-width:0; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.commercial-connect-side { display:grid; gap:14px; padding:16px; }
.commercial-connect-main { overflow:hidden; padding:0 0 6px; }
.commercial-connect-method { display:flex; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:10px; color:var(--text); font-size:13px; text-decoration:none; }
.commercial-connect-method:hover { background:rgb(40 91 158 / 6%); }
.commercial-connect-method.is-active { background:rgb(40 91 158 / 10%); font-weight:600; }
.commercial-connect-filter { min-width:0; margin:0; padding:0; border:0; }
.commercial-connect-filter label { display:flex; align-items:center; gap:8px; min-height:30px; font-size:13px; }
.commercial-connect-toolbar { display:flex; align-items:center; gap:14px; padding:12px 16px; }
.commercial-connect-toolbar h2 { margin:0; font-size:16px; white-space:nowrap; }
.commercial-connect-search { flex:1; min-width:0; }
.commercial-connect-search input { width:100%; }
.commercial-connect-hint { margin:8px 16px 4px; }
.merchant-connections { min-width:0; max-width:100%; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.projects-table.commercial-candidate-table { min-width:640px; font-size:13px; }
.projects-table.commercial-candidate-table th:first-child { width:auto; }
.projects-table.merchant-task-table th:first-child { width:44px; }
.commercial-candidate-table th { background:rgb(40 91 158 / 5%); }
.commercial-candidate-table td:nth-child(2) small { white-space:nowrap; }
.commercial-candidate-table td[data-label="GEO"] { white-space:nowrap; }
.commercial-candidate-table td small { display:block; margin-top:2px; }
.commercial-candidate-name { color:#1d3f6e; }
.commercial-row-actions { width:1%; text-align:right; white-space:nowrap; }
.commercial-row-action { min-width:124px; justify-content:center; }
.commercial-row-state { display:inline-block; min-width:124px; color:var(--muted); font-size:12px; text-align:center; }
[data-candidate][hidden] { display:none!important; }
.merchant-task-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.merchant-task-action { flex:0 1 420px; min-width:0; margin:0; padding:0; border:0; }
.merchant-task-action legend { padding:0 0 5px; color:var(--shell-ink); font-size:12px; font-weight:600; text-shadow:var(--shell-text-shadow); }
.merchant-task-switch { display:flex; gap:3px; padding:3px; border-radius:10px; background:var(--frost-surface); }
.merchant-task-switch label { flex:1; display:block; cursor:pointer; }
.merchant-task-switch input { position:absolute; opacity:0; pointer-events:none; }
.merchant-task-switch span { display:block; padding:7px 10px; border-radius:8px; color:#33415c; font-size:13px; text-align:center; white-space:nowrap; }
.merchant-task-switch input:checked + span { background:#fff; color:#1d3f6e; font-weight:600; box-shadow:0 1px 3px rgb(23 35 56 / 16%); }
.merchant-task-switch input:focus-visible + span { outline:2px solid var(--accent); outline-offset:1px; }
.merchant-task-card { min-width:0; margin-top:12px; padding:14px 22px 16px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.merchant-task-card.is-table { overflow:hidden; padding:12px 0 4px; }
.merchant-task-card h2 { margin:0 0 8px; font-size:16px; }
.merchant-task-card.is-table h2 { padding:0 22px; }
.merchant-task-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.merchant-task-pick { width:1%; }
.merchant-task-difference { margin:12px 22px 8px; }
.merchant-task-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:12px; padding:12px 16px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.merchant-task-actions p { flex:1; margin:0; }
.commercial-row-dialog { text-align:left; white-space:normal; }
.commercial-row-dialog .client-field { margin-top:12px; }
.commercial-row-dialog p.caption { margin:10px 0 0; }
.commercial-differences,.commercial-match { margin:12px 0 0; padding:10px 12px; border-radius:10px; font-size:13px; }
.commercial-differences { border:1px solid #f0dca6; background:#fdf5e1; color:#5f4100; }
.commercial-differences ul { margin:4px 0 0; padding-left:18px; }
.commercial-match { border:1px solid #c5e6d1; background:#e8f6ed; color:#0e6a39; }
@media (max-width: 768px) {
  .commercial-connect-layout { grid-template-columns:1fr; }
  .merchant-task-head { flex-direction:column; align-items:stretch; }
  .merchant-task-action { flex:none; }
  .merchant-task-actions { flex-wrap:wrap; }
  .merchant-task-actions p { flex-basis:100%; }
  .commercial-connect-toolbar { flex-wrap:wrap; }
  .commercial-row-actions { width:auto; text-align:left; white-space:normal; }
}
.compat-green { border-color:#2f8f5b; background:#eef8f1; }
.compat-blue { border-color:#3a78c2; background:#edf4fd; }
.compat-red { border-color:#d99a00; background:#fdf5e1; }
.compat-badge-red { background:#fdefcf; color:#7d5300; }
.compat-badge-off { background:#e9edf2; color:#55627a; }
.compat-badge-green { background:#dff3e6; color:#0e6a39; }
.compat-badge-blue { background:#dcebfb; color:#17528f; }
.workflow-terminal-option.compat-green { border-left:4px solid #2f8f5b; }
.workflow-terminal-option.compat-blue { border-left:4px solid #3a78c2; }
.workflow-terminal-option.compat-red { border-left:4px solid #d99a00; }
.workflow-terminal-option .compat-notes { display:block; color:var(--muted); }
.workflow-terminal-option.compat-red .compat-notes { color:var(--danger); }
.commercial-filter { max-width:360px; }
.commercial-history-list { list-style:none; margin:0; padding:0; display:grid; gap:var(--s3); }
.commercial-history-entry { border:1px solid var(--line); border-radius:var(--radius); padding:var(--s3); background:var(--data-surface); }
.commercial-history-entry.is-financial { border-left:4px solid var(--warning); }
.commercial-history-entry header { display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center; }
.commercial-history-actor { color:var(--muted); }
.commercial-history-changes { margin-top:var(--s2); width:100%; }
/* B52-DEF-043: long unbroken values wrap inside their own column; the table
   never grows past the entry, so "Было" and "Стало" stay readable. */
.commercial-history-entry { min-width:0; }
table.commercial-history-changes { table-layout:fixed; max-width:100%; }
table.commercial-history-changes th:first-child { width:28%; }
table.commercial-history-changes td { overflow-wrap:anywhere; word-break:break-word; white-space:normal; }
.commercial-history-note { margin-top:var(--s3); }
/* Commercial dashboard: shared bits of the side-panel frame (OD-145). */
.commercial-dashboard { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s3); }
.commercial-dashboard>.commercial-flash { margin:0; }
.commercial-checkbox { min-height:42px; display:flex; align-items:center; gap:var(--s2); color:var(--text); font-size:12px; }
.commercial-checkbox input { flex:0 0 16px; width:16px; height:16px; margin:0; accent-color:var(--accent); }
.commercial-geo-field { position:relative; }
.commercial-geo-field .merchant-geography { position:static; }
.commercial-geo-field .merchant-geography>summary>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.commercial-geo-field .merchant-geography-options { top:calc(100% + 5px); left:0; width:min(360px,calc(100vw - 32px)); max-height:none; display:grid; gap:var(--s2); padding:var(--s2); }
.commercial-geo-field.geo-options-align-end .merchant-geography-options { right:0; left:auto; }
.commercial-geo-field .merchant-geography-scroll { max-height:240px; }
.commercial-geo-mode { display:flex; flex-wrap:wrap; gap:4px 14px; min-width:0; margin:0; padding:0 4px 8px; border:0; border-bottom:1px solid var(--line); }
.commercial-geo-mode legend { padding:0 0 4px; color:#55718d; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.commercial-geo-mode label { display:inline-flex; align-items:center; gap:6px; font-size:11px; }
.commercial-geo-mode input { width:15px; height:15px; margin:0; accent-color:var(--accent); }
.commercial-geo-footer { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); padding:8px 4px 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.commercial-cell-note { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.commercial-dashboard-table td { overflow-wrap:anywhere; }
.commercial-dashboard-table .text-link { white-space:normal; }
@media (max-width:480px) {
  .commercial-geo-field .merchant-geography-options { width:100%; }
}
/* Commercial dashboard: applied-filter chips, sort links, preset popover. */
.commercial-dashboard { --dropdown-height:36px; gap:10px; }
.commercial-active-filters>ul { min-width:0; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.commercial-filter-chip { max-width:100%; min-height:26px; display:inline-flex; align-items:center; gap:6px; padding:3px 6px 3px 10px; border:1px solid #adc3d8; border-radius:999px; background:#eef5fb; color:#244f7d; font-size:11px; font-weight:600; text-decoration:none; }
.commercial-filter-chip>span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.commercial-filter-chip-remove { flex:0 0 16px; width:16px; height:16px; display:grid; place-items:center; border-radius:50%; color:#55718d; font-size:13px; line-height:1; }
.commercial-filter-chip:hover,.commercial-filter-chip:focus-visible { border-color:#348bcc; outline:2px solid rgb(52 139 204 / 20%); }
.commercial-filter-chip:hover .commercial-filter-chip-remove,.commercial-filter-chip:focus-visible .commercial-filter-chip-remove { background:#d8e7f5; color:#244f7d; }
.commercial-filter-clear { font-size:11px; white-space:nowrap; }
.commercial-sort-link { display:inline-flex; align-items:center; gap:4px; color:inherit; text-decoration:none; }
.commercial-sort-link:hover,.commercial-sort-link:focus-visible { color:#285b9e; text-decoration:underline; }
.commercial-sort-icon::after { content:"↕"; color:#8aa0b6; font-size:10px; }
.commercial-sort-link[data-sort-direction="ascending"] .commercial-sort-icon::after { content:"↑"; color:#285b9e; }
.commercial-sort-link[data-sort-direction="descending"] .commercial-sort-icon::after { content:"↓"; color:#285b9e; }
.commercial-cell-primary,.commercial-cell-line { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.commercial-cell-clamp { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.commercial-dashboard .commercial-empty { padding:20px 16px 16px; }
.commercial-dashboard .commercial-empty h2 { margin:0 0 4px; font-size:14px; }
.commercial-dashboard .commercial-empty p { margin:0; }
/* OD-151: the Notifications page — rows by day, the group icon, unread first-class. */
.notifications-side .notifications-sound-link { display:block; padding:4px 10px; font-size:13px; color:var(--accent); white-space:normal; }
.notifications-surface { text-shadow:none; }
.notifications-notice { margin:0; padding:10px 18px; border-bottom:1px solid rgb(23 35 56 / 7%); color:#7d5300; font-size:13px; }
.notification-day-title { margin:0; padding:12px 18px 6px; color:#55627a; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.notification-day + .notification-day .notification-day-title { border-top:1px solid rgb(23 35 56 / 7%); }
.notification-rows { list-style:none; margin:0; padding:0; }
.notification-row { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; border-top:1px solid rgb(23 35 56 / 7%); }
.notification-row.is-unread { background:rgb(29 95 214 / 5%); }
.notification-row-open { min-width:0; }
.notification-row-main { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:12px; align-items:center; width:100%; min-height:60px; padding:8px 0 8px 18px; border:0; background:none; color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.notification-row:hover { background:rgb(29 95 214 / 6%); }
.notification-row-main:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:8px; }
.notification-row-text { display:grid; gap:2px; min-width:0; }
.notification-row-text strong { overflow:hidden; font-size:14px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.notification-row.is-unread .notification-row-text strong { font-weight:700; }
.notification-row-text span { overflow:hidden; color:#55627a; font-size:12.5px; text-overflow:ellipsis; white-space:nowrap; }
.notification-row-main time { color:#55627a; font-size:12px; font-variant-numeric:tabular-nums; }
.notification-hide-button { display:grid; place-items:center; width:30px; height:30px; margin:0 auto; border:0; border-radius:8px; background:none; color:#7a8699; font-size:17px; line-height:1; cursor:pointer; }
.notification-hide-button:hover,.notification-hide-button:focus-visible { background:rgb(23 35 56 / 7%); color:var(--text); }
.notification-icon { position:relative; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#e3e7ee; color:#46546a; }
.notification-icon svg { width:18px; height:18px; }
.notification-icon.is-tasks { background:#e3ecfb; color:#1d4fa0; }
.notification-icon.is-requests { background:#fbeccb; color:#7d5300; }
.notification-icon.is-projects { background:#e6e1fb; color:#4b3aa8; }
.notification-icon.is-files { background:#dff1ea; color:#0f6b4a; }
.notification-icon.is-chats { background:#e0f1fa; color:#145f86; }
.notification-icon.is-calendar { background:#fbe5f1; color:#8a2a5e; }
.notification-icon.is-commerce { background:#e8f0dc; color:#46641c; }
.notification-icon.is-security { background:#fde2e0; color:#9b2a22; }
.is-unread .notification-icon::after { content:""; position:absolute; top:-2px; right:-2px; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:#1d5fd6; }
.notifications-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 18px; border-top:1px solid rgb(23 35 56 / 7%); color:#55627a; font-size:13px; }
.notifications-surface > .empty-state { padding:28px 18px; }
@media (max-width:560px) {
  .notification-row-main { grid-template-columns:32px minmax(0,1fr); padding-left:12px; }
  .notification-row-main time { grid-column:2; }
  .notification-row-text strong,.notification-row-text span { white-space:normal; }
}
.notification-bell { position:relative; }
.notification-count { position:absolute; top:-4px; right:-6px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--danger); color:#fff; font-size:11px; font-weight:700; line-height:18px; text-align:center; }

/* Communication: Bitrix-style three-pane chat (rail · list · conversation). */
.chat-conversation-column { display:grid; min-width:0; min-height:0; }
.chat-panel.workflow-task-chat { position:static; height:auto; max-height:none; min-height:0; border:0; border-radius:0; box-shadow:none; }
.chat-panel-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.chat-panel-header>div { display:grid !important; gap:1px; min-width:0; }
.chat-panel-header h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat-panel-empty { display:grid; place-content:center; justify-items:center; gap:6px; padding:32px; color:var(--muted); text-align:center; }
.chat-older { align-self:center; }
.chat-readonly { padding:12px 16px; border-top:1px solid var(--line); }
.project-chat-tab .chat-panel.workflow-task-chat { height:min(72dvh,720px); min-height:440px; border:1px solid var(--line); border-radius:var(--radius-panel); }

/* Projects: list toolbar, workspace tabs, kanban, members, files, links. */
.projects-toolbar,.project-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; }
.projects-search-field { flex:1 1 240px; }
.projects-filter-field { flex:0 1 200px; }
.project-priority.is-high { background:var(--warning-soft); color:var(--warning); }
.project-priority.is-urgent { background:var(--danger-soft); color:var(--danger); }
.is-overdue { color:var(--danger); font-weight:600; }
.project-header-facts { display:flex; flex-wrap:wrap; gap:8px 28px; margin:14px 0 0; }
.project-header-facts div { display:grid; gap:1px; }
.project-header-facts dt { color:var(--shell-muted); font-size:11px; }
.project-header-facts dd { margin:0; display:flex; align-items:center; gap:8px; }
.project-progress { display:inline-block; width:120px; height:6px; border-radius:999px; background:rgb(255 255 255 / 30%); overflow:hidden; }
.project-progress-bar { display:block; width:0; height:100%; border-radius:inherit; background:#7fd3a1; }
.project-flash { margin:0 0 12px; padding:10px 14px; border-radius:var(--radius); }
.project-flash.success { background:var(--success-soft); color:var(--success); }
.project-flash.error { background:var(--danger-soft); color:var(--danger); }
.project-form { display:grid; gap:12px; padding:0 16px 16px; }
.project-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.project-form-wide { grid-column:1 / -1; }
.form-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.form-error { color:var(--danger); }
.project-archive-form { display:flex; justify-content:flex-start; padding:0 16px 16px; }
.project-settings-card { grid-column:1 / -1; }
.project-task-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0 0 8px; }
.project-task-counts div { padding:10px; border-radius:var(--radius); background:var(--surface-subtle); }
.project-task-counts dt { color:var(--muted); font-size:11px; }
.project-task-counts dd { margin:0; font-size:20px; font-weight:600; }
.project-tasks-panel,.project-members-panel,.project-files-panel,.project-history-panel { margin-top:12px; }
.segmented { display:inline-flex; padding:2px; border:1px solid var(--line); border-radius:999px; background:var(--surface-subtle); }
.segmented a { padding:4px 12px; border-radius:999px; color:var(--muted); font-size:12px; }
.segmented a[aria-current="page"] { background:#fff; color:var(--accent); font-weight:600; box-shadow:0 1px 3px #162b4518; }
.project-task-create { padding:0 16px 12px; }
.project-task-create>summary { display:inline-flex; list-style:none; }
.project-task-create>summary::-webkit-details-marker { display:none; }
.project-task-create[open]>summary { margin-bottom:12px; }
.project-task-create .project-form { padding:0; }
.project-kanban { display:grid; grid-template-columns:repeat(3,minmax(220px,1fr)); gap:12px; padding:0 16px 16px; overflow-x:auto; }
.project-kanban-column { display:grid; grid-template-rows:auto 1fr; min-width:0; border-radius:var(--radius-panel); background:var(--surface-subtle); border:1px solid var(--line); }
.project-kanban-column>header { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--line); }
.project-kanban-column h3 { margin:0; font-size:13px; }
.project-kanban-column ul { display:grid; align-content:start; gap:8px; margin:0; padding:10px; list-style:none; }
.project-kanban-card { display:grid; gap:4px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 1px 2px #162b450a; }
.project-kanban-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-top:4px; font-size:12px; }
.project-kanban-actions form { display:inline; }
.project-kanban-empty { padding:8px; font-size:12px; text-align:center; }
.project-member-list { display:grid; gap:0; margin:0; padding:0 16px; list-style:none; }
.project-member { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.project-member-name { display:grid; flex:1; min-width:0; }
.project-member-name small { color:var(--muted); }
.project-member-actions { display:flex; gap:12px; }
.project-member-add { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; padding:16px; }
.project-member-add .client-field { flex:1 1 260px; }
.project-file-actions { display:flex; flex-wrap:wrap; gap:12px; padding:0 16px 12px; }
.project-file-upload { display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px; }
.project-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:12px; }
.project-links>.caption { grid-column:1 / -1; color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }
.project-link-list { display:grid; gap:6px; margin:0; padding:0 16px 16px; list-style:none; }
.project-link-list li { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.project-history { display:grid; margin:0; padding:0 16px 16px; list-style:none; }
.project-history li { display:grid; grid-template-columns:130px minmax(0,1fr) auto; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.project-history time { color:var(--muted); font-size:12px; }
.project-form-panel { max-width:860px; padding-top:16px; }
.project-form-header { color:var(--shell-ink); text-shadow:var(--shell-text-shadow); padding:4px 4px 18px; }
@media (max-width:760px) {
  .project-kanban { grid-template-columns:repeat(3,minmax(240px,82vw)); scroll-snap-type:x mandatory; }
  .project-kanban-column { scroll-snap-align:start; }
  .project-history li { grid-template-columns:1fr; gap:2px; }
  .project-member { flex-wrap:wrap; }
}

/* Files section. */
.files-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; }
.files-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:12px 16px; overflow:visible; }
.files-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; flex:1 1 220px; min-width:0; font-weight:600; }
.files-breadcrumbs a { color:var(--accent); }
.files-breadcrumbs a[aria-current="page"] { color:var(--text); }
.files-search { display:flex; gap:8px; flex:1 1 220px; min-width:0; }
.files-search input { flex:1; min-width:0; }
.files-search input { width:100%; height:36px; padding:0 12px; border:1px solid var(--dropdown-border); border-radius:var(--radius); }
.files-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.files-upload-button { position:relative; overflow:hidden; }
.files-upload-button input[type="file"] { position:absolute; inset:0; opacity:0; cursor:pointer; }
.files-new-folder,.files-row-menu { position:relative; }
.files-new-folder>summary,.files-row-menu>summary { list-style:none; }
.files-new-folder>summary::-webkit-details-marker,.files-row-menu>summary::-webkit-details-marker { display:none; }
.files-new-folder .files-inline-form { position:absolute; right:0; z-index:20; width:280px; margin-top:6px; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.files-row-menu-body { position:absolute; right:0; z-index:20; display:grid; gap:10px; width:300px; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 8px 28px #162b4526; }
/* BUG-01: on a desktop the open row menu floats over the page next to its ⋯
   button, so the scrolling table container never clips it. */
.files-row-menu-body.is-floating { position:fixed; top:var(--files-menu-top,0); left:var(--files-menu-left,0); right:auto; z-index:40; max-height:var(--files-menu-max-height,none); overflow:auto; }
.files-inline-form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px; }
.files-inline-form .client-field { flex:1 1 160px; }
.files-row-actions { text-align:right; }
.files-name { display:inline-flex; align-items:center; gap:6px; color:var(--accent); font-weight:600; overflow-wrap:anywhere; }
.files-name.is-folder { color:var(--text); }
.files-empty { padding:28px 16px !important; color:var(--muted); text-align:center; }
.files-note { padding:12px 16px; }
.files-list-panel { overflow:visible; }
@media (max-width:760px) {
  .files-table th:nth-child(2),.files-table td:nth-child(2),.files-table th:nth-child(5),.files-table td:nth-child(5) { display:none; }
  /* A long unbroken file name wraps instead of widening the page; the name
     column keeps room so short words are never split letter by letter. */
  .files-name { overflow-wrap:anywhere; word-break:normal; }
  .files-table td:first-child { min-width:9.5em; }
  /* MOBILE-FILE-MENU-01: on a phone the row menu is a bottom sheet over a
     scrim, so it neither stretches the table row nor leaves the screen. */
  .files-row-menu[open]::before { content:""; position:fixed; inset:0; z-index:59; background:rgb(14 29 47 / 32%); }
  .files-row-menu-body { position:fixed; left:16px; right:16px; bottom:16px; z-index:60; width:auto; max-height:min(70vh,560px); overflow:auto; text-align:left; box-shadow:0 18px 60px rgb(20 38 58 / 28%); }
  .files-new-folder .files-inline-form { position:static; width:auto; }
}

/* Project link picker and badges on CRM object cards. */
.project-picker { display:grid; gap:6px; }
.project-picker-search { width:100%; height:34px; padding:0 10px; border:1px solid var(--dropdown-border); border-radius:var(--radius); }
.project-picker small { color:var(--muted); font-size:11px; }
.project-picker.is-compact { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:6px 12px; margin-bottom:10px; }
.project-picker.is-compact .project-picker-search { display:none; }
.project-picker.is-compact .field-error { grid-column:1 / -1; }
.project-picker .field-error { color:var(--danger); }
.object-project-change { margin:8px 0 0; }
.object-project-change>summary { color:var(--accent); cursor:pointer; font-size:13px; }
.object-project-form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; margin-top:8px; }
.object-project-form .project-picker { flex:1 1 260px; }
.muted-text { color:var(--muted); }

/* Projects aligned with the Geography reference; project access (2026-10-17). */
.project-form-workspace .project-form { display:block; padding:20px 22px; }
.project-form-grid.client-form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 16px; }
.project-form-grid .project-form-name { grid-column:span 2; }
.projects-list.catalog-directory-panel { padding:18px; }
.projects-list .catalog-directory-toolbar { display:flex; flex-wrap:nowrap; align-items:center; gap:10px; padding:0 0 16px; border:0; background:transparent; }
.projects-list .projects-search-field { flex:1 1 auto; min-width:0; }
.projects-list .projects-search { width:100%; max-width:none; height:40px; min-height:40px; padding:0 13px; font-size:12px; }
.projects-list .projects-filter-field { flex:0 0 190px; }
.projects-list .projects-filter-field select { height:40px; }
.projects-list .projects-apply { min-height:40px; }
.projects-list .catalog-table-wrap { border:0; }
.projects-list .projects-surface>.empty-state { min-height:0; padding:36px 16px 28px; }
.project-page-header { margin-bottom:12px; }
.project-page-header .catalog-page-heading p { margin-top:6px; }
.project-page-header .project-technical-code { color:var(--shell-muted); text-shadow:var(--shell-text-shadow); }
.project-page-header .project-workspace-badges { align-self:end; }
.project-overview { grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); }
.project-overview-column { display:grid; gap:12px; align-content:start; min-width:0; }
.project-overview .project-information { grid-row:auto; }
.project-overview .project-settings-card { grid-column:auto; }
.project-settings-card .project-form { padding:16px; }
.project-settings-card .project-form-grid.client-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-settings-card .project-form-name { grid-column:1/-1; }
.project-settings-card .project-archive-form { align-items:center; gap:12px; padding:0 16px 16px; }
.project-information .project-progress { background:var(--surface-subtle); vertical-align:middle; }
.project-members-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr); gap:12px; align-items:start; margin-top:12px; }
.project-members-layout .panel { margin-top:0; }
.project-member-table td { vertical-align:middle; }
.project-member-table .project-member-name { display:flex; align-items:center; gap:9px; }
.project-member-basis { color:#40566d; font-size:11px; }
.project-member-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 12px; }
.project-member-actions form { display:inline; }
.project-access-roles { display:grid; gap:6px; margin:0 0 14px; padding:0; list-style:none; }
.project-access-roles li { display:flex; justify-content:space-between; gap:12px; padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-subtle); }
.project-access-form { display:grid; gap:12px; }
.recipient-picker { min-width:0; margin:0; padding:0; border:0; }
.recipient-picker-legend { margin-bottom:6px; padding:0; color:#40566d; font-size:10px; font-weight:600; }
.recipient-picker-help { margin:0 0 10px; }
.recipient-picker-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.recipient-picker--compact .recipient-picker-body { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.recipient-picker-search { width:100%; height:40px; padding:0 12px; border:1px solid rgb(128 151 177 / 72%); border-radius:10px; background:#fff; color:var(--text); }
.recipient-picker-search:focus { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.recipient-picker-options { display:grid; gap:2px; max-height:260px; margin-top:8px; padding:6px; overflow:auto; border:1px solid rgb(128 151 177 / 46%); border-radius:10px; background:#fff; }
.recipient-picker-group { margin:6px 6px 2px; color:var(--muted); font-size:9px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; }
.recipient-option { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; min-height:36px; padding:6px 8px; border-radius:7px; color:var(--text); font-size:12px; cursor:pointer; }
.recipient-option:hover { background:#edf4fb; }
.recipient-option[hidden],.recipient-picker-group[hidden] { display:none; }
.recipient-option-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recipient-option-meta { color:var(--muted); font-size:10px; white-space:nowrap; }
.recipient-picker-selected-area { display:grid; gap:8px; min-width:0; }
.recipient-picker-selected-area>strong { color:#274c70; font-size:12px; }
.recipient-picker-selected { display:flex; flex-wrap:wrap; align-content:flex-start; gap:6px; min-height:64px; padding:10px; border:1px solid rgb(128 151 177 / 46%); border-radius:10px; background:#f7fafd; color:var(--muted); font-size:12px; }
.recipient-chip { max-width:100%; min-height:28px; padding:3px 9px; overflow:hidden; border:1px solid rgb(128 151 177 / 46%); border-radius:999px; background:#fff; color:#264866; font:inherit; font-size:11px; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.recipient-chip.is-role { border-color:rgb(52 139 204 / 46%); background:var(--accent-soft); color:var(--accent); }
.recipient-chip:hover { background:#edf4fb; }
.recipient-picker .recipient-option { min-height:34px; margin:0; padding:5px 8px; }
.recipient-picker .recipient-option input { width:16px; height:16px; min-height:0; margin:0; padding:0; }
.project-access-panel .recipient-picker-body { grid-template-columns:minmax(0,1fr); }
.project-access-panel .recipient-picker-selected { min-height:44px; }
.project-member-table td.project-member-actions { display:table-cell; text-align:right; }
.project-member-actions-list { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 12px; }
.project-member-actions-list form { display:inline; }
@media (max-width:1100px) {
  .project-members-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:900px) {
  .project-form-grid.client-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-overview { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:700px) {
  .project-form-grid.client-form-grid,.project-settings-card .project-form-grid.client-form-grid { grid-template-columns:minmax(0,1fr); }
  .project-form-grid .project-form-name { grid-column:auto; }
  .recipient-picker-body,.recipient-picker--compact .recipient-picker-body { grid-template-columns:minmax(0,1fr); }
  .projects-list .catalog-directory-toolbar { flex-wrap:wrap; }
  .projects-list .projects-search-field { flex:1 1 100%; }
  .projects-list .projects-filter-field { flex:1 1 140px; }
  .project-page-header .project-workspace-badges { justify-content:flex-start; }
  .project-page-header .catalog-page-heading p,.project-page-header .project-technical-code { color:#40566d; text-shadow:none; }
  .project-member-table,.project-member-table tbody,.project-member-table tr,.project-member-table td { display:block; width:100%; }
  .project-member-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .project-member-table tr { padding:10px 14px; border-bottom:1px solid var(--line); }
  .project-member-table td { padding:3px 0; border:0; }
  .project-member-table td[data-label]:not([data-label="Сотрудник"])::before { content:attr(data-label) ": "; color:var(--muted); font-size:10px; }
  .project-member-table td.project-member-actions { display:block; text-align:left; }
  .project-member-actions-list { justify-content:flex-start; }
}

/* Files: personal space, shared with me, Project spaces (2026-10-17). */
.files-tabs { margin-bottom:10px; }
.files-scope { width:max-content; max-width:100%; margin:0 0 10px; background:rgb(255 255 255 / 86%); }
.files-list-panel.catalog-directory-panel { padding:18px; }
.files-browser .files-toolbar { padding:0 0 12px; border:0; background:transparent; }
.files-panel-heading { display:grid; gap:4px; margin-bottom:12px; }
.files-panel-heading h2 { margin:0; color:#274c70; font-size:14px; }
.files-access-note { margin:0 0 10px; }
.files-shared-badge { margin-left:6px; font-size:9px; }
.files-row-menu-body>.button { justify-self:start; }
.project-files-tab { display:grid; gap:12px; margin-top:12px; }
.project-files-tab .files-browser { margin:0; }
.files-share-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:12px; align-items:start; }
.files-share-current { padding:18px; }
.files-share-current h2 { margin:0 0 12px; color:#274c70; font-size:14px; }
.files-share-level { display:grid; gap:8px; margin:14px 0 0; padding:0; border:0; }
.files-share-option { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; font-size:12px; cursor:pointer; }
.files-share-option input { width:16px; height:16px; min-height:0; margin:2px 0 0; }
.files-share-option>span { display:grid; gap:2px; }
.files-share-option small { color:var(--muted); font-size:11px; font-weight:400; }
@media (max-width:1000px) {
  .files-share-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:700px) {
  .files-list-panel.catalog-directory-panel { padding:14px; }
}

/* Ordinary tasks: list, creation form and task card (2026-10-17). */
.tasks-kind-tabs { margin-bottom:12px; }
.regular-tasks-list.catalog-directory-panel { padding:18px; }
.regular-task-scopes { display:flex; flex-wrap:wrap; width:max-content; max-width:100%; margin-bottom:14px; }
.regular-tasks-list .regular-tasks-toolbar { display:flex; flex-wrap:nowrap; align-items:center; gap:10px; padding:0 0 16px; border:0; background:transparent; }
.regular-tasks-toolbar .catalog-directory-search { flex:1 1 auto; min-width:0; }
.regular-tasks-filter { flex:0 0 190px; }
.regular-tasks-filter select { height:40px; }
.regular-task-form-workspace .regular-task-form { display:block; padding:20px 22px; }
.regular-task-people-grid,.regular-task-terms-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.regular-task-people-grid { margin-bottom:12px; }
.regular-task-readonly { min-height:42px; display:flex; align-items:center; margin:0; padding:0 12px; border:1px dashed rgb(128 151 177 / 52%); border-radius:10px; color:#40566d; font-weight:500; }
.regular-task-more { margin-top:12px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fbfdff; }
.regular-task-more>summary { color:#2f6fa4; font-size:12px; font-weight:600; cursor:pointer; }
.regular-task-more[open]>summary { margin-bottom:10px; }
.regular-task-card { min-width:0; }
.regular-task-chat-jump { display:none; margin-left:4px; }
@media (max-width:1100px) { .regular-task-chat-jump { display:inline; } }
.regular-task-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr); gap:12px; align-items:start; }
.regular-task-main { display:grid; gap:12px; min-width:0; }
.regular-task-side { position:sticky; top:72px; min-width:0; }
.regular-task-side .chat-panel { max-height:calc(100vh - 96px); }
.regular-task-panel { background:rgb(255 255 255 / 97%); }
.regular-task-status-panel { padding:12px 16px; }
.regular-task-status-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.regular-task-status form { display:inline; }
.regular-task-status .segmented-button { display:inline-block; padding:5px 12px; border:0; border-radius:999px; background:transparent; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; }
.regular-task-status .segmented-button.is-current { background:#fff; color:var(--accent); font-weight:600; box-shadow:0 1px 3px #162b4518; cursor:default; }
.regular-task-status button.segmented-button:hover { color:var(--text); }
.regular-task-edit { margin-top:12px; }
.regular-task-edit>summary { display:inline-flex; list-style:none; }
.regular-task-edit>summary::-webkit-details-marker { display:none; }
.regular-task-inline-form { display:grid; gap:12px; margin-top:12px; }
.regular-task-people { display:grid; gap:0; margin:0; padding:0 16px 12px; }
.regular-task-people-group { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line); }
.regular-task-people-group:last-child { border-bottom:0; }
.regular-task-people dt { color:var(--muted); font-size:11px; font-weight:600; }
.regular-task-people dd { display:flex; flex-wrap:wrap; gap:6px; margin:0; font-size:12px; }
.regular-task-person { padding:3px 9px; border:1px solid var(--line); border-radius:999px; background:#f7fafd; }
.regular-task-person small { color:var(--muted); }
.regular-task-people-edit { margin:0 16px 16px; }
.regular-task-checklist,.regular-task-subtasks,.regular-task-files { display:grid; gap:0; margin:0; padding:0 16px; list-style:none; }
.regular-task-checklist li,.regular-task-subtasks li,.regular-task-files li { display:flex; align-items:center; gap:10px; min-height:40px; border-bottom:1px solid var(--line); font-size:12px; }
.regular-task-checklist li>span { flex:1; }
.regular-task-checklist li.is-done>span { color:var(--muted); text-decoration:line-through; }
.regular-task-checklist form,.regular-task-files form { display:inline; }
.regular-task-check { width:28px; height:28px; border:0; background:transparent; color:var(--accent); font-size:18px; cursor:pointer; }
.regular-task-subtasks li a,.regular-task-files li a { flex:1; min-width:0; overflow-wrap:anywhere; }
.regular-task-add-row { display:flex; gap:8px; padding:12px 16px 16px; }
.regular-task-file-field { flex:1 1 auto; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.regular-task-add-row input:not([type="file"]) { flex:1; min-width:0; height:38px; padding:0 12px; border:1px solid rgb(128 151 177 / 72%); border-radius:10px; }
@media (max-width:1100px) {
  .regular-task-layout { grid-template-columns:minmax(0,1fr); }
  .regular-task-side { position:static; }
  .regular-task-side .chat-panel { max-height:none; }
}
@media (max-width:800px) {
  .regular-task-people-grid,.regular-task-terms-grid { grid-template-columns:minmax(0,1fr); }
  .regular-tasks-list .regular-tasks-toolbar { flex-wrap:wrap; }
  .regular-tasks-toolbar .catalog-directory-search { flex:1 1 100%; }
  .regular-tasks-filter { flex:1 1 140px; }
  .regular-task-people-group { grid-template-columns:minmax(0,1fr); gap:4px; }
  .regular-task-status-row { align-items:stretch; flex-direction:column; }
  .regular-task-status { display:flex; flex-wrap:wrap; width:100%; border-radius:12px; }
  .regular-task-status>form,.regular-task-status>span { flex:1 1 auto; }
  .regular-task-status .segmented-button { width:100%; text-align:center; }
  .regular-task-add-row { flex-wrap:wrap; }
  .regular-task-add-row input[type="file"] { min-width:0; max-width:100%; }
}

/* File versions (2026-10-17). */
.files-versions-panel.catalog-directory-panel { padding:18px; }
.files-version-upload { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.files-version-upload .client-field { flex:1 1 260px; }
.files-versions-table tr.is-current td { background:rgb(46 125 50 / 5%); }
.files-version-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:4px 12px; }
.files-version-actions form { display:inline; }
.files-sha { font-size:10px; color:var(--muted); }
@media (max-width:700px) { .files-version-actions { justify-content:flex-start; } }

/* ---- Top bar: global search (quick results) and the full search page ---- */
.global-search { position:relative; flex:1; min-width:0; }
.global-search input { width:100%; }
.global-search-results { position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:45; max-height:min(70vh,520px); overflow:auto; background:var(--data-surface); color:var(--text); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 8px 25px #172b3a18; padding:var(--s2) 0; text-shadow:none; }
.global-search-results[hidden] { display:none; }
.global-search-group h3 { margin:var(--s2) var(--s4) var(--s1); font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.7px; color:var(--muted); }
.global-search-option { display:flex; flex-direction:column; gap:2px; padding:7px var(--s4); color:var(--text); text-decoration:none; }
.global-search-option strong { font-size:13px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-search-option span { font-size:11px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-search-option:hover,.global-search-option[aria-selected="true"] { background:var(--accent-soft); }
.global-search-all { display:block; margin-top:var(--s2); padding:9px var(--s4) 7px; border-top:1px solid var(--line); color:var(--accent); font-size:12px; font-weight:500; text-decoration:none; }
.global-search-all:hover { background:var(--surface-subtle); }
.global-search-note { margin:0; padding:var(--s3) var(--s4); font-size:12px; color:var(--muted); }
.global-search-note.is-error { color:var(--danger); }
.search-page-form { display:flex; gap:var(--s3); align-items:center; }
.search-page-form .workflow-filter-search { flex:1; }
.search-results { display:grid; gap:var(--s4); }
.search-hits { list-style:none; margin:0; padding:0 0 var(--s2); }
@media (max-width:760px) {
  .global-search-results { position:fixed; left:var(--s3); right:var(--s3); top:62px; }
  .search-page-form { flex-direction:column; align-items:stretch; }
}
.mobile-search { display:none; }
@media (max-width:760px) { .mobile-search { display:inline-flex; } }

/* ---- Top bar: signed-in member and the account menu ---- */
.account summary { display:flex; align-items:center; gap:var(--s2); border-radius:var(--radius); padding:2px 6px 2px 2px; }
.account summary:hover { background:var(--glass-hover); }
.avatar img,.avatar canvas { width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.avatar .icon { width:16px; height:16px; }
.account-name { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:500; color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }
.account-name.is-missing { font-style:italic; opacity:.9; }
.account-menu { width:260px; }
.account-menu .avatar { background:#e9eef3; color:#4b5b70; border-color:white; box-shadow:0 0 0 1px var(--line); -webkit-backdrop-filter:none; backdrop-filter:none; }
.avatar-medium { width:40px; height:40px; font-size:13px; }
.avatar-large { width:72px; height:72px; font-size:22px; }
.avatar-large .icon { width:28px; height:28px; }
.account-menu-head { display:flex; align-items:center; gap:var(--s3); padding-bottom:var(--s3); border-bottom:1px solid var(--line); }
.account-menu-identity { min-width:0; }
.account-menu .account-menu-identity strong { margin-top:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); }
.account-menu-identity span { display:block; font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-menu-links { display:flex; flex-direction:column; padding:var(--s2) 0; border-bottom:1px solid var(--line); }
.account-menu-links a { display:flex; align-items:center; gap:var(--s3); padding:7px var(--s2); border-radius:var(--radius); color:var(--text); text-decoration:none; font-size:13px; }
.account-menu-links a:hover,.account-menu-links a:focus-visible { background:var(--accent-soft); }
.account-menu-links .icon { width:16px; height:16px; color:var(--muted); }
.account-logout { width:100%; }
@media (max-width:760px) { .account-name { display:none; } }

/* ---- Personal settings: profile ---- */
.profile-editor { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s6); align-items:start; }
.profile-photo-block { display:flex; gap:var(--s4); align-items:flex-start; }
/* One photo control: choose (the file input stays keyboard-focusable inside the label), preview, save or cancel, remove. */
.profile-photo-form { display:flex; flex-direction:column; gap:var(--s2); min-width:0; }
.profile-photo-title { margin:0; color:var(--text); font-size:12px; font-weight:600; }
.profile-photo-controls { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); }
.profile-photo-choose { position:relative; cursor:pointer; }
.profile-photo-choose:has(input:focus-visible) { outline:2px solid #348bcc; outline-offset:3px; box-shadow:var(--focus); }
.profile-photo-choose:has(input:disabled) { cursor:not-allowed; opacity:.5; }
.profile-photo-remove { padding:8px 4px; }
.profile-photo-form .caption { margin:0; }
.profile-photo-status { margin:0; color:var(--muted); font-size:12px; }
.profile-photo-block.is-chosen .profile-photo-preview { box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent); }
@media (max-width:480px) { .profile-photo-block { flex-direction:column; } .profile-photo-controls .button { flex:1 1 auto; } }
.profile-name-form { display:grid; gap:var(--s3); }
.personal-settings-body { min-width:0; }
.profile-feedback.is-success { background:var(--success-soft); color:var(--success); padding:var(--s3); font-size:12px; margin:0 0 var(--s4); border-radius:var(--radius); }
.personal-settings-body>.error-message { margin:0 0 var(--s4); }
@media (max-width:760px) { .profile-editor { grid-template-columns:1fr; } }

/* ---- Top bar: notification panel ---- */
.notification-center { position:relative; display:inline-flex; }
.notification-panel { position:absolute; right:0; top:45px; z-index:45; width:400px; max-width:calc(100vw - 24px); background:var(--data-surface); color:var(--text); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 8px 25px #172b3a18; text-shadow:none; }
.notification-panel[hidden] { display:none; }
/* BUG-11: while one of its popovers is open the top bar stacks above page
   toolbars (the search page form has z-index 30), so the panel is never
   covered; closed, it stays below the phone navigation drawer. */
.topbar:has(.notification-panel:not([hidden])),.topbar:has(.global-search-results:not([hidden])),.topbar:has(details.account[open]),.topbar:has(details.quick-create[open]) { z-index:50; }
.notification-panel-head { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); padding:var(--s3) var(--s4); border-bottom:1px solid var(--line); }
.notification-panel-title { display:grid; gap:2px; min-width:0; }
/* OD-151: «Новые / Все», days and the group icon in the bell panel. */
.notification-panel-tabs { display:inline-flex; flex:none; padding:3px; border-radius:10px; background:var(--surface-subtle); }
.notification-panel-tabs button { padding:5px 10px; border:0; border-radius:8px; background:none; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; }
.notification-panel-tabs button[aria-pressed="true"] { background:var(--data-surface); color:var(--text); font-weight:600; box-shadow:0 1px 3px #172b3a1f; }
.notification-panel-day { margin:0; padding:10px var(--s4) 4px; color:var(--muted); font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.notification-panel-head h2 { margin:0; font-size:14px; }
.notification-panel-head h2:focus { outline:none; }
.notification-panel-list { max-height:min(60vh,420px); overflow:auto; }
.notification-panel-note { margin:0; padding:var(--s4); font-size:12px; color:var(--muted); }
.notification-item button { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; text-align:left; background:none; border:0; border-bottom:1px solid var(--line); padding:10px var(--s4); color:var(--text); cursor:pointer; font:inherit; }
.notification-item button:hover,.notification-item button:focus-visible { background:var(--surface-subtle); }
.notification-item strong { font-size:13px; font-weight:500; }
.notification-item.is-unread button { background:rgb(29 95 214 / 5%); }
.notification-item.is-unread strong { font-weight:700; }
.notification-item-text { display:grid; gap:2px; min-width:0; }
.notification-item .notification-icon { width:32px; height:32px; border-radius:10px; }
.notification-item .notification-icon svg { width:16px; height:16px; }
.notification-item-body { font-size:12px; color:var(--muted); }
.notification-item-meta { display:flex; gap:var(--s2); font-size:11px; color:var(--muted); }
.notification-item-state { color:var(--accent); }
.notification-panel-foot { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); padding:6px var(--s4); }
.notification-panel-foot form[hidden] { display:none; }
.notification-panel-foot .text-link { margin-left:auto; color:var(--accent); font-size:12px; }
.notification-sound-hint { margin:0; padding:var(--s3) var(--s4); background:var(--warning-soft); color:var(--warning); font-size:12px; }
.settings-toggle { display:flex; align-items:center; gap:var(--s3); font-size:13px; }
.notification-volume-row { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s3); margin-top:var(--s3); }
.notification-volume { display:flex; align-items:center; gap:var(--s3); min-width:0; font-size:13px; }
.notification-volume input[type="range"] { width:min(240px,50vw); accent-color:var(--accent); }
.notification-volume output { min-width:3.5em; color:var(--muted); font-variant-numeric:tabular-nums; }
.personal-account-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:var(--s3); margin:0; }
.personal-account-facts div { min-width:0; }
.personal-account-facts dt { color:var(--muted); font-size:11px; }
.personal-account-facts dd { margin:2px 0 0; overflow-wrap:anywhere; font-weight:600; }
.personal-password-form { display:grid; gap:var(--s3); max-width:420px; }
.organization-security-page .settings-card + .settings-card { margin-top:var(--s4); }
@media (max-width:760px) { .notification-panel { position:fixed; left:var(--s3); right:var(--s3); top:62px; width:auto; } }

/* ---- One task list: keep the view bar geometry of the previous list ---- */
.task-list-page .workflow-list-meta { min-height:30px; }
.task-type-cell .task-type-queue { display:block; margin-top:3px; font-size:11px; color:var(--muted); }

/* B52 audit, long values at phone and desktop widths. A long unbroken name,
   code or reason wraps inside its own card; the page never grows wider than
   the viewport (B52-DEF-023, 025, 031, 039, 044). */
main h1, main h2, main h3 { overflow-wrap:anywhere; }
.panel-heading>div { min-width:0; }
main .commercial-flash, main .client-form-alert { overflow-wrap:anywhere; }
.catalog-title-line { min-width:0; max-width:100%; }
.catalog-title-line .project-technical-code { max-width:100%; overflow-wrap:anywhere; word-break:break-all; white-space:normal; }
@media (max-width:760px) {
  /* The version table keeps its own horizontal scroll, so "Восстановить" and
     "Удалить" stay reachable inside the panel at 320 px. */
  .table-scroll.files-versions-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .files-versions-table td:last-child form { display:inline-block; margin:2px 0; }
}
@media (max-width:520px) {
  /* B52-DEF-007: in the stacked phone toolbar a filter takes only its own
     height (the 140 px basis was meant for the row layout). */
  .projects-list .catalog-directory-toolbar>.projects-filter-field,
  .projects-list .catalog-directory-toolbar>.projects-search-field,
  .projects-list .catalog-directory-toolbar>.button { flex:0 0 auto; }
}

/* B52-DEF-008: search results wrap inside their card at 320 px. */
.search-page { min-width:0; }
.search-results { grid-template-columns:minmax(0,1fr); }
.search-hit strong,.search-hit span { overflow-wrap:anywhere; }

/* B52-DEF-014: the Project Files tab stays within 320 px; the files table
   scrolls inside its own panel (the row menu is a fixed bottom sheet there). */
.project-files-tab { grid-template-columns:minmax(0,1fr); }
.project-files-tab>*,.files-browser { min-width:0; }
@media (max-width:760px) {
  .files-browser .table-scroll.catalog-table-wrap { overflow-x:auto; }
}

/* B52-DEF-022: a long task type label wraps inside the type column instead
   of covering the assignee at 1024 and 1280 px. */
.task-type-cell { min-width:0; }
.task-type-cell .task-type-badge { width:auto; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; line-height:1.3; }
@media (max-width:768px) {
  /* B52-DEF-037: on the light header card the caption uses the secondary
     text colour of the other directory headers, not the light shell ink. */
  .project-workspace-header .catalog-page-heading p { color:#40566d; text-shadow:none; }
}
/* OD-60 (D-7): «Активные / Завершённые / Все» under the chat search. */
/* OD-77: the two occurrences of an ambiguous local deadline. */
.due-fold-choice { display:grid; gap:6px; margin:0; padding:10px 12px; border:1px solid var(--warning); border-radius:8px; background:var(--warning-soft); }
.due-fold-choice legend { padding:0 4px; font-weight:650; }
.due-fold-option { display:flex; align-items:flex-start; gap:8px; min-width:0; overflow-wrap:anywhere; font-weight:500; }
/* OD-80: the trash of a file space; OD-81: where a contract document is used. */
.files-trash { margin-top:14px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-subtle); }
.files-trash summary { cursor:pointer; font-weight:650; }
.files-trash-list { display:grid; gap:8px; margin:8px 0 0; padding:0; list-style:none; }
.files-trash-item { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.files-trash-copy { display:grid; gap:2px; min-width:0; overflow-wrap:anywhere; }
.files-trash-copy small { color:var(--muted); }
.files-in-use { margin:4px 0 0; padding-left:18px; overflow-wrap:anywhere; }
/* OD-92: the final Project code under the field. */
.project-code-preview { display:block; margin-top:4px; overflow-wrap:anywhere; color:var(--text); }
/* OD-78/OD-79: the client archive switch, banner and actions. */
.client-archive-switch { flex:0 1 auto; max-width:100%; overflow-x:auto; }
.client-archive-switch a { white-space:nowrap; }
.crm-entity-status--archived { background:var(--surface-subtle); color:var(--muted); }
.client-archive-banner,.client-archive-action { display:grid; gap:8px; margin-bottom:14px; padding:14px 16px; overflow-wrap:anywhere; }
.client-archive-banner { border-left:4px solid var(--warning); }
.client-archive-action summary { cursor:pointer; font-weight:650; }
.client-archive-action form,.client-restore-form { display:grid; gap:10px; margin-top:8px; }
.client-restore-accounts { display:grid; gap:6px; margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:8px; }
.client-restore-account { display:flex; gap:8px; align-items:flex-start; min-width:0; overflow-wrap:anywhere; }
/* OD-93: counters of the contact catalogs count active entries. */
/* OD-86: search, filters and sorting of the users list. */
.employee-filter-count { margin:0 0 8px; }
/* OD-86: the Documents, Contacts and Tasks sections of a Provider. */
.provider-section-panel { margin-top:14px; overflow-wrap:anywhere; }
.provider-document-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.provider-document-list li { display:grid; gap:2px; min-width:0; }
/* OD-115: a client's or provider's document — an attachment of the object. */
.object-document-list>li.object-document { display:grid; gap:4px; min-width:0; padding:8px 0; border-bottom:1px solid var(--line); }
.object-document-list>li.object-document:last-child { border-bottom:0; }
.object-document-name { min-width:0; overflow-wrap:anywhere; }
.object-document-versions>summary,.object-document-actions>summary { color:#2f6fa4; font-size:12px; font-weight:600; cursor:pointer; }
.object-document-versions ul { display:grid; gap:4px; margin:6px 0 0; padding:0; list-style:none; }
.object-document-form { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin:8px 0 0; min-width:0; }
.object-document-form .client-field { flex:1 1 220px; min-width:0; }
/* OD-86: working widgets of the home page. */
.home-task-counters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.home-counter { display:grid; gap:2px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; color:var(--text); text-decoration:none; }
.home-counter strong { font-size:22px; }
.home-counter span { color:var(--muted); font-size:12px; }
.home-counter.is-alert { border-color:var(--danger); }
.home-counter.is-alert strong { color:var(--danger); }
.home-list { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.home-list-link { display:grid; gap:2px; min-width:0; padding:8px 10px; border-radius:8px; color:var(--text); text-decoration:none; overflow-wrap:anywhere; }
a.home-list-link:hover { background:var(--surface-subtle); }
.home-list-link small { color:var(--muted); }
.home-list .is-unread strong::before { content:"● "; color:var(--accent); }
/* OD-91: folders found by a «Файлы» search. */
.files-found-folders { margin:8px 0 12px; overflow-wrap:anywhere; }
.files-found-folders h3 { margin:0 0 4px; font-size:13px; }
.files-found-folders ul { display:flex; flex-wrap:wrap; gap:6px 14px; margin:0; padding:0; list-style:none; }
/* OD-91: inactive entries only through a separate switch. */

/* UI-STATUS-01: «Готово» (ordinary task) and «Выполнена» (workflow task)
   share one look: the same green badge with a check mark. */
.work-status-completed::before { content:"✓"; margin-right:4px; font-weight:800; }
/* QUICK-CREATE-01: the «+ Создать» menu next to the search. */
.quick-create { position:relative; }
.quick-create > summary { list-style:none; cursor:pointer; white-space:nowrap; }
.quick-create > summary::-webkit-details-marker { display:none; }
.quick-create-menu { position:absolute; right:0; z-index:40; display:grid; min-width:240px; max-width:min(320px, calc(100vw - 32px)); margin:6px 0 0; padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 12px 28px #162b4526; list-style:none; }
.quick-create-menu a { display:block; padding:8px 10px; border-radius:6px; color:var(--text); text-decoration:none; overflow-wrap:anywhere; }
.quick-create-menu a:hover,.quick-create-menu a:focus-visible { background:var(--surface-subtle); }
/* TASK-VIEWS-01 */
.task-mode-switch { flex-wrap:wrap; max-width:100%; }
.task-mode-switch a { white-space:nowrap; }
.task-kanban { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(240px,1fr); gap:12px; overflow-x:auto; padding-bottom:6px; }
.task-kanban-column { display:grid; align-content:start; gap:8px; min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-subtle); }
.task-kanban-column h3 { margin:0; font-size:13px; }
.task-kanban-cards,.task-planner-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin:0; padding:0; list-style:none; min-width:0; }
.task-kanban-card,.task-planner-card { display:grid; gap:4px; min-width:0; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); overflow-wrap:anywhere; }
.task-kanban-card.is-overdue,.task-planner-card.is-overdue { border-left:3px solid var(--danger); }
.task-kanban-title { font-weight:650; color:var(--text); }
.task-kanban-card small,.task-planner-card small { color:var(--muted); }
.task-kanban-move,.task-planner-move { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.task-kanban-move select,.task-planner-move input { min-width:0; flex:1 1 140px; }
.task-deadlines { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.task-deadline-group { min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; }
.task-deadline-group h3 { margin:0 0 6px; font-size:13px; }
.task-deadline-group--overdue { border-color:var(--danger); }
.task-planner { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(200px,1fr); gap:10px; overflow-x:auto; padding-bottom:6px; }
.task-planner-day { display:grid; align-content:start; gap:6px; min-width:0; padding:8px; border:1px solid var(--line); border-radius:10px; }
.task-planner-day.is-today { border-color:var(--accent); }
.task-planner-day h3 { margin:0; font-size:13px; }
.task-gantt-rows { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.task-gantt-row { display:grid; grid-template-columns:minmax(120px,30%) minmax(0,1fr); gap:8px; align-items:center; }
.task-gantt-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-gantt-track { position:relative; height:18px; border-radius:4px; background:var(--surface-subtle); overflow:hidden; }
.task-gantt-bar { position:absolute; top:3px; bottom:3px; left:var(--offset,0%); width:var(--width,1%); min-width:4px; border-radius:3px; background:var(--accent); }
.task-gantt-bar.is-overdue { background:var(--danger); }
.task-gantt-today { position:absolute; top:0; bottom:0; left:var(--offset,0%); width:2px; background:var(--warning); }
@media (max-width:640px) { .task-gantt-row { grid-template-columns:minmax(0,1fr); } .task-kanban { grid-auto-columns:minmax(220px,85%); } .task-planner { grid-auto-columns:minmax(180px,80%); } }
/* OD-107: planner week navigation; OD-109: earlier project periods. */
.task-planner-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.project-member-periods { margin-top:4px; }
.project-member-periods ul { margin:4px 0 0; padding-left:16px; }
/* CALENDAR-01 */
/* OD-125: one compact toolbar, month cells with «+ ещё N», week and day as a time grid.
   OD-128 (replaces the opaque board of OD-125): a light frosted-glass board; records keep solid tints so they read on any wallpaper. */
.calendar-board { --cal-line:rgb(23 35 56 / 8%); --cal-slot:16px; --cal-head:52px; display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.calendar-toolbar { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; padding:14px 18px; border-bottom:1px solid var(--frost-line); }
.calendar-nav { display:flex; flex-wrap:wrap; gap:8px; align-items:center; min-width:0; }
.calendar-step { display:inline-flex; border:1px solid rgb(23 35 56 / 14%); border-radius:9px; overflow:hidden; }
.calendar-step-button { display:inline-grid; place-items:center; width:34px; height:32px; color:var(--text); font-size:18px; line-height:1; text-decoration:none; background:var(--frost-control); }
.calendar-step-button+.calendar-step-button { border-left:1px solid rgb(23 35 56 / 14%); }
.calendar-step-button:hover { background:#fff; }
.calendar-step-button:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.calendar-title { margin:0 0 0 4px; font-size:20px; font-weight:700; overflow-wrap:anywhere; }
.calendar-views { flex:0 0 auto; margin-left:auto; }
.calendar-filters { display:grid; gap:10px; min-width:0; }
.calendar-mine { display:inline-flex; gap:8px; align-items:center; min-height:28px; font-size:13px; }
.calendar-mine input { width:16px; min-width:16px; height:16px; min-height:16px; margin:0; accent-color:var(--accent); }
.calendar-filters.is-enhanced .calendar-filter-apply { display:none; }
.calendar-meta { display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding:7px 18px; border-bottom:1px solid var(--frost-line); }
.calendar-legend { display:flex; flex-wrap:wrap; gap:4px 14px; margin:0; padding:0; list-style:none; color:var(--muted); font-size:12px; }
.calendar-legend-item { display:inline-flex; gap:6px; align-items:center; }
.calendar-legend-item::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--cal-tone); }
.calendar-zone { margin:0; font-size:12px; }
/* Kinds: events (meeting, event), task deadlines (task, overdue) and control dates (milestone). */
.calendar-item--meeting { --cal-tone:#285b9e; --cal-tone-bg:#e8f0fc; }
.calendar-item--event { --cal-tone:#6a4fb3; --cal-tone-bg:#f1edfb; }
.calendar-item--task { --cal-tone:#287351; --cal-tone-bg:#e9f4ed; }
.calendar-item--overdue { --cal-tone:#b13737; --cal-tone-bg:#fceeee; }
.calendar-item--milestone { --cal-tone:#a46c0c; --cal-tone-bg:#fff4d9; }
.calendar-items { display:grid; grid-template-columns:minmax(0,1fr); gap:3px; margin:0; padding:0; list-style:none; min-width:0; }
.calendar-item { display:flex; gap:5px; align-items:baseline; min-width:0; padding:3px 8px; border-radius:7px; background:var(--cal-tone-bg,#f1f4f8); color:var(--text); font-size:12px; line-height:1.35; text-decoration:none; white-space:nowrap; overflow:hidden; }
.calendar-item:hover, .calendar-block:hover { filter:brightness(.97); }
.calendar-item:focus-visible, .calendar-block:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.calendar-item time { flex:0 0 auto; color:var(--muted); font-weight:500; }
.calendar-item-title { min-width:0; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
.calendar-item small { display:none; }
.calendar-item--milestone .calendar-item-title::before, .calendar-block.calendar-item--milestone .calendar-item-title::before { content:"◆ "; color:var(--cal-tone); }
/* Month: seven columns from Monday. */
.calendar-weekdays, .calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { border-bottom:1px solid var(--frost-line); }
.calendar-weekdays span { padding:8px 10px; color:var(--muted); font-size:12px; font-weight:650; }
.calendar-week+.calendar-week { border-top:1px solid var(--cal-line); }
.calendar-day { display:flex; flex-direction:column; gap:2px; min-width:0; min-height:118px; padding:6px; background:transparent; }
.calendar-day+.calendar-day { border-left:1px solid var(--cal-line); }
.calendar-day.is-outside { background:rgb(255 255 255 / 22%); }
.calendar-day.is-outside .calendar-day-number { color:#66788d; }
.calendar-day-number { align-self:flex-start; display:inline-grid; place-items:center; min-width:26px; height:26px; padding:0 6px; border-radius:13px; color:var(--text); font-size:13px; font-weight:650; text-decoration:none; }
.calendar-day-number:hover { background:#fff; }
/* A month cell lists records as «dot · time · title» lines, not boxes. */
.calendar-month .calendar-item { background:none; padding:2px 6px; align-items:center; }
.calendar-month .calendar-item::before { content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:var(--cal-tone,#8193a8); }
.calendar-month .calendar-item:hover { background:rgb(255 255 255 / 70%); filter:none; }
.calendar-day.is-today .calendar-day-number { background:var(--accent); color:#fff; }
.calendar-month .calendar-items li:nth-child(n+4) { display:none; }
/* OD-128: bands of all-day and multi-day records across the days of a week; band rows make the week taller, a day keeps three lines. */
.calendar-week { position:relative; }
.calendar-week.cal-bands-1 .calendar-items { margin-top:24px; }
.calendar-week.cal-bands-2 .calendar-items { margin-top:48px; }
.calendar-week.cal-bands-1 .calendar-day { min-height:142px; }
.calendar-week.cal-bands-2 .calendar-day { min-height:166px; }
.calendar-band { position:absolute; z-index:1; display:flex; gap:5px; align-items:center; height:22px; min-width:0; padding:0 10px; overflow:hidden; border-radius:7px; background:var(--cal-tone-bg,#f1f4f8); box-shadow:inset 0 0 0 1px rgb(23 35 56 / 6%); color:var(--text); font-size:12px; line-height:1; text-decoration:none; white-space:nowrap; }
.calendar-band time { flex:0 0 auto; color:var(--muted); font-weight:500; }
.calendar-band .calendar-item-title { min-width:0; overflow:hidden; text-overflow:ellipsis; font-weight:650; }
.calendar-band.is-continued { border-top-left-radius:0; border-bottom-left-radius:0; }
.calendar-band.continues { border-top-right-radius:0; border-bottom-right-radius:0; }
.calendar-band:hover { filter:brightness(.97); }
.calendar-band:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.calendar-band.calendar-item--milestone .calendar-item-title::before { content:"◆ "; color:var(--cal-tone); }
.cal-band-1{top:38px}.cal-band-2{top:62px}
.cal-from-1{left:4px}.cal-from-2{left:calc(100% / 7 + 4px)}.cal-from-3{left:calc(200% / 7 + 4px)}.cal-from-4{left:calc(300% / 7 + 4px)}.cal-from-5{left:calc(400% / 7 + 4px)}.cal-from-6{left:calc(500% / 7 + 4px)}.cal-from-7{left:calc(600% / 7 + 4px)}
.cal-len-1{width:calc(100% / 7 - 8px)}.cal-len-2{width:calc(200% / 7 - 8px)}.cal-len-3{width:calc(300% / 7 - 8px)}.cal-len-4{width:calc(400% / 7 - 8px)}.cal-len-5{width:calc(500% / 7 - 8px)}.cal-len-6{width:calc(600% / 7 - 8px)}.cal-len-7{width:calc(100% - 8px)}
.calendar-day-more { align-self:flex-start; padding:1px 6px; border-radius:6px; color:var(--accent); font-size:12px; font-weight:650; text-decoration:none; }
.calendar-day-more:hover { background:var(--accent-soft); }
.calendar-day-more[hidden] { display:none; }
/* Week and day: a time grid; the header and the «Весь день / Без времени» row stay on top while the hours scroll. */
.calendar-timegrid { display:grid; grid-template-columns:56px repeat(7,minmax(0,1fr)); grid-template-rows:var(--cal-head) auto auto; max-height:min(72vh,780px); overflow:auto; }
/* OD-128: at the first or last hour the wheel goes on to the page (no overscroll containment). */
.calendar-timegrid--day { grid-template-columns:56px minmax(0,1fr); }
.calendar-axis, .calendar-day-column { grid-row:1 / span 3; display:grid; grid-template-rows:subgrid; min-width:0; }
.calendar-day-column { border-left:1px solid var(--cal-line); }
.calendar-axis-head, .calendar-day-head { position:sticky; top:0; z-index:3; border-bottom:1px solid var(--frost-line); background:rgb(255 255 255 / 95%); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.calendar-day-head { display:flex; flex-wrap:wrap; gap:0 5px; align-items:baseline; justify-content:center; padding:8px 4px; color:var(--muted); font-size:12px; font-weight:600; text-decoration:none; }
.calendar-day-head strong { color:var(--text); font-size:18px; font-weight:650; }
.calendar-day-head:hover strong { color:var(--accent); }
.calendar-day-month { display:none; }
.calendar-day-column.is-today .calendar-day-head { color:var(--accent); }
.calendar-day-column.is-today .calendar-day-head strong { display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 6px; border-radius:15px; background:var(--accent); color:#fff; }
.calendar-axis-allday, .calendar-allday { position:sticky; top:var(--cal-head); z-index:2; min-height:34px; border-bottom:1px solid var(--frost-line); background:rgb(255 255 255 / 92%); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.calendar-axis-allday { display:flex; align-items:center; justify-content:flex-end; padding:4px 8px; color:var(--muted); font-size:11px; line-height:1.15; text-align:right; overflow-wrap:anywhere; }
.calendar-allday { padding:4px; }
.calendar-allday .calendar-items { max-height:96px; overflow:auto; }
.calendar-allday-title { display:none; }
.calendar-hours { display:grid; grid-template-rows:repeat(24,calc(var(--cal-slot) * 4)); }
.calendar-hours span { padding:0 8px 0 0; color:var(--muted); font-size:11px; text-align:right; transform:translateY(-7px); }
.calendar-hours span:first-child { visibility:hidden; }
.calendar-time { display:grid; grid-template-rows:repeat(96,var(--cal-slot)); grid-template-columns:minmax(0,1fr); padding:0 3px; background:repeating-linear-gradient(to bottom,var(--cal-line) 0 1px,transparent 1px calc(var(--cal-slot) * 4)); }
.calendar-day-column.is-today .calendar-time { background-color:rgb(40 91 158 / 5%); }
/* OD-128: the line of the current time (15-minute row; classes because CSP forbids inline styles). */
.calendar-now { position:relative; z-index:2; grid-column:1; grid-row-end:span 1; align-self:start; height:2px; margin:0 -3px; background:#d92d20; pointer-events:none; }
.calendar-now::before { content:""; position:absolute; left:-4px; top:-4px; width:10px; height:10px; border-radius:50%; background:#d92d20; }
.calendar-cluster { display:grid; grid-column:1; gap:0 2px; min-width:0; min-height:0; }
.calendar-block { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; margin:1px 1px; padding:4px 8px; border-radius:8px; background:var(--cal-tone-bg,#f1f4f8); box-shadow:inset 0 0 0 1px rgb(23 35 56 / 6%), 0 1px 2px rgb(23 35 56 / 8%); color:var(--text); font-size:12px; line-height:1.3; text-decoration:none; }
.calendar-block time { order:2; color:var(--muted); font-size:11px; font-weight:500; white-space:nowrap; }
.calendar-block .calendar-item-title { order:1; font-weight:650; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; white-space:normal; overflow-wrap:normal; word-break:normal; }
/* A week column is narrow: the colour tells the kind, the block keeps the title and the time. */
.calendar-timegrid--week .calendar-block small { display:none; }
.calendar-timegrid--week .calendar-block .calendar-item-title { -webkit-line-clamp:2; }
.calendar-block small { order:3; color:var(--muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calendar-block.is-short { flex-direction:row; gap:5px; align-items:center; padding-top:0; padding-bottom:0; }
.calendar-block.is-short time { order:0; }
.calendar-block.is-short .calendar-item-title { -webkit-line-clamp:1; white-space:nowrap; text-overflow:ellipsis; display:block; }
.calendar-block.is-short small { display:none; }
.calendar-timegrid--week .calendar-block.is-short time { display:none; }
.calendar-timegrid--day .calendar-item small, .calendar-timegrid--day .calendar-block small { display:inline; }
.calendar-timegrid--day .calendar-item small::before { content:"· "; }
/* Rows and lanes of the time grid (15-minute slots; classes because CSP forbids inline styles). */
.cal-at-1{grid-row-start:1}.cal-at-2{grid-row-start:2}.cal-at-3{grid-row-start:3}.cal-at-4{grid-row-start:4}.cal-at-5{grid-row-start:5}.cal-at-6{grid-row-start:6}.cal-at-7{grid-row-start:7}.cal-at-8{grid-row-start:8}.cal-at-9{grid-row-start:9}.cal-at-10{grid-row-start:10}.cal-at-11{grid-row-start:11}.cal-at-12{grid-row-start:12}.cal-at-13{grid-row-start:13}.cal-at-14{grid-row-start:14}.cal-at-15{grid-row-start:15}.cal-at-16{grid-row-start:16}.cal-at-17{grid-row-start:17}.cal-at-18{grid-row-start:18}.cal-at-19{grid-row-start:19}.cal-at-20{grid-row-start:20}.cal-at-21{grid-row-start:21}.cal-at-22{grid-row-start:22}.cal-at-23{grid-row-start:23}.cal-at-24{grid-row-start:24}.cal-at-25{grid-row-start:25}.cal-at-26{grid-row-start:26}.cal-at-27{grid-row-start:27}.cal-at-28{grid-row-start:28}.cal-at-29{grid-row-start:29}.cal-at-30{grid-row-start:30}.cal-at-31{grid-row-start:31}.cal-at-32{grid-row-start:32}.cal-at-33{grid-row-start:33}.cal-at-34{grid-row-start:34}.cal-at-35{grid-row-start:35}.cal-at-36{grid-row-start:36}.cal-at-37{grid-row-start:37}.cal-at-38{grid-row-start:38}.cal-at-39{grid-row-start:39}.cal-at-40{grid-row-start:40}.cal-at-41{grid-row-start:41}.cal-at-42{grid-row-start:42}.cal-at-43{grid-row-start:43}.cal-at-44{grid-row-start:44}.cal-at-45{grid-row-start:45}.cal-at-46{grid-row-start:46}.cal-at-47{grid-row-start:47}.cal-at-48{grid-row-start:48}.cal-at-49{grid-row-start:49}.cal-at-50{grid-row-start:50}.cal-at-51{grid-row-start:51}.cal-at-52{grid-row-start:52}.cal-at-53{grid-row-start:53}.cal-at-54{grid-row-start:54}.cal-at-55{grid-row-start:55}.cal-at-56{grid-row-start:56}.cal-at-57{grid-row-start:57}.cal-at-58{grid-row-start:58}.cal-at-59{grid-row-start:59}.cal-at-60{grid-row-start:60}.cal-at-61{grid-row-start:61}.cal-at-62{grid-row-start:62}.cal-at-63{grid-row-start:63}.cal-at-64{grid-row-start:64}.cal-at-65{grid-row-start:65}.cal-at-66{grid-row-start:66}.cal-at-67{grid-row-start:67}.cal-at-68{grid-row-start:68}.cal-at-69{grid-row-start:69}.cal-at-70{grid-row-start:70}.cal-at-71{grid-row-start:71}.cal-at-72{grid-row-start:72}.cal-at-73{grid-row-start:73}.cal-at-74{grid-row-start:74}.cal-at-75{grid-row-start:75}.cal-at-76{grid-row-start:76}.cal-at-77{grid-row-start:77}.cal-at-78{grid-row-start:78}.cal-at-79{grid-row-start:79}.cal-at-80{grid-row-start:80}.cal-at-81{grid-row-start:81}.cal-at-82{grid-row-start:82}.cal-at-83{grid-row-start:83}.cal-at-84{grid-row-start:84}.cal-at-85{grid-row-start:85}.cal-at-86{grid-row-start:86}.cal-at-87{grid-row-start:87}.cal-at-88{grid-row-start:88}.cal-at-89{grid-row-start:89}.cal-at-90{grid-row-start:90}.cal-at-91{grid-row-start:91}.cal-at-92{grid-row-start:92}.cal-at-93{grid-row-start:93}.cal-at-94{grid-row-start:94}.cal-at-95{grid-row-start:95}.cal-at-96{grid-row-start:96}
.cal-span-1{grid-row-end:span 1}.cal-span-2{grid-row-end:span 2}.cal-span-3{grid-row-end:span 3}.cal-span-4{grid-row-end:span 4}.cal-span-5{grid-row-end:span 5}.cal-span-6{grid-row-end:span 6}.cal-span-7{grid-row-end:span 7}.cal-span-8{grid-row-end:span 8}.cal-span-9{grid-row-end:span 9}.cal-span-10{grid-row-end:span 10}.cal-span-11{grid-row-end:span 11}.cal-span-12{grid-row-end:span 12}.cal-span-13{grid-row-end:span 13}.cal-span-14{grid-row-end:span 14}.cal-span-15{grid-row-end:span 15}.cal-span-16{grid-row-end:span 16}.cal-span-17{grid-row-end:span 17}.cal-span-18{grid-row-end:span 18}.cal-span-19{grid-row-end:span 19}.cal-span-20{grid-row-end:span 20}.cal-span-21{grid-row-end:span 21}.cal-span-22{grid-row-end:span 22}.cal-span-23{grid-row-end:span 23}.cal-span-24{grid-row-end:span 24}.cal-span-25{grid-row-end:span 25}.cal-span-26{grid-row-end:span 26}.cal-span-27{grid-row-end:span 27}.cal-span-28{grid-row-end:span 28}.cal-span-29{grid-row-end:span 29}.cal-span-30{grid-row-end:span 30}.cal-span-31{grid-row-end:span 31}.cal-span-32{grid-row-end:span 32}.cal-span-33{grid-row-end:span 33}.cal-span-34{grid-row-end:span 34}.cal-span-35{grid-row-end:span 35}.cal-span-36{grid-row-end:span 36}.cal-span-37{grid-row-end:span 37}.cal-span-38{grid-row-end:span 38}.cal-span-39{grid-row-end:span 39}.cal-span-40{grid-row-end:span 40}.cal-span-41{grid-row-end:span 41}.cal-span-42{grid-row-end:span 42}.cal-span-43{grid-row-end:span 43}.cal-span-44{grid-row-end:span 44}.cal-span-45{grid-row-end:span 45}.cal-span-46{grid-row-end:span 46}.cal-span-47{grid-row-end:span 47}.cal-span-48{grid-row-end:span 48}.cal-span-49{grid-row-end:span 49}.cal-span-50{grid-row-end:span 50}.cal-span-51{grid-row-end:span 51}.cal-span-52{grid-row-end:span 52}.cal-span-53{grid-row-end:span 53}.cal-span-54{grid-row-end:span 54}.cal-span-55{grid-row-end:span 55}.cal-span-56{grid-row-end:span 56}.cal-span-57{grid-row-end:span 57}.cal-span-58{grid-row-end:span 58}.cal-span-59{grid-row-end:span 59}.cal-span-60{grid-row-end:span 60}.cal-span-61{grid-row-end:span 61}.cal-span-62{grid-row-end:span 62}.cal-span-63{grid-row-end:span 63}.cal-span-64{grid-row-end:span 64}.cal-span-65{grid-row-end:span 65}.cal-span-66{grid-row-end:span 66}.cal-span-67{grid-row-end:span 67}.cal-span-68{grid-row-end:span 68}.cal-span-69{grid-row-end:span 69}.cal-span-70{grid-row-end:span 70}.cal-span-71{grid-row-end:span 71}.cal-span-72{grid-row-end:span 72}.cal-span-73{grid-row-end:span 73}.cal-span-74{grid-row-end:span 74}.cal-span-75{grid-row-end:span 75}.cal-span-76{grid-row-end:span 76}.cal-span-77{grid-row-end:span 77}.cal-span-78{grid-row-end:span 78}.cal-span-79{grid-row-end:span 79}.cal-span-80{grid-row-end:span 80}.cal-span-81{grid-row-end:span 81}.cal-span-82{grid-row-end:span 82}.cal-span-83{grid-row-end:span 83}.cal-span-84{grid-row-end:span 84}.cal-span-85{grid-row-end:span 85}.cal-span-86{grid-row-end:span 86}.cal-span-87{grid-row-end:span 87}.cal-span-88{grid-row-end:span 88}.cal-span-89{grid-row-end:span 89}.cal-span-90{grid-row-end:span 90}.cal-span-91{grid-row-end:span 91}.cal-span-92{grid-row-end:span 92}.cal-span-93{grid-row-end:span 93}.cal-span-94{grid-row-end:span 94}.cal-span-95{grid-row-end:span 95}.cal-span-96{grid-row-end:span 96}
.cal-rows-1{grid-template-rows:repeat(1,var(--cal-slot))}.cal-rows-2{grid-template-rows:repeat(2,var(--cal-slot))}.cal-rows-3{grid-template-rows:repeat(3,var(--cal-slot))}.cal-rows-4{grid-template-rows:repeat(4,var(--cal-slot))}.cal-rows-5{grid-template-rows:repeat(5,var(--cal-slot))}.cal-rows-6{grid-template-rows:repeat(6,var(--cal-slot))}.cal-rows-7{grid-template-rows:repeat(7,var(--cal-slot))}.cal-rows-8{grid-template-rows:repeat(8,var(--cal-slot))}.cal-rows-9{grid-template-rows:repeat(9,var(--cal-slot))}.cal-rows-10{grid-template-rows:repeat(10,var(--cal-slot))}.cal-rows-11{grid-template-rows:repeat(11,var(--cal-slot))}.cal-rows-12{grid-template-rows:repeat(12,var(--cal-slot))}.cal-rows-13{grid-template-rows:repeat(13,var(--cal-slot))}.cal-rows-14{grid-template-rows:repeat(14,var(--cal-slot))}.cal-rows-15{grid-template-rows:repeat(15,var(--cal-slot))}.cal-rows-16{grid-template-rows:repeat(16,var(--cal-slot))}.cal-rows-17{grid-template-rows:repeat(17,var(--cal-slot))}.cal-rows-18{grid-template-rows:repeat(18,var(--cal-slot))}.cal-rows-19{grid-template-rows:repeat(19,var(--cal-slot))}.cal-rows-20{grid-template-rows:repeat(20,var(--cal-slot))}.cal-rows-21{grid-template-rows:repeat(21,var(--cal-slot))}.cal-rows-22{grid-template-rows:repeat(22,var(--cal-slot))}.cal-rows-23{grid-template-rows:repeat(23,var(--cal-slot))}.cal-rows-24{grid-template-rows:repeat(24,var(--cal-slot))}.cal-rows-25{grid-template-rows:repeat(25,var(--cal-slot))}.cal-rows-26{grid-template-rows:repeat(26,var(--cal-slot))}.cal-rows-27{grid-template-rows:repeat(27,var(--cal-slot))}.cal-rows-28{grid-template-rows:repeat(28,var(--cal-slot))}.cal-rows-29{grid-template-rows:repeat(29,var(--cal-slot))}.cal-rows-30{grid-template-rows:repeat(30,var(--cal-slot))}.cal-rows-31{grid-template-rows:repeat(31,var(--cal-slot))}.cal-rows-32{grid-template-rows:repeat(32,var(--cal-slot))}.cal-rows-33{grid-template-rows:repeat(33,var(--cal-slot))}.cal-rows-34{grid-template-rows:repeat(34,var(--cal-slot))}.cal-rows-35{grid-template-rows:repeat(35,var(--cal-slot))}.cal-rows-36{grid-template-rows:repeat(36,var(--cal-slot))}.cal-rows-37{grid-template-rows:repeat(37,var(--cal-slot))}.cal-rows-38{grid-template-rows:repeat(38,var(--cal-slot))}.cal-rows-39{grid-template-rows:repeat(39,var(--cal-slot))}.cal-rows-40{grid-template-rows:repeat(40,var(--cal-slot))}.cal-rows-41{grid-template-rows:repeat(41,var(--cal-slot))}.cal-rows-42{grid-template-rows:repeat(42,var(--cal-slot))}.cal-rows-43{grid-template-rows:repeat(43,var(--cal-slot))}.cal-rows-44{grid-template-rows:repeat(44,var(--cal-slot))}.cal-rows-45{grid-template-rows:repeat(45,var(--cal-slot))}.cal-rows-46{grid-template-rows:repeat(46,var(--cal-slot))}.cal-rows-47{grid-template-rows:repeat(47,var(--cal-slot))}.cal-rows-48{grid-template-rows:repeat(48,var(--cal-slot))}.cal-rows-49{grid-template-rows:repeat(49,var(--cal-slot))}.cal-rows-50{grid-template-rows:repeat(50,var(--cal-slot))}.cal-rows-51{grid-template-rows:repeat(51,var(--cal-slot))}.cal-rows-52{grid-template-rows:repeat(52,var(--cal-slot))}.cal-rows-53{grid-template-rows:repeat(53,var(--cal-slot))}.cal-rows-54{grid-template-rows:repeat(54,var(--cal-slot))}.cal-rows-55{grid-template-rows:repeat(55,var(--cal-slot))}.cal-rows-56{grid-template-rows:repeat(56,var(--cal-slot))}.cal-rows-57{grid-template-rows:repeat(57,var(--cal-slot))}.cal-rows-58{grid-template-rows:repeat(58,var(--cal-slot))}.cal-rows-59{grid-template-rows:repeat(59,var(--cal-slot))}.cal-rows-60{grid-template-rows:repeat(60,var(--cal-slot))}.cal-rows-61{grid-template-rows:repeat(61,var(--cal-slot))}.cal-rows-62{grid-template-rows:repeat(62,var(--cal-slot))}.cal-rows-63{grid-template-rows:repeat(63,var(--cal-slot))}.cal-rows-64{grid-template-rows:repeat(64,var(--cal-slot))}.cal-rows-65{grid-template-rows:repeat(65,var(--cal-slot))}.cal-rows-66{grid-template-rows:repeat(66,var(--cal-slot))}.cal-rows-67{grid-template-rows:repeat(67,var(--cal-slot))}.cal-rows-68{grid-template-rows:repeat(68,var(--cal-slot))}.cal-rows-69{grid-template-rows:repeat(69,var(--cal-slot))}.cal-rows-70{grid-template-rows:repeat(70,var(--cal-slot))}.cal-rows-71{grid-template-rows:repeat(71,var(--cal-slot))}.cal-rows-72{grid-template-rows:repeat(72,var(--cal-slot))}.cal-rows-73{grid-template-rows:repeat(73,var(--cal-slot))}.cal-rows-74{grid-template-rows:repeat(74,var(--cal-slot))}.cal-rows-75{grid-template-rows:repeat(75,var(--cal-slot))}.cal-rows-76{grid-template-rows:repeat(76,var(--cal-slot))}.cal-rows-77{grid-template-rows:repeat(77,var(--cal-slot))}.cal-rows-78{grid-template-rows:repeat(78,var(--cal-slot))}.cal-rows-79{grid-template-rows:repeat(79,var(--cal-slot))}.cal-rows-80{grid-template-rows:repeat(80,var(--cal-slot))}.cal-rows-81{grid-template-rows:repeat(81,var(--cal-slot))}.cal-rows-82{grid-template-rows:repeat(82,var(--cal-slot))}.cal-rows-83{grid-template-rows:repeat(83,var(--cal-slot))}.cal-rows-84{grid-template-rows:repeat(84,var(--cal-slot))}.cal-rows-85{grid-template-rows:repeat(85,var(--cal-slot))}.cal-rows-86{grid-template-rows:repeat(86,var(--cal-slot))}.cal-rows-87{grid-template-rows:repeat(87,var(--cal-slot))}.cal-rows-88{grid-template-rows:repeat(88,var(--cal-slot))}.cal-rows-89{grid-template-rows:repeat(89,var(--cal-slot))}.cal-rows-90{grid-template-rows:repeat(90,var(--cal-slot))}.cal-rows-91{grid-template-rows:repeat(91,var(--cal-slot))}.cal-rows-92{grid-template-rows:repeat(92,var(--cal-slot))}.cal-rows-93{grid-template-rows:repeat(93,var(--cal-slot))}.cal-rows-94{grid-template-rows:repeat(94,var(--cal-slot))}.cal-rows-95{grid-template-rows:repeat(95,var(--cal-slot))}.cal-rows-96{grid-template-rows:repeat(96,var(--cal-slot))}
.cal-lanes-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cal-lanes-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-lanes-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-lanes-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cal-lanes-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cal-lanes-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.cal-lane-1{grid-column-start:1}.cal-lane-2{grid-column-start:2}.cal-lane-3{grid-column-start:3}.cal-lane-4{grid-column-start:4}.cal-lane-5{grid-column-start:5}.cal-lane-6{grid-column-start:6}
/* OD-128: the «Календарь» page — a frosted side panel (create, small month, filters, legend) beside the board. */
.calendar-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:16px; align-items:start; min-width:0; }
.calendar-side { position:sticky; top:16px; display:flex; flex-direction:column; gap:18px; min-width:0; padding:18px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.calendar-side .calendar-create { justify-content:center; }
.calendar-mini { display:grid; gap:6px; }
.calendar-mini-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.calendar-mini-title { font-size:14px; font-weight:650; }
.calendar-mini-step { display:inline-flex; gap:2px; }
.calendar-mini-step a { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:8px; color:var(--text); font-size:17px; line-height:1; text-decoration:none; }
.calendar-mini-step a:hover { background:#fff; }
.calendar-mini-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; text-align:center; }
.calendar-mini-weekday { padding:2px 0; color:var(--muted); font-size:11px; }
.calendar-mini-day { display:grid; place-items:center; height:28px; border-radius:8px; color:var(--text); font-size:12px; text-decoration:none; }
.calendar-mini-day:hover { background:#fff; }
.calendar-mini-day.is-outside { color:#66788d; }
.calendar-mini-day.is-shown { background:rgb(40 91 158 / 10%); }
.calendar-mini-day.is-today { background:var(--accent); color:#fff; font-weight:700; }
.calendar-mini-day:focus-visible, .calendar-mini-step a:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.calendar-side-title { margin:0 0 6px; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.calendar-upcoming-list { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.calendar-upcoming-item { display:grid; gap:1px; padding:7px 10px 7px 26px; position:relative; border-radius:12px; background:rgb(255 255 255 / 55%); color:var(--text); text-decoration:none; }
.calendar-upcoming-item::before { content:""; position:absolute; left:11px; top:13px; width:8px; height:8px; border-radius:50%; background:var(--cal-tone,#8193a8); }
.calendar-upcoming-item:hover { background:#fff; }
.calendar-upcoming-item:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.calendar-upcoming-item .calendar-item-title { overflow:hidden; font-size:13px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.calendar-upcoming-item.calendar-item--milestone .calendar-item-title::before { content:"◆ "; color:var(--cal-tone); }
.calendar-upcoming-when { color:var(--muted); font-size:12px; }
.calendar-upcoming-empty { margin:0; }
.calendar-sources { display:grid; gap:6px; min-width:0; margin:0; padding:0; border:0; }
.calendar-sources legend, .calendar-side .calendar-zone { padding:0; color:var(--muted); font-size:12px; font-weight:600; }
.calendar-sources legend { margin-bottom:4px; text-transform:uppercase; letter-spacing:.06em; font-size:11px; }
.calendar-source-option { display:flex; gap:8px; align-items:center; min-height:26px; font-size:13px; cursor:pointer; }
.calendar-source-option input, .calendar-mine input { width:16px; min-width:16px; height:16px; min-height:16px; margin:0; accent-color:var(--accent); }
.calendar-side .calendar-legend { display:grid; gap:4px; padding-top:12px; border-top:1px solid var(--frost-line); }
.calendar-side .calendar-zone { font-weight:400; }
@media (max-width:1100px) {
  .calendar-layout { grid-template-columns:minmax(0,1fr); }
  .calendar-side { position:static; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); align-items:start; }
  .calendar-side .calendar-create { grid-column:1 / -1; justify-self:start; }
}
/* On a phone the board comes first; the side panel follows it. */
@media (max-width:760px) { .calendar-side { order:2; } }
@media (max-width:760px) {
  .calendar-toolbar { padding:10px 12px; }
  .calendar-meta { padding:6px 12px; }
  .calendar-title { font-size:16px; flex-basis:100%; margin:0; }
  .calendar-day { min-height:76px; padding:4px; }
  .calendar-weekdays span { padding:6px 4px; text-align:center; }
  /* A week on a phone: one list of days, every record still reachable. */
  .calendar-timegrid--week { display:block; max-height:none; overflow:visible; }
  .calendar-timegrid--week .calendar-axis { display:none; }
  .calendar-timegrid--week .calendar-day-column { display:block; border-left:0; border-bottom:1px solid var(--cal-line); padding:8px 12px; }
  .calendar-timegrid--week .calendar-day-head { position:static; justify-content:flex-start; padding:0 0 6px; border:0; background:none; }
  .calendar-timegrid--week .calendar-day-head strong { font-size:15px; }
  .calendar-timegrid--week .calendar-day-month { display:inline; text-transform:none; }
  .calendar-timegrid--week .calendar-allday { position:static; min-height:0; padding:0 0 4px; border:0; background:none; }
  .calendar-timegrid--week .calendar-allday:not(:has(li)) { display:none; }
  .calendar-timegrid--week .calendar-time { display:flex; flex-direction:column; gap:4px; padding:0; background:none; }
  .calendar-timegrid--week .calendar-day-column.is-today .calendar-time { background:none; }
  .calendar-timegrid--week .calendar-cluster { display:contents; }
  .calendar-timegrid--week .calendar-block { flex-direction:row; flex-wrap:wrap; gap:2px 6px; align-items:baseline; margin:0; padding:4px 8px; }
  .calendar-timegrid--week .calendar-block .calendar-item-title { -webkit-line-clamp:2; }
  .calendar-timegrid--week .calendar-block.is-short time { display:inline; }
  .calendar-timegrid--day { grid-template-columns:44px minmax(0,1fr); }
}
@media (max-width:560px) {
  /* Month cells too narrow for text: coloured bars; the day opens with its number or «+ ещё N». */
  .calendar-month .calendar-item { height:6px; padding:0; border-left-width:0; background:var(--cal-tone,#8193a8); font-size:0; }
  .calendar-month .calendar-item::before { display:none; }
  .calendar-band { height:6px; padding:0; font-size:0; background:var(--cal-tone,#8193a8); box-shadow:none; }
  .cal-band-1{top:32px}.cal-band-2{top:40px}
  .calendar-week.cal-bands-1 .calendar-items { margin-top:6px; }
  .calendar-week.cal-bands-2 .calendar-items { margin-top:14px; }
  .calendar-week.cal-bands-1 .calendar-day, .calendar-week.cal-bands-2 .calendar-day { min-height:84px; }
  .calendar-month .calendar-items { gap:2px; }
  .calendar-day-more { padding:0 2px; font-size:10px; }
}
.calendar-form-panel { display:grid; gap:12px; overflow-wrap:anywhere; }
/* OD-128: the event form on a frosted panel — main fields left, settings and invitees right. */
.calendar-workspace .calendar-form-panel { padding:22px 26px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 78%); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.calendar-form-panel h1 { margin:0; font-size:22px; letter-spacing:0; }
.calendar-workspace .calendar-form-panel .project-back-link { justify-self:start; color:var(--accent); text-shadow:none; font-weight:600; }
.calendar-form { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:20px 28px; align-items:start; }
.calendar-form-main, .calendar-form-side { display:grid; gap:16px; min-width:0; }
.calendar-form-side { padding:18px; border:1px solid var(--frost-line); border-radius:16px; background:rgb(255 255 255 / 50%); }
.calendar-title-field input { min-height:46px; font-size:17px; font-weight:500; }
.calendar-when { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:8px 12px; align-items:end; min-width:0; margin:0; padding:0; border:0; }
.calendar-when legend, .calendar-choice legend, .calendar-people legend, .calendar-recurrence legend { margin-bottom:6px; padding:0; color:var(--text); font-size:13px; font-weight:600; }
.calendar-when .calendar-check { min-height:var(--control); }
.calendar-when-zone { grid-column:1 / -1; margin-top:-2px; }
.calendar-check { display:inline-flex; gap:8px; align-items:center; }
.calendar-actions { grid-column:1 / -1; display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; padding-top:14px; border-top:1px solid var(--frost-line); }
.calendar-choice { display:grid; gap:0; min-width:0; margin:0; padding:0; border:0; }
/* Segments: a radio group drawn as one pill row. */
.calendar-segments, .calendar-recurrence-end { display:flex; flex-wrap:wrap; gap:2px; padding:3px; border-radius:10px; background:rgb(23 35 56 / 7%); }
.calendar-segment { position:relative; flex:1 1 auto; display:flex; }
.calendar-segment input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.calendar-segment span { flex:1; padding:6px 12px; border-radius:8px; color:#3b4760; font-size:13px; text-align:center; white-space:nowrap; }
.calendar-segment input:checked + span { background:#fff; color:var(--text); font-weight:600; box-shadow:0 1px 2px rgb(16 24 40 / 14%); }
.calendar-segment input:focus-visible + span { outline:2px solid var(--accent); outline-offset:1px; }
.calendar-options { display:grid; gap:6px; }
.calendar-option { display:flex; gap:10px; align-items:center; padding:8px 12px; border:1px solid rgb(23 35 56 / 12%); border-radius:10px; background:rgb(255 255 255 / 70%); font-size:13px; cursor:pointer; }
.calendar-option:has(input:checked) { border-color:var(--accent); background:#fff; }
.calendar-option input, .calendar-people input[type="checkbox"] { width:16px; min-width:16px; height:16px; min-height:16px; margin:0; accent-color:var(--accent); }
.calendar-people { display:grid; gap:8px; min-width:0; margin:0; padding:0; border:0; }
.calendar-people-list { display:grid; gap:2px; max-height:220px; overflow:auto; margin:0; padding:4px; border:1px solid rgb(23 35 56 / 12%); border-radius:10px; background:rgb(255 255 255 / 70%); list-style:none; }
.calendar-people-list label { display:flex; gap:10px; align-items:center; padding:6px 8px; border-radius:8px; font-size:13px; cursor:pointer; }
.calendar-people-list label:hover { background:#fff; }
.calendar-people-list li[hidden] { display:none; }
/* OD-103: recurrence, invitations and the series/occurrence choice. */
.calendar-recurrence { display:grid; gap:10px; min-width:0; margin:0; padding:0; border:0; }
.calendar-recurrence-series { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; padding:12px; border:1px solid var(--frost-line); border-radius:12px; background:rgb(255 255 255 / 45%); }
.calendar-recurrence-series > .calendar-recurrence-end, .calendar-recurrence-series > .caption, .calendar-recurrence-series > .field-error { grid-column:1 / -1; }
/* OD-128: the end of a series shows only when the event repeats. */
.calendar-recurrence:has(select[name="recurrence"] option[value="none"]:checked) .calendar-recurrence-series { display:none; }
.calendar-response { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 14px; }
.calendar-responses { margin:0 0 14px; }
.calendar-responses h3 { font-size:14px; margin:0 0 6px; }
.calendar-response-list { list-style:none; margin:0 0 6px; padding:0; display:grid; gap:6px; }
.calendar-response-list li { display:flex; justify-content:space-between; gap:12px; align-items:center; min-width:0; }
.calendar-response-list li span:first-child { overflow-wrap:anywhere; }
/* OD-118: answer this meeting or the whole series. */
.calendar-response-scope { display:flex; flex-wrap:wrap; gap:4px 14px; border:0; margin:0; padding:0; flex-basis:100%; }
.calendar-response-list li small { flex:0 0 auto; }
/* OD-119: the next portion of a column, a group or a calendar period. */
.task-more { justify-self:start; margin-top:8px; }
.task-more.is-error { color:var(--danger); }
.calendar-more { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0; padding:12px 18px 16px; }
/* OD-128: the notes at the foot of the rounded board keep clear of its corners. */
.calendar-board > .calendar-empty { margin:0; padding:12px 18px 16px; }
.calendar-board > .project-flash { margin:12px 18px; }
.calendar-recurrence-limits,.calendar-recurrence-warning { flex-basis:100%; margin:0; overflow-wrap:anywhere; }
.calendar-scope { margin:0 0 12px; }
.calendar-series-note { margin:-4px 0 12px; }
@media (max-width:900px) { .calendar-form, .calendar-recurrence-series { grid-template-columns:minmax(0,1fr); } .calendar-when { grid-template-columns:minmax(0,1fr); } .calendar-workspace .calendar-form-panel { padding:16px; } }
/* UPDATE-ROLLBACK-01: restore points and external storage settings. */
.system-restore-points,.system-restore-blockers { display:grid; gap:8px; margin:0 0 10px; padding:0; list-style:none; overflow-wrap:anywhere; }
.system-restore-point { display:grid; gap:2px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; }
.system-restore-blockers li { color:var(--muted); font-size:12px; }
.system-external-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
.system-external-wide { grid-column:1 / -1; }
.system-external-actions { display:flex; flex-wrap:wrap; gap:10px; }
.system-external-storage > .system-external-actions,.system-external-storage > .system-external-sync,.system-external-storage > .system-restore-points,.system-external-storage > .caption { margin-top:14px; }
.system-external-sync { display:grid; gap:4px; justify-items:start; }
@media (max-width:760px) { .system-external-form { grid-template-columns:minmax(0,1fr); } }
/* TASK-VIEWS-01: the mode switch wraps with the view tabs; wide boards scroll
   inside the list panel, never the page. */
.workflow-view-bar { flex-wrap:wrap; row-gap:8px; min-width:0; }
.workflow-list-surface { min-width:0; max-width:100%; }
.task-kanban,.task-planner { position:relative; width:100%; max-width:100%; min-width:0; }
.task-mode-switch { overflow-x:auto; }
/* OD-113: the activity feed. */
.activity-list { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.activity-more, .home-widget-more { margin:10px 0 0; }
/* OD-108: «+ Создать» dialog and the embedded create page. */
.quick-create-dialog { width:min(960px, calc(100vw - 32px)); height:min(860px, calc(100vh - 32px)); padding:0; border:1px solid var(--line); border-radius:16px; display:flex; flex-direction:column; overflow:hidden; }
.quick-create-dialog:not([open]) { display:none; }
.quick-create-dialog::backdrop { background:#172b3a66; }
.quick-create-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; border-bottom:1px solid var(--line); }
.quick-create-dialog-head h2 { margin:0; font-size:16px; overflow-wrap:anywhere; }
.quick-create-frame { flex:1 1 auto; width:100%; border:0; min-height:0; }
html.is-embedded .sidebar, html.is-embedded .topbar, html.is-embedded .nav-scrim, html.is-embedded .skip-link, html.is-embedded .page-header-actions { display:none !important; }
html.is-embedded .workspace { display:block; }
html.is-embedded .main-shell { margin:0; padding:0; }
html.is-embedded main { padding:12px; }
@media (max-width:760px) { .quick-create-dialog { width:100vw; height:100vh; max-width:none; max-height:none; border-radius:0; } }

/* OD-122: the one payment method picker and method badges. */
/* OD-126: the payment method picker is one compact dropdown (shared summary contract above). */
.payment-method-picker { position:relative; display:flex; flex-direction:column; gap:5px; min-width:0; margin:0; padding:0; border:0; }
.payment-method-picker>legend { float:left; width:100%; padding:0; margin:0 0 5px; font-weight:600; }
.payment-method-picker>legend+* { clear:both; }
.payment-method-dropdown { position:relative; min-width:0; max-width:420px; }
.payment-method-summary { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.payment-method-summary.is-placeholder { color:var(--muted); font-weight:400; }
.payment-method-count { flex:0 0 auto; min-width:20px; padding:0 6px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:11px; font-weight:650; text-align:center; }
.payment-method-count:empty { display:none; }
.payment-method-panel { position:absolute; z-index:24; top:calc(100% + 5px); left:0; display:flex; flex-direction:column; gap:6px; width:100%; min-width:min(280px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:var(--payment-method-panel-max-height,320px); padding:8px; border:1px solid #a9bfd3; border-radius:9px; background:#fff; box-shadow:0 12px 32px rgb(25 53 78 / 20%); }
.payment-method-dropdown.is-open-up .payment-method-panel { top:auto; bottom:calc(100% + 5px); }
.payment-method-search { flex:0 0 auto; width:100%; height:34px; min-width:0; padding:0 9px; }
.payment-method-groups { display:flex; flex-direction:column; gap:2px; min-height:0; overflow:auto; overscroll-behavior:contain; }
.payment-method-group { display:flex; flex-direction:column; min-width:0; }
.payment-method-category { display:block; padding:8px 6px 3px; color:#55718d; font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.05em; }
.payment-method-options { display:flex; flex-direction:column; min-width:0; }
.payment-method-option { display:flex; align-items:flex-start; gap:9px; min-width:0; padding:7px 6px; border-radius:6px; cursor:pointer; font-size:12px; line-height:1.35; }
.payment-method-option:hover, .payment-method-option:focus-within { background:#f4f8fc; }
.payment-method-picker .payment-method-option input { flex:0 0 16px; width:16px; min-width:16px; height:16px; min-height:16px; margin:1px 0 0; padding:0; border-radius:3px; box-shadow:none; accent-color:var(--accent); }
.payment-method-picker .payment-method-option input:focus { outline:0; box-shadow:none; }
.payment-method-picker .payment-method-option input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.payment-method-option>span { min-width:0; font-weight:500; overflow-wrap:anywhere; }
.payment-method-option.is-archived>span, .payment-method-option.is-outside>span { color:var(--muted); }
.payment-method-option[hidden], .payment-method-group[hidden] { display:none; }
.payment-method-no-match { margin:8px 6px; }
.payment-method-empty a { white-space:nowrap; }
.payment-method-picker.has-error .payment-method-dropdown>summary { border-color:var(--danger); }
.payment-method-badges { display:flex; flex-wrap:wrap; gap:4px; min-width:0; }
.payment-method-badge { display:inline-block; max-width:100%; padding:1px 8px; border:1px solid var(--line); border-radius:999px; font-size:12px; overflow-wrap:anywhere; }
.payment-method-badge.is-archived { border-style:dashed; color:var(--muted, inherit); }
.payment-method-review { display:inline-block; padding:1px 8px; border:1px solid var(--warning); border-radius:999px; background:var(--warning-soft); color:var(--warning); font-size:12px; font-weight:600; }
.payment-method-legacy { overflow-wrap:anywhere; }
.payment-method-filter { min-width:0; max-width:240px; }
.terminal-main-grid>.terminal-payment-methods-field { grid-column:1/-1; }
/* OD-129: the configurable home page — widgets in light frosted glass (OD-128), sized S (a third), M (two thirds) or L (the whole row); arrange mode and the «Настроить главную» dialog. */
.home { display:grid; gap:14px; min-width:0; }
.home-toolbar { display:flex; justify-content:flex-end; }
.home-toolbar[hidden] { display:none; }
.home-toolbar .button { gap:6px; border-color:var(--frost-edge); background:var(--frost-surface); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.home-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; min-width:0; }
.home-widget { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.home-size-S { grid-column:span 1; }
.home-size-M { grid-column:span 2; }
.home-size-L { grid-column:1 / -1; }
.home-widget-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; padding:16px 20px 8px; }
.home-widget-head h2 { margin:0; font-size:16px; font-weight:650; }
.home-widget-head .text-link { margin-left:auto; font-size:13px; }
.home-widget-body { min-width:0; max-height:460px; padding:0 12px 14px; overflow:auto; overscroll-behavior:auto; }
.home-widget-body > .empty-copy { margin:4px 8px; }
.home-widget .home-list-link { padding:8px; border-radius:10px; }
.home-widget .home-list-link:hover { background:rgb(255 255 255 / 70%); }
.home-widget .home-list-link small.is-alert { color:var(--danger); }
.home-greeting { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; padding:18px 22px; }
.home-greeting h2 { margin:2px 0 0; font-size:24px; font-weight:700; }
.home-quick { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.home-quick .button { background:var(--frost-control); }
.home-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px; }
.home-kpis.is-pair { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 8px; }
.home-kpi { display:grid; gap:2px; min-width:0; padding:14px 16px; border-radius:14px; background:rgb(255 255 255 / 55%); color:var(--text); text-decoration:none; }
.home-kpi:hover { background:#fff; }
.home-kpi strong { font-size:28px; font-weight:700; line-height:1.1; }
.home-kpi span { font-size:14px; font-weight:600; }
.home-kpi small { color:var(--muted); font-size:12px; }
.home-kpi.is-alert strong { color:var(--danger); }
.home-kpi.is-info strong { color:var(--accent); }
.home-day { display:grid; gap:0; margin:0; padding:0 8px; list-style:none; }
.home-day li { display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px; align-items:baseline; padding:7px 0; border-top:1px solid var(--frost-line); }
.home-day li:first-child { border-top:0; }
.home-day-time { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.home-day-item { position:relative; display:grid; gap:1px; min-width:0; padding-left:16px; color:var(--text); text-decoration:none; overflow-wrap:anywhere; }
.home-day-item::before { content:""; position:absolute; left:0; top:6px; width:8px; height:8px; border-radius:50%; background:var(--cal-tone,#8193a8); }
.home-day-item strong { font-size:13px; font-weight:600; }
.home-day-item small { color:var(--muted); font-size:12px; }
.home-more { display:inline-block; margin:6px 8px 0; font-size:13px; }
.home-chat { grid-template-columns:minmax(0,1fr) auto; }
.home-chat strong, .home-chat small { grid-column:1; }
.home-chat .badge { grid-column:2; grid-row:1 / span 2; align-self:center; }
.home-empty { margin:0; padding:22px; border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); text-align:center; }
/* Arrange mode (step 2). */
.home-arrange-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:14px 18px; border:1px solid var(--frost-edge); border-radius:18px; background:rgb(255 255 255 / 86%); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.home-arrange-bar[hidden] { display:none; }
.home-arrange-copy { display:grid; gap:2px; min-width:0; }
.home-arrange-actions { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.home-arrange-error { flex-basis:100%; margin:0; }
.home-widget-tools { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px 0; }
.home-widget-tools[hidden] { display:none; }
.home-handle { display:inline-grid; place-items:center; width:34px; height:30px; border:0; border-radius:8px; background:rgb(23 35 56 / 7%); color:var(--muted); letter-spacing:-2px; cursor:grab; touch-action:none; }
.home-handle:focus-visible, .home-sizes button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.home-sizes { display:inline-flex; gap:2px; padding:2px; border-radius:8px; background:rgb(23 35 56 / 7%); }
.home-sizes button { min-width:28px; height:26px; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:12px; font-weight:650; cursor:pointer; }
.home-sizes button[aria-pressed="true"] { background:#fff; color:var(--text); box-shadow:0 1px 2px rgb(16 24 40 / 14%); }
.home.is-arranging .home-widget { outline:2px dashed rgb(40 91 158 / 45%); outline-offset:-2px; }
.home.is-arranging .home-widget-body { pointer-events:none; user-select:none; }
.home.is-dragging, .home.is-dragging .home-handle { cursor:grabbing; }
.home-widget.is-dragging { opacity:.55; outline-color:var(--accent); }
/* Step 1: the dialog over the dimmed page. */
.home-dialog { width:min(480px, calc(100vw - 32px)); max-height:min(88vh, 760px); padding:0; border:1px solid var(--frost-edge); border-radius:22px; background:rgb(255 255 255 / 95%); box-shadow:0 24px 64px rgb(15 23 38 / 32%); color:var(--text); }
.home-dialog::backdrop { background:rgb(15 23 38 / 40%); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.home-dialog-form { display:flex; flex-direction:column; max-height:inherit; }
.home-dialog-form header { display:grid; gap:4px; padding:20px 22px 8px; }
.home-dialog-form h2 { margin:0; font-size:20px; }
.home-dialog-count { margin:0 22px 8px; }
.home-catalog { display:grid; gap:6px; margin:0; padding:0 14px; overflow:auto; list-style:none; }
.home-catalog-item { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--frost-line); border-radius:14px; background:#fff; cursor:pointer; }
.home-catalog-item > span { display:grid; flex:1; gap:1px; min-width:0; }
.home-catalog-item strong { font-size:14px; font-weight:600; }
.home-catalog-item small { color:var(--muted); font-size:12px; }
.home-catalog-item input { appearance:none; position:relative; flex:0 0 40px; width:40px; height:24px; margin:0; border-radius:12px; background:#c9d0dc; cursor:pointer; transition:background .15s; }
.home-catalog-item input::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgb(0 0 0 / 25%); transition:left .15s; }
.home-catalog-item input:checked { background:var(--accent); }
.home-catalog-item input:checked::after { left:19px; }
.home-catalog-item input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.home-dialog-form .field-error { margin:8px 22px 0; }
.home-dialog-actions { display:flex; gap:10px; justify-content:flex-end; padding:14px 22px 18px; border-top:1px solid var(--frost-line); margin-top:10px; }
@media (max-width:1100px) { .home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-size-M, .home-size-L { grid-column:1 / -1; } .home-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .home-grid { grid-template-columns:minmax(0,1fr); } .home-size-S { grid-column:1 / -1; } .home-quick { margin-left:0; } .home-greeting h2 { font-size:20px; } .home-day li { grid-template-columns:72px minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { .home-catalog-item input, .home-catalog-item input::after { transition:none; } }

/* OD-130: the Projects list — a frosted header, a side panel of filters and cards (default) or the registry table. */
.page-header--frost { align-items:center; margin-bottom:14px; padding:14px 20px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); color:var(--text); text-shadow:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.page-header--frost .page-header-title-row h1 { font-size:22px; }
.page-header--frost p { color:#55627a; font-size:13px; }
.projects-layout.projects-list { display:grid; grid-template-columns:264px minmax(0,1fr); gap:16px; align-items:start; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.projects-side { position:sticky; top:16px; display:flex; flex-direction:column; gap:18px; min-width:0; padding:18px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.projects-side-group { display:flex; flex-direction:column; gap:2px; min-width:0; margin:0; padding:0; border:0; }
.projects-side-group legend { padding:0 8px 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.projects-scope, .projects-check { position:relative; display:flex; align-items:center; gap:10px; min-height:36px; padding:6px 10px; border-radius:10px; color:var(--text); font-size:14px; cursor:pointer; }
.projects-scope:hover, .projects-check:hover { background:rgb(23 35 56 / 5%); }
.projects-scope input { position:absolute; opacity:0; pointer-events:none; }
.projects-scope.is-on { background:rgb(29 95 214 / 10%); font-weight:600; }
.projects-scope:has(input:focus-visible), .projects-segmented label:has(input:focus-visible) { outline:2px solid #348bcc; outline-offset:2px; }
.projects-count { margin-left:auto; color:#55627a; font-size:12px; font-weight:500; }
.projects-check input { width:16px; height:16px; margin:0; accent-color:#1d5fd6; }
.project-priority-dot { width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:#1d5fd6; }
.project-priority-dot.is-urgent { background:#c4320a; } .project-priority-dot.is-high { background:#b45309; } .project-priority-dot.is-low { background:#9aa5b8; }
.projects-segmented { display:flex; padding:3px; border-radius:12px; background:rgb(23 35 56 / 6%); }
.projects-segmented label { position:relative; flex:1 1 0; display:flex; align-items:center; justify-content:center; min-height:32px; padding:0 10px; border-radius:9px; color:#3b4760; font-size:13px; white-space:nowrap; cursor:pointer; }
.projects-segmented input { position:absolute; opacity:0; pointer-events:none; }
.projects-segmented label.is-on { background:#fff; box-shadow:0 1px 3px rgb(23 35 56 / 14%); color:var(--text); font-weight:600; }
.projects-side-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.projects-side-actions .button[hidden] { display:none; }
.projects-main { display:flex; flex-direction:column; gap:14px; min-width:0; }
.projects-layout .projects-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; min-height:0; padding:12px 16px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.projects-layout .projects-search-field { display:flex; gap:8px; flex:1 1 280px; min-width:0; }
.projects-layout .projects-search { flex:1 1 auto; width:auto; height:40px; min-height:40px; padding:0 14px; border-radius:12px; background:rgb(255 255 255 / 80%); font-size:14px; }
.projects-sort { display:flex; align-items:center; gap:8px; color:#55627a; font-size:13px; }
.projects-sort select { min-height:40px; border-radius:12px; background-color:rgb(255 255 255 / 80%); font-size:14px; }
.projects-view { flex:0 0 auto; }
.projects-layout .projects-surface { min-width:0; }
.project-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.project-cards li { display:flex; min-width:0; }
.project-card { flex:1 1 auto; display:flex; flex-direction:column; gap:12px; min-width:0; padding:18px 20px; border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); box-shadow:var(--frost-shadow); color:var(--text); text-decoration:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); transition:transform .15s ease, box-shadow .15s ease; }
.project-card:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgb(30 40 60 / 20%); color:var(--text); }
.project-card:focus { outline:2px solid #348bcc; outline-offset:3px; }
.project-card-head { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.project-tile { width:40px; height:40px; flex:0 0 40px; display:inline-grid; place-items:center; border-radius:12px; background:#1d5fd6; color:#fff; font-size:14px; font-weight:700; letter-spacing:.02em; }
.project-tile.tone-1 { background:#6a4fb3; } .project-tile.tone-2 { background:#1f8f52; } .project-tile.tone-3 { background:#b45309; }
.project-tile.tone-4 { background:#0e7490; } .project-tile.tone-5 { background:#c4320a; } .project-tile.tone-6 { background:#4c5d7a; } .project-tile.tone-7 { background:#a3367a; }
.project-card-title { display:flex; flex-direction:column; flex:1 1 auto; min-width:0; }
.project-card-title strong { overflow:hidden; color:var(--text); font-size:16px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.project-card-sub { overflow:hidden; color:#55627a; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.project-priority-chip { flex:0 0 auto; padding:3px 9px; border-radius:999px; background:#e3ecfd; color:#123a7a; font-size:11px; font-weight:600; }
.project-priority-chip.is-urgent { background:#fde4dc; color:#9a2a0a; } .project-priority-chip.is-high { background:#fdecd2; color:#8a4206; } .project-priority-chip.is-low { background:#eef1f6; color:#3b4760; }
.project-card-description { display:-webkit-box; overflow:hidden; color:#3b4760; font-size:13px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; min-height:38px; }
.project-card-description.is-empty { color:#55627a; font-style:italic; }
.project-card-progress { display:flex; flex-direction:column; gap:6px; }
.project-card-progress-line { display:flex; justify-content:space-between; gap:8px; color:#55627a; font-size:12px; }
.project-card .project-progress, .projects-table-panel .project-progress { width:100%; background:rgb(23 35 56 / 8%); }
.project-card .project-progress-bar, .projects-table-panel .project-progress-bar { background:#1f8f52; }
.project-card-foot { display:flex; align-items:center; gap:10px; padding-top:10px; border-top:1px solid var(--frost-line); }
.project-card-foot .participant-avatar, .project-card-foot .participant-overflow { border-color:#fff; }
.project-card-foot .participant-missing-label { display:none; }
.project-card-due { display:inline-flex; align-items:center; gap:5px; margin-left:auto; color:#3b4760; font-size:12px; font-weight:600; white-space:nowrap; }
.project-card-due svg { width:14px; height:14px; }
.project-card-due.is-overdue, .project-due.is-overdue { color:#c4320a; font-weight:700; }
.project-card-activity { color:#55627a; font-size:12px; }
.projects-table-panel { overflow:hidden; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 80%); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.projects-table-panel .projects-table { min-width:1120px; }
.project-row-title { display:flex; align-items:center; gap:12px; min-width:0; }
.project-row-title .project-tile { width:34px; height:34px; flex-basis:34px; border-radius:10px; font-size:12px; }
.project-access { display:inline-flex; align-items:center; gap:5px; color:#3b4760; white-space:nowrap; }
.project-access svg { width:13px; height:13px; }
.project-progress-inline { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.project-progress-inline .project-progress { width:70px; }
.projects-footer { padding:4px 6px; color:var(--shell-ink); font-size:13px; text-shadow:var(--shell-text-shadow); }
.projects-layout .projects-surface>.empty-state { min-height:260px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.projects-layout .pagination { justify-content:space-between; padding:10px 16px; border:1px solid var(--frost-edge); border-radius:16px; background:var(--frost-surface); }
@media (max-width:1100px) {
  .projects-layout.projects-list { grid-template-columns:minmax(0,1fr); }
  .projects-side { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
  .projects-side-actions { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .projects-side { grid-template-columns:minmax(0,1fr); padding:14px; }
  .project-cards { grid-template-columns:minmax(0,1fr); }
  .projects-layout .projects-toolbar { padding:10px 12px; }
  .projects-sort, .projects-view { flex:1 1 100%; }
  .projects-sort select { flex:1 1 auto; }
  .page-header--frost { padding:12px 14px; }
}
.projects-check input[type="checkbox"] { min-height:0; height:16px; flex:0 0 16px; }
.projects-side-group .projects-check, .projects-side-group .projects-scope { margin:0; }
.projects-footer { align-self:flex-start; padding:4px 12px; border:1px solid var(--frost-edge); border-radius:999px; background:var(--frost-surface); color:#3b4760; font-size:12px; text-shadow:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
/* The table needs the whole width: its filters become one row above it (approved variant 2). */
.projects-layout.is-table { grid-template-columns:minmax(0,1fr); }
.projects-layout.is-table .projects-side { position:static; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 22px; padding:12px 16px; border-radius:18px; }
.projects-layout.is-table .projects-side-group { flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px; }
.projects-layout.is-table .projects-side-group legend { float:left; padding:0 6px 0 0; }
.projects-layout.is-table .projects-scope, .projects-layout.is-table .projects-check { min-height:32px; padding:4px 10px; font-size:13px; }
.projects-layout.is-table .projects-count { margin-left:4px; }
.projects-layout.is-table .projects-segmented label { min-height:28px; }
@media (max-width:1100px) { .projects-layout.is-table .projects-side { display:flex; } }
.projects-side-toggle { display:none; }
@media (max-width:760px) {
  .projects-side.is-collapsible .projects-side-toggle { display:inline-flex; justify-content:center; width:100%; }
  .projects-side.is-collapsible:not(.is-open) > :not(.projects-side-toggle) { display:none; }
  .projects-layout.is-table .projects-side.is-collapsible:not(.is-open) { padding:10px 12px; }
}
.projects-layout .projects-footer { display:inline-block; width:max-content; max-width:100%; margin-top:12px; }

/* OD-130: the Project page — one frosted header card with the tabs, frosted overview cards, «Изменить» in a dialog. */
.project-hero { display:flex; flex-direction:column; gap:14px; margin-bottom:14px; padding:18px 22px 0; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); color:var(--text); text-shadow:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.project-hero-main { display:flex; align-items:center; gap:16px; min-width:0; }
.project-hero .project-back-link { width:38px; height:38px; flex:0 0 38px; display:inline-grid; place-items:center; margin:0; border:1px solid var(--frost-line); border-radius:11px; background:var(--frost-control); color:var(--text); text-shadow:none; }
.project-hero .project-back-link span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.project-hero .project-back-link svg { width:16px; height:16px; transform:rotate(180deg); }
.project-hero-tile { width:48px; height:48px; flex-basis:48px; border-radius:14px; font-size:17px; }
.project-hero-copy { display:flex; flex-direction:column; gap:6px; flex:1 1 auto; min-width:0; }
.project-hero-title { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; min-width:0; }
.project-hero-title h1 { margin:0; color:var(--text); font-size:24px; line-height:1.2; overflow-wrap:anywhere; }
.project-hero .project-technical-code { padding:0; border:0; background:transparent; color:#55627a; font-size:13px; }
.project-hero .project-workspace-badges { justify-content:flex-start; align-items:center; gap:6px 10px; color:#3b4760; font-size:13px; }
.project-hero .project-workspace-badges .badge { padding:3px 9px; border-radius:999px; font-size:11px; }
.project-hero-meta strong { font-weight:600; }
.project-hero-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; flex:0 0 auto; }
.project-hero-actions form { margin:0; }
.project-hero .project-tabs { margin:0 -22px; padding:0 22px; gap:4px; border:0; border-top:1px solid var(--frost-line); border-radius:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.project-hero .project-tabs a { display:inline-flex; align-items:center; gap:6px; min-height:0; padding:12px 12px 10px; border-bottom:3px solid transparent; border-radius:0; background:transparent; box-shadow:none; color:#3b4760; font-size:14px; font-weight:500; text-shadow:none; }
.project-hero .project-tabs a:hover { background:transparent; color:var(--text); }
.project-hero .project-tabs a[aria-current="page"] { border-bottom-color:#1d5fd6; background:transparent; box-shadow:none; color:#1d5fd6; font-weight:600; }
.project-hero .project-tabs a[aria-current="page"]::after { display:none; }
.project-tab-count { padding:1px 7px; border-radius:999px; background:rgb(23 35 56 / 7%); color:#3b4760; font-size:11px; font-weight:600; }
.project-tab-count.is-unread { background:#d92d20; color:#fff; }
.project-workspace .project-overview { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:14px; }
.project-workspace .project-overview-column { display:flex; flex-direction:column; gap:14px; min-width:0; }
.project-workspace .panel { border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.project-workspace .panel-heading { border-bottom:0; }
.project-task-progress { display:flex; align-items:center; gap:26px; }
.project-ring { --ring:0deg; position:relative; width:96px; height:96px; flex:0 0 96px; border-radius:50%; background:conic-gradient(#1f8f52 var(--ring), rgb(23 35 56 / 8%) 0); }
.project-ring::before { content:""; position:absolute; inset:10px; border-radius:50%; background:#fff; }
.project-ring-value { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.1; }
.project-ring-value strong { font-size:20px; }
.project-ring-value small { color:#55627a; font-size:11px; }
.project-task-breakdown { display:flex; flex-direction:column; gap:10px; flex:1 1 auto; min-width:0; }
.project-status-bar { display:flex; gap:2px; height:10px; overflow:hidden; border-radius:5px; background:rgb(23 35 56 / 8%); }
.project-status-bar span { flex:1 1 0; }
.project-status-bar .is-todo { background:#9aa5b8; } .project-status-bar .is-in_progress { background:#1d5fd6; } .project-status-bar .is-done { background:#1f8f52; }
.project-workspace .project-task-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.project-workspace .project-task-counts div { padding:10px 12px; border:1px solid var(--frost-line); border-radius:12px; background:var(--frost-control); }
.project-workspace .project-task-counts dt { display:flex; align-items:center; gap:6px; color:#55627a; font-size:12px; }
.project-workspace .project-task-counts dt::before { content:""; width:8px; height:8px; border-radius:50%; background:#9aa5b8; }
.project-workspace .project-task-counts .is-in_progress dt::before { background:#1d5fd6; } .project-workspace .project-task-counts .is-done dt::before { background:#1f8f52; }
.project-workspace .project-task-counts dd { margin:2px 0 0; font-size:22px; font-weight:700; }
.project-subheading { margin:18px 0 4px; color:#55627a; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.project-upcoming { margin:0; padding:0; list-style:none; }
.project-upcoming li { display:flex; align-items:center; gap:12px; min-height:42px; border-top:1px solid var(--frost-line); font-size:13px; }
.project-upcoming .participant-avatar { margin:0; border-color:#fff; }
.project-upcoming .text-link { flex:1 1 auto; min-width:0; overflow:hidden; color:var(--text); font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.project-upcoming-due { color:#55627a; font-size:12px; white-space:nowrap; }
.project-upcoming-due.is-overdue, .project-schedule .is-overdue { color:#c4320a; font-weight:700; }
.project-task-status { width:100px; flex:0 0 100px; padding:3px 8px; border-radius:999px; background:#eef1f6; color:#3b4760; font-size:11px; font-weight:600; text-align:center; }
.project-task-status.is-in_progress { background:#dce8fd; color:#123a7a; }
.project-schedule { display:flex; flex-direction:column; gap:8px; margin:14px 0; }
.project-schedule-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; color:#55627a; font-size:12px; }
.project-schedule-bar { position:relative; display:block; height:8px; border-radius:4px; background:rgb(23 35 56 / 8%); }
.project-schedule-bar .project-progress-bar { background:#1d5fd6; }
.project-schedule-today { position:absolute; top:-4px; width:2px; height:16px; margin-left:-1px; border-radius:1px; background:#c4320a; }
.project-workspace .project-information-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-participant-copy { display:flex; flex-direction:column; min-width:0; }
.project-participant-copy small { color:#55627a; font-size:12px; }
.project-workspace .project-participant-list li { border-bottom-color:var(--frost-line); font-size:13px; }
.project-link-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 20px 16px; }
.project-link-counts a { display:flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid var(--frost-line); border-radius:12px; background:var(--frost-control); color:var(--text); font-size:13px; text-decoration:none; }
.project-link-counts strong { margin-left:auto; }
.project-history-short { margin:0; padding:0 20px 14px; list-style:none; }
.project-history-short li { display:flex; flex-direction:column; gap:1px; padding:7px 0; border-top:1px solid var(--frost-line); font-size:13px; }
.project-history-short li span { color:#55627a; font-size:12px; }
.project-edit-dialog { width:min(640px, calc(100vw - 32px)); max-height:min(90vh, 820px); padding:0; border:1px solid var(--frost-edge); border-radius:22px; background:rgb(255 255 255 / 96%); box-shadow:0 24px 64px rgb(15 23 38 / 32%); color:var(--text); }
.project-edit-dialog::backdrop { background:rgb(15 23 38 / 42%); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.project-edit-head { display:flex; flex-direction:column; gap:2px; padding:20px 24px 6px; }
.project-edit-head h2 { margin:0; font-size:20px; }
.project-edit-dialog .project-form { padding:10px 24px 0; }
.project-edit-dialog .form-actions { display:flex; justify-content:flex-end; gap:10px; padding:14px 0; }
.project-edit-dialog .project-archive-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0; padding:14px 24px 20px; border-top:1px solid var(--frost-line); }
@media (max-width:1100px) {
  .project-hero-main { flex-wrap:wrap; }
  .project-hero-actions { width:100%; justify-content:flex-start; }
  .project-workspace .project-overview { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .project-hero { padding:14px 14px 0; }
  .project-hero .project-tabs { margin:0 -14px; padding:0 8px; }
  .project-hero-title h1 { font-size:20px; }
  .project-task-progress { flex-direction:column; align-items:stretch; }
  .project-ring { align-self:center; }
  .project-task-status { display:none; }
  .project-workspace .project-information-list { grid-template-columns:minmax(0,1fr); }
}
.project-workspace .project-overview-card .panel-heading { padding:16px 20px 4px; }
.project-workspace .project-overview-card .project-card-content { padding:8px 20px 18px; }
.project-workspace .project-description { margin:0; }
.project-history.project-history-short li { display:flex; flex-direction:column; gap:1px; padding:7px 0; border:0; border-top:1px solid var(--frost-line); }
.project-history.project-history-short li strong { color:var(--text); font-size:13px; font-weight:600; }
.project-workspace .project-participant-list { padding:4px 20px 12px; }
.project-workspace .project-participant-list li { min-height:46px; border-bottom:0; border-top:1px solid var(--frost-line); }
.project-workspace .project-participant-list .participant-avatar { width:30px; height:30px; flex:0 0 30px; margin:0; border-color:#fff; font-size:11px; }
.project-workspace .project-task-counts dt { align-items:flex-start; }
.project-workspace .project-task-counts dt::before { flex:0 0 8px; margin-top:5px; }
.project-edit-dialog .project-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 14px; }
.project-edit-dialog .project-form-name, .project-edit-dialog .client-field-wide { grid-column:1 / -1; }
@media (max-width:560px) { .project-edit-dialog .project-form-grid { grid-template-columns:minmax(0,1fr); } }
.project-hero-title .project-technical-code { display:inline; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.project-hero .project-tabs { overflow-x:auto; scrollbar-width:none; }
.project-hero .project-tabs a { flex:0 0 auto; white-space:nowrap; }

/* The top bar stands still on every page: the search block has one fixed width and only the breadcrumbs give way (ellipsis). */
.topbar .global-tools { flex:0 0 440px; width:440px; max-width:none; }
.topbar .global-tools .global-search { flex:1 1 auto; }
@media (max-width:1100px) { .topbar .global-tools { flex-basis:320px; width:320px; } }
@media (max-width:760px) { .topbar .global-tools { display:none; } }

/* OD-131: «＋ Создать ▾» — an accent button; its menu groups the actions with an icon and a hint on light frosted glass. */
/* The standard primary look (Owner 2026-10-20): one blue, 7px corners, no shadow. */
.topbar .global-tools .quick-create-trigger { display:inline-flex; align-items:center; gap:6px; min-height:38px; padding:0 12px 0 14px; -webkit-backdrop-filter:none; backdrop-filter:none; }
.quick-create-chevron { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .15s ease; }
.quick-create[open] .quick-create-chevron { transform:rotate(180deg); }
.quick-create-menu { display:flex; flex-direction:column; gap:2px; width:340px; min-width:0; max-width:calc(100vw - 32px); margin-top:8px; padding:10px; border:1px solid var(--frost-edge); border-radius:18px; background:rgb(255 255 255 / 94%); box-shadow:0 24px 60px rgb(15 23 38 / 28%); color:var(--text); text-shadow:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.quick-create-group { display:flex; flex-direction:column; gap:2px; }
.quick-create-group + .quick-create-group { margin-top:4px; padding-top:4px; border-top:1px solid var(--frost-line); }
.quick-create-group-title { padding:8px 10px 4px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.quick-create-menu .quick-create-item { display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:12px; color:var(--text); text-decoration:none; }
.quick-create-menu .quick-create-item:hover, .quick-create-menu .quick-create-item:focus-visible { background:rgb(29 95 214 / 8%); }
.quick-create-icon { width:34px; height:34px; flex:0 0 34px; display:inline-grid; place-items:center; border-radius:10px; background:#dce8fd; color:#1d5fd6; }
.quick-create-icon .icon { width:18px; height:18px; }
.quick-create-item.is-calendar .quick-create-icon { background:#e7e0f8; color:#6a4fb3; }
.quick-create-item.is-projects .quick-create-icon { background:#dcf3e5; color:#1f8f52; }
.quick-create-item.is-user .quick-create-icon { background:#fdecd2; color:#b45309; }
.quick-create-item.is-people .quick-create-icon { background:#d8eef2; color:#0e7490; }
.quick-create-item.is-files .quick-create-icon { background:#fde4dc; color:#c4320a; }
.quick-create-copy { display:flex; flex-direction:column; min-width:0; }
.quick-create-copy strong { font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.quick-create-copy small { color:#55627a; font-size:12px; }

/* OD-133: one confirmation screen — «или» and the passkey button under «Войти». */
.passkey-entry { display:grid; gap:10px; margin-top:12px; text-align:center; }
.passkey-entry[hidden] { display:none; }
.auth-divider { display:flex; align-items:center; gap:12px; color:#55627a; font-size:12px; }
.auth-divider::before, .auth-divider::after { content:""; flex:1; height:1px; background:rgb(23 35 56 / 12%); }
.button.passkey-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; font-size:14px; font-weight:600; }
.passkey-icon { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.passkey-entry .caption { margin:0; }

/* OD-134: the Tasks page — a frosted side panel of filters, a toolbar (search, Таблица | По срокам, modes) and frosted content. */
.tasks-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
.tasks-side { position:sticky; top:16px; display:flex; flex-direction:column; gap:16px; min-width:0; padding:16px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.tasks-side-group { display:flex; flex-direction:column; gap:1px; min-width:0; margin:0; padding:0; border:0; }
.tasks-side-group legend { padding:0 8px 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tasks-scope, .tasks-check { position:relative; display:flex; align-items:center; gap:8px; min-height:32px; margin:0; padding:5px 10px; border-radius:10px; color:var(--text); font-size:13px; cursor:pointer; }
.tasks-scope:hover, .tasks-check:hover { background:rgb(23 35 56 / 5%); }
.tasks-scope input, .tasks-check input, .tasks-segmented input { position:absolute; opacity:0; pointer-events:none; }
.tasks-scope.is-on, .tasks-check:has(input:checked) { background:rgb(29 95 214 / 10%); font-weight:600; }
.tasks-check.is-alert { color:#b42d0b; }
.tasks-scope:has(input:focus-visible), .tasks-check:has(input:focus-visible), .tasks-segmented label:has(input:focus-visible) { outline:2px solid #348bcc; outline-offset:2px; }
.tasks-count { margin-left:auto; color:#55627a; font-size:12px; font-weight:500; }
.tasks-more-filters > summary { width:100%; justify-content:center; }
.tasks-more-filters .workflow-filter-popover { left:0; right:auto; }
.tasks-side-toggle { display:none; }
.tasks-main { display:flex; flex-direction:column; gap:14px; min-width:0; }
.tasks-layout .workflow-command-bar.tasks-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0; padding:12px 16px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.tasks-toolbar .workflow-command-form { display:flex; flex:1 1 220px; align-items:center; gap:8px; min-width:0; margin:0; }
.tasks-toolbar .workflow-filter-search { flex:1 1 auto; min-width:0; }
.tasks-segmented { display:flex; flex:0 0 auto; padding:3px; border-radius:12px; background:rgb(23 35 56 / 6%); }
.tasks-segmented label { position:relative; display:flex; align-items:center; min-height:30px; padding:0 11px; border-radius:9px; color:#3b4760; font-size:13px; white-space:nowrap; cursor:pointer; }
.tasks-segmented label.is-on { background:#fff; box-shadow:0 1px 3px rgb(23 35 56 / 14%); color:var(--text); font-weight:600; }
.tasks-toolbar .task-mode-switch { flex:0 0 auto; }
.tasks-layout .workflow-list-surface { margin:0; overflow:hidden; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 80%); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.tasks-groups { display:flex; flex-direction:column; gap:12px; padding:12px; }
.tasks-group { overflow:hidden; border:1px solid var(--frost-line); border-radius:16px; background:rgb(255 255 255 / 70%); }
.tasks-group > h3 { display:flex; align-items:center; gap:8px; margin:0; padding:12px 16px; font-size:15px; }
.tasks-group > h3 .tasks-count { margin-left:0; padding:1px 8px; border-radius:999px; background:rgb(23 35 56 / 7%); color:#3b4760; font-weight:600; }
.tasks-group--overdue > h3 { color:#b42d0b; }
.tasks-group .task-more { margin:8px 16px 12px; }
.tasks-group-rows { margin:0; padding:0; list-style:none; }
.task-row { display:grid; grid-template-columns:22px minmax(0,1fr) 120px 160px 100px 150px; align-items:center; gap:12px; padding:10px 16px; border-top:1px solid var(--frost-line); cursor:pointer; }
.task-row:hover { background:rgb(29 95 214 / 5%); }
.task-row-done { width:16px; height:16px; border:2px solid rgb(23 35 56 / 25%); border-radius:50%; }
.task-row-done.is-done { border-color:#1f8f52; background:#1f8f52; }
.task-row-main { display:grid; grid-template-columns:8px minmax(0,1fr); align-items:center; column-gap:8px; min-width:0; }
.task-row-main .task-row-title { grid-column:2; overflow:hidden; color:var(--text); font-size:14px; font-weight:600; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.task-row-context { grid-column:2; overflow:hidden; color:#55627a; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.task-priority-dot { width:8px; height:8px; border-radius:50%; background:#1d5fd6; }
.task-priority-dot.is-urgent { background:#c4320a; } .task-priority-dot.is-high { background:#b45309; } .task-priority-dot.is-low { background:#9aa5b8; }
.task-type-chip { justify-self:start; max-width:100%; overflow:hidden; padding:3px 9px; border-radius:999px; background:#eef1f6; color:#3b4760; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.task-type-chip[data-task-type="regular"] { background:#dcf3e5; color:#14663a; }
.task-type-chip[data-task-type^="merchant"], .task-type-chip[data-task-type^="terminal"] { background:#fde4dc; color:#9a2a0a; }
.task-type-chip[data-task-type="provider_approval"] { background:#e7e0f8; color:#4b3591; }
.task-row-assignee { display:flex; align-items:center; gap:8px; min-width:0; overflow:hidden; font-size:13px; white-space:nowrap; }
.task-row-assignee .is-muted { color:#55627a; }
.task-avatar { width:26px; height:26px; flex:0 0 26px; display:inline-grid; place-items:center; border-radius:50%; background:#285b9e; color:#fff; font-size:10px; font-weight:700; }
.task-row-due { color:#3b4760; font-size:13px; white-space:nowrap; }
.task-row-due.is-overdue { color:#b42d0b; font-weight:700; }
/* The grouped rows keep the title readable: between 1101 and 1439 px the assignee shows as initials only. */
@media (min-width:1101px) and (max-width:1439px) {
  .task-row { grid-template-columns:22px minmax(0,1fr) 112px 32px 92px 140px; }
  .task-row .task-row-assignee > span:not(.task-avatar) { display:none; }
}
@media (max-width:1100px) {
  .tasks-layout { grid-template-columns:minmax(0,1fr); }
  .tasks-side { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
  .task-row { grid-template-columns:22px minmax(0,1fr) 130px 120px; }
  .task-row .task-row-assignee, .task-row .task-type-chip { display:none; }
  /* The panel is a full-width block here: «Ещё фильтры» opens in its flow,
     an absolute 620px popover would leave the screen. */
  .tasks-more-filters { grid-column:1 / -1; }
  .tasks-more-filters .workflow-filter-popover { position:static; width:auto; max-height:none; margin-top:8px; box-shadow:none; }
  /* Above the list the panel is closed until «Фильтры» is pressed. */
  .tasks-side.is-collapsible .tasks-side-toggle { display:inline-flex; grid-column:1 / -1; justify-content:center; width:100%; }
  .tasks-side.is-collapsible:not(.is-open) > :not(.tasks-side-toggle) { display:none; }
}
@media (max-width:760px) {
  .tasks-side { grid-template-columns:minmax(0,1fr); padding:12px; }
  .task-row { grid-template-columns:22px minmax(0,1fr); }
  .task-row-due, .task-row-status { grid-column:2; }
  .tasks-segmented, .tasks-toolbar .task-mode-switch { max-width:100%; overflow-x:auto; }
}
.tasks-pills { flex-direction:row; flex-wrap:wrap; align-content:flex-start; gap:6px; }
.tasks-pills legend { width:100%; }
.tasks-pills .tasks-check { min-height:28px; padding:3px 10px; border:1px solid rgb(23 35 56 / 12%); border-radius:999px; background:rgb(255 255 255 / 60%); font-size:12px; }
.tasks-pills .tasks-check:has(input:checked) { border-color:#285b9e; background:#285b9e; color:#fff; }
.task-row-main .task-row-title { white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }
.tasks-layout .task-list-table .task-type-chip { border:0; }
/* The status column holds «Ожидает выполнения» on one line with room around it. */
.tasks-layout .task-list-table th:nth-child(3) { width:16%; }
.tasks-layout .task-list-table th:nth-child(4) { width:18%; }
.tasks-layout .task-list-table th:nth-child(5) { width:11%; }
.tasks-layout .task-list-table th:nth-child(6) { width:18%; }
.tasks-layout .task-list-table .task-row-assignee { white-space:normal; }
.tasks-layout .task-list-table .task-row-assignee > span:not(.task-avatar) { min-width:0; overflow-wrap:break-word; }
.tasks-layout .task-list-table .workflow-status-cell .badge { white-space:nowrap; }
.tasks-layout .task-list-table .task-avatar { flex:none; }
/* OD-134: other task views take the whole width; the side panel folds into «Фильтры». */
.tasks-layout.is-wide { grid-template-columns:minmax(0,1fr); }
.tasks-layout.is-wide .tasks-side { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 16px; padding:12px 16px; }
.tasks-layout.is-wide .tasks-side.is-collapsible .tasks-side-toggle { display:inline-flex; justify-self:start; grid-column:1 / -1; }
.tasks-layout.is-wide .tasks-side.is-collapsible:not(.is-open) { display:flex; padding:0; border:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.tasks-layout.is-wide .tasks-side.is-collapsible:not(.is-open) > :not(.tasks-side-toggle) { display:none; }
.tasks-layout.is-wide .tasks-side-toggle { background:var(--frost-surface); }
/* OD-134: the Kanban on frosted columns; cards are dragged, «⋯» keeps the keyboard move. */
.tasks-layout .task-kanban { gap:12px; }
.tasks-layout .task-kanban-column { padding:12px; border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); transition:box-shadow .15s ease, background-color .15s ease; }
.tasks-layout .task-kanban-column.is-drop-target { background:rgb(220 243 229 / 85%); box-shadow:0 0 0 2px #1f8f52, var(--frost-shadow); }
.tasks-layout .task-kanban-column > h3 { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:14px; }
.task-kanban-dot { width:10px; height:10px; border-radius:50%; background:#9aa5b8; }
.task-kanban-column--in_progress .task-kanban-dot { background:#1d5fd6; } .task-kanban-column--needs_clarification .task-kanban-dot { background:#b45309; } .task-kanban-column--done .task-kanban-dot { background:#1f8f52; } .task-kanban-column--cancelled .task-kanban-dot { background:#55627a; }
.tasks-layout .task-kanban-cards { gap:10px; }
.tasks-layout .task-kanban-card { position:relative; display:flex; flex-direction:column; gap:6px; padding:12px 14px; border:1px solid rgb(23 35 56 / 8%); border-radius:14px; background:#fff; box-shadow:0 4px 12px rgb(30 40 60 / 8%); cursor:grab; }
.tasks-layout .task-kanban-card.is-dragging { opacity:.55; transform:rotate(-1.5deg); }
.tasks-layout .task-kanban-card.is-overdue { box-shadow:inset 3px 0 0 #c4320a, 0 4px 12px rgb(30 40 60 / 8%); }
.task-kanban-card-head { display:flex; align-items:center; gap:6px; padding-right:28px; }
.task-kanban-card-head .task-priority-dot { margin-left:auto; }
.tasks-layout .task-kanban-title { color:var(--text); font-size:14px; font-weight:600; line-height:1.35; text-decoration:none; }
.task-kanban-context { color:#55627a; font-size:12px; }
.task-kanban-foot { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:12px; color:#55627a; }
.task-kanban-due { margin-left:auto; font-weight:500; color:#3b4760; }
.task-kanban-due.is-overdue { color:#b42d0b; font-weight:700; }
.task-kanban-foot .badge { display:none; }
.task-kanban-more { position:absolute; top:8px; right:8px; }
.task-kanban-more > summary { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; color:#55627a; list-style:none; cursor:pointer; }
.task-kanban-more > summary::-webkit-details-marker { display:none; }
.task-kanban-more > summary:hover { background:rgb(23 35 56 / 6%); }
.task-kanban-more[open] .task-kanban-move { position:absolute; right:0; z-index:5; display:flex; gap:6px; width:260px; padding:8px; border:1px solid var(--frost-line); border-radius:12px; background:#fff; box-shadow:0 12px 30px rgb(15 23 38 / 22%); }
.task-kanban-more .task-kanban-move select { flex:1; min-width:0; }
.tasks-layout .task-deadline-group, .tasks-layout .task-planner-day, .tasks-layout .task-gantt { border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.tasks-layout.is-wide .tasks-side.is-collapsible:not(.is-open) .tasks-side-toggle { width:auto; min-width:140px; }
.tasks-layout .workflow-list-surface:has(.task-kanban, .task-planner, .task-deadlines, .task-gantt) { padding:0; border:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; overflow:visible; }
.tasks-layout .workflow-list-surface > .caption, .tasks-layout .workflow-list-surface > p.caption { margin:10px 4px 0; padding:6px 12px; border-radius:999px; background:var(--frost-surface); color:#3b4760; }
.tasks-layout .task-planner-day { min-height:220px; padding:10px; }
.tasks-layout .task-deadline-group { padding:10px 12px; }
.tasks-layout .task-gantt { display:grid; gap:8px; padding:14px 18px; }
.tasks-layout .task-gantt > p { margin:0; }
.tasks-layout .task-planner-nav { margin-bottom:10px; }
.tasks-layout.is-wide .tasks-side.is-collapsible:not(.is-open) { align-items:flex-start; }

/* OD-134: the task card — a frosted header card with the status switch, the work on the left, details, people and the chat on the right. */
.regular-task-card .regular-task-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 18px; margin-bottom:14px; padding:16px 22px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); color:var(--text); text-shadow:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.regular-task-hero .project-back-link { grid-column:1 / -1; margin:0; color:#285b9e; text-shadow:none; font-size:12px; }
.regular-task-hero .catalog-page-heading h1 { color:var(--text); font-size:24px; }
.regular-task-hero .catalog-page-heading p { color:#3b4760; }
.regular-task-hero .project-workspace-badges { grid-column:1 / -1; justify-content:flex-start; }
.regular-task-hero .regular-task-status-panel { grid-column:2; grid-row:2; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.regular-task-hero .regular-task-status-row { display:flex; align-items:center; gap:12px; }
.regular-task-card .regular-task-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr); gap:14px; align-items:start; }
.regular-task-card .regular-task-main, .regular-task-card .regular-task-side { display:flex; flex-direction:column; gap:14px; min-width:0; }
.regular-task-card .regular-task-panel { margin:0; border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.regular-task-card .panel-heading { border-bottom:0; }
.regular-task-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.regular-task-progress { display:block; height:6px; margin:0 20px 6px; overflow:hidden; border-radius:3px; background:rgb(23 35 56 / 8%); }
.regular-task-progress .project-progress-bar { background:#1f8f52; }
.regular-task-facts-list { display:grid; margin:0; padding:0 20px 14px; }
.regular-task-facts-list > div { display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-top:1px solid var(--frost-line); font-size:13px; }
.regular-task-facts-list dt { color:#55627a; }
.regular-task-facts-list dd { margin:0; font-weight:600; text-align:right; }
.regular-task-facts-list dd.is-overdue { color:#b42d0b; }
.regular-task-history > summary { list-style:none; cursor:pointer; }
.regular-task-history > summary::-webkit-details-marker { display:none; }
.regular-task-history > summary .panel-heading { display:flex; }
.regular-task-history > summary .panel-heading::after { content:""; width:14px; height:14px; margin-left:auto; align-self:center; background:url("dropdown-chevron.svg") center / 14px no-repeat; transition:transform .15s ease; }
.regular-task-history[open] > summary .panel-heading::after { transform:rotate(180deg); }
.regular-task-card .regular-task-chat { min-height:420px; }
.regular-task-card .regular-task-chat .chat-panel { height:min(560px, 70vh); }
@media (max-width:1100px) {
  .regular-task-card .regular-task-layout { grid-template-columns:minmax(0,1fr); }
  .regular-task-card .regular-task-hero { grid-template-columns:minmax(0,1fr); }
  .regular-task-hero .regular-task-status-panel { grid-column:1; grid-row:auto; align-items:flex-start; }
}
@media (max-width:760px) { .regular-task-pair { grid-template-columns:minmax(0,1fr); } .regular-task-card .regular-task-hero { padding:14px; } }
.regular-task-card .regular-task-side { position:static; }
.regular-task-card .regular-task-chat .chat-panel { overflow:hidden; border:1px solid var(--frost-edge); border-radius:20px; box-shadow:var(--frost-shadow); }

/* OD-132: the Terminals of a REQ-TERM task with their connection states and actions. */
.terminal-connections { padding:16px 18px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); }
.terminal-connections .panel-heading { padding:0 0 8px; border-bottom:0; }
.terminal-connections-note { margin:0 0 10px; padding:8px 12px; border-radius:10px; background:#fdecd2; color:#8a4206; font-size:13px; }
.terminal-connection-list { margin:0; padding:0; list-style:none; }
.terminal-connection { display:grid; grid-template-columns:minmax(200px,1fr) auto minmax(0,auto); gap:8px 14px; align-items:center; padding:12px 0; border-top:1px solid var(--frost-line); }
.terminal-connection-main { display:flex; flex-direction:column; gap:4px; min-width:0; }
.terminal-connection-main strong { font-size:14px; overflow-wrap:anywhere; }
.terminal-connection-comment { margin:0; color:#3b4760; font-size:12px; overflow-wrap:anywhere; }
.terminal-connection-state { justify-self:start; }
.terminal-connection-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; align-items:center; max-width:300px; }
.terminal-connection-actions:empty { display:none; }
.terminal-connection-actions form { margin:0; }
.terminal-integration-mark > summary { list-style:none; }
.terminal-integration-mark > summary::-webkit-details-marker { display:none; }
.terminal-integration-form { display:grid; gap:8px; width:min(420px, 100%); margin-top:8px; }
.terminal-connection.is-integration_needed .terminal-connection-main strong { color:#8a4206; }
.terminal-connections-help { margin:10px 0 0; }
.work-status-needs_integration { --work-status-border:#b45309; --work-status-bg:#fdecd2; --work-status-fg:#8a4206; }

/* OD-134: the Request card opened from the Tasks — a frosted header card and frosted panels. */
.request-detail-page>.request-detail-header { align-items:center; padding:3px 14px; border:1px solid var(--frost-edge); border-radius:14px; background:var(--frost-surface); box-shadow:var(--frost-shadow); color:var(--text); text-shadow:none; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.request-detail-page>.request-detail-header h1 { color:var(--text); }
@media (max-width:480px) { .request-detail-page>.request-detail-header { padding:1px 10px; } }
.request-detail-page>.request-detail-header p, .request-detail-page>.request-detail-header .project-back-link { color:#3b4760; text-shadow:none; }
.request-detail-page .panel, .request-detail-page .terminal-connections { border:1px solid var(--frost-edge); border-radius:20px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.request-detail-page h2.request-positions-title, .request-detail-page > h2 { color:var(--shell-ink); text-shadow:var(--shell-text-shadow); }

/* One line per REQ-TERM position in the task header (no stray separators in the grid). */
.workflow-task-position-method { display:block; }
.tasks-side-layout .tasks-layout-switch { width:100%; } .tasks-side-layout .tasks-layout-switch label { flex:1 1 0; justify-content:center; }
/* OD-134: in the wide task modes the folded «Фильтры» stands in the toolbar row (mockup), not on a row of its own. */
@media (min-width:901px) {
  .tasks-layout.is-wide { position:relative; }
  .tasks-layout.is-wide .tasks-side.is-collapsible:not(.is-open) { position:absolute; top:12px; left:16px; z-index:31; }
  .tasks-layout.is-wide:has(.tasks-side.is-collapsible:not(.is-open)) .tasks-toolbar { padding-left:172px; }
}

/* OD-134: the approved REQ-TERM task card — header card with the connection progress, Terminal rows in three columns. */
.workflow-task-hero-progress { display:grid; gap:6px; justify-items:end; color:#3b4760; font-size:13px; white-space:nowrap; }
.terminal-progress-bar { display:flex; gap:3px; width:180px; }
.terminal-progress-bar i { flex:1 1 0; height:7px; border-radius:4px; background:#d5dbe5; }
.terminal-progress-bar i.is-connected { background:#1f8f52; }
.terminal-progress-bar i.is-integration_needed { background:#c25a0a; }
.terminal-progress-bar i.is-integration_in_progress { background:#6a4fb3; }
.terminal-progress-bar i.is-declined { background:#b42d0b; }
.terminal-connections-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; padding:0 0 8px; }
.terminal-connections-heading h2 { margin:0; font-size:16px; }
.terminal-connection-name { font-size:15px; }
.terminal-connection-facts { color:#55627a; font-size:12px; }
.terminal-connection-decision { margin:0; color:#3b4760; font-size:12px; }
.terminal-connection-hint { flex-basis:100%; text-align:right; color:#55627a; font-size:11px; }
.terminal-connection-keys { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.terminal-connection-keys pre { flex-basis:100%; margin:0; padding:8px 10px; max-height:160px; overflow:auto; border-radius:8px; background:#f2f4f8; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; }
.terminal-connections-outcome { padding:12px 18px; }
.terminal-connections-outcome p { margin:0; color:#3b4760; font-size:13px; line-height:1.5; }
@container workflow-task-main (max-width:560px) {
  .workflow-task-hero-progress { justify-items:start; }
  .terminal-connection { grid-template-columns:minmax(0,1fr) auto; }
  .terminal-connection-actions { grid-column:1 / -1; justify-content:flex-start; max-width:none; }
  .terminal-connection-hint { text-align:left; }
}
@media (max-width:640px) {
  .terminal-connection { grid-template-columns:minmax(0,1fr) auto; }
  .terminal-connection-actions { grid-column:1 / -1; justify-content:flex-start; max-width:none; }
  .terminal-connection-hint { text-align:left; }
}

/* OD-135: the Files page — a frosted side panel (spaces, Projects, trash), a frosted path/search bar and the
   list sheet: type icons, «тип · версия» under the name, «Доступ», the row menu «⋯» and the drop zone. */
.files-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
.files-main { display:flex; flex-direction:column; gap:14px; min-width:0; }
.files-side { position:sticky; top:16px; display:flex; flex-direction:column; gap:16px; min-width:0; padding:16px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.files-side-group { display:flex; flex-direction:column; gap:2px; min-width:0; margin:0; }
.files-side-title { margin:0; padding:0 8px 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.files-side-title a { color:inherit; text-decoration:none; }
.files-side-title a:hover, .files-side-title a[aria-current="page"] { color:var(--text); text-decoration:underline; }
.files-side-link { display:flex; align-items:center; gap:10px; min-width:0; min-height:36px; padding:6px 10px; border-radius:10px; color:var(--text); font-size:14px; text-decoration:none; }
.files-side-link:hover { background:rgb(23 35 56 / 5%); }
.files-side-link.is-current { background:rgb(29 95 214 / 10%); font-weight:600; }
.files-side-link svg { width:16px; height:16px; flex:0 0 16px; fill:none; stroke:#55627a; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.files-side-link.is-current svg { stroke:#285b9e; }
.files-side-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.files-side-count { margin-left:auto; padding-left:6px; color:#55627a; font-size:12px; font-weight:500; }
.files-side-dot { width:10px; height:10px; flex:0 0 10px; border-radius:3px; background:#1f8f52; }
.files-side-dot.is-archived { background:#9aa5b8; }
.files-side-more { padding:4px 10px; color:var(--accent); font-size:13px; }
.files-side-empty, .files-side-note { margin:0; padding:2px 10px; color:#55627a; font-size:12px; line-height:1.45; }
.files-side-trash { padding-top:12px; border-top:1px solid var(--frost-line); }

.page-header--frost .files-actions { flex-wrap:nowrap; margin-left:auto; }
.page-header--frost:has(.files-new-folder[open]) { position:relative; z-index:30; }

.files-layout .files-list-panel.catalog-directory-panel { margin:0; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 80%); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.files-browser.files-list-panel.catalog-directory-panel, .files-layout .files-browser.files-list-panel.catalog-directory-panel { display:flex; flex-direction:column; gap:14px; padding:0; border:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.files-browser > .files-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0; padding:12px 16px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.files-browser .files-breadcrumbs { flex:0 1 auto; max-width:45%; flex-wrap:nowrap; gap:8px; overflow:hidden; font-size:14px; }
.files-browser .files-breadcrumbs a { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#55627a; text-decoration:none; }
.files-browser .files-breadcrumbs a[aria-current="page"] { flex-shrink:0; max-width:100%; color:var(--text); font-weight:600; }
.files-breadcrumbs-separator { flex:0 0 auto; color:#9aa5b8; }
.files-browser .files-search { position:relative; align-items:center; flex:1 1 260px; }
.files-search-field { display:flex; flex:1; align-items:center; gap:8px; min-width:0; height:40px; padding:0 14px; border:1px solid rgb(23 35 56 / 12%); border-radius:12px; background:rgb(255 255 255 / 75%); }
.files-search-field:focus-within { border-color:#348bcc; box-shadow:0 0 0 3px rgb(52 139 204 / 18%); }
.files-search-icon { width:16px; height:16px; flex:0 0 16px; fill:none; stroke:#55627a; stroke-width:2; stroke-linecap:round; }
.files-browser .files-search input { height:38px; padding:0; border:0; border-radius:0; background:transparent; outline:none; box-shadow:none; }
.files-search-submit:not(:focus-visible) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* No backdrop-filter here: it would become the containing block of the fixed row menu (desktop placement and
   the phone bottom sheet) and the scrolling table would clip it. A denser white keeps the frosted look. */
.files-sheet { min-width:0; border:1px solid var(--frost-edge); border-radius:20px; background:rgb(255 255 255 / 88%); box-shadow:var(--frost-shadow); }
.files-browser .files-access-note { display:flex; align-items:center; gap:8px; margin:0; padding:10px 18px; border-bottom:1px solid var(--frost-line); color:#3b4760; font-size:12px; }
.files-access-note svg { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:#55627a; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.files-browser .files-found-folders { margin:0; padding:10px 18px; border-bottom:1px solid var(--frost-line); }
.files-sheet .table-scroll.catalog-table-wrap { border:0; background:transparent; }
.files-browser .files-table { width:100%; table-layout:fixed; }
.files-browser .files-table th:nth-child(2) { width:90px; } .files-browser .files-table th:nth-child(3) { width:132px; }
/* «Участники проекта» fits the access column on one line (it used to end in «про…»). */
.files-browser .files-table th:nth-child(4) { width:150px; } .files-browser .files-table th:nth-child(5) { width:160px; }
.files-browser .files-table th:nth-child(6) { width:52px; }
.files-browser .files-table td { vertical-align:middle; }
.files-layout .files-name, .files-browser .files-name { display:flex; align-items:center; gap:12px; min-width:0; color:var(--text); font-weight:600; text-decoration:none; }
.files-layout .files-name:hover .files-name-text, .files-browser .files-name:hover .files-name-text { color:var(--accent); text-decoration:underline; }
.files-name-copy { display:flex; flex-direction:column; min-width:0; }
.files-name-text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.files-name-caption { color:#55627a; font-size:12px; font-weight:400; }
.files-icon { width:30px; height:30px; flex:0 0 30px; }
.files-icon--folder path { fill:#f2c45a; stroke:#d6a43a; stroke-width:1; }
.files-icon--folder.is-shared path { fill:#7aa7e8; stroke:#4f86d6; }
.files-icon .files-icon-sheet { fill:#fff; stroke:#c9d1de; }
.files-icon .files-icon-fold { fill:none; stroke:#c9d1de; }
.files-icon text { fill:#fff; font-family:inherit; }
.files-icon--pdf .files-icon-band { fill:#c4320a; } .files-icon--sheet .files-icon-band { fill:#1f8f52; }
.files-icon--doc .files-icon-band { fill:#285b9e; } .files-icon--image .files-icon-band { fill:#6a4fb3; }
.files-icon--archive .files-icon-band { fill:#55627a; } .files-icon--text .files-icon-band { fill:#3b4760; }
.files-icon--other .files-icon-band { fill:#5f6b80; }
.files-author { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.files-access-badge { display:inline-block; max-width:100%; padding:3px 9px; overflow:hidden; border-radius:999px; background:#eef1f6; color:#3b4760; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; vertical-align:middle; }
.files-access-badge.is-shared { background:#dce8fd; color:#123a7a; }
.files-access-badge.is-project { background:#dcf3e5; color:#14663a; }
.files-row-menu > summary { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px; color:#3b4760; font-size:16px; cursor:pointer; }
.files-row-menu > summary:hover, .files-row-menu[open] > summary { background:rgb(23 35 56 / 8%); color:var(--text); }
.files-row-menu .files-row-menu-body { gap:2px; width:270px; padding:6px; border:1px solid rgb(23 35 56 / 10%); border-radius:14px; background:rgb(255 255 255 / 97%); box-shadow:0 18px 44px rgb(20 30 50 / 22%); text-align:left; }
.files-menu-item { display:flex; align-items:center; gap:10px; width:100%; min-height:38px; padding:0 10px; border:0; border-radius:9px; background:transparent; color:var(--text); font:inherit; font-size:14px; font-weight:400; text-align:left; text-decoration:none; cursor:pointer; list-style:none; box-sizing:border-box; }
.files-menu-item::-webkit-details-marker { display:none; }
.files-menu-item:hover, .files-menu-item:focus-visible, .files-menu-sub[open] > .files-menu-item { background:rgb(29 95 214 / 8%); }
.files-menu-item svg { width:16px; height:16px; flex:0 0 16px; fill:none; stroke:#3b4760; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.files-menu-item.is-danger { color:#b42318; }
.files-menu-item.is-danger svg { stroke:#b42318; }
.files-menu-count { margin-left:auto; color:#55627a; font-size:12px; }
.files-menu-form { margin:0; }
.files-menu-form:not(:first-child), .files-menu-sub + .files-menu-form { margin-top:4px; padding-top:4px; border-top:1px solid rgb(23 35 56 / 8%); }
.files-menu-sub .files-inline-form { display:grid; gap:8px; padding:6px 10px 10px; }
.files-menu-sub .files-inline-form .button { justify-self:start; }
.files-drop-hint { display:flex; align-items:center; justify-content:center; gap:10px; margin:14px 18px 6px; padding:14px; border:1.5px dashed rgb(40 91 158 / 35%); border-radius:14px; color:#3b4760; font-size:13px; text-align:center; }
.files-drop-hint[hidden] { display:none; }
.files-drop-hint svg { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:#285b9e; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.files-browser.is-dragover .files-sheet { box-shadow:0 0 0 2px #285b9e, var(--frost-shadow); }
.files-browser.is-dragover .files-drop-hint, .files-browser.is-uploading .files-drop-hint { border-color:#285b9e; background:rgb(29 95 214 / 8%); color:#123a7a; }
.files-browser .pagination { padding:6px 18px 0; }
.files-browser .files-trash { margin:10px 18px 4px; }
.files-browser .files-note { margin:0; padding:10px 18px 16px; }
.files-layout .files-table td.files-empty, .files-browser .files-table td.files-empty { color:#55627a; text-align:center; }
.files-layout .files-panel-heading { padding:0 0 4px; }
@media (max-width:1100px) {
  .files-layout { grid-template-columns:minmax(0,1fr); }
  .files-side { position:static; flex-direction:row; flex-wrap:wrap; gap:10px 18px; padding:12px 14px; }
  .files-side-group { flex:1 1 220px; }
  .files-side-trash { padding-top:0; border-top:0; }
}
@media (max-width:980px) {
  /* Between the phone and the desktop the fixed columns left the name 64px:
     the change date goes first, the name gets its width. */
  .files-browser .files-table th:nth-child(3), .files-browser .files-table td:nth-child(3) { display:none; }
  .files-browser .files-table th:nth-child(4) { width:120px; }
  /* The «no files» row spans six columns while the head shows fewer: laid out
     under the table it no longer adds a phantom column that cuts the head short. */
  .files-browser .files-table tbody:has(>tr>td.files-empty) { display:table-caption; caption-side:bottom; }
  .files-browser .files-table tbody:has(>tr>td.files-empty) :is(tr,td) { display:block; }
}
@media (max-width:760px) {
  .files-browser .files-table th:nth-child(5), .files-browser .files-table td:nth-child(5) { display:table-cell; }
  .files-browser .files-table th:nth-child(4), .files-browser .files-table td:nth-child(4), .files-browser .files-table th:nth-child(3), .files-browser .files-table td:nth-child(3) { display:none; }
  .files-browser .files-table th:nth-child(5) { width:104px; } .files-browser .files-table th:nth-child(6) { width:44px; }
  .files-name-text { white-space:normal; overflow-wrap:anywhere; }
  .files-browser .files-breadcrumbs { max-width:100%; flex-basis:100%; }
  .files-browser > .files-toolbar { padding:10px 12px; }
  .files-drop-hint { display:none; }
  .page-header--frost .files-actions { flex-wrap:wrap; margin-left:0; }
  .files-row-menu .files-row-menu-body { width:auto; }
  /* Phones: spaces and Projects become scrollable rows of pills, the list stays near the top. */
  .files-side { flex-direction:column; flex-wrap:nowrap; gap:8px; padding:10px; }
  .files-side-group { flex:0 0 auto; flex-direction:row; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; }
  .files-side-group::-webkit-scrollbar { display:none; }
  .files-side-title { flex:0 0 auto; padding:0 4px 0 2px; }
  .files-side-link { flex:0 0 auto; min-height:34px; padding:5px 12px; border:1px solid rgb(23 35 56 / 10%); border-radius:999px; background:rgb(255 255 255 / 60%); font-size:13px; }
  .files-side-label { max-width:180px; }
  .files-side-note, .files-side-empty { display:none; }
  .files-side-trash:not(:has(.files-side-link)) { display:none; }
}

/* OD-136: the Chats page as a messenger on frosted glass — a list panel (search, «Задачи / Проекты» with unread
   counts, «Активные / Завершённые / Все» chips, rows with a kind icon, last message, «@» and unread badges) and the
   conversation: a header with status and link, bubbles with the author's initials, day separators. The list panel
   is frosted; the conversation is a dense sheet without backdrop-filter (fixed descendants stay viewport-relative). */
.chat-workspace { display:grid; grid-template-columns:minmax(280px,340px) minmax(0,1fr); gap:14px; height:calc(100dvh - 202px); min-height:340px; }
.chat-list-column { display:flex; flex-direction:column; gap:8px; min-width:0; min-height:0; padding:12px 8px 8px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.chat-list-search { position:relative; display:flex; align-items:center; margin:0 4px; }
.chat-list-search .chat-icon { position:absolute; left:11px; width:15px; height:15px; color:#7a8599; pointer-events:none; }
.chat-list-search input { width:100%; height:34px; padding:0 10px 0 33px; border:1px solid rgb(23 35 56 / 12%); border-radius:10px; background:rgb(255 255 255 / 85%); color:#172338; font:inherit; font-size:13px; }
.chat-tabs { display:flex; gap:2px; margin:0 4px; padding:3px; border-radius:10px; background:rgb(23 35 56 / 7%); }
.chat-tab { flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:center; gap:6px; height:28px; border-radius:8px; color:#3b4760; font-size:12px; text-decoration:none; white-space:nowrap; }
.chat-tab .chat-icon { flex:none; width:14px; height:14px; }
.chat-tab:hover { background:rgb(255 255 255 / 55%); color:#172338; }
.chat-tab.is-active { background:#fff; color:#172338; font-weight:600; box-shadow:0 1px 3px rgb(20 30 55 / 12%); }
.chat-tab-count,.chat-unread,.chat-mention-badge { flex:none; min-width:18px; height:18px; padding:0 5px; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:var(--accent); color:#fff; font-size:10px; font-weight:700; line-height:1; }
.chat-tab:not(.is-active) .chat-tab-count { background:#7a8599; }
.chat-mention-badge { background:#c2410c; }
.chat-tab-count[hidden],.chat-unread[hidden],.chat-mention-badge[hidden] { display:none; }
.chat-state-switch { display:flex; flex-wrap:wrap; gap:6px; margin:0 4px; }
.chat-state-option { display:inline-flex; align-items:center; height:24px; padding:0 9px; border:1px solid rgb(23 35 56 / 14%); border-radius:999px; background:rgb(255 255 255 / 60%); color:#3b4760; font-size:12px; text-decoration:none; white-space:nowrap; }
.chat-state-option:hover { background:#fff; color:#172338; }
.chat-state-option.is-active { border-color:var(--accent); background:var(--accent); color:#fff; }
.chat-list { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:2px; margin:0; padding:2px 0 0; list-style:none; overflow:auto; overscroll-behavior:contain; }
.chat-list-item { display:flex; align-items:flex-start; gap:10px; padding:8px 10px; border-radius:12px; color:#172338; text-decoration:none; }
.chat-list-item:hover { background:rgb(255 255 255 / 60%); }
.chat-list-item.is-selected { background:rgb(29 95 214 / 10%); box-shadow:inset 3px 0 0 var(--accent); }
.chat-list-avatar { flex:none; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; background:#e6eefb; color:#285b9e; }
.chat-list-avatar .chat-icon { width:16px; height:16px; }
.chat-list-avatar.is-request { background:#fdf0e1; color:#b45309; }
.chat-list-avatar.is-project { background:#e5f4ec; color:#1f7a4d; }
.chat-list-body { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.chat-list-top,.chat-list-bottom { display:flex; align-items:center; gap:8px; min-width:0; }
.chat-list-title { flex:1 1 auto; min-width:0; overflow:hidden; font-size:13px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.chat-list-item.has-unread .chat-list-title { font-weight:700; }
.chat-list-time { flex:none; color:#55627a; font-size:11px; }
.chat-list-preview { flex:1 1 auto; min-width:0; overflow:hidden; color:#3b4760; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.chat-list-preview b { font-weight:600; }
.chat-list-meta { overflow:hidden; color:#55627a; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.chat-list-empty { padding:24px 16px; color:#55627a; text-align:center; }
.chat-workspace .chat-panel.workflow-task-chat { height:100%; min-height:0; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 86%); box-shadow:var(--frost-shadow); }
.chat-workspace .chat-panel.workflow-task-chat>header { min-height:0; padding:10px 16px; border-bottom:1px solid var(--frost-line); background:transparent; }
.chat-panel-header--rich { justify-content:flex-start; gap:12px; }
.chat-panel-header--rich .chat-list-avatar { width:36px; height:36px; }
.chat-panel-heading { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:3px; }
.chat-workspace .chat-panel-heading h2 { margin:0; overflow:hidden; color:#172338; font-size:15px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.chat-panel-meta { display:flex; align-items:center; gap:8px; min-width:0; color:#55627a; font-size:11px; white-space:nowrap; }
.chat-panel-meta-text { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.chat-status { flex:none; display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:999px; background:#e6eefb; color:#285b9e; font-size:11px; font-weight:600; }
.chat-status.is-completed,.chat-status.is-done,.chat-status.is-active { background:#e5f4ec; color:#1f7a4d; }
.chat-status.is-cancelled,.chat-status.is-archived,.chat-status.is-todo { background:#eef0f3; color:#55627a; }
.chat-status.is-needs_clarification,.chat-status.is-needs_integration { background:#fdf0e1; color:#b45309; }
.chat-panel-open { flex:none; display:inline-flex; align-items:center; gap:8px; }
.chat-panel-open .chat-icon { width:15px; height:15px; }
.chat-workspace .workflow-task-chat-timeline { gap:10px; padding:14px 18px 10px; background:transparent; background-image:none; }
.chat-workspace .workflow-task-chat-day { width:100%; color:#55627a; font-size:11px; font-weight:600; }
.chat-workspace .workflow-task-message { max-width:min(74%,620px); min-width:0; padding:7px 11px 6px; border-color:rgb(23 35 56 / 8%); border-radius:14px 14px 14px 4px; box-shadow:0 1px 2px rgb(20 30 55 / 6%); }
.chat-workspace .workflow-task-message:not(.is-own) { margin-left:36px; }
.chat-workspace .workflow-task-message.is-own { border-color:rgb(40 91 158 / 18%); border-radius:14px 14px 4px 14px; background:#dfeafb; }
.chat-workspace .workflow-task-message.is-deleted { background:#f2f4f6; }
.chat-workspace .workflow-task-message-head>strong { color:#28577f; font-size:11px; }
.chat-workspace .workflow-task-message-body { margin:2px 0 1px; color:#172338; font-size:13px; line-height:1.45; }
.chat-workspace .workflow-task-message blockquote { margin:2px 0 6px; padding:5px 9px; border-left:3px solid var(--accent); border-radius:6px; background:rgb(40 91 158 / 7%); font-size:11px; }
.chat-workspace .workflow-task-message footer { font-size:10px; }
.chat-workspace .workflow-task-message-files a { font-size:12px; font-weight:600; }
.chat-workspace .workflow-task-message-files small { font-size:10px; }
.chat-message-avatar { display:none; }
.chat-workspace .chat-message-avatar { position:absolute; left:-36px; bottom:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#285b9e; color:#fff; font-size:11px; font-style:normal; font-weight:700; }
.chat-message-avatar.tone-1 { background:#7c5cc4; }
.chat-message-avatar.tone-2 { background:#1f7a4d; }
.chat-message-avatar.tone-3 { background:#c2410c; }
.chat-message-avatar.tone-4 { background:#0e7490; }
.chat-message-avatar.tone-5 { background:#9d174d; }
/* Every chat: actions as an icon toolbar over the bubble, files as cards, mentions highlighted in the text. */
.workflow-task-message { position:relative; }
.workflow-task-message-actions { position:absolute; top:-15px; right:8px; z-index:2; flex-wrap:nowrap; gap:2px; padding:3px; border:1px solid rgb(23 35 56 / 8%); border-radius:10px; background:#fff; box-shadow:0 6px 18px rgb(20 30 55 / 18%); transition:opacity .12s; }
.workflow-task-message-actions:empty { display:none; }
.workflow-task-message-actions button { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; color:#3b4760; }
.workflow-task-message-actions button:hover,.workflow-task-message-actions button:focus-visible { background:rgb(29 95 214 / 10%); color:var(--accent); text-decoration:none; }
.workflow-task-message-actions button.is-danger { color:#b42318; }
.workflow-task-message-actions .chat-icon { width:15px; height:15px; }
.chat-mention { padding:0 3px; border-radius:5px; background:rgb(40 91 158 / 10%); color:var(--accent); font-weight:600; }
.workflow-task-message-files li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; padding:7px 9px; border:1px solid rgb(23 35 56 / 8%); border-radius:12px; background:rgb(23 35 56 / 4%); }
.workflow-task-message-files a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat-file-icon { display:flex; align-items:center; justify-content:center; width:28px; height:32px; border-radius:7px; background:#e6eefb; color:#285b9e; }
.chat-file-icon .chat-icon { width:16px; height:16px; }
.workflow-task-chat-file .chat-icon,.workflow-task-chat-at .chat-icon,.workflow-task-chat-send .chat-icon { width:18px; height:18px; }
.workflow-task-chat-composer-row.has-mention-button { grid-template-columns:var(--task-chat-control-height) minmax(0,1fr) var(--task-chat-control-height) var(--task-chat-control-height); }
.workflow-task-chat-composer-row.has-mention-button.no-file-button { grid-template-columns:minmax(0,1fr) var(--task-chat-control-height) var(--task-chat-control-height); }
.workflow-task-chat-at { box-sizing:border-box; width:var(--task-chat-control-height); height:var(--task-chat-control-height); align-self:end; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid transparent; border-radius:9px; background:transparent; color:#55627a; cursor:pointer; }
.workflow-task-chat-at:hover,.workflow-task-chat-at:focus-visible { border-color:rgb(128 151 177 / 55%); background:#f7f9fc; color:var(--accent); }
.workflow-task-chat-hint { color:var(--muted); font-size:10px; text-align:right; }
.chat-workspace .workflow-task-chat-composer { --task-chat-control-height:38px; gap:4px; padding:8px 14px 10px; border-top:0; background:transparent; box-shadow:none; }
.chat-workspace .workflow-task-chat-composer-row { padding:4px; border:1px solid rgb(23 35 56 / 12%); border-radius:14px; background:#fff; box-shadow:0 2px 8px rgb(20 30 55 / 6%); }
.chat-workspace .workflow-task-chat-composer textarea { padding:9px 10px; border-color:transparent; font-size:13px; }
/* The whole composer row shows the focus (below); the field itself draws no second ring (global :focus-visible). */
.chat-workspace .workflow-task-chat-composer textarea:focus,.chat-workspace .workflow-task-chat-composer textarea:focus-visible { border-color:transparent; outline:0; box-shadow:none; }
.chat-workspace .workflow-task-chat-composer-row:focus-within { border-color:#348bcc; box-shadow:0 0 0 3px rgb(52 139 204 / 14%); }
.chat-workspace .workflow-task-chat-file { border-color:transparent; background:transparent; }
.chat-workspace .workflow-task-chat-send { border-radius:12px; }
.chat-workspace .chat-panel-empty { height:100%; box-sizing:border-box; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:rgb(255 255 255 / 86%); box-shadow:var(--frost-shadow); color:#55627a; }
.chat-workspace .chat-panel-empty h2 { margin:6px 0 0; color:#172338; font-size:15px; }
.chat-empty-icon { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px; background:#e6eefb; color:#285b9e; }
.chat-empty-icon .chat-icon { width:26px; height:26px; }
.chat-workspace .chat-readonly { padding:12px 20px; border-top:1px solid var(--frost-line); }
@media (max-width:1100px) {
  .chat-workspace { grid-template-columns:minmax(250px,300px) minmax(0,1fr); }
}
/* Owner 2026-10-28: on a desktop the Chats page content (its header and the workspace) is shown at 75%,
   like the approved mockup; the sidebar and the top bar keep their size. The workspace still reaches the
   bottom of the window: its height is the rendered free height divided by the zoom. */
@media (min-width:761px) {
  main:has(.chat-workspace)>[data-page-header],.chat-workspace { zoom:.75; }
  .chat-workspace { height:calc((100dvh - 182px) / .75); min-height:453px; }
  /* At 75% the separate hint line would be too small: the Chats page shows it in the empty field instead. */
  .chat-workspace .workflow-task-chat-hint { display:none; }
}
@media (max-width:760px) {
  .chat-workspace { grid-template-columns:minmax(0,1fr); height:auto; min-height:0; }
  .chat-list { max-height:44dvh; }
  .chat-workspace .chat-conversation-column { min-height:72dvh; }
  .chat-workspace .workflow-task-chat-timeline { padding:14px 12px 10px; }
  .chat-workspace .workflow-task-message { max-width:86%; }
  .chat-workspace .chat-panel.workflow-task-chat>header { padding:12px 14px; }
  .chat-workspace .workflow-task-chat-composer { padding:8px 10px 10px; }
  .chat-workspace .workflow-task-chat-hint { display:none; }
  .chat-workspace .chat-panel-open { width:40px; height:40px; justify-content:center; padding:0; }
  .chat-workspace .chat-panel-open-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}
.chat-workspace .workflow-task-chat-timeline>:first-child { margin-top:auto; }
.chat-workspace .workflow-task-message.is-own .workflow-task-message-head>strong { display:none; }
/* OD-137: reactions under a message, quick reactions in the hover toolbar, the emoji panel (every chat). */
.chat-reactions { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }
.chat-reactions:empty { display:none; }
.chat-reaction,.chat-reaction-add { display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 8px; border:1px solid rgb(23 35 56 / 12%); border-radius:999px; background:#fff; color:#3b4760; font:inherit; font-size:12px; font-weight:600; line-height:1; cursor:pointer; }
.chat-reaction:hover,.chat-reaction:focus-visible { border-color:var(--accent); }
.chat-reaction.is-mine { border-color:var(--accent); background:#dfeafb; color:var(--accent); }
.workflow-task-message.is-own .chat-reaction.is-mine { background:#fff; }
.chat-reaction:disabled { cursor:default; }
.chat-reaction-add { padding:0 7px; border-style:dashed; border-color:rgb(23 35 56 / 25%); background:transparent; color:#55627a; font-weight:400; }
.chat-reaction-add:hover,.chat-reaction-add:focus-visible { border-color:var(--accent); color:var(--accent); }
.workflow-task-message:not(.is-own) .workflow-task-message-actions { right:auto; left:8px; }
.workflow-task-message-actions { top:-30px; }
.workflow-task-chat-timeline,.chat-workspace .workflow-task-chat-timeline { padding-top:30px; }
.chat-quick-reactions { display:flex; align-items:center; gap:1px; margin-right:3px; padding-right:4px; border-right:1px solid rgb(23 35 56 / 12%); }
.workflow-task-message-actions .chat-quick-reaction { font-size:17px; line-height:1; }
.workflow-task-message-actions .chat-quick-more { color:var(--accent); font-size:15px; font-weight:700; }
.workflow-task-chat-emoji { font-size:19px; line-height:1; }
.workflow-task-chat-composer-row.has-mention-button { grid-template-columns:var(--task-chat-control-height) minmax(0,1fr) var(--task-chat-control-height) var(--task-chat-control-height) var(--task-chat-control-height); }
.workflow-task-chat-composer-row.has-mention-button.no-file-button { grid-template-columns:minmax(0,1fr) var(--task-chat-control-height) var(--task-chat-control-height) var(--task-chat-control-height); }
.emoji-picker { position:fixed; left:var(--emoji-picker-x,8px); top:var(--emoji-picker-y,8px); z-index:1000; display:flex; flex-direction:column; gap:8px; width:min(344px,calc(100vw - 16px)); height:380px; box-sizing:border-box; padding:12px; border:1px solid rgb(23 35 56 / 8%); border-radius:18px; background:#fff; box-shadow:0 18px 50px rgb(20 30 55 / 28%); color:#172338; }
.emoji-picker-head { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; }
.emoji-picker-head span { color:#55627a; font-size:11px; }
.emoji-picker-search { height:34px; padding:0 10px; border:1px solid rgb(23 35 56 / 14%); border-radius:10px; color:#172338; font:inherit; font-size:13px; }
.emoji-picker-search:focus { border-color:#348bcc; outline:0; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
.emoji-picker-body { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; }
.emoji-picker-section h3 { margin:6px 2px 4px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.emoji-picker-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:2px; }
.emoji-picker-item { height:36px; padding:0; border:0; border-radius:8px; background:transparent; font-size:21px; line-height:1; cursor:pointer; }
.emoji-picker-item:hover,.emoji-picker-item:focus-visible { background:rgb(29 95 214 / 10%); outline:0; }
.emoji-picker-tabs { display:flex; justify-content:space-between; padding-top:6px; border-top:1px solid rgb(23 35 56 / 8%); }
.emoji-picker-tabs[hidden] { display:none; }
.emoji-picker-tab { width:30px; height:28px; padding:0; border:0; border-radius:8px; background:transparent; font-size:16px; line-height:1; cursor:pointer; }
.emoji-picker-tab:hover,.emoji-picker-tab:focus-visible { background:rgb(29 95 214 / 10%); }
.emoji-picker-empty { margin:24px 0; color:#55627a; font-size:13px; text-align:center; }
@media (max-width:560px) {
  .chat-quick-reaction:nth-child(n+6):not(.chat-quick-more) { display:none; }
}
/* Owner 2026-10-28: a focused text field shows ONE quiet ring — its border colour and a soft halo — instead of the
   outline plus halo of the global :focus-visible (buttons, links and checkboxes keep it for keyboard users). Fields
   inside a wrapper that lights up itself (the Chats composer row, the Files search) keep their own rules. */
:where(input:not([type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="color"],[type="submit"],[type="button"],[type="reset"],[type="image"]),textarea,select):focus-visible { outline:0; border-color:#348bcc; box-shadow:0 0 0 3px rgb(52 139 204 / 15%); }
/* On the glass top bar: a light border and a soft light halo, no white outline. */
.topbar :where(input,textarea,select):focus-visible { outline:0; border-color:rgb(255 255 255 / 75%); box-shadow:0 0 0 3px rgb(255 255 255 / 22%); }

/* OD-141: sign-in on the light streams: the logo and the organization name on the left, the form as white liquid glass. */
body[data-section="auth"] { --workspace-image:url('./auth-background.svg'); background-color:#dfeaf6; }
.auth-organization { margin:0; color:#2c4264; font-size:13px; text-align:center; overflow-wrap:anywhere; }
.auth-layout .auth-card { border-color:rgb(255 255 255 / 90%); background:linear-gradient(150deg,rgb(255 255 255 / 62%),rgb(255 255 255 / 30%) 50%,rgb(255 255 255 / 44%)); box-shadow:inset 0 2px 0 #fff,inset 0 0 40px rgb(255 255 255 / 35%),0 30px 70px rgb(40 76 120 / 28%); -webkit-backdrop-filter:blur(14px) saturate(190%); backdrop-filter:blur(14px) saturate(190%); }
.auth-layout .auth-card input:not(.totp-control>input),.auth-layout .totp-cell { background:rgb(255 255 255 / 66%); }
.auth-layout--split .auth-branding { margin-bottom:8px; text-align:center; }
.auth-layout--split .auth-organization { font-size:14px; }
.auth-layout--split .auth-heading { margin-top:4px; }
.auth-layout--split .auth-brand .brand-logo-image + .brand-word { display:none; }
.auth-layout--split .auth-brand .brand-logo-image { height:48px; }
@media (min-width:961px) {
 .auth-layout--split { grid-template-columns:minmax(0,1fr) var(--auth-card-width); column-gap:clamp(48px,8vw,120px); padding-inline:clamp(40px,10vw,150px); }
 .auth-layout--split[data-auth-stage="enrollment"] { grid-template-columns:minmax(0,1fr) var(--auth-enrollment-width); }
 .auth-layout--split .auth-branding { gap:14px; justify-self:center; margin:0; }
 .auth-layout--split .auth-brand { gap:14px; }
 .auth-layout--split .auth-brand .brand-mark { width:60px; height:60px; border-radius:16px; }
 .auth-layout--split .auth-brand .brand-mark svg { width:30px; height:30px; }
 .auth-layout--split .auth-brand .brand-logo-image { width:auto; height:72px; max-width:320px; max-height:none; object-fit:contain; }
 .auth-layout--split .auth-brand .brand-word { font-size:54px; letter-spacing:-1.6px; }
 .auth-layout--split .auth-brand .brand-mark + .brand-word { display:flex; }
 .auth-layout--split .auth-organization { font-size:17px; }
 .auth-layout--split .auth-preview-note { grid-column:2; }
}

/* OD-144: Providers and Terminals in the approved frost frame. */
.provider-page-head { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; margin-bottom:12px; padding:14px 22px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.provider-page-head h1 { margin:0; color:var(--text); font-size:22px; line-height:1.2; }
.provider-page-head p { margin:2px 0 0; color:#55627a; font-size:13px; }
.provider-page-head .merchant-account-crumbs { margin-bottom:4px; }
.provider-form-head .client-form-actions { display:flex; gap:8px; margin:0; padding:0; border:0; }
.provider-workspace,.provider-form-workspace,.provider-directory-workspace { display:flex; flex-direction:column; gap:12px; min-width:0; }
.provider-table-sub { display:block; color:#55627a; font-size:12px; }
.provider-no-contract { color:#8a5a00; }
.provider-row-sub { margin-top:10px !important; }
.provider-row-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,.9fr) auto; }
.provider-table th:nth-child(1) { width:auto; }
.provider-table th:nth-child(2) { width:15%; }
.provider-table th:nth-child(3) { width:20%; }
.provider-table th:nth-child(4) { width:92px; }
.provider-table th:nth-child(5) { width:112px; }
.provider-table th:nth-child(6) { width:104px; }
.provider-table th:nth-child(7) { width:92px; }
.provider-card { min-width:0; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.provider-card-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:12px 18px 10px; }
.provider-card-head h2 { margin:0; color:var(--text); font-size:15px; }
.provider-card-head>span { color:#55627a; font-size:13px; }
.provider-card-head>a { margin-left:auto; }
.provider-card-head>a:not(.button) { font-size:13px; }
.provider-card-empty { margin:0; padding:4px 18px 14px; color:#55627a; font-size:13px; }
.provider-card-note { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:9px 18px; border-top:1px solid var(--frost-line); color:#55627a; font-size:13px; }
.provider-card-toolbar { display:flex; align-items:center; gap:10px; padding:10px 18px; }
.provider-card-toolbar input[type="search"],.provider-card-toolbar input:not([type]) { flex:1; min-width:0; height:38px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:var(--frost-control); font:inherit; font-size:14px; }
.provider-card-toolbar select { height:38px; max-width:200px; padding:0 10px; border:1px solid var(--line); border-radius:9px; background:var(--frost-control); font:inherit; font-size:14px; color:var(--text); }
.provider-segment { display:inline-flex; flex:0 0 auto; padding:3px; border-radius:10px; background:rgb(40 91 158 / 10%); }
.provider-segment a { display:inline-flex; align-items:center; height:30px; padding:0 12px; border-radius:8px; color:#33415c; font-size:13px; text-decoration:none; white-space:nowrap; }
.provider-segment a[aria-current="true"] { background:#fff; box-shadow:0 1px 3px rgb(23 35 56 / 16%); color:#1d3f6e; font-weight:600; }
.provider-history-financial { display:inline-flex; align-items:center; gap:8px; font-size:14px; }
.provider-overview-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:12px; align-items:start; min-width:0; }
.provider-overview-main { display:flex; flex-direction:column; gap:12px; min-width:0; }
.provider-terminal-compact th,.provider-terminal-compact td { padding-inline:10px; font-size:13px; }
.provider-terminal-compact tr>:first-child { padding-left:18px; }
.provider-row-off,.provider-row-off .project-name-link { color:#7a8699; }
.provider-dot { display:inline-flex; align-items:center; gap:6px; color:#33415c; font-size:12px; white-space:nowrap; }
.provider-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#137a43; }
.provider-dot.is-off::before { background:#9aa6b8; }
.provider-task-lines { margin:0; padding:0; list-style:none; }
.provider-task-lines li { display:grid; grid-template-columns:138px minmax(0,1fr) 92px 52px; gap:10px; align-items:center; min-height:38px; padding:4px 18px; border-top:1px solid var(--frost-line); font-size:13px; }
.provider-task-lines span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.provider-task-lines time { color:#55627a; }
.provider-comment { padding:10px 18px; font-size:13px; }
.provider-comment>span { color:#55627a; font-size:12px; }
.provider-comment p { margin:2px 0 0; overflow-wrap:anywhere; }
.provider-info { display:flex; flex-direction:column; padding:4px 18px 10px; font-size:13px; }
.provider-info>section { padding:9px 0 8px; border-top:1px solid var(--frost-line); }
.provider-info>section:first-child { border-top:0; }
.provider-info h2 { margin:0 0 5px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.provider-info dl { display:grid; gap:3px; margin:0; }
.provider-info dl>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px; }
.provider-info dt { color:#55627a; font-size:12.5px; font-weight:400; }
.provider-info dd { min-width:0; margin:0; overflow-wrap:anywhere; }
.provider-document-list { margin:0; padding:0; list-style:none; }
.provider-document { display:grid; grid-template-columns:34px minmax(0,1fr) auto 40px; gap:12px; align-items:start; padding:9px 18px; border-top:1px solid var(--frost-line); font-size:14px; }
.provider-document.is-primary { background:rgb(40 91 158 / 5%); }
.provider-document-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:rgb(40 91 158 / 12%); color:#285b9e; }
.provider-document-name { min-width:0; }
.provider-document-name a { display:block; overflow:hidden; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.provider-document-name small { display:block; color:#55627a; font-size:12px; }
.provider-document-version { color:#55627a; font-size:13px; line-height:34px; }
.provider-document-versions summary { color:#1d5fd6; font-size:13px; line-height:34px; cursor:pointer; }
.provider-document-versions[open] { grid-column:3 / 3; }
.provider-document-versions ul { position:relative; margin:0; padding:4px 0 6px; list-style:none; font-size:13px; }
.provider-document-versions li { display:grid; grid-template-columns:72px minmax(120px,1fr) 118px; gap:10px; min-height:26px; align-items:center; }
.provider-document-versions small { color:#55627a; }
.provider-document-more .merchant-account-more-menu { display:grid; gap:8px; width:240px; }
.provider-document-more>summary { width:34px; padding:0; justify-content:center; }
.provider-request-strip { display:flex; align-items:center; gap:12px; min-width:0; padding:9px 18px; border:1px solid var(--frost-edge); border-radius:18px; background:var(--frost-surface); box-shadow:var(--frost-shadow); font-size:13px; -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.provider-request-strip strong { font-weight:600; }
.provider-request-strip>a,.provider-request-strip>.terminal-creation-request-unavailable { margin-left:auto; }
.terminal-creation-request-number { color:#55627a; }
.terminal-table th:nth-child(2) { width:20%; }
.terminal-table th:nth-child(3) { width:64px; }
.terminal-table th:nth-child(4) { width:112px; }
.terminal-table th:nth-child(5) { width:136px; }
.terminal-table th:nth-child(6) { width:44px; }
.terminal-table th:nth-child(7) { width:96px; }
.terminal-table th:nth-child(8) { width:88px; }
.terminal-row-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.1fr); }
.terminal-row-grid .button { margin-top:6px; }
.terminal-row-list { display:grid; gap:1px; margin:0; }
.terminal-row-list>div { display:grid; grid-template-columns:96px minmax(0,1fr); gap:8px; }
.terminal-row-list dt { color:#55627a; font-weight:400; }
.terminal-row-list dd { margin:0; overflow-wrap:anywhere; }
.terminal-metrics>section { padding:0 18px 12px; }
.terminal-metrics h3 { margin:0 0 4px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.terminal-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 14px; margin:0; }
.terminal-metric-grid.is-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.terminal-metric-grid dt { color:#55627a; font-size:12px; font-weight:400; }
.terminal-metric-grid dd { margin:0; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.terminal-limit-table { width:100%; border-collapse:collapse; font-size:13px; }
.terminal-limit-table th,.terminal-limit-table td { padding:4px 12px; text-align:left; font-weight:400; }
.terminal-limit-table thead th { color:#55627a; font-size:12px; }
.terminal-limit-table tr>:first-child { padding-left:18px; }
.terminal-overview-layout .merchant-detail-geographies { display:grid; gap:6px; }
.terminal-overview-layout .merchant-detail-geo-section h4 { margin:0 0 2px; font-size:12.5px; font-weight:400; color:#55627a; }
.terminal-overview-layout .merchant-detail-geo-items { display:flex; flex-wrap:wrap; gap:3px 8px; margin:0; padding:0; list-style:none; }
.terminal-detail-content { display:flex; flex-direction:column; gap:12px; width:100%; min-width:0; }
.terminal-form-workspace .panel,.terminal-form-workspace .req-ma-card { border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.provider-form { display:flex; flex-direction:column; gap:12px; min-width:0; }
.provider-form-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:start; }
.provider-form-column { display:flex; flex-direction:column; gap:12px; min-width:0; }
.provider-form .client-form-section { margin:0; padding:12px 18px 14px; }
.provider-form .client-form-section h2 { margin:0 0 8px; color:var(--text); font-size:15px; }
.provider-form .client-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; }
.provider-form .client-chat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.provider-form .client-contract-grid { grid-template-columns:minmax(0,1fr); gap:9px; }
.commercial-history-head,.commercial-history-line { display:grid; grid-template-columns:132px minmax(0,1fr) minmax(0,.5fr) 150px; gap:12px; align-items:center; }
.commercial-history-list.is-without-object .commercial-history-line { grid-template-columns:132px minmax(0,1fr) 150px; }
.commercial-history-head { padding:8px 34px 8px 18px; background:rgb(40 91 158 / 5%); color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.commercial-history-list { display:block; }
.commercial-history-entry,.commercial-journal .commercial-history-entry { padding:0; border:0; border-top:1px solid var(--frost-line); border-radius:0; background:transparent; }
.commercial-history-entry.is-financial,.commercial-journal .commercial-history-entry.is-financial { border-left:0; }
.commercial-history-row>summary { position:relative; display:block; padding:9px 34px 9px 18px; list-style:none; cursor:pointer; }
.commercial-history-row>summary::-webkit-details-marker { display:none; }
.commercial-history-row>summary:hover { background:rgb(29 95 214 / 5%); }
.commercial-history-row[open]>summary { background:rgb(40 91 158 / 8%); }
.commercial-history-row.is-flat { padding:9px 34px 9px 18px; }
.commercial-history-chevron { position:absolute; top:50%; right:14px; width:7px; height:7px; border-right:2px solid #285b9e; border-bottom:2px solid #285b9e; transform:translateY(-70%) rotate(45deg); }
.commercial-history-row[open] .commercial-history-chevron { transform:translateY(-30%) rotate(225deg); }
.commercial-history-line { font-size:13px; }
.commercial-history-line time { color:#55627a; white-space:nowrap; }
.commercial-history-event { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; min-width:0; }
.commercial-history-event strong { font-weight:600; }
.commercial-history-line .commercial-history-object,.commercial-history-line .commercial-history-actor { min-width:0; margin:0; overflow:hidden; color:inherit; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.commercial-history-body { padding:6px 18px 12px 162px; background:rgb(40 91 158 / 5%); font-size:13px; }
.commercial-history-body p { margin:6px 0 0; }
.commercial-history .commercial-history-note,.commercial-journal .commercial-history-note { margin:0; padding:8px 18px; border-top:1px solid var(--frost-line); color:#55627a; font-size:12px; }
/* OD-147: the change journal — Commerce frame, day groups, time column, object as type + name. */
.journal-periods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.journal-period { display:grid; place-items:center; min-height:30px; padding:0 6px; border-radius:8px; background:rgb(40 91 158 / 6%); color:#33415c; font-size:13px; text-decoration:none; text-shadow:none; }
.journal-period:hover { background:rgb(40 91 158 / 12%); }
.journal-period.is-on { background:#fff; color:#1d3f6e; font-weight:600; box-shadow:0 1px 3px rgb(23 35 56 / 16%); }
.commercial-journal .commercial-side-pair { grid-template-columns:minmax(0,1fr); }
.commercial-journal .commercial-toolbar-row { align-items:center; }
.commercial-journal .commercial-history-head,.commercial-journal .commercial-history-line { grid-template-columns:56px minmax(0,1.3fr) minmax(0,1fr) 150px; }
.commercial-history-day { padding:10px 18px 6px; border-top:1px solid var(--frost-line); color:#1d3f6e; font-size:13px; font-weight:600; }
.commercial-history-object.is-stacked { display:flex; flex-direction:column; gap:1px; }
.commercial-history-object.is-stacked small { color:#55627a; font-size:12px; }
.commercial-history-object.is-stacked > :is(a,span) { overflow:hidden; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.commercial-journal .commercial-history-body { padding-left:86px; }
.provider-terminal-compact { width:100%; min-width:0; table-layout:fixed; }
.provider-terminal-compact th { padding-block:8px; font-size:11px; }
.provider-terminal-compact td { padding-block:6px; }
.provider-terminal-compact th:nth-child(2) { width:64px; }
.provider-terminal-compact th:nth-child(3) { width:110px; }
.provider-terminal-compact th:nth-child(4) { width:126px; }
.provider-terminal-compact th:nth-child(5) { width:44px; }
.provider-terminal-compact th:nth-child(6) { width:104px; }
/* The fixed columns take 448px: on a phone the table keeps a readable name
   column and scrolls inside its card. */
@media (max-width:760px) { .provider-terminal-compact { min-width:620px; } }
.provider-card-toolbar>input { width:auto; }
.provider-card-toolbar>select { flex:0 0 176px; width:176px; min-width:0; }
.provider-card-toolbar { min-width:0; }
.provider-card-toolbar>input { flex:1 1 200px; }
.provider-workspace.terminal-workspace,.provider-form-workspace,.terminal-form-workspace { width:100%; max-width:none; }
.terminal-row-grid small { display:block; }
.terminal-row-grid .button { display:inline-flex; }
.provider-info .terminal-detail-documentation-grid { grid-template-columns:minmax(0,1fr); }
.provider-info .terminal-detail-documentation-grid>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px; }
.provider-info .terminal-detail-comment,.provider-info .terminal-detail-empty,.provider-info .merchant-detail-geo-empty { margin:0; font-size:13px; }
.provider-form-project { grid-column:auto; }
.provider-form-project p:not(.field-error),.provider-form-project small:not(.field-error) { display:none; }
.provider-hero,.terminal-hero { position:relative; z-index:7; }
.provider-card:focus-within,.provider-card:has(details[open]),.terminal-form-workspace .req-ma-card:focus-within,.terminal-form-workspace .req-ma-card:has(details[open]) { position:relative; z-index:6; }
.page-header--frost .page-header-metadata { color:#55627a; text-shadow:none; }
.provider-section-panel { margin:0; }
.provider-history-financial { flex:0 0 auto; white-space:nowrap; }
.commercial-history-line .text-link { font-size:inherit; }
@media(max-width:1100px) {
  .provider-overview-layout,.provider-form-layout { grid-template-columns:minmax(0,1fr); }
  .terminal-row-grid,.provider-row-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .provider-page-head { flex-wrap:wrap; padding:12px 14px; }
  .provider-card-toolbar { flex-wrap:wrap; }
  .provider-segment { max-width:100%; overflow-x:auto; }
  .provider-request-strip { flex-wrap:wrap; }
  .provider-form .client-form-grid,.provider-form .client-chat-grid,.terminal-metric-grid,.terminal-metric-grid.is-five,.terminal-row-grid,.provider-row-grid { grid-template-columns:minmax(0,1fr); }
  .commercial-history-head { display:none; }
  .commercial-history-line,.commercial-history-list.is-without-object .commercial-history-line,.commercial-journal .commercial-history-line { grid-template-columns:minmax(0,1fr); gap:2px; }
  .commercial-history-body,.commercial-journal .commercial-history-body { padding:6px 14px 12px; }
  .provider-document { grid-template-columns:34px minmax(0,1fr) 40px; }
  .provider-document-versions,.provider-document-version { grid-column:2 / -1; grid-row:2; }
  .provider-task-lines li { grid-template-columns:minmax(0,1fr) auto; }
}

/* OD-145: Commerce in the approved frost frame. */
.page-header--frost:has(.commercial-dashboard-tabs) { position:relative; z-index:3; flex-wrap:wrap; row-gap:8px; padding-bottom:0; }
.commercial-dashboard-tabs.merchant-account-tabs { flex:1 0 100%; margin:0; }
.commercial-side { position:static; }
.commercial-side:has(details[open]) { position:relative; z-index:2; }
.commercial-side-form { display:flex; flex-direction:column; gap:12px; min-width:0; }
.commercial-side .tasks-side-group { gap:6px; }
.commercial-side .merchant-terms-cap { margin:0; }
.commercial-side-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.commercial-side-head .text-button { font-size:13px; }
.commercial-side summary { font-size:13px; }
.commercial-side-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.commercial-side :is(input:not([type=radio]):not([type=checkbox]),select) { width:100%; min-width:0; height:36px; min-height:36px; box-sizing:border-box; font-size:13px; }
.commercial-side .tasks-segmented { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); }
.commercial-side .tasks-segmented[hidden] { display:none; }
.commercial-side .tasks-segmented label { justify-content:center; padding:0 6px; }
.commercial-side .tasks-segmented label:has(input:checked) { background:#fff; color:#1d3f6e; font-weight:600; box-shadow:0 1px 3px rgb(23 35 56 / 16%); }
.commercial-geo-field .merchant-geography-options { z-index:6; }
.merchant-directory .commercial-toolbar { display:flex; flex-direction:column; align-items:stretch; }
.commercial-toolbar-row { display:flex; align-items:center; gap:10px; min-width:0; }
.commercial-toolbar-row .catalog-search { flex:1 1 auto; min-width:0; max-width:none; }
.commercial-toolbar-row>select { flex:0 0 220px; width:220px; min-height:38px; font-size:13px; }
.commercial-toolbar .commercial-active-filters { margin:0; padding:0; border:0; }
.commercial-results .commercial-dashboard-table td { overflow-wrap:normal; font-size:14px; }
.commercial-results .provider-table-sub { font-size:12px; }
.commercial-results .commercial-dashboard-table .text-link { font-size:inherit; }
.commercial-results .commercial-dashboard-table th:nth-child(1) { width:auto; }
.commercial-results .commercial-dashboard-table th:nth-child(2) { width:21%; }
.commercial-results .commercial-dashboard-table th:nth-child(3) { width:128px; }
.commercial-results .commercial-dashboard-table th:nth-child(4) { width:150px; }
.commercial-results .commercial-dashboard-table th:nth-child(5) { width:106px; white-space:nowrap; }
.commercial-results .commercial-dashboard-table th:nth-child(6) { width:112px; white-space:nowrap; }
.commercial-results .commercial-dashboard-table th:nth-child(7) { width:48px; }
.commercial-rate { font-size:16px; font-weight:700; }
.commercial-results .merchant-row-details td { padding-left:16px; }
.commercial-row-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto; gap:18px; font-size:13px; }
.commercial-row-grid h3 { margin:0 0 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.commercial-row-grid p+h3 { margin-top:10px; }
.commercial-row-grid p { margin:0; overflow-wrap:anywhere; }
.commercial-row-grid dl { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 12px; margin:0; }
.commercial-row-grid dt { color:#55627a; }
.commercial-row-grid dd { margin:0; text-align:right; }
.commercial-row-actions { display:flex; flex-direction:column; gap:6px; min-width:150px; }
.commercial-row-actions .button { justify-content:center; width:100%; white-space:nowrap; }
/* The count line of every registry sits inside its card, as in Commerce (readable on any wallpaper). */
.merchant-list-card > .catalog-directory-footer { min-height:0; padding:9px 18px; border-top:1px solid rgb(23 35 56 / 7%); color:#55627a; text-shadow:none; }
@media (max-width:1100px) {
  .commercial-side .merchant-terms-cap { display:block; }
  .merchant-list-side.commercial-side .tasks-side-group:first-child { flex-direction:column; }
  .commercial-row-grid { grid-template-columns:minmax(0,1fr); }
  .commercial-row-actions { flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:560px) {
  .commercial-toolbar-row { flex-wrap:wrap; }
  .commercial-toolbar-row>select { flex:1 1 100%; width:100%; }
}

/* Owner 2026-11-03: the whole row opens, so the toggle is a quiet chevron, not «Подробнее». */
.merchant-row-toggle { display:inline-grid; place-items:center; width:32px; height:32px; min-height:32px; padding:0; border-radius:8px; color:#55627a; }
.merchant-row-toggle::before { content:""; width:7px; height:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .15s ease; }
.merchant-row-toggle[aria-expanded="true"]::before { transform:translateY(2px) rotate(-135deg); }
.merchant-row:hover .merchant-row-toggle,.merchant-row-toggle:focus-visible { color:var(--accent); background:rgb(40 91 158 / 8%); }
:is(.merchant-table,.terminal-table) th:last-child { position:relative; width:48px; } /* keeps its .sr-only name inside the scrolling table */
/* OD-146: Clients in the frame of the Providers — registry, header with tabs, overview, form. */
.client-list-table th:nth-child(1) { width:auto; }
.client-list-table th:nth-child(2) { width:15%; }
.client-list-table th:nth-child(3) { width:96px; }
.client-list-table th:nth-child(4) { width:16%; }
.client-list-table th:nth-child(5) { width:100px; }
.client-list-table th:nth-child(6) { width:104px; }
.client-list-table .merchant-row-name > span { min-width:0; }
.client-hero .merchant-account-title p { flex-wrap:wrap; }
.client-hero .merchant-account-title p > span + span::before { content:"·"; margin-right:6px; color:#8a95a8; }
.client-account-table { min-width:0; table-layout:fixed; }
.client-account-table th:nth-child(2) { width:132px; }
.client-account-table th:nth-child(3) { width:24%; }
.client-account-table th:nth-child(4) { width:88px; }
.client-account-table th:nth-child(5) { width:104px; }
.client-account-table .merchant-row-name { min-width:0; }
.client-row-grid a.text-link { font-weight:600; }
/* OD-148: Contacts — one list, the section and status on the left; a row unfolds in place. */
.contact-list-table th:nth-child(2) { width:22%; }
.contact-list-table th.contact-count-col { width:104px; }
.contact-list-table th.contact-status-col { width:112px; }
.contact-list-table th:last-child { width:48px; }
.contact-list-table .merchant-row-name > span { min-width:0; }
.contact-row-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto; }
.contact-reach { display:grid; gap:3px; margin:0; }
.contact-reach>div { display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px; }
.contact-reach dt { color:#55627a; }
.contact-reach dd { min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contact-reach dd.contact-reach-wrap,.contact-info .contact-reach dd { overflow:visible; white-space:normal; overflow-wrap:anywhere; }
.contact-row-comment,.contact-record-comment { margin:0; overflow-wrap:anywhere; }
.contact-reach .text-link { font-size:inherit; }
.contact-info .contact-reach .text-link { white-space:normal; overflow-wrap:anywhere; }
.contact-row-links { display:flex; flex-wrap:wrap; gap:6px; }
.contact-link-chip { display:inline-block; max-width:100%; padding:3px 10px; border:1px solid var(--frost-line); border-radius:8px; background:rgb(255 255 255 / 82%); color:#1d3f6e; font-size:12px; font-weight:600; line-height:18px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contact-link-chip small { font-weight:400; }
.contact-row-actions { display:flex; flex-direction:column; gap:6px; }
.contact-hero-name { overflow-wrap:anywhere; }
@media (max-width:980px) {
  .contact-row-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-row-actions { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:560px) {
  .contact-row-grid { grid-template-columns:minmax(0,1fr); }
}
/* OD-149: Reference Data — one list with the directory on the left, records in the Client overview frame. */
.reference-list-table th.reference-code-col { width:120px; }
.reference-list-table th.reference-count-col { width:92px; }
.reference-list-table th.reference-use-col { width:128px; }
.reference-list-table--payment_method th:nth-child(2) { width:17%; }
.reference-list-table th.reference-status-col { width:120px; }
.reference-list-table th:last-child { width:48px; }
.reference-list-table--currency th:last-child { width:140px; }
.reference-list-table .merchant-row-name > span { min-width:0; }
.reference-code { display:inline-block; justify-self:start; max-width:100%; padding:1px 7px; overflow:hidden; border-radius:6px; background:rgb(40 91 158 / 10%); color:#1d3f6e; font:600 12px/18px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; vertical-align:middle; }
.reference-row-dim .crm-list-table__primary-link,.reference-row-dim td { color:#6b778b; }
.reference-row-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; }
.reference-row-note { margin-top:8px !important; }
.reference-country-tag { cursor:default; }
.reference-country-tag[hidden] { display:none; }
.reference-currency-add { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:10px; padding:10px 14px; border-bottom:1px solid var(--frost-line); }
.reference-currency-add input,.reference-country-filter { min-width:0; height:38px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:var(--frost-control); color:var(--text); font:inherit; font-size:14px; }
.reference-country-filter { width:min(240px,100%); height:34px; margin-left:auto; }
.reference-country-chips { padding:0 18px 14px; }
.reference-use-body { padding:2px 18px 14px; font-size:13px; }
.reference-use-body h3 { margin:0 0 6px; color:#55627a; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.reference-history .commercial-history-list { margin:0 -18px; }
.client-form-workspace:has(.reference-geography-form) { max-width:none; }
.reference-history .empty-state { min-height:0; align-items:flex-start; padding:6px 0 4px; text-align:left; }
.reference-history .empty-state h3 { margin:0; font-size:13px; }
.reference-history .empty-state p { margin:2px 0 0; font-size:12px; }
.reference-geography-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:12px; align-items:start; width:100%; margin:0; padding:0; }
.reference-geography-form > .provider-card { padding:14px 18px 16px; border-top:1px solid var(--frost-edge); }
.reference-geography-form .reference-form-alert { grid-column:1/-1; margin:0; }
.reference-geography-form .reference-country-picker { grid-template-columns:minmax(0,1fr); }
@media (max-width:980px) {
  .reference-row-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-row-grid .contact-row-actions { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; }
  .reference-geography-form { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px) {
  .reference-row-grid,.reference-currency-add { grid-template-columns:minmax(0,1fr); }
}
.client-archive-menu .client-restore-accounts { display:grid; gap:4px; margin:0 0 8px; padding:0; border:0; }
.client-archive-menu .client-restore-accounts legend { margin-bottom:4px; font-weight:600; }
.client-contacts-surface .table-wrap { margin:0; }
.client-contact-detail .client-contact-detail-form { padding:0 18px 16px; }
.client-form .client-form-project p:not(.field-error) { display:none; }
.provider-card-head > button.button { margin-left:auto; }
.client-contact-detail .provider-card-head { flex-wrap:wrap; }
.client-contact-detail .provider-card-head h2 { min-width:0; overflow-wrap:anywhere; }
/* Test VPS 2026-11-03: real names are long. A side filter label wraps inside the panel;
   on a wide screen the client header keeps its actions on one row and cuts the subtitle. */
.merchant-list-side .tasks-scope > span:first-child { min-width:0; overflow-wrap:anywhere; }
@media(min-width:1281px) {
  .client-hero .commercial-header-actions { flex-wrap:nowrap; flex-shrink:0; }
  .client-hero .merchant-account-title h1 { overflow-wrap:anywhere; }
  .client-hero .merchant-account-title p > span { max-width:32ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
/* The Tasks tab of a Client or Provider: the object takes the room, the rest stays readable. */
.provider-requests-table { table-layout:fixed; }
.provider-requests-table th { white-space:nowrap; }
.provider-requests-table th:nth-child(1) { width:150px; }
.provider-requests-table th:nth-child(2) { width:170px; }
.provider-requests-table th:nth-child(4) { width:104px; }
.provider-requests-table th:nth-child(5) { width:150px; }
.provider-requests-table th:nth-child(6) { width:136px; }
.provider-requests-table th:nth-child(7) { width:104px; }
.provider-requests-table td:nth-child(3) { overflow-wrap:anywhere; }
/* OD-150: the merged «Профиль» — profile, then the personal preferences. */
.personal-settings-page>.personal-preferences { margin-top:0; }
.settings-attention { border-color:rgb(208 138 0 / 35%); background:rgb(253 239 207 / 72%); }
.settings-attention .caption { color:#5d4a1f; }
/* OD-150: the users' toolbar — search and sort; the filters are the left panel. */
.employee-filters.catalog-list-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 220px auto; gap:10px; align-items:center; padding:0 20px 14px; }
.employee-filters .client-field { margin:0; }
.employee-row-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto; }
@media (max-width:560px) { .employee-filters.catalog-list-toolbar { grid-template-columns:minmax(0,1fr); } .employee-row-grid { grid-template-columns:minmax(0,1fr); } }
.role-row-grid { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) auto; }
.role-row-group { margin:0 0 4px; }
@media (max-width:560px) { .role-row-grid { grid-template-columns:minmax(0,1fr); } }
.update-history-more { margin-top:10px; }
.update-history-table tr[hidden] { display:none; }
/* OD-150: beside the settings panel the settings tables fit their column. */
.settings-page .projects-table { min-width:0; }
/* OD-152: the task creation forms in the forms frame — a frosted header with «Отмена» and «Создать задачу», frosted blocks, CRM buttons. */
.task-create-head .project-back-link { margin:0; }
.task-create-head .merchant-account-crumbs { margin-bottom:2px; }
.task-create-head .client-form-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; border:0; }
.task-create-head .client-form-actions .button { min-height:34px; padding:5px 12px; white-space:nowrap; }
.regular-task-form-workspace .regular-task-form { display:block; padding:0; }
.regular-task-form .client-form-alert { margin:0 0 12px; }
.task-create-layout .provider-card { padding:12px 18px 14px; }
.task-create-layout .provider-card h2 { margin:0 0 10px; color:var(--text); font-size:15px; }
.task-create-grid-one { grid-template-columns:minmax(0,1fr); }
.task-create-layout .regular-task-people-grid,.task-create-layout .regular-task-terms-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.task-create-layout .regular-task-people-grid { margin-bottom:10px; }
.task-create-layout .regular-task-readonly { min-height:36px; border-radius:7px; }
.task-create-hint { margin:10px 0 0; color:#55627a; font-size:11px; line-height:1.45; }
.task-create-more { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.task-create-more .regular-task-more { margin:0; padding:0; border:0; background:none; }
.task-create-more .regular-task-more[open] { flex:1 1 100%; }
.task-create-more .regular-task-more>summary { display:inline-flex; align-items:center; min-height:34px; padding:5px 12px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; color:var(--text); font-size:12px; font-weight:500; list-style:none; text-shadow:none; }
.task-create-more .regular-task-more>summary::-webkit-details-marker { display:none; }
.task-create-more .regular-task-more[open]>summary { margin-bottom:10px; border-color:var(--accent); background:var(--accent-soft); }
.task-checklist-field>label { font-size:12px; font-weight:500; }
.task-checklist-items { display:flex; flex-direction:column; gap:6px; margin:0; padding:0; list-style:none; }
.task-checklist-items[hidden] { display:none; }
.task-checklist-items li { display:grid; grid-template-columns:16px minmax(0,1fr) auto; gap:10px; align-items:center; }
.task-checklist-items li::before { content:""; width:14px; height:14px; border:1.5px solid #9aa6b8; border-radius:4px; background:#fff; }
.task-checklist-items input { width:100%; min-height:34px; }
.task-checklist-add { align-self:flex-start; padding:6px 0; text-shadow:none; }
.task-create-files { margin-top:12px; }
.task-create-file-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.task-create-file-row small { color:#55627a; font-size:11px; }
.workflow-choice-page-header { margin-bottom:12px; }
.workflow-choice { grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto; align-items:start; gap:14px; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.workflow-choice:hover { background:rgb(255 255 255 / 86%); }
.workflow-choice-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; font-size:19px; }
.workflow-choice-icon.is-regular { background:#e3ecfb; color:#1d4fa0; }
.workflow-choice-icon.is-merchant { background:#fbeccb; color:#7d5300; }
.workflow-choice-icon.is-terminal { background:#e6e1fb; color:#4b3aa8; }
.workflow-choice-icon.is-connection { background:#dff1ea; color:#0f6b4a; }
.workflow-choice-copy { display:grid; grid-template-rows:auto 1fr auto; gap:8px; min-width:0; height:100%; }
main:has(.req-term-workspace) { max-width:none; }
.req-term-workspace { width:100%; max-width:none; min-width:0; container:req-ma-workspace / inline-size; }
.req-ma-page,.req-term-page { display:block; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.req-ma-page>.req-ma-header,.req-term-page>.req-term-header { display:flex; margin-bottom:12px; padding:14px 22px; }
.req-ma-page>.req-ma-header h1,.req-term-page>.req-term-header h1 { font-size:22px; }
.req-ma-page>.req-ma-header p,.req-term-page>.req-term-header p { color:#55627a; font-size:13px; }
.req-ma-page>.client-form-alert,.req-term-page>.client-form-alert { margin:0 0 12px; }
.req-ma-card,.req-ma-summary,.req-terminal-position>.merchant-form-section,.req-term-task-card,.req-position-bar { border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); -webkit-backdrop-filter:var(--frost-filter); backdrop-filter:var(--frost-filter); }
.req-ma-card { padding:14px 18px; }
.req-ma-summary { padding:14px 18px; }
.req-term-form { display:grid; gap:12px; min-width:0; container:req-ma-form / inline-size; }
.req-term-form .req-positions { gap:12px; }
.req-terminal-position { gap:12px; }
.req-terminal-position>.merchant-form-section,.req-term-task-card { margin:0; padding:14px 18px; }
.req-term-task-card .client-field { margin-top:10px; }
.req-position[hidden] { display:none; }
.req-position-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:6px; border-radius:16px; }
.req-position-tabs { display:flex; flex-wrap:wrap; gap:4px; min-width:0; }
.req-position-tab { display:inline-flex; align-items:center; gap:8px; min-height:34px; max-width:100%; padding:5px 12px; border:0; border-radius:11px; background:transparent; color:#33415c; font:inherit; font-size:12px; cursor:pointer; }
.req-position-tab small { overflow:hidden; max-width:180px; color:#7a8699; text-overflow:ellipsis; white-space:nowrap; }
.req-position-tab[aria-selected="true"] { background:#fff; color:#1d3f6e; font-weight:600; box-shadow:0 1px 3px rgb(23 35 56 / 16%); }
.req-position-tab.has-error { color:var(--danger); }
.req-position-tab:focus-visible { outline:3px solid rgb(52 139 204 / 30%); outline-offset:1px; }
.req-position-bar .req-position-add .button { min-height:34px; padding:5px 12px; }
.req-ma-optional { margin-left:6px; color:#55627a; font-size:11px; font-weight:500; }
.req-limit-matrix { display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:6px 10px; align-items:center; font-size:12px; }
.req-limit-head { color:#55627a; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.req-limit-row-label { color:var(--text); }
.req-limit-cell { display:flex; flex-direction:column; gap:3px; min-width:0; }
.req-limit-cell input { width:100%; min-height:34px; }
.req-limit-payment { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; margin-top:10px; }
.req-ready { display:flex; flex-direction:column; gap:2px; margin:10px 0 4px; padding:0; list-style:none; font-size:12px; }
.req-ready li { display:flex; align-items:center; gap:8px; padding:3px 0; }
.req-ready i { display:grid; place-items:center; flex:none; width:18px; height:18px; border-radius:50%; background:rgb(23 35 56 / 8%); color:#7a8699; font-size:11px; font-style:normal; font-weight:800; }
.req-ready li[data-ready-state="done"] i { background:#d9f0e2; color:#0f6b38; }
.req-ready li:not([data-ready-optional]):not([data-ready-state="done"]) i { background:#fbeccb; color:#7d5300; }
.req-ready-note { margin:4px 0 0; color:#55627a; font-size:11px; }
.req-term-summary .caption { margin:12px 0 0; }
@container req-ma-form (max-width: 560px) {
  .req-limit-matrix { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .req-limit-matrix .req-limit-head:first-child { display:none; }
  .req-limit-row-label { grid-column:1 / -1; margin-top:4px; font-weight:600; }
  .req-limit-payment { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .task-create-layout .regular-task-people-grid,.task-create-layout .regular-task-terms-grid { grid-template-columns:minmax(0,1fr); }
  .req-ma-page>.req-ma-header,.req-term-page>.req-term-header { flex-wrap:wrap; }
}
.req-ma-page .req-ma-card h3,.req-term-page .req-terminal-position>.merchant-form-section>h3,.req-term-task-card>h3 { margin:0 0 10px; color:var(--text); font-size:15px; font-weight:700; }
.req-ma-page .req-ma-card .field-hint,.req-term-page .merchant-form-section .field-hint { margin:8px 0 0; color:#55627a; font-size:11px; }
main:has(.task-create-workspace) { max-width:none; }
.task-create-workspace { width:100%; max-width:none; }
@media (max-width:560px) {
  .task-create-head { flex-wrap:wrap; }
  .task-create-head .client-form-actions { width:100%; flex-wrap:nowrap; }
  .task-create-head .client-form-actions .button { flex:1 1 0; }
}
.task-checklist-field { position:relative; }
.task-checklist-field textarea.sr-only { width:1px; min-width:0; height:1px; min-height:0; padding:0; border:0; resize:none; }
/* OD-152: a frosted block is its own layer (backdrop-filter); the one with an open dropdown rises over the next ones. */
.req-ma-card,.req-terminal-position>.merchant-form-section,.req-term-task-card { position:relative; }
.req-ma-card:has(details[open]:not(.req-ma-disclosure):not(.regular-task-more)),.req-terminal-position>.merchant-form-section:has(details[open]:not(.req-ma-disclosure):not(.regular-task-more)),.req-term-task-card:has(details[open]:not(.req-ma-disclosure):not(.regular-task-more)),.task-create-card:has(details[open]:not(.req-ma-disclosure):not(.regular-task-more)) { z-index:6; }

/* OD-153: the workflow task card is a page in the approved frame — a frosted header card
   with the actions on the right, the work on the left and the chat on the right, each
   scrolling on its own (OD-04). */
main:has(.workflow-task-page) { max-width:none; }
/* 108px = the 60px top bar + main padding 24px above and below, so the page itself never scrolls. */
.workflow-task-page { display:flex; flex-direction:column; gap:12px; min-width:0; height:calc(100dvh - 108px); min-height:560px; }
.workflow-task-head { align-items:flex-start; gap:16px; margin:0; }
.workflow-task-head-copy { flex:1 1 auto; min-width:0; }
.workflow-task-ids { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; color:#55627a; font-size:12px; }
.workflow-task-ids .text-link { font-weight:600; }
.workflow-task-head h1 { margin:4px 0 6px; font-size:22px; line-height:1.2; overflow-wrap:anywhere; }
.workflow-task-meta { display:flex; flex-wrap:wrap; gap:4px 16px; margin:0; }
.workflow-task-meta>div { display:flex; align-items:baseline; gap:5px; min-width:0; }
.workflow-task-meta dt { color:#7a8699; font-size:11px; }
.workflow-task-meta dd { min-width:0; margin:0; color:#33415c; font-size:13px; overflow-wrap:anywhere; }
.workflow-task-meta .workflow-task-position-method+.workflow-task-position-method::before { content:" · "; color:#7a8699; }
.workflow-task-head .workflow-task-hero-progress { flex:none; align-self:center; }
.workflow-task-head .workflow-task-header-actions { flex:none; width:auto; display:flex; align-items:center; gap:8px; margin:18px 0 0; }
.workflow-task-head .work-status-badge { min-height:26px; padding:4px 10px; border-radius:13px; font-size:12px; white-space:nowrap; }
.workflow-task-head .workflow-task-more-menu { margin-left:0; }
.workflow-task-head .workflow-task-more-menu>summary { width:34px; height:34px; border-color:#cdd8e6; border-radius:7px; background:#fff; }
.workflow-task-page>.workflow-task-action-alert { margin:0; font-size:12px; }
.workflow-task-page .workflow-task-detail-layout { flex:1 1 auto; min-height:0; height:auto; display:grid; grid-template-columns:minmax(0,1fr) 440px; gap:12px; align-items:stretch; overflow:visible; border-radius:0; }
.workflow-task-page .workflow-task-detail-main { min-height:0; height:auto; display:flex; flex-direction:column; gap:12px; padding:0 6px 2px 0; overflow-y:auto; overscroll-behavior:contain; background:transparent; }
.workflow-task-page .workflow-task-detail-main>* { flex:none; }
.workflow-task-page .workflow-task-work-card,.workflow-task-page .workflow-task-specification,.workflow-task-page .workflow-task-credentials { margin:0; padding:14px 18px; }
.workflow-task-page .workflow-task-section-heading { align-items:center; }
.workflow-task-page .workflow-task-section-heading h2 { color:var(--text); font-size:15px; font-weight:700; }
.workflow-task-page .workflow-task-section-heading h2 small { margin-left:6px; color:#55627a; font-size:12px; font-weight:500; }
.workflow-task-page .workflow-task-section-heading p { color:#55627a; font-size:12px; line-height:1.4; }
.workflow-task-progress { display:flex; flex:none; gap:3px; width:120px; }
.workflow-task-progress i { flex:1 1 0; height:6px; border-radius:3px; background:rgb(23 35 56 / 12%); }
.workflow-task-progress i.is-approved { background:#1f8a4c; }
.workflow-task-progress i.is-declined { background:#b42318; }
.workflow-task-progress i.is-needs_clarification { background:#d79a1c; }
.workflow-task-page .workflow-task-approval-groups { gap:0; }
.workflow-task-page .workflow-task-approval-group { overflow:visible; padding:10px 0; border:0; border-top:1px solid rgb(23 35 56 / 8%); border-radius:0; background:transparent; }
.workflow-task-page .workflow-task-approval-group>header { padding:0; border:0; background:transparent; }
.workflow-task-page .workflow-task-approval-group>header strong { color:var(--text); font-size:13.5px; font-weight:600; }
.workflow-task-page .workflow-task-approval-group>header .workflow-task-approval-group-identity>span { color:#55627a; font-size:13px; }
.workflow-task-page .workflow-task-url-list li { padding:4px 0; background:transparent; color:var(--text); font-size:13px; }
.workflow-task-page .workflow-task-spec-section { padding:0; border-top:1px solid rgb(23 35 56 / 8%); }
.workflow-task-page .workflow-task-spec-section+.workflow-task-spec-section { margin-top:0; }
.workflow-task-page .workflow-task-spec-section>summary { display:flex; align-items:center; gap:8px; min-height:38px; cursor:pointer; list-style:none; }
.workflow-task-page .workflow-task-spec-section>summary::-webkit-details-marker { display:none; }
.workflow-task-page .workflow-task-spec-section>summary::before { content:"▸"; width:12px; color:#7a8699; font-size:12px; transition:transform .12s ease; }
.workflow-task-page .workflow-task-spec-section[open]>summary::before { transform:rotate(90deg); }
.workflow-task-page .workflow-task-spec-section>summary:focus-visible { outline:2px solid #348bcc; outline-offset:2px; border-radius:6px; }
.workflow-task-page .workflow-task-spec-section h3 { margin:0; color:var(--text); font-size:13.5px; font-weight:600; }
.workflow-task-page .workflow-task-spec-section>summary small { color:#7a8699; font-size:12px; }
.workflow-task-page .workflow-task-spec-section dl { padding:0 0 10px 20px; }
.workflow-task-page .workflow-task-spec-section dt { font-size:11px; }
.workflow-task-page .workflow-task-spec-section dd { color:var(--text); font-size:13px; font-weight:500; }
.workflow-task-page .workflow-task-credentials .workflow-task-section-heading { flex-wrap:wrap; margin-bottom:0; }
.workflow-task-page .workflow-task-credentials-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; margin:0; }
.workflow-task-page .workflow-task-credentials-editor { margin-top:10px; }
.workflow-task-page .workflow-task-chat { position:static; top:auto; height:auto; min-height:0; max-height:none; border:1px solid var(--frost-edge); border-radius:var(--frost-radius); background:var(--frost-surface); box-shadow:var(--frost-shadow); overflow:hidden; }
.workflow-task-page .workflow-task-chat>header { background:transparent; border-bottom:1px solid rgb(23 35 56 / 8%); }
.workflow-task-page .workflow-task-chat h2 { color:var(--text); font-size:15px; }
@media (max-width: 1100px) {
  .workflow-task-page { height:auto; min-height:0; }
  .workflow-task-page .workflow-task-detail-layout { grid-template-columns:minmax(0,1fr); }
  .workflow-task-page .workflow-task-detail-main { overflow:visible; padding-right:0; }
  .workflow-task-page .workflow-task-chat { height:620px; }
}
@media (max-width: 560px) {
  .workflow-task-head { flex-direction:column; align-items:stretch; padding:12px 14px; }
  .workflow-task-head h1 { font-size:18px; }
  .workflow-task-head .workflow-task-hero-progress { justify-items:start; }
  .workflow-task-head .workflow-task-header-actions { flex-wrap:wrap; margin:0; }
  .workflow-task-page .workflow-task-work-card,.workflow-task-page .workflow-task-specification,.workflow-task-page .workflow-task-credentials { padding:12px 14px; }
  .workflow-task-page .workflow-task-spec-section dl { padding-left:0; }
  .workflow-task-page .workflow-task-chat { height:560px; }
}
.workflow-task-head { position:relative; }
.workflow-task-head:has(details[open]) { z-index:6; }
.workflow-task-page .workflow-task-provider-comment p { margin:5px 0 0; color:#33415c; font-size:12.5px; line-height:1.45; }
.workflow-task-page .workflow-task-provider-comment p strong { color:#7a8699; font-weight:500; }
.workflow-task-page .workflow-task-group-decision label>span { color:#55627a; font-size:11px; }
.workflow-task-page .workflow-task-group-decision textarea { font-size:12.5px; }
.workflow-task-page .workflow-task-provider-comment { padding:0; }
.workflow-task-page .workflow-task-group-decision { padding:8px 0 0; }
.workflow-task-page .workflow-task-credentials-summary[hidden] { display:none; }
@media (max-width: 760px) {
  .workflow-task-page .workflow-task-credentials .workflow-task-section-heading { flex-direction:column; align-items:stretch; }
  .workflow-task-page .workflow-task-credentials-summary { align-items:flex-start; justify-content:flex-start; }
}
.workflow-task-meta .caption { color:#7a8699; font-size:11px; }
/* OD-154: the project, contact and reference forms in the forms frame — the frosted header carries «Отмена» and the submit button, the blocks are frosted cards. */
.task-create-workspace>.catalog-record-form,.project-form-workspace.task-create-workspace .project-form { display:block; width:100%; max-width:none; margin:0; padding:0; }
.task-create-workspace>.catalog-record-form>.client-form-alert { margin:0 0 12px; }
.task-create-layout .provider-card.catalog-form-section { padding:12px 18px 14px; border:1px solid var(--frost-edge); }
.task-create-layout .catalog-form-section h2 { margin:0 0 10px; color:var(--text); font-size:15px; }
.task-create-layout.catalog-form-single { grid-template-columns:minmax(0,700px); }
.task-create-layout .project-form-grid.client-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.task-create-layout .project-form-grid .project-form-name { grid-column:auto; }
@media (max-width:560px) {
  .task-create-layout .project-form-grid.client-form-grid,.task-create-layout .reference-currency-create-fields { grid-template-columns:minmax(0,1fr); }
}
/* OD-155: the Merchant Account tabs under the header of the overview, the condition and edit forms in the forms frame. */
.merchant-detail-workspace:has(>.provider-card) { gap:12px; }
.merchant-detail-workspace>.provider-section-panel,.merchant-detail-workspace>.commercial-connect .commercial-connect-layout { margin-top:0; }
.merchant-detail-workspace>.provider-card { overflow:hidden; }
.merchant-pending-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:9px 18px; font-size:13px; }
.merchant-pending-line ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.merchant-pending-line li { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; }
.merchant-pending-line strong { font-weight:600; }
.merchant-pending-line p { margin:0 0 0 auto; color:#55627a; font-size:12px; }
.provider-card-lead { margin:0; padding:0 18px 10px; color:#55627a; font-size:13px; line-height:1.45; }
.provider-card .merchant-limit-warning { margin:0 18px 10px; }
.merchant-limit-compact-table th,.merchant-limit-compact-table td { white-space:nowrap; }
.merchant-limit-compact-table tbody th { background:transparent; color:var(--text); font-size:13px; font-weight:400; letter-spacing:0; text-align:left; text-transform:none; }
.merchant-limit-compact-table .merchant-limit-total { color:#1d3f6e; font-weight:700; }
.merchant-limit-compact-table .merchant-limit-exceeded { padding:1px 4px; border-radius:5px; background:var(--warning-soft); color:var(--warning); font-weight:800; }
.merchant-agreed-body { padding:0 18px 14px; }
.merchant-agreed-body h3 { margin:4px 0 6px; }
.merchant-agreed-body h3+dl+h3 { margin-top:12px; }
.merchant-agreed-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 18px; margin:0; font-size:13px; }
.merchant-agreed-grid dt { color:#55627a; font-size:12px; }
.merchant-agreed-grid dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.task-create-layout .merchant-change-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.task-create-layout .merchant-change-grid:has(>:nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.merchant-change-limits { display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:8px 12px; align-items:center; margin-top:12px; font-size:13px; }
.merchant-change-limits .client-field { margin:0; }
.merchant-form-workspace .merchant-change-wide { grid-template-columns:minmax(0,1fr); margin-top:12px; }
.merchant-form-workspace .task-create-head .client-form-actions { flex:0 0 auto; flex-wrap:nowrap; }
.merchant-edit-locked-chips { display:flex; flex-wrap:wrap; gap:6px; }
.merchant-edit-locked-chips span { display:inline-flex; align-items:center; height:24px; padding:0 9px; border-radius:7px; background:rgb(23 35 56 / 7%); color:#33415c; font-size:12px; }
.merchant-edit-locked p { margin:8px 0 10px; color:#33415c; font-size:13px; line-height:1.45; }
@media (max-width:760px) {
  .merchant-agreed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .merchant-pending-line p { margin-left:0; }
}
@media (max-width:560px) {
  .task-create-layout .merchant-change-grid,.task-create-layout .merchant-change-grid:has(>:nth-child(3):last-child) { grid-template-columns:minmax(0,1fr); }
  .merchant-change-limits { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .merchant-change-limits>.merchant-terms-cap:first-child { display:none; }
  .merchant-change-limit-label { grid-column:1 / -1; font-weight:600; }
  .merchant-detail-workspace .provider-card-head { flex-wrap:wrap; }
  .merchant-detail-workspace .provider-card-head>span { flex-basis:100%; order:2; }
  .merchant-detail-workspace .provider-card-head>.button { order:3; width:100%; margin-left:0; }
}

/* OD-156: «Все события» in the journal frame, the search page with sections on the left, one 404 window. */
.activity-type-label { display:flex; align-items:center; gap:8px; min-width:0; }
.activity-type-label>span:last-child { min-width:0; overflow-wrap:anywhere; }
.activity-type-icon { display:inline-grid; place-items:center; flex:0 0 auto; width:30px; height:30px; border-radius:9px; background:#e3ecfb; color:#1d5fd6; }
.activity-type-icon .icon { width:16px; height:16px; flex-basis:16px; }
.tasks-scope .activity-type-icon { width:22px; height:22px; border-radius:6px; }
.tasks-scope .activity-type-icon .icon { width:12px; height:12px; flex-basis:12px; }
.activity-type-icon.is-projects { background:#ebe5fa; color:#5b3fb8; }
.activity-type-icon.is-clients,.activity-type-icon.is-contacts,.activity-type-icon.is-employees { background:#dcf1e6; color:#0f6b38; }
.activity-type-icon.is-merchant_accounts,.activity-type-icon.is-requests { background:#fdefcf; color:#7d5300; }
.activity-type-icon.is-terminals,.activity-type-icon.is-providers { background:#e2eef3; color:#1f5f78; }
.activity-type-icon.is-calendar { background:#fbe3e3; color:#a1312f; }
.activity-type-icon.is-files,.activity-type-icon.is-reference_data { background:#eef0f4; color:#45526a; }
.activity-workspace .activity-list { display:block; }
.activity-workspace .activity-row { display:grid; grid-template-columns:52px 30px minmax(0,1fr) minmax(120px,190px); gap:12px; align-items:center; min-height:54px; padding:6px 18px; border-top:1px solid var(--frost-line); font-size:14px; }
.activity-workspace .activity-row--head { min-height:34px; border-top:0; background:rgb(40 91 158 / 5%); color:#55627a; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.activity-workspace .activity-day { margin:0; }
.activity-workspace .activity-time { color:#55627a; font-variant-numeric:tabular-nums; }
.activity-workspace .activity-body { display:grid; gap:2px; min-width:0; }
.activity-workspace .activity-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.activity-workspace a.activity-title { color:#1d5fd6; text-decoration:none; }
.activity-workspace a.activity-title:hover { text-decoration:underline; }
.activity-workspace .activity-body small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#33415c; font-size:12.5px; }
.activity-actor { display:flex; align-items:center; gap:8px; min-width:0; color:#33415c; font-size:13px; }
.activity-actor>span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.activity-actor .settings-avatar { width:28px; height:28px; flex:0 0 28px; font-size:11px; }
.activity-workspace .empty-copy { padding:18px; }
@media (max-width:760px) {
  .activity-workspace .activity-row { grid-template-columns:30px minmax(0,1fr); grid-template-areas:"icon body" "icon meta"; row-gap:2px; }
  .activity-workspace .activity-row--head { display:none; }
  .activity-workspace .activity-row .activity-type-icon { grid-area:icon; align-self:start; }
  .activity-workspace .activity-row .activity-body { grid-area:body; }
  .activity-workspace .activity-row .activity-time { grid-area:meta; font-size:12px; }
  .activity-workspace .activity-row .activity-actor { grid-area:meta; justify-self:end; font-size:12px; }
  .activity-workspace .activity-actor .settings-avatar { display:none; }
}
/* The query stays in the top bar; the page form is only for phones, where that field is hidden. */
@media (min-width:761px) { .search-page-form { display:none; } }
.search-page { display:flex; flex-direction:column; gap:12px; }
.search-results { display:flex; flex-direction:column; gap:12px; min-width:0; }
.search-group { overflow:hidden; padding:0; }
.search-group .provider-card-head { padding:12px 18px 8px; }
.search-group .provider-card-head h2 { font-size:15px; }
.search-group .provider-card-head .text-link { margin-left:auto; font-size:13px; }
.search-hits { list-style:none; margin:0; padding:0; }
.search-hit { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; align-items:center; min-height:50px; padding:5px 18px; border-top:1px solid var(--frost-line); color:var(--text); text-decoration:none; }
.search-hit:hover,.search-hit:focus-visible { background:rgb(29 95 214 / 5%); }
.search-hit-copy { display:grid; gap:1px; min-width:0; }
.search-hit strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.search-hit-copy>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:12.5px; }
.search-hit mark { background:#fde7a6; color:inherit; border-radius:3px; padding:0 1px; }
.search-more-note { padding:8px 18px 12px; }
.search-empty { display:flex; flex-direction:column; align-items:center; gap:10px; padding:34px 28px; text-align:center; }
.search-empty>.icon { width:30px; height:30px; flex-basis:30px; color:#285b9e; }
.search-empty p { max-width:560px; margin:0; color:#33415c; line-height:1.5; }
.not-found-code { font-size:64px; line-height:1; font-weight:800; letter-spacing:-.02em; color:rgb(29 63 110 / 22%); margin-bottom:10px; }
.not-found-standalone .not-found-card { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; padding:32px 36px 30px; }
.not-found-standalone .not-found-card h1 { margin:0; font-size:24px; }
.not-found-standalone .not-found-card p { margin:0; color:#33415c; line-height:1.5; }
.not-found-actions { display:flex; gap:10px; margin-top:8px; }
.not-found-actions .button { min-width:148px; }
/* Stand walk-through 2026-11-07: the terminal task form head is a frosted card like the other task forms. */
.merchant-task-head.task-create-head { align-items:flex-end; }
@media (max-width:768px) {
  .merchant-task-head.task-create-head { align-items:stretch; }
}
.merchant-task-head .merchant-task-action legend { color:var(--text); text-shadow:none; }
@media (max-width:360px) {
  .merchant-task-switch span { padding:7px 6px; white-space:normal; }
}
