:root {
  --ink: #152033;
  --muted: #697386;
  --line: #e5e9f0;
  --canvas: #f4f6f9;
  --panel: #ffffff;
  --navy: #101a2b;
  --navy-soft: #1c2940;
  --amber: #ffc928;
  --amber-deep: #e6ad00;
  --blue: #3478f6;
  --green: #16a36a;
  --red: #d84b4b;
  --orange: #dd7d19;
  --shadow: 0 8px 30px rgba(21, 32, 51, .06);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

/* AIVOCO referrals and color themes */
.metric-grid.referral-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
.referral-create-form { margin-bottom: 16px; }
.referral-create-form .panel-head { align-items: center; }
.referral-create-form .panel-head > button { margin-left: auto; flex: none; }
.referral-form-fields { display: grid; grid-template-columns: minmax(280px,1fr) minmax(180px,.35fr); gap: 14px; }
.referral-form-fields label { color: var(--muted); font-size: .72rem; font-weight: 800; }
.referral-form-fields input { margin-top: 6px; }
.referral-link-cell { display: flex; align-items: center; gap: 7px; max-width: 330px; }
.referral-link-cell code { min-width: 0; overflow: hidden; color: #315fbe; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.referral-link-cell .table-action { flex: none; }
.theme-toggle { font-size: 1.12rem; }

html[data-theme="dark"] {
  --ink: #e8eef8;
  --muted: #9cabc0;
  --line: #2a3850;
  --canvas: #0a1220;
  --panel: #111c2d;
  --navy: #070d18;
  --navy-soft: #1b2a42;
  --shadow: 0 10px 34px rgba(0,0,0,.24);
  color-scheme: dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .main { background: var(--canvas); color: var(--ink); }
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select { border-color: var(--line); color: var(--ink); background: #0d1727; }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #718198; }
html[data-theme="dark"] :is(.panel,.metric-card,.balance-card,.package-card,.payer-summary,.bot-addon-card,.service-balance-card,.date-range-popover,.modal-card,.assistant-chat,.acceptance-row) { border-color: var(--line); color: var(--ink); background: var(--panel); }
html[data-theme="dark"] :is(.icon-button,.menu-button,.date-range-button,.date-nav,.secondary-button,.table-action) { border-color: var(--line); color: var(--ink); background: #111c2d; }
html[data-theme="dark"] :is(.icon-button,.menu-button,.date-range-button,.date-nav,.secondary-button,.table-action):hover { background: #18263a; }
html[data-theme="dark"] :is(.tariff-editor-groups fieldset,.tariff-editor-row,.toggle-row,.cost-form-grid fieldset,.saved-methods,.saved-card,.support-compose,.support-messages,.support-message .message-body,.admin-overview-intro,.summary-strip,.callout,.guide-index,.guide-card,.guide-block,.guide-example,.guide-overview,.guide-overview-grid > div,.detail-card,.scenario-tab,.field-card) { border-color: var(--line); color: var(--ink); background: #0e1929; }
html[data-theme="dark"] .support-message.mine .message-body { border-color: #806817; color: #f7e8aa; background: #3a310f; }
html[data-theme="dark"] .support-message.ai .message-body { border-color: #17664f; background: #0d2a23; }
html[data-theme="dark"] .metric-card::after { border-color: #1a273a; }
html[data-theme="dark"] .metric-card.accent { border-color: #806817; background: linear-gradient(145deg,#201d14,#2c2610); }
html[data-theme="dark"] .metric-card.accent::after { border-color: rgba(255,201,40,.14); }
html[data-theme="dark"] :is(thead,th) { border-color: var(--line); color: #aebbd0; background: #0d1727; }
html[data-theme="dark"] td { border-color: var(--line); }
html[data-theme="dark"] tr:hover td { background: #142136; }
html[data-theme="dark"] :is(.schedule-chip,.cabinet-chip,.admin-cabinet-select) { color: #b8cdf5; background: #172641; }
html[data-theme="dark"] .minute-chip { border-color: #6e5b17; color: #f0d77c; background: #30280d; }
html[data-theme="dark"] .minute-chip.empty { border-color: #663b3b; color: #ffb0b0; background: #32191c; }
html[data-theme="dark"] .mode-chip { color: #f1d479; background: #30280d; }
html[data-theme="dark"] .mode-chip.live { color: #7fe1b9; background: #103426; }
html[data-theme="dark"] .date-day { color: var(--ink); }
html[data-theme="dark"] .date-day:hover { background: #1a293e; }
html[data-theme="dark"] .date-day.outside { color: #58687d; }
html[data-theme="dark"] .date-day.in-range { color: #f0d77c; background: #30280d; }
html[data-theme="dark"] .date-day.range-start,
html[data-theme="dark"] .date-day.range-end { color: #172033; background: var(--amber); }
html[data-theme="dark"] .referral-link-cell code { color: #91b5ff; }
html[data-theme="dark"] .service-balance-details > span { background: #182538; }
html[data-theme="dark"] .generation-statistics { border-color: var(--line); color: var(--ink); background: linear-gradient(135deg,#111c2d 0%,#101b2c 72%,#2b2510 100%); }
html[data-theme="dark"] dialog::backdrop { background: rgba(0,0,0,.72); }

.payer-summary.payer-not-ready { border-color: #f0b5b5; background: #fff6f6; }
html[data-theme="dark"] .payer-summary.payer-not-ready { border-color: #683d42; background: #2b171b; }
.balance-card .provider-top-up { align-self: flex-start; margin-top: 14px; }

@media (max-width: 900px) {
  .metric-grid.referral-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .referral-form-fields { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .metric-grid.referral-metrics { grid-template-columns: 1fr; }
  .referral-create-form .panel-head { align-items: stretch; flex-direction: column; }
  .referral-create-form .panel-head > button { width: 100%; margin-left: 0; }
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; min-height: 100vh; background: var(--canvas); font-size: 16px; line-height: 1.45; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 258px minmax(0, 1fr); }

.sidebar { position: sticky; top: 0; height: 100vh; height: 100dvh; min-height: 0; display: flex; flex-direction: column; overflow: hidden; padding: 24px 18px; color: #f8fafc; background: var(--navy); z-index: 20; }
.brand { display: flex; gap: 12px; align-items: center; padding: 0 8px 28px; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; overflow:hidden; border-radius:11px 11px 11px 3px; transform:rotate(-2deg); }
.brand-mark img { display:block; width:40px; height:40px; object-fit:contain; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 1.05rem; letter-spacing: .04em; }
.brand small { color: #9eabc0; font-size: .75rem; margin-top: 2px; }
.nav { flex: 1 1 auto; min-height: 0; display: grid; align-content: start; gap: 5px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #3a4860 transparent; }
.nav-item { border: 0; border-radius: 10px; background: transparent; color: #b8c2d1; min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 0 13px; text-align: left; cursor: pointer; transition: background .18s, color .18s, transform .18s; }
.nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-item.active { background: var(--navy-soft); color: #fff; box-shadow: inset 3px 0 0 var(--amber); }
.nav-icon { display: grid; place-items: center; width: 24px; color: var(--amber); font-weight: 700; font-size: 1.08rem; }
.nav-brand-icon img { display:block; width:22px; height:22px; border-radius:6px; object-fit:contain; }
.nav-count { min-width: 20px; height: 20px; margin-left: auto; display: inline-grid; place-items: center; border-radius: 999px; padding: 0 6px; color: #152033; background: var(--amber); font-size: .66rem; font-weight: 900; }
.sidebar-foot { flex: 0 0 auto; margin-top: 14px; }
.system-indicator { display: flex; gap: 10px; align-items: flex-start; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; padding: 12px; color: #d7deea; }
.system-indicator b, .system-indicator small { display: block; }
.system-indicator b { font-size: .82rem; }
.system-indicator small { margin-top: 3px; color: #8897ad; font-size: .7rem; }
.pulse { flex: none; width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(22,163,106,.15); }
.version { margin: 15px 8px 0; color: #687790; font-size: .72rem; }
.profile-button { width: 100%; margin-top: 12px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; color: #d7deea; background: transparent; text-align: left; cursor: pointer; }
.profile-button:hover { background: rgba(255,255,255,.06); }.profile-button b,.profile-button small { display: block; }.profile-button b { font-size: .78rem; }.profile-button small { margin-top: 2px; color: #8897ad; font-size: .65rem; }
.logout-button { width: 100%; margin-top: 6px; min-height: 34px; border: 0; border-radius: 8px; color: #aeb9c9; background: transparent; text-align: left; padding: 0 12px; cursor: pointer; }.logout-button:hover { color: #fff; background: rgba(255,255,255,.06); }

.main { min-width: 0; padding: 0 34px 42px; }
.topbar { min-height: 102px; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.topbar h1 { margin: 2px 0 0; font-size: 1.65rem; line-height: 1.12; letter-spacing: -.025em; }
.eyebrow { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 800; }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.admin-cabinet-select { width: min(220px,24vw); min-height: 34px; border-radius: 999px; padding-inline: 12px 28px; color: #315fbe; background: #eef4ff; font-size: .74rem; font-weight: 750; }
.schedule-chip, .mode-chip, .cabinet-chip, .minute-chip { border-radius: 999px; padding: 7px 11px; font-size: .76rem; font-weight: 750; white-space: nowrap; }
.minute-chip { border: 1px solid #ead37d; color: #725500; background: #fff4c9; cursor: pointer; }
.minute-chip:hover { background: #ffedaa; }.minute-chip.empty { border-color: #efcaca; color: #a23c3c; background: #fdeaea; }
.cabinet-chip { max-width: 190px; overflow: hidden; color: #315fbe; background: #eaf1ff; text-overflow: ellipsis; }
.schedule-chip { color: #43506a; background: #e9edf4; }
.mode-chip { display:none!important; color: #805e00; background: #fff2b8; }
.mode-chip.live { color: #087048; background: #dff6ec; }
.icon-button, .menu-button { border: 1px solid var(--line); background: var(--panel); border-radius: 10px; width: 40px; height: 40px; cursor: pointer; }
.icon-button:hover, .menu-button:hover { background: #f8fafc; }
.menu-button { display: none; }

.view { display: none; animation: fade .16s ease; }
.view.active { display: block; }
@keyframes fade { from { opacity: .35; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.hidden { display: none !important; }
.blacklist-add-panel { margin-bottom:16px; }
.blacklist-form { display:grid; grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(180px,1.2fr) minmax(200px,1.2fr) auto; gap:12px; align-items:end; }
.blacklist-form label { min-width:0; }
.blacklist-form .primary-button { min-height:42px; white-space:nowrap; }
@media (max-width:1100px) { .blacklist-form { grid-template-columns:repeat(2,minmax(0,1fr)); } .blacklist-form .primary-button { justify-self:start; } }
@media (max-width:640px) { .blacklist-form { grid-template-columns:1fr; } .blacklist-form .primary-button { width:100%; } }
.dashboard-period { display: flex; justify-content: flex-end; align-items: center; gap: 9px; margin: -8px 0 14px; }
.ecosystem-promos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.ecosystem-promo { min-width:0; min-height:86px; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--line); border-radius:14px; color:var(--ink); background:var(--panel); box-shadow:0 8px 24px rgba(18,31,51,.045); text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.ecosystem-promo:hover { transform:translateY(-1px); box-shadow:0 12px 28px rgba(18,31,51,.08); }
.ecosystem-promo-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:11px; overflow:hidden; }
.ecosystem-promo-mark img { display:block; width:44px; height:44px; object-fit:contain; }
.ecosystem-promo-copy { min-width:0; display:grid; gap:2px; }
.ecosystem-promo-copy small { color:var(--muted); font-size:.59rem; font-weight:850; text-transform:uppercase; }
.ecosystem-promo-meta { min-width:0; display:flex; align-items:center; gap:7px; }
.ecosystem-promo-meta small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ecosystem-promo-meta > span { flex:none; padding:2px 5px; border:1px solid rgba(117,91,0,.22); border-radius:5px; color:#755b00; background:#fff5c7; font-size:.5rem; font-weight:900; text-transform:uppercase; }
.ecosystem-promo-copy b { overflow:hidden; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.ecosystem-promo-copy em { overflow:hidden; color:var(--muted); font-size:.67rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.ecosystem-promo-action { display:flex; align-items:center; gap:5px; font-size:.67rem; font-weight:900; white-space:nowrap; }
.ecosystem-promo-action i { font-size:.9rem; font-style:normal; }
.ecosystem-promo-crm { border-color:rgba(23,163,116,.23); background:linear-gradient(120deg,rgba(33,190,132,.09),var(--panel) 62%); }.ecosystem-promo-crm:hover { border-color:rgba(23,163,116,.48); }.ecosystem-promo-crm .ecosystem-promo-action { color:#087854; }
.ecosystem-promo-control { border-color:rgba(56,114,205,.22); background:linear-gradient(120deg,rgba(69,128,222,.09),var(--panel) 62%); }.ecosystem-promo-control:hover { border-color:rgba(56,114,205,.46); }.ecosystem-promo-control .ecosystem-promo-action { color:#245cae; }
.ecosystem-promo-spros { border-color:rgba(205,158,18,.26); background:linear-gradient(120deg,rgba(255,211,82,.16),var(--panel) 62%); }.ecosystem-promo-spros:hover { border-color:rgba(205,158,18,.52); }.ecosystem-promo-spros .ecosystem-promo-action { color:#8a6800; }
.date-range-button { min-height: 40px; display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid #d8dee8; border-radius: 10px; color: #29364b; background: var(--panel); font-size: .78rem; font-weight: 750; white-space: nowrap; cursor: pointer; box-shadow: 0 2px 8px rgba(21,32,51,.035); }
.date-range-button:hover,.date-range-button[aria-expanded="true"] { border-color: #d1ab25; background: #fffaf0; }
.date-range-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.date-range-popover { position: fixed; z-index: 100; width: min(680px,calc(100vw - 20px)); padding: 16px; border: 1px solid #dce1e9; border-radius: 16px; background: var(--panel); box-shadow: 0 22px 70px rgba(15,25,42,.22); }
.date-range-head { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; gap: 10px; margin-bottom: 10px; }
.date-range-head strong { text-align: center; font-size: .82rem; }
.date-nav { width: 38px; height: 38px; padding: 0; border: 1px solid var(--line); border-radius: 9px; color: #354259; background: #f8fafc; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.date-nav:hover { border-color: #d8bb55; background: #fff8df; }
.date-range-calendars { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.date-calendar h3 { margin: 7px 0 12px; text-align: center; font-size: 1rem; text-transform: capitalize; }
.date-calendar-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 3px; }
.date-weekday { display: grid; place-items: center; height: 27px; color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.date-day { position: relative; min-width: 0; height: 36px; padding: 0; border: 0; border-radius: 9px; color: #273449; background: transparent; font-size: .76rem; cursor: pointer; }
.date-day:hover { background: #edf2f8; }
.date-day.outside { color: #adb5c2; }
.date-day.today { box-shadow: inset 0 0 0 1px #d7b33d; }
.date-day.in-range { border-radius: 7px; color: #5b4700; background: #fff3bf; }
.date-day.range-start,.date-day.range-end { color: #182033; background: var(--amber); font-weight: 900; box-shadow: 0 2px 7px rgba(190,139,0,.25); }
.date-range-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); }
.date-range-presets,.date-range-actions { display: flex; align-items: center; gap: 7px; }
.date-range-presets button { min-height: 33px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: #f8fafc; font-size: .68rem; font-weight: 750; cursor: pointer; }
.date-range-presets button:hover { color: #6c5200; border-color: #e0c35f; background: #fff9e5; }

.summary-strip { display: flex; align-items: center; gap: 14px; padding: 13px 16px; margin-bottom: 18px; border-radius: 12px; border: 1px solid #dce6e2; background: #f5fbf8; }
.summary-strip > div { display: flex; align-items: center; gap: 10px; }
.summary-strip .pulse { margin: 0; }
.summary-strip > span { color: var(--muted); font-size: .86rem; }
.summary-strip .text-button { margin-left: auto; }
.text-button { border: 0; padding: 4px; color: #315fbe; font-weight: 700; background: transparent; cursor: pointer; }
.text-button:hover { text-decoration: underline; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; margin-bottom: 16px; }
.metric-card { position: relative; overflow: hidden; min-height: 142px; padding: 19px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.metric-card::after { content: ""; position: absolute; right: -19px; bottom: -35px; width: 90px; height: 90px; border-radius: 50%; border: 16px solid #f0f3f7; }
.metric-card.accent { border-color: #f5cf55; background: linear-gradient(145deg,#fffdf7,#fff8dc); }
.metric-card.accent::after { border-color: rgba(255,201,40,.25); }
.metric-label { display: block; color: var(--muted); font-size: .8rem; font-weight: 700; }
.metric-card strong { position: relative; z-index: 1; display: block; margin-top: 8px; font-size: 2.1rem; line-height: 1.1; letter-spacing: -.04em; }
.metric-card small { position: relative; z-index: 1; display: block; color: var(--muted); margin-top: 10px; font-size: .78rem; }
.cost-metrics .metric-card strong { font-size: 1.75rem; }
.cost-metrics { grid-template-columns: repeat(5, minmax(0,1fr)); }
.balance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-bottom: 16px; }
.balance-card { min-height: 138px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.balance-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.balance-head span { font-weight: 850; font-size: .86rem; }.balance-head b { border-radius: 999px; padding: 4px 7px; background: #eef1f5; color: var(--muted); font-size: .62rem; white-space: nowrap; }
.balance-head b.source-api { color: var(--green); background: #e5f7ef; }.balance-head b.source-subscription { color: #315fbe; background: #eaf1ff; }
.balance-card > strong { display: block; margin-top: 20px; font-size: 1.42rem; }.balance-card > small { display: block; margin-top: 6px; color: var(--muted); font-size: .71rem; }.balance-card > p { margin: 9px 0 0; color: var(--red); font-size: .66rem; }
.billing-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
.billing-admin-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-overview-intro { display: flex; align-items: center; gap: 20px; margin: 2px 0 18px; padding: 18px 20px; border: 1px solid #dbe4f2; border-radius: 14px; background: linear-gradient(135deg,#f8fbff,#eef4ff); }
.admin-overview-intro h2 { margin: 3px 0 0; font-size: 1.15rem; }
.admin-overview-intro p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.admin-overview-intro > button { margin-left: auto; flex: none; }
.admin-overview-metrics { grid-template-columns: repeat(5,minmax(0,1fr)); }
.admin-overview-metrics .metric-card strong { font-size: 1.75rem; }
.admin-statistics-table { margin-bottom: 16px; }
.admin-statistics-table table { min-width: 1180px; }
.admin-stat-detail { display: block; margin-top: 3px; color: var(--muted); font-size: .64rem; font-weight: 500; }
.billing-empty { border-left-color: var(--red); color: #873b3b; background: #fff2f2; }
.payer-summary { display: flex; align-items: center; gap: 14px; justify-content: space-between; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: #fff; }
.payer-summary b,.payer-summary span { display: block; }.payer-summary b { font-size: .84rem; }.payer-summary > div > span { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.saved-methods { display: flex; align-items: flex-start; gap: 18px; justify-content: space-between; margin-top: 12px; border: 1px solid #dbe4f2; border-radius: 12px; padding: 14px 16px; background: #f7faff; }
.saved-methods > div:first-child b,.saved-methods > div:first-child span { display: block; }.saved-methods > div:first-child b { font-size: .8rem; }.saved-methods > div:first-child span { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.saved-methods > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.saved-card { display: grid; grid-template-columns: auto 24px; gap: 1px 8px; align-items: center; border: 1px solid #d9e1ed; border-radius: 9px; padding: 8px 8px 8px 11px; background: #fff; }
.saved-card b { font-size: .72rem; }.saved-card small { grid-column: 1; color: var(--muted); font-size: .62rem; }.saved-card button { grid-column: 2; grid-row: 1 / 3; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 6px; color: var(--red); background: #fff1f1; cursor: pointer; }
.package-heading { margin: 25px 0 13px; }
.package-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.bot-addon-card { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.bot-addon-card > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.bot-addon-card > div:last-child { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.sales-subscription-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:24px; margin-bottom:24px; padding:24px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.sales-subscription-card h3 { margin:6px 0 8px; font-size:1.05rem; }
.sales-subscription-card p,.sales-subscription-card li,.sales-subscription-card small { color:var(--muted); }
.sales-subscription-card ul { display:grid; gap:7px; margin:16px 0; padding-left:18px; }
.sales-subscription-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sales-subscription-options article { position:relative; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:18px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; }
.sales-subscription-options article.featured { border-color:#e6b91e; background:#fff9df; }
.sales-subscription-options b { font-size:1.15rem; }
.sales-subscription-options span { color:var(--muted); font-size:.68rem; }
.sales-subscription-options em { position:absolute; top:8px; right:8px; color:#7b5c00; font-size:.58rem; font-style:normal; font-weight:800; }
.sales-subscription-gate { grid-column:1/-1; max-width:720px; margin:36px auto; padding:32px; text-align:center; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.sales-subscription-gate h2 { margin:8px 0; }.sales-subscription-gate p { margin:0 0 18px; color:var(--muted); }
@media (max-width: 760px) { .sales-subscription-card { grid-template-columns:1fr; padding:16px; }.sales-subscription-options { grid-template-columns:1fr; } }
.bot-addon-card span,.bot-addon-card small { color: var(--muted); }
.scenario-actions { margin-left: auto; display: grid; grid-template-columns: minmax(170px,220px) auto auto; align-items: end; gap: 9px; }
.scenario-actions label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.scenario-actions small { grid-column: 1 / -1; text-align: right; color: var(--muted); }
.package-card { position: relative; display: flex; flex-direction: column; min-height: 245px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.package-card.recommended { border-color: #e7c044; box-shadow: inset 0 3px 0 var(--amber),var(--shadow); }
.package-label { position: absolute; right: 12px; top: 12px; border-radius: 999px; padding: 4px 7px; color: #725500; background: #fff1b5; font-size: .62rem; font-weight: 900; }
.package-card > strong { padding-right: 45px; font-size: 1.15rem; }.package-card > div { margin-top: 26px; }.package-card > div b,.package-card > div span { display: block; }.package-card > div b { font-size: 1.35rem; }.package-card > div span { margin-top: 3px; color: var(--muted); font-size: .69rem; }
.package-card > p { margin: 18px 0; color: var(--muted); font-size: .72rem; }.package-card > p strong { color: var(--ink); }.package-card > button { width: 100%; margin-top: auto; }
.billing-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.billing-panel-head { align-items: center; margin: 0; padding: 17px 18px; border-bottom: 1px solid var(--line); }.billing-panel-head > button { margin-left: auto; }.billing-admin-table { margin-bottom: 16px; }
.minute-change.positive { color: var(--green); }.minute-change.negative { color: var(--red); }
.payment-method-list { display: grid; gap: 9px; }
.payment-method { display: flex; align-items: flex-start; gap: 11px; border: 1px solid var(--line); border-radius: 11px; padding: 13px; cursor: pointer; }
.payment-method:has(input:checked) { border-color: #d6ae22; background: #fffaf0; box-shadow: inset 0 0 0 1px #e9c959; }
.payment-method input { flex: none; width: 18px; min-height: 18px; margin: 2px 0 0; }.payment-method b,.payment-method small { display: block; }.payment-method b { font-size: .82rem; }.payment-method small { margin-top: 3px; color: var(--muted); font-size: .69rem; }
.cost-settings { margin-bottom: 16px; }.cost-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#admin-finance-result .metric-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }.finance-tax-breakdown { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 14px; }.finance-tax-breakdown > div { padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; background: #f7f9fc; }.finance-tax-breakdown span,.finance-tax-breakdown b { display: block; }.finance-tax-breakdown span { color: var(--muted); font-size: .67rem; }.finance-tax-breakdown b { margin-top: 4px; font-size: .8rem; }#admin-finance-result>.callout { margin-top: 14px; }html[data-theme="dark"] .finance-tax-breakdown>div { border-color: var(--line); background: #0e1929; }
.cost-form-grid fieldset { min-width: 0; margin: 0; padding: 15px; border: 1px solid var(--line); border-radius: 11px; }.cost-form-grid legend { padding: 0 6px; font-size: .82rem; font-weight: 850; }
.cost-form-grid label { display: block; margin-top: 10px; color: var(--muted); font-size: .72rem; font-weight: 750; }.cost-form-grid label:first-of-type { margin-top: 0; }.cost-form-grid input,.cost-form-grid select { margin-top: 5px; }
.learning-grid { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); gap: 16px; margin-bottom: 16px; }
.learning-metrics .metric-text { max-width: 88%; font-size: 1.15rem; line-height: 1.25; letter-spacing: -.015em; overflow-wrap: anywhere; }
.toggle-row { display: flex; align-items: flex-start; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; cursor: pointer; }
.toggle-row input { width: 18px; min-height: 18px; margin: 2px 0 0; }.toggle-row b,.toggle-row small { display: block; }.toggle-row b { font-size: .82rem; }.toggle-row small { margin-top: 4px; color: var(--muted); font-size: .71rem; line-height: 1.4; }
.learning-limit { display: block; margin-top: 16px; font-size: .78rem; font-weight: 800; }.learning-limit input { margin-top: 6px; }
.learning-patterns { display: grid; gap: 15px; }.pattern-group { padding-bottom: 14px; border-bottom: 1px solid var(--line); }.pattern-group:last-child { padding-bottom: 0; border-bottom: 0; }.pattern-group label { display: block; margin-bottom: 8px; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }.pattern-group > div { display: flex; flex-wrap: wrap; gap: 7px; }.pattern-group span { padding: 6px 9px; border-radius: 999px; background: #f0f3f7; font-size: .73rem; }.pattern-group span b { margin-left: 4px; color: #315fbe; }.pattern-group small { color: var(--muted); font-size: .74rem; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 16px; margin-bottom: 16px; }
.panel { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); padding: 20px; }
.panel-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.panel-head h2, .section-toolbar h2 { margin: 0; font-size: 1.05rem; letter-spacing: -.015em; }
.panel-head p, .section-toolbar p { margin: 4px 0 0; color: var(--muted); font-size: .8rem; }
.legend { margin-left: auto; display: flex; gap: 12px; color: var(--muted); font-size: .72rem; }
.legend span { display: flex; gap: 5px; align-items: center; }
.dot { width: 7px; height: 7px; border-radius: 2px; display: inline-block; }
.dot.calls { background: #cfd6e2; }.dot.answered { background: var(--blue); }.dot.leads { background: var(--amber-deep); }
.chart { height: 230px; display: flex; gap: 14px; align-items: stretch; padding-top: 15px; overflow-x: auto; }
.chart-day { flex: 1; min-width: 28px; display: grid; grid-template-rows: 1fr 22px; gap: 8px; }
.bars { display: flex; justify-content: center; align-items: flex-end; gap: 3px; border-bottom: 1px solid var(--line); }
.bar { width: clamp(6px, 22%, 14px); min-height: 2px; border-radius: 4px 4px 0 0; transition: height .25s ease; }
.bar.calls { background: #d5dbe5; }.bar.answered { background: var(--blue); }.bar.leads { background: var(--amber-deep); }
.chart-day label { text-align: center; color: var(--muted); font-size: .68rem; }
.empty-chart { margin: auto; color: var(--muted); text-align: center; }
.lock { margin-left: auto; border-radius: 999px; background: #eef1f5; color: #617086; padding: 5px 9px; font-size: .67rem; font-weight: 800; }
.rule-row { display: flex; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }
.rule-row:first-of-type { border-top: 0; }
.rule-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: none; border-radius: 9px; color: #6c5200; background: #fff4c9; }
.rule-row b, .rule-row small { display: block; }.rule-row b { font-size: .84rem; }.rule-row small { color: var(--muted); font-size: .73rem; margin-top: 2px; }

.section-toolbar { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.section-toolbar > button, .section-toolbar > .filter-row, .section-toolbar > .button-link { margin-left: auto; }
.primary-button, .secondary-button { min-height: 40px; padding: 0 15px; border-radius: 9px; font-weight: 750; font-size: .82rem; cursor: pointer; }
.primary-button { border: 1px solid var(--amber-deep); color: #2d2508; background: var(--amber); box-shadow: 0 4px 10px rgba(230,173,0,.16); }
.primary-button:hover { background: #ffd44c; }
.secondary-button { border: 1px solid var(--line); color: #3c4a61; background: #fff; }
.secondary-button:hover { background: #f7f9fc; }
.button-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.danger-button { border-color: #efcaca; color: #ac3030; background: #fff7f7; }
button:disabled { opacity: .55; cursor: not-allowed; }

.call-list-grid { display: grid; grid-template-columns: repeat(3,minmax(260px,1fr)); gap: 16px; margin-bottom: 18px; }
.call-list-card { position: relative; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); padding: 18px; box-shadow: var(--shadow); }
.call-list-card.active { border-color: #9bd8bf; box-shadow: inset 0 3px 0 var(--green), var(--shadow); }
.call-list-card h3 { margin: 0 0 7px; font-size: 1rem; }.call-list-card > p { margin: 0; color: var(--muted); font-size: .75rem; }
.card-top { display: flex; justify-content: space-between; gap: 10px; }
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 8px; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.status-badge.active,.status-badge.hot,.status-badge.completed { color: #087048; background: #def5eb; }
.status-badge.paid { color: #087048; background: #def5eb; }.status-badge.cancelled { color: #a23c3c; background: #fde7e7; }
.status-badge.paused,.status-badge.pending,.status-badge.simulated { color: #59687e; background: #edf0f4; }
.status-badge.retry,.status-badge.warm { color: #875f00; background: #fff2c0; }
.status-badge.no_answer,.status-badge.voicemail,.status-badge.failed,.status-badge.cold,.status-badge.do_not_call,.status-badge.interrupted { color: #a23c3c; background: #fde7e7; }
.list-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 18px 0; }
.list-stats div { border-radius: 9px; background: #f5f7fa; padding: 10px; }.list-stats strong,.list-stats span { display: block; }.list-stats strong { font-size: 1.05rem; }.list-stats span { color: var(--muted); font-size: .65rem; margin-top: 2px; }
.card-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.card-actions button,.upload-label { min-height: 35px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 0 10px; font-size: .73rem; font-weight: 750; cursor: pointer; }
.upload-label input { display: none; }.card-actions button:hover,.upload-label:hover { background: #f5f7fa; }
.card-actions .start { border-color: #8ed2b5; color: #087048; background: #ecfaf4; }.card-actions .stop { border-color: #f0cece; color: #a63a3a; background: #fff5f5; }

.table-panel { padding: 0; overflow: hidden; }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: var(--muted); background: #fafbfc; text-transform: uppercase; letter-spacing: .05em; font-size: .65rem; font-weight: 800; }
td { font-size: .78rem; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #fcfdff; }
.person strong,.person small { display: block; }.person strong { font-size: .8rem; }.person small { color: var(--muted); font-size: .7rem; margin-top: 2px; }
.table-action { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; }
.empty-row { padding: 32px; color: var(--muted); text-align: center; }
.filter-row { display: flex; gap: 9px; }
select, input, textarea { width: 100%; border: 1px solid #d7dde7; border-radius: 9px; color: var(--ink); background: #fff; outline: none; }
select, input { min-height: 42px; padding: 0 12px; }
textarea { min-height: 112px; padding: 12px; resize: vertical; line-height: 1.5; }
textarea.tall { min-height: 210px; }
select:focus,input:focus,textarea:focus { border-color: #7da9ff; box-shadow: 0 0 0 3px rgba(52,120,246,.11); }
.pagination { display: flex; justify-content: space-between; align-items: center; padding: 13px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; }
.pagination button { border: 1px solid var(--line); border-radius: 7px; background: #fff; min-height: 34px; padding: 0 10px; cursor: pointer; }

.scenario-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 16px; align-items: start; }
.scenario-tabs { position: sticky; top: 20px; display: grid; gap: 6px; }
.scenario-tab { border: 1px solid transparent; border-radius: 10px; background: transparent; padding: 12px; text-align: left; cursor: pointer; font-weight: 800; font-size: .82rem; }
.scenario-tab span { display: block; margin-top: 3px; color: var(--muted); font-weight: 500; font-size: .69rem; }
.scenario-tab.active { border-color: #d7e0f0; background: #fff; box-shadow: 0 5px 18px rgba(21,32,51,.05); }
.scenario-tab.active::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--amber-deep); vertical-align: 1px; }
.scenario-form { padding: 0 24px; }
.scenario-panel { display: none; }.scenario-panel.active { display: block; }
.form-section { display: block; padding: 18px 0; border-bottom: 1px solid var(--line); }
.form-section:last-child { border-bottom: 0; }
.section-number { display: none; }
.automatic-setting { display: grid; gap: 6px; align-content: start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.automatic-setting span { color: var(--muted); font-size: .78rem; line-height: 1.45; }
.field-body label,.split-fields label,.modal-card > label { display: block; margin-bottom: 4px; font-size: .85rem; font-weight: 800; }
.field-body p { margin: 0 0 10px; color: var(--muted); font-size: .73rem; }
.split-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.input-suffix { display: flex; }.input-suffix input { border-radius: 9px 0 0 9px; }.input-suffix span { display: grid; place-items: center; min-width: 48px; border: 1px solid #d7dde7; border-left: 0; border-radius: 0 9px 9px 0; background: #f4f6f9; color: var(--muted); font-size: .8rem; }
.callout { display: grid; gap: 5px; margin: 20px 0 24px; padding: 14px 15px; border-left: 3px solid var(--blue); border-radius: 7px; background: #f0f6ff; color: #36527b; }
.callout.success { border-left-color: var(--green); background: #eefaf5; color: #26634e; }
.callout b { font-size: .8rem; }.callout span { font-size: .74rem; }

.integration-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 16px; }
.integration-card { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); padding: 20px; box-shadow: var(--shadow); }
.integration-logo { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-weight: 900; background: #eff3f9; color: #315fbe; }
.integration-card h3 { margin: 15px 0 4px; font-size: .94rem; }.integration-card p { min-height: 38px; margin: 0 0 15px; color: var(--muted); font-size: .75rem; }
.integration-state { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 13px; color: var(--muted); font-size: .72rem; }
.integration-state b.ok { color: var(--green); }.integration-state b.missing { color: var(--red); }.integration-state b.disabled { color: var(--muted); }
.bitrix-settings { margin-bottom: 16px; }
.utm-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.utm-grid label { display: block; margin-bottom: 5px; font-size: .76rem; font-weight: 800; }
.integration-settings,.platform-settings { margin-bottom: 16px; }
.integration-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.integration-form-grid.two-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.integration-form-grid fieldset { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 11px; }
.integration-form-grid legend { padding: 0 6px; font-size: .84rem; font-weight: 850; }
.integration-form-grid label { display: block; margin-top: 11px; color: var(--muted); font-size: .73rem; font-weight: 750; }
.integration-form-grid label:first-of-type { margin-top: 0; }.integration-form-grid input,.integration-form-grid select,.integration-form-grid textarea { margin-top: 5px; }
.integration-form-grid label > small { display: block; margin-top: 4px; color: #78869a; font-size: .64rem; font-weight: 500; }
.inline-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.inline-fields label { margin-top: 11px !important; }
.toggle-row.compact { margin-top: 11px; padding: 10px; }.toggle-row.compact input { width: 18px; }.toggle-row.compact span { min-width: 0; }
.account-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 600px; }
.account-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.account-profile-grid label { display: block; color: var(--muted); font-size: .73rem; font-weight: 800; }.account-profile-grid input,.account-profile-grid select,.account-profile-grid textarea { margin-top: 5px; }.account-address-field { grid-column: 1 / -1; }
.verification-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 15px 0; }
.legal-audit { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 18px; }.legal-audit .panel-head { margin-bottom: 10px; }.legal-audit h3 { margin: 0; font-size: .92rem; }.legal-audit p { margin: 3px 0 0; color: var(--muted); font-size: .7rem; }
.acceptance-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; padding: 10px 12px; border-top: 1px solid var(--line); }.acceptance-row:first-child { border-top: 0; }.acceptance-row > div:last-child { text-align: right; }.acceptance-row b,.acceptance-row small { display: block; }.acceptance-row b { font-size: .74rem; }.acceptance-row small { margin-top: 2px; color: var(--muted); font-size: .63rem; }
.table-buttons { display: flex; gap: 6px; flex-wrap: wrap; }.table-buttons .secondary-button { min-height: 32px; padding: 0 9px; font-size: .7rem; }
.status-note { display: block; margin-top: 4px; color: var(--orange); font-size: .64rem; }
.password-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }.password-row button { margin-top: 0; }
.policy-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }.policy-grid div { border-radius: 10px; background: #f6f8fb; padding: 14px; }.policy-grid b,.policy-grid span { display: block; }.policy-grid b { font-size: .77rem; }.policy-grid span { margin-top: 5px; color: var(--muted); font-size: .7rem; }

.support-layout { display: grid; grid-template-columns: minmax(245px,.34fr) minmax(0,1fr); gap: 16px; align-items: stretch; min-height: 610px; }
.support-layout.tenant-mode { grid-template-columns: minmax(0,1fr); }
.support-threads-panel { padding: 14px; }
.support-threads-panel .panel-head { padding: 5px 5px 12px; margin: 0; }
.support-threads { display: grid; gap: 6px; }
.support-thread { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 9px; border: 1px solid transparent; border-radius: 10px; padding: 11px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.support-thread:hover { background: #f6f8fb; }.support-thread.active { border-color: #d7e0f0; background: #f4f7fc; }
.support-thread b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.support-thread small { grid-column: 1 / -1; min-width: 0; overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.support-thread time { color: var(--muted); font-size: .62rem; white-space: nowrap; }
.thread-count { min-width: 19px; height: 19px; display: inline-grid; place-items: center; border-radius: 999px; color: #152033; background: var(--amber); font-size: .62rem; font-weight: 900; }
.support-chat { min-width: 0; display: grid; grid-template-rows: auto minmax(300px,1fr) auto; padding: 0; overflow: hidden; }
.support-chat-head { display: flex; align-items: flex-start; gap: 15px; padding: 20px; border-bottom: 1px solid var(--line); }
.support-chat-head h2 { margin: 3px 0 0; font-size: 1.08rem; }.support-chat-head p { margin: 4px 0 0; color: var(--muted); font-size: .73rem; }
.support-online { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; color: #087048; background: #e4f7ef; font-size: .66rem; font-weight: 800; }.support-online i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.support-messages { min-height: 340px; max-height: 58vh; display: flex; flex-direction: column; gap: 10px; overflow-y: auto; padding: 20px; background: #f8fafc; }
.support-empty { margin: auto; display: grid; gap: 6px; color: var(--muted); text-align: center; }.support-empty b { color: var(--ink); font-size: .9rem; }.support-empty span { font-size: .74rem; }
.support-message { max-width: min(78%,620px); display: grid; gap: 5px; align-self: flex-start; }
.support-message.mine { align-self: flex-end; }.support-message .message-body { border: 1px solid #e0e5ed; border-radius: 4px 13px 13px 13px; padding: 10px 12px; background: #fff; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .79rem; }
.support-message.mine .message-body { border-color: #ead37d; border-radius: 13px 4px 13px 13px; background: #fff4c9; }
.support-message.ai .message-body { border-color: #b9e6d7; background: #f0fbf7; box-shadow: inset 3px 0 0 #25ad7d; }
.support-message.ai small { color: #16775b; font-weight: 700; }
.support-message small { color: var(--muted); font-size: .62rem; }.support-message.mine small { text-align: right; }
.support-compose { padding: 16px 20px 18px; border-top: 1px solid var(--line); background: #fff; }
.support-compose label { display: block; margin-bottom: 6px; font-size: .75rem; font-weight: 800; }.support-compose textarea { min-height: 86px; max-height: 180px; }
.support-compose > div { display: flex; align-items: center; gap: 12px; margin-top: 10px; }.support-compose small { color: var(--muted); font-size: .68rem; }.support-compose button { margin-left: auto; }


.guide-overview { margin-bottom: 18px; padding: 20px; border: 1px solid var(--line); border-left: 4px solid var(--amber-deep); border-radius: 8px; background: #fff; }
.guide-overview h3 { margin: 5px 0 8px; font-size: 1.05rem; }.guide-overview > p { max-width: 850px; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.guide-overview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 16px; }.guide-overview-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #f7f9fc; }.guide-overview-grid b,.guide-overview-grid span { display: block; }.guide-overview-grid b { margin-bottom: 5px; font-size: .72rem; }.guide-overview-grid span { color: var(--muted); font-size: .7rem; line-height: 1.5; }
@media (max-width: 760px) { .guide-overview-grid { grid-template-columns: 1fr; } }

.guide-layout { display: block; max-width: 980px; }
.guide-index { position: sticky; top: 82px; display: grid; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: var(--shadow); }
.guide-index a { display: flex; align-items: center; gap: 9px; padding: 9px; border-radius: 9px; color: var(--ink); text-decoration: none; font-size: .72rem; font-weight: 800; }
.guide-index a:hover { background: #fff7d4; }
.guide-index span,.guide-number { flex: none; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: #725500; background: #fff1b5; font-size: .72rem; font-weight: 900; }
.guide-flow { display: grid; gap: 14px; }
.guide-card { scroll-margin-top: 92px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.guide-card summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 17px 18px; cursor: pointer; }.guide-card summary::-webkit-details-marker { display: none; }
.guide-card summary::after { content: "+"; margin-left: auto; color: var(--muted); font-size: 1.25rem; }.guide-card[open] summary::after { content: "−"; }
.guide-card summary b,.guide-card summary small { display: block; }.guide-card summary b { font-size: .92rem; }.guide-card summary small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.guide-body { border-top: 1px solid var(--line); padding: 18px; color: #43506a; font-size: .77rem; line-height: 1.58; }.guide-body p { margin: 0 0 12px; }.guide-body p:last-child { margin-bottom: 0; }.guide-body ol,.guide-body ul { margin: 0 0 13px; padding-left: 20px; }.guide-body li + li { margin-top: 6px; }
.guide-blocks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin: 12px 0; }
.guide-block { padding: 12px; border: 1px solid #e7edf5; border-radius: 9px; background: #f8fafc; }.guide-block b { display: block; margin-bottom: 7px; color: var(--ink); font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }
.guide-example { display: grid; gap: 6px; margin: 11px 0; padding: 12px; border-left: 3px solid var(--amber-deep); border-radius: 7px; background: #fffaf0; }.guide-example b { color: #765900; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }.guide-example code { border-radius: 4px; padding: 1px 4px; background: #f0e8cf; font-size: .72rem; }
.guide-table { margin: 12px 0; border: 1px solid var(--line); border-radius: 8px; }.guide-table table { min-width: 620px; }.guide-table th,.guide-table td { padding: 9px; font-size: .68rem; }
.guide-statuses { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; }.guide-statuses span { border-radius: 7px; padding: 9px; background: #f3f6fa; font-size: .69rem; }.guide-statuses b { display: block; margin-bottom: 2px; color: var(--ink); }
.guide-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); }.guide-actions button { min-width: 118px; }


.guide-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.guide-step { display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: #fff; box-shadow: var(--shadow); }
.guide-step > span { flex: none; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 7px; color: #725500; background: #fff1b5; font-size: .72rem; font-weight: 900; }
.guide-step b,.guide-step small { display: block; }.guide-step b { font-size: .78rem; }.guide-step small { margin-top: 3px; color: var(--muted); font-size: .66rem; }
.guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start; }
@media (max-width: 1100px) { .guide-layout { grid-template-columns: 1fr; }.guide-index { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }.guide-steps { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 760px) { .guide-blocks { grid-template-columns: 1fr; }.guide-index { grid-template-columns: 1fr 1fr; }.guide-grid { grid-template-columns: 1fr; } }
@media (max-width: 430px) { .guide-statuses,.guide-index { grid-template-columns: 1fr; }.guide-actions { flex-direction: column; }.guide-actions button { width: 100%; }.guide-steps { grid-template-columns: 1fr; } }

.modal { width: min(520px,calc(100% - 28px)); max-height: calc(100vh - 28px); padding: 0; border: 0; border-radius: 15px; color: var(--ink); box-shadow: 0 25px 70px rgba(12,20,34,.24); }
.modal::backdrop { background: rgba(11,19,32,.5); backdrop-filter: blur(3px); }
.wide-modal { width: min(880px,calc(100% - 28px)); }
.modal-card { padding: 22px; }
.modal-head { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 22px; }.modal-head h2 { margin: 3px 0 0; font-size: 1.2rem; }.modal-close { margin-left: auto; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 1.25rem; cursor: pointer; }
.modal-card > label { margin-top: 15px; }.input-help { color: var(--muted); font-size: .72rem; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; }
.detail-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 18px; }.detail-item { padding: 12px; border-radius: 9px; background: #f5f7fa; }.detail-item label,.detail-item b { display: block; }.detail-item label { color: var(--muted); font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; }.detail-item b { margin-top: 5px; font-size: .78rem; overflow-wrap: anywhere; }
.transcript { display: grid; gap: 9px; max-height: 330px; overflow: auto; padding: 3px; }.bubble { max-width: 83%; padding: 10px 12px; border-radius: 12px; background: #edf1f6; font-size: .78rem; white-space: pre-wrap; }.bubble.bot { margin-left: auto; background: #fff1b7; }.bubble small { display: block; margin-bottom: 3px; color: var(--muted); font-size: .65rem; font-weight: 800; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 80; max-width: 390px; padding: 13px 16px; border-radius: 10px; color: #fff; background: #1b2a40; box-shadow: 0 12px 30px rgba(10,18,30,.24); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s; font-size: .8rem; }.toast.show { opacity: 1; transform: none; }.toast.error { background: #a83f3f; }

.login-page { display: grid; place-items: center; padding: 20px; background: radial-gradient(circle at top left,#ffffff 0,#f4f6f9 42%,#e8edf5 100%); }
.login-shell { width: min(440px,100%); }
.login-card { border: 1px solid var(--line); border-radius: 20px; background: #fff; padding: 30px; box-shadow: 0 24px 80px rgba(21,32,51,.14); }
.login-brand { display: flex; align-items: center; gap: 12px; }.login-brand strong,.login-brand small { display: block; }.login-brand small { color: var(--muted); font-size: .72rem; }
.login-heading { margin: 34px 0 22px; }.login-heading h1 { margin: 5px 0 7px; font-size: 1.7rem; }.login-heading p,.login-foot { color: var(--muted); font-size: .78rem; }
.login-form label { display: block; margin-top: 14px; font-size: .78rem; font-weight: 800; }.login-form input { margin-top: 6px; }.login-form button { width: 100%; margin-top: 22px; }
.login-error { margin-bottom: 15px; padding: 11px 12px; border-radius: 9px; color: #973737; background: #fdeaea; font-size: .75rem; }.login-foot { margin: 18px 0 0; text-align: center; }
.auth-legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 13px; margin-top:17px; padding-top:15px; border-top:1px solid var(--line); }
.auth-legal-links a { color:#68758a; font-size:.65rem; text-decoration:none; }
.auth-legal-links a:hover { color:#245fca; text-decoration:underline; }
.registration-link { width: 100%; margin-top: 10px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.registration-page { align-items: start; }
.registration-shell { width: min(880px,100%); margin: 18px auto; }
.registration-card { border: 1px solid var(--line); border-radius: 20px; background: #fff; padding: 30px; box-shadow: 0 24px 80px rgba(21,32,51,.14); }
.registration-head { display: flex; align-items: center; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.registration-head > a { margin-left: auto; color: #315fbe; font-size: .78rem; font-weight: 800; text-decoration: none; }
.registration-form { display: grid; gap: 18px; }
.customer-type-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; border: 0; }
.customer-type-picker legend { grid-column: 1 / -1; margin-bottom: 4px; font-size: .8rem; font-weight: 850; }
.customer-type-picker label { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.customer-type-picker label:has(input:checked) { border-color: #d6ae22; background: #fffaf0; box-shadow: inset 0 0 0 1px #e9c959; }
.customer-type-picker input { width: 18px; min-height: 18px; margin: 2px 0 0; }
.customer-type-picker b,.customer-type-picker small { display: block; }.customer-type-picker small { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.registration-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.registration-fields > label,.legal-registration-fields > label,.verification-grid label { display: block; font-size: .78rem; font-weight: 800; }
.registration-fields input,.verification-grid input { margin-top: 6px; }
.legal-registration-fields { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: end; }
.company-result { min-height: 69px; display: grid; gap: 3px; padding: 11px 13px; border: 1px solid #9bd8bf; border-radius: 9px; background: #eefaf5; }
.company-result b { font-size: .8rem; }.company-result span,.company-result small { color: #3f6a59; font-size: .69rem; }
.legal-checkboxes { display: grid; gap: 9px; }.legal-checkboxes a { color: #245fca; }
.registration-form > .primary-button,.registration-form > .secondary-button { width: 100%; }
.verification-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.verification-grid input { text-align: center; font-size: 1.35rem; font-weight: 850; letter-spacing: .22em; }

@media (max-width: 1100px) {
  .shell { grid-template-columns: 218px minmax(0,1fr); }.sidebar { padding-inline: 12px; }.main { padding-inline: 22px; }
  .metric-grid { grid-template-columns: repeat(2,1fr); }.call-list-grid { grid-template-columns: repeat(2,1fr); }.integration-grid { grid-template-columns: repeat(2,1fr); }.balance-grid { grid-template-columns: repeat(2,1fr); }.cost-form-grid { grid-template-columns: 1fr; }.package-grid { grid-template-columns: repeat(2,1fr); }
  .dashboard-grid,.learning-grid,.billing-columns { grid-template-columns: 1fr; }.policy-grid { grid-template-columns: repeat(2,1fr); }.guide-steps { grid-template-columns: repeat(2,1fr); }
}

 .control-import-panel { margin-bottom:16px; }.control-import-panel summary { display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; }.control-import-panel summary span { color:var(--muted); font-size:11px; }.control-import-panel form { display:grid; gap:13px; padding-top:18px; }.control-import-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.control-import-panel textarea { width:100%; }
@media (max-width: 760px) {
  .ecosystem-promos { grid-template-columns:1fr; }
  .ecosystem-promo { min-height:76px; }
  .call-health-grid { grid-template-columns:1fr; }
  .control-grid { grid-template-columns:1fr; }
  .notification-center { top:64px; right:10px; width:calc(100vw - 20px); max-height:calc(100vh - 76px); }
  .activity-row { grid-template-columns:30px minmax(0,1fr); }.activity-row time { grid-column:2; }
  .shell { display: block; }.sidebar { position: fixed; left: -270px; width: 258px; transition: left .2s ease; box-shadow: 12px 0 35px rgba(9,16,27,.22); }.sidebar.open { left: 0; }
  .main { padding: 0 14px 30px; }.topbar { min-height: 82px; margin-bottom: 18px; }.menu-button { display: block; }.topbar h1 { font-size: 1.35rem; }
  .schedule-chip,.cabinet-chip { display: none; }.top-actions { gap: 6px; }.mode-chip { max-width: 112px; overflow: hidden; text-overflow: ellipsis; }.minute-chip { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }.admin-cabinet-select { width: 150px; }
  .summary-strip { align-items: flex-start; flex-wrap: wrap; }.summary-strip .text-button { margin-left: 0; width: 100%; text-align: left; }
  .dashboard-period { justify-content: flex-start; margin-top: 0; }
  .date-range-button { max-width: 100%; }
  .date-range-button span { overflow: hidden; text-overflow: ellipsis; }
  .date-range-popover { max-height: calc(100vh - 20px); overflow-y: auto; padding: 13px; }
  .date-range-calendars { grid-template-columns: 1fr; gap: 12px; }
  .date-range-footer { align-items: stretch; flex-direction: column; }
  .date-range-presets,.date-range-actions { justify-content: space-between; }
  .date-range-actions button { flex: 1; }
  .metric-grid,.call-list-grid,.integration-grid,.integration-form-grid,.integration-form-grid.two-columns,.utm-grid,.balance-grid,.package-grid,.account-profile-grid { grid-template-columns: 1fr; }.metric-card { min-height: 126px; }
  .account-address-field { grid-column: auto; }.payer-summary,.saved-methods { align-items: stretch; flex-direction: column; }.saved-methods > div:last-child { justify-content: flex-start; }.acceptance-row { grid-template-columns: 1fr; }.acceptance-row > div:last-child { text-align: left; }
  .section-toolbar { align-items: flex-start; }.scenario-heading { flex-wrap: wrap; }.scenario-heading > button { margin-left: 0; }.scenario-actions { width: 100%; margin-left: 0; grid-template-columns: 1fr; }.scenario-actions small { grid-column: 1; text-align: left; }.bot-addon-card { align-items: flex-start; flex-direction: column; }.bot-addon-card > div:last-child { width: 100%; margin-left: 0; justify-content: space-between; }.admin-overview-intro { align-items: flex-start; flex-direction: column; }.admin-overview-intro > button { margin-left: 0; }
  .scenario-layout { grid-template-columns: 1fr; }.scenario-tabs { position: static; grid-template-columns: repeat(2,1fr); }.scenario-tab { padding: 10px; }.scenario-tab span { display: none; }.scenario-form { padding: 0 16px; }
  .split-fields { grid-template-columns: 1fr; }.policy-grid,.detail-grid { grid-template-columns: 1fr 1fr; }
  .filter-row { width: 100%; flex-wrap: wrap; }.section-toolbar { flex-wrap: wrap; }.section-toolbar > button,.section-toolbar > .filter-row,.section-toolbar > .button-link { margin-left: 0; }
  .support-layout,.guide-grid { grid-template-columns: 1fr; }.support-threads-panel { max-height: 260px; overflow: auto; }.support-messages { max-height: 52vh; }.guide-steps { grid-template-columns: 1fr 1fr; }
  .registration-card { padding: 20px; }.registration-fields,.legal-registration-fields,.verification-grid { grid-template-columns: 1fr; }.customer-type-picker { grid-template-columns: 1fr; }.registration-head { align-items: flex-start; }
}
@media (max-width: 1100px) { #admin-finance-result .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .finance-tax-breakdown { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 430px) { .finance-tax-breakdown { grid-template-columns: 1fr; } }

@media (max-width: 430px) {
  .topbar { gap: 8px; }.mode-chip { display: none; }.admin-cabinet-select { width: 116px; padding-inline: 8px 22px; }.minute-chip { max-width: 112px; }.metric-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.billing-metrics { grid-template-columns: 1fr; }.metric-card { min-height: 118px; padding: 15px; }.metric-card strong { font-size: 1.75rem; }.metric-card small { font-size: .69rem; }
  .legend { display: none; }.chart { gap: 7px; }.policy-grid,.detail-grid,.guide-statuses { grid-template-columns: 1fr; }.scenario-tabs { grid-template-columns: 1fr 1fr; }.guide-steps { grid-template-columns: 1fr; }.support-message { max-width: 90%; }.support-compose > div { align-items: flex-start; flex-direction: column; }.support-compose button { width: 100%; margin-left: 0; }
}
.recording-player { padding: 16px; margin: 14px 0; border: 1px solid #dbe4f2; border-radius: 12px; background: #f7faff; }
.recording-player audio { display: block; width: 100%; max-width: 620px; }
.recording-player p, .voice-comparison p { overflow-wrap: anywhere; }
.voice-comparison { margin-top: 24px; }

.tariff-editor { margin-bottom: 18px; }
.tariff-editor .panel-head { align-items: flex-start; }
.tariff-editor .panel-head p { max-width: 720px; }
.tariff-editor-groups { display: grid; grid-template-columns: 1.1fr 1fr .72fr; gap: 14px; padding: 18px 22px 22px; }
.tariff-editor-groups fieldset { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.tariff-editor-groups legend { padding: 0 7px; color: var(--ink); font-size: .73rem; font-weight: 850; }
.tariff-editor-list { display: grid; gap: 8px; }
.tariff-editor-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid #e3e8f0; border-radius: 9px; background: #fff; }
.tariff-editor-row > span:first-child { min-width: 0; }
.tariff-editor-row b,.tariff-editor-row small { display: block; }
.tariff-editor-row b { font-size: .72rem; }
.tariff-editor-row small { margin-top: 3px; color: var(--muted); font-size: .61rem; }
.tariff-price-input { flex: none; display: flex; align-items: center; gap: 6px; }
.tariff-price-input input { width: 104px; min-height: 36px; padding: 7px 8px; text-align: right; font-size: .72rem; font-weight: 800; }
.tariff-price-input i { width: 55px; color: var(--muted); font-size: .59rem; font-style: normal; }

/* Public landing page */
.landing-page { --landing-navy: #101a2b; --landing-cream: #f7f4ec; --landing-yellow: #ffc928; color: var(--landing-navy); background: var(--landing-cream); }
.landing-page * { scroll-margin-top: 92px; }
.landing-container { width: min(1180px,calc(100% - 40px)); margin-inline: auto; }
.landing-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(16,26,43,.09); background: rgba(247,244,236,.92); backdrop-filter: blur(14px); }
.landing-header-inner { min-height: 78px; display: flex; align-items: center; gap: 34px; }
.landing-brand { display: inline-flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.landing-brand strong,.landing-brand small { display: block; }
.landing-brand strong { font-size: 1.06rem; line-height: 1; letter-spacing: -.025em; }
.landing-brand small { margin-top: 4px; color: #657084; font-size: .64rem; font-weight: 650; }
.voice-logo { flex: none; width: 43px; height: 43px; overflow: visible; }
.voice-logo rect { fill: var(--landing-yellow,#ffc928); stroke: none; }
.voice-logo path { fill: none; stroke: var(--landing-navy,#101a2b); stroke-width: 2.5; stroke-linecap: round; }
.voice-logo .logo-tail { stroke-width: 2; stroke-linejoin: round; }
.landing-nav { margin-left: auto; display: flex; align-items: center; gap: 25px; }
.landing-nav a,.landing-login { color: #596476; font-size: .77rem; font-weight: 750; text-decoration: none; }
.landing-nav a:hover,.landing-login:hover { color: var(--landing-navy); }
.landing-header-actions { display: flex; align-items: center; gap: 15px; }
.landing-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 12px 20px; border: 1px solid var(--landing-navy); border-radius: 11px; color: #fff; background: var(--landing-navy); box-shadow: 0 9px 22px rgba(16,26,43,.14); font-size: .82rem; font-weight: 850; text-decoration: none; transition: transform .18s,box-shadow .18s,background .18s; }
.landing-button:hover { transform: translateY(-2px); background: #1a2a43; box-shadow: 0 13px 28px rgba(16,26,43,.2); }
.landing-button.compact { min-height: 40px; padding: 8px 14px; font-size: .72rem; }
.landing-button span { font-size: 1.15rem; line-height: 1; }
.landing-text-link { display: inline-flex; align-items: center; color: var(--landing-navy); font-size: .8rem; font-weight: 850; text-underline-offset: 4px; }

.landing-hero { position: relative; overflow: hidden; padding: 84px 0 76px; }
.landing-hero::before { content: ""; position: absolute; width: 540px; height: 540px; right: -170px; top: -260px; border-radius: 50%; background: rgba(255,201,40,.22); filter: blur(3px); }
.landing-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(440px,.95fr); gap: 68px; align-items: center; }
.landing-kicker { width: fit-content; display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid rgba(16,26,43,.13); border-radius: 999px; color: #596476; background: rgba(255,255,255,.54); font-size: .67rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.landing-kicker i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(22,163,106,.13); }
.landing-kicker.light { color: #725500; border-color: #ebd47f; background: #fff8d8; }
.landing-kicker.dark-kicker { color: #e2b900; border-color: rgba(255,201,40,.28); background: rgba(255,201,40,.08); }
.landing-hero h1 { max-width: 760px; margin: 22px 0 24px; font-size: clamp(2.65rem,5vw,4.75rem); line-height: .98; letter-spacing: -.065em; }
.landing-hero h1 em { color: #d3a500; font-family: Georgia,"Times New Roman",serif; font-weight: 500; }
.landing-hero-copy > p { max-width: 610px; margin: 0; color: #606b7d; font-size: 1rem; line-height: 1.7; }
.landing-hero-actions { display: flex; align-items: center; gap: 23px; margin-top: 31px; }
.landing-hero-notes { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 38px; padding-top: 24px; border-top: 1px solid rgba(16,26,43,.1); }
.landing-hero-notes span { display: grid; gap: 2px; color: #70798a; font-size: .65rem; }
.landing-hero-notes b { color: var(--landing-navy); font-size: .81rem; }
.landing-trust-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.landing-trust-row span { padding:7px 10px; border:1px solid rgba(16,26,43,.09); border-radius:999px; color:#606b7d; background:rgba(255,255,255,.58); font-size:.6rem; font-weight:750; }

.landing-call-demo { position: relative; min-height: 510px; overflow: hidden; padding: 28px; border-radius: 28px 28px 28px 8px; color: #f7f9fc; background: var(--landing-navy); box-shadow: 0 32px 80px rgba(16,26,43,.25); transform: rotate(1.2deg); }
.landing-call-demo::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 95% 5%,rgba(255,201,40,.18),transparent 35%); pointer-events: none; }
.demo-top,.demo-time,.demo-result { position: relative; display: flex; align-items: center; }
.demo-contact { display: flex; align-items: center; gap: 11px; }
.demo-contact small,.demo-contact strong { display: block; }.demo-contact small { color: #8592a8; font-size: .65rem; }.demo-contact strong { margin-top: 2px; font-size: .85rem; }
.demo-avatar { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; color: var(--landing-yellow); background: #1d2a40; font-size: .72rem; font-weight: 900; }
.demo-live { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; color: #83e2ba; background: rgba(22,163,106,.14); font-size: .62rem; font-weight: 800; }.demo-live i { width: 6px; height: 6px; border-radius: 50%; background: #45d69a; animation: demo-pulse 1.4s infinite; }
@keyframes demo-pulse { 50% { box-shadow: 0 0 0 6px rgba(69,214,154,.1); } }
.demo-wave { position: relative; height: 114px; display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 25px; border-block: 1px solid rgba(255,255,255,.07); }
.demo-wave::after { content: ""; position: absolute; inset-inline: 0; height: 1px; background: rgba(255,255,255,.06); }
.demo-wave i { width: 4px; height: 28%; border-radius: 4px; background: var(--landing-yellow); opacity: .85; }.demo-wave i:nth-child(3n) { height: 68%; }.demo-wave i:nth-child(4n) { height: 42%; }.demo-wave i:nth-child(5n) { height: 83%; }.demo-wave i:nth-child(7n) { height: 58%; }
.demo-time { justify-content: space-between; margin-top: 8px; color: #8290a6; font-size: .62rem; }
.demo-dialogue { position: relative; display: grid; gap: 10px; margin-top: 22px; }
.demo-dialogue p { max-width: 84%; margin: 0; padding: 11px 13px; border-radius: 4px 13px 13px 13px; background: #1c2940; font-size: .71rem; line-height: 1.5; }.demo-dialogue p b { display: block; margin-bottom: 3px; color: #8d99ad; font-size: .56rem; text-transform: uppercase; letter-spacing: .07em; }.demo-dialogue .demo-client { justify-self: end; border-radius: 13px 4px 13px 13px; color: #172034; background: #ffda61; }.demo-dialogue .demo-client b { color: #816716; }
.demo-result { gap: 11px; margin-top: 24px; padding: 14px; border: 1px solid rgba(90,220,165,.2); border-radius: 13px; background: rgba(22,163,106,.11); }.demo-check { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: #0f1d19; background: #57dda6; font-weight: 900; }.demo-result small,.demo-result strong { display: block; }.demo-result small { color: #88ae9e; font-size: .57rem; }.demo-result strong { margin-top: 2px; font-size: .74rem; }.demo-hot { margin-left: auto; padding: 5px 8px; border-radius: 999px; color: #0f1d19; background: #57dda6; font-size: .58rem; font-weight: 900; }
.demo-orbit { position: absolute; border: 1px solid rgba(255,201,40,.13); border-radius: 50%; pointer-events: none; }.orbit-one { width: 210px; height: 210px; right: -125px; bottom: -70px; }.orbit-two { width: 270px; height: 270px; right: -154px; bottom: -99px; }

.landing-proof { border-block: 1px solid rgba(16,26,43,.09); background: rgba(255,255,255,.48); }
.landing-proof-grid { min-height: 84px; display: grid; grid-template-columns: 1.25fr repeat(4,1fr); align-items: center; gap: 22px; }.landing-proof-grid p { margin: 0; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .055em; }.landing-proof-grid span { color: #667185; font-size: .68rem; font-weight: 700; }.landing-proof-grid span::before { content: "✓"; margin-right: 7px; color: #bb9200; font-weight: 950; }
.landing-spros { padding:34px 0; background:#f7f4ea; }.landing-spros-card { position:relative; isolation:isolate; display:grid; grid-template-columns:170px minmax(0,1fr) auto; align-items:center; gap:36px; overflow:hidden; padding:38px 42px; border:1px solid rgba(19,57,47,.12); border-radius:30px; background:linear-gradient(125deg,#fff7c7 0%,#fff1a6 42%,#f8edbc 100%); box-shadow:0 24px 70px rgba(48,46,27,.11); }.landing-spros-card::after { content:""; position:absolute; z-index:-1; right:12%; width:260px; height:260px; border-radius:50%; background:rgba(255,255,255,.38); filter:blur(2px); }.landing-spros-visual { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2px; color:#173d32; }.landing-spros-visual > span,.landing-spros-visual > b { font-size:1.25rem; letter-spacing:-.04em; }.landing-spros-logo { grid-column:1/-1; display:flex; align-items:flex-end; gap:7px; height:62px; margin-bottom:8px; }.landing-spros-logo i { width:15px; border-radius:9px 9px 3px 3px; background:#173d32; transform-origin:bottom; animation:landing-spros-bars 2s ease-in-out infinite; }.landing-spros-logo i:nth-child(1){height:38%;animation-delay:-.8s}.landing-spros-logo i:nth-child(2){height:66%;animation-delay:-.4s}.landing-spros-logo i:nth-child(3){height:48%;animation-delay:-1.2s}.landing-spros-logo i:nth-child(4){height:82%;animation-delay:-.2s}.landing-spros-logo i:nth-child(5){height:58%;animation-delay:-.65s}.landing-spros-copy h2 { margin:10px 0 10px; color:#17241f; font-size:clamp(1.75rem,3vw,2.55rem); line-height:1.04; letter-spacing:-.045em; }.landing-spros-copy p { max-width:720px; margin:0; color:#59655f; font-size:.82rem; line-height:1.6; }.landing-spros-points { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:15px; }.landing-spros-points span { color:#34463f; font-size:.68rem; font-weight:800; }.landing-spros-points span::before { content:"✓"; margin-right:6px; color:#128457; }.landing-spros-card > .landing-button { white-space:nowrap; background:#173d32; color:#fff; }
@keyframes landing-spros-bars { 0%,100%{transform:scaleY(.68);opacity:.72}50%{transform:scaleY(1);opacity:1} }
@media (prefers-reduced-motion:reduce){.landing-spros-logo i{animation:none}}

.landing-section { padding: 108px 0; }
.landing-section-head { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 45px; }.landing-section-head h2 { margin: 15px 0 0; font-size: clamp(2.1rem,4vw,3.45rem); line-height: 1.03; letter-spacing: -.055em; }.landing-section-head > p { max-width: 420px; margin: 0; color: #687386; font-size: .86rem; line-height: 1.65; }.landing-section-head.centered { display: grid; justify-items: center; text-align: center; }.landing-section-head.centered p { max-width: 600px; }
.landing-bento { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 15px; }
.landing-feature { position: relative; min-height: 235px; overflow: hidden; padding: 25px; border: 1px solid rgba(16,26,43,.1); border-radius: 18px; background: rgba(255,255,255,.72); }.landing-feature.feature-large { grid-row: span 2; min-height: 485px; }.landing-feature.dark { color: #fff; background: var(--landing-navy); }.landing-feature.accent { grid-column: span 2; background: #ffec99; }.landing-feature h3 { max-width: 390px; margin: 28px 0 9px; font-size: 1.28rem; letter-spacing: -.025em; }.landing-feature p { max-width: 460px; margin: 0; color: #687386; font-size: .76rem; line-height: 1.65; }.landing-feature.dark p { color: #9ca8ba; }.feature-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: #876800; background: #ffed9e; font-size: 1.1rem; font-weight: 900; }.landing-feature.dark .feature-icon { color: var(--landing-yellow); background: #202f47; }
.feature-script { display: grid; gap: 8px; margin-top: 45px; }.feature-script span { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid rgba(16,26,43,.08); border-radius: 10px; background: #fff; color: #4d596c; font-size: .69rem; font-weight: 750; }.feature-script i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: #755b00; background: #fff1af; font-size: .56rem; font-style: normal; font-weight: 900; }
.crm-pill { display: grid; grid-template-columns: 37px 1fr auto; align-items: center; gap: 10px; margin-top: 32px; padding: 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: #1c2940; }.crm-pill b { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 9px; color: #142033; background: #58dca7; font-size: .6rem; }.crm-pill span { color: #c4ccda; font-size: .68rem; }.crm-pill i { color: #58dca7; font-style: normal; }
.mini-bars { position: absolute; right: 30px; bottom: 22px; width: 205px; height: 95px; display: flex; align-items: end; gap: 9px; padding: 10px 12px 0; border-bottom: 1px solid rgba(16,26,43,.16); }.mini-bars i { flex: 1; border-radius: 5px 5px 0 0; background: var(--landing-navy); opacity: .8; }

.landing-business { border-block:1px solid rgba(16,26,43,.07); background:#fff; }
.landing-business-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.landing-business-grid article { position:relative; min-height:250px; display:flex; flex-direction:column; padding:26px; overflow:hidden; border:1px solid rgba(16,26,43,.1); border-radius:18px; background:#fbfaf6; transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.landing-business-grid article:hover { transform:translateY(-4px); border-color:rgba(200,157,0,.35); box-shadow:0 18px 42px rgba(16,26,43,.09); }
.landing-business-grid article > span { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#765c00; background:#ffeb93; font-size:.6rem; font-weight:900; }
.landing-business-grid h3 { margin:35px 0 10px; font-size:1.18rem; letter-spacing:-.025em; }
.landing-business-grid p { margin:0; color:#687386; font-size:.73rem; line-height:1.65; }
.landing-business-grid small { margin-top:auto; padding-top:22px; color:#9a7a08; font-size:.61rem; font-weight:800; }
.landing-business-grid .business-cta { color:#fff; border-color:transparent; background:var(--landing-navy); }
.landing-business-grid .business-cta > span { color:#16243a; background:#61dca9; }
.landing-business-grid .business-cta p { color:#aab5c5; }
.landing-business-grid .business-cta button { width:fit-content; margin-top:auto; padding:0; border:0; color:var(--landing-yellow); background:transparent; cursor:pointer; font:inherit; font-size:.72rem; font-weight:900; }

.landing-ai { padding: 88px 0; color: #fff; background: #c89d00; }
.landing-ai-shell { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: center; }
.landing-ai-copy h2 { margin: 18px 0; font-size: clamp(2.15rem,4vw,3.65rem); line-height: 1; letter-spacing: -.055em; }
.landing-ai-copy > p { max-width: 520px; margin: 0 0 28px; color: #fff7d3; font-size: .85rem; line-height: 1.7; }
.landing-ai-dialog { display: grid; gap: 13px; padding: 27px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px 24px 24px 7px; color: #eef2f8; background: var(--landing-navy); box-shadow: 0 28px 65px rgba(66,49,0,.23); transform: rotate(-1deg); }
.ai-dialog-user { max-width: 76%; justify-self: end; padding: 13px 15px; border-radius: 14px 4px 14px 14px; color: #172033; background: var(--landing-yellow); font-size: .74rem; line-height: 1.45; }
.ai-dialog-bot { max-width: 86%; display: grid; gap: 6px; padding: 14px 15px; border-radius: 4px 14px 14px 14px; background: #1d2b42; font-size: .7rem; line-height: 1.55; }.ai-dialog-bot b { color: var(--landing-yellow); font-size: .61rem; text-transform: uppercase; letter-spacing: .05em; }
.ai-dialog-actions { display: flex; flex-wrap: wrap; gap: 7px; }.ai-dialog-actions span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #9ca8ba; font-size: .58rem; }
.ai-dialog-confirm { margin-top: 4px; padding: 12px 13px; border: 1px solid rgba(94,222,169,.23); border-radius: 11px; background: rgba(22,163,106,.12); font-size: .68rem; }.ai-dialog-confirm b { float: right; color: #68deb0; }

.landing-how { background: #fff; }
.landing-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.landing-steps article { position: relative; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fbfaf6; }.landing-steps article > span { position: absolute; right: 19px; top: 17px; color: #b7bdc7; font-size: .66rem; font-weight: 900; }.landing-steps h3 { margin: 23px 0 8px; font-size: 1.05rem; }.landing-steps p { margin: 0; color: #687386; font-size: .74rem; line-height: 1.6; }
.step-visual { height: 155px; display: flex; align-items: center; justify-content: center; border-radius: 13px; background: #f0ede4; }.step-visual.upload { gap: 8px; }.step-visual.upload i { padding: 13px 11px; border: 1px solid #d9d5ca; border-radius: 8px; color: #637085; background: #fff; font-size: .58rem; font-style: normal; font-weight: 900; box-shadow: 0 7px 15px rgba(16,26,43,.07); }.step-visual.upload b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--landing-yellow); }
.step-visual.scenario { position: relative; display: grid; gap: 7px; align-content: center; padding-inline: 50px; }.step-visual.scenario i { width: 100%; height: 7px; border-radius: 5px; background: #d4d0c5; }.step-visual.scenario i:nth-child(2) { width: 75%; }.step-visual.scenario i:nth-child(3) { width: 88%; }.step-visual.scenario b { position: absolute; right: 26px; bottom: 22px; padding: 7px 10px; border-radius: 7px; color: #172033; background: var(--landing-yellow); font-size: .58rem; }
.step-visual.leads { gap: 5px; flex-direction: column; color: #fff; background: var(--landing-navy); }.step-visual.leads b { font-size: 2.5rem; line-height: 1; }.step-visual.leads i { color: #9aa7ba; font-size: .68rem; font-style: normal; }.step-visual.leads em { margin-top: 8px; padding: 4px 7px; border-radius: 999px; color: #183126; background: #64d9a9; font-size: .58rem; font-style: normal; font-weight: 900; }

.landing-pricing { color: #f4f6fa; background: var(--landing-navy); }.landing-pricing .landing-section-head > p { color: #96a2b5; }
.landing-price-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }.price-card { position: relative; padding: 24px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: #17243a; }.price-card > span { color: #8f9cb0; font-size: .66rem; font-weight: 750; }.price-card h3 { margin: 20px 0 17px; font-size: 2rem; letter-spacing: -.05em; }.price-card h3 small { color: #8e9bae; font-size: .72rem; font-weight: 700; letter-spacing: 0; }.price-rate { display: flex; align-items: baseline; gap: 7px; }.price-rate b { color: var(--landing-yellow); font-size: 1.08rem; }.price-rate small { color: #8693a6; font-size: .62rem; }.price-card > p { margin: 9px 0 22px; color: #a9b3c2; font-size: .7rem; }.price-card > a { min-height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; color: #e9edf4; background: rgba(255,255,255,.035); font-size: .69rem; font-weight: 850; text-decoration: none; }.price-card > a:hover { color: #172033; border-color: var(--landing-yellow); background: var(--landing-yellow); }.price-card.popular { border-color: var(--landing-yellow); background: #1c2a40; box-shadow: inset 0 0 0 1px rgba(255,201,40,.12); }.price-card .popular-label { position: absolute; right: 15px; top: 15px; padding: 5px 7px; border-radius: 999px; color: #172033; background: var(--landing-yellow); font-size: .53rem; text-transform: uppercase; letter-spacing: .05em; }
.landing-price-subhead { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 4px 0 16px; }.landing-price-subhead > div { display: grid; gap: 4px; }.landing-price-subhead b { font-size: 1.05rem; }.landing-price-subhead span,.landing-price-subhead small { color: #8f9baf; font-size: .67rem; }.landing-price-subhead.generation { margin-top: 42px; }.landing-price-grid.generation { grid-template-columns: repeat(4,1fr); }
.landing-addon { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 15px; padding: 20px 23px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.04); }.landing-addon > div { display: flex; align-items: center; gap: 12px; }.landing-addon strong,.landing-addon small { display: block; }.landing-addon strong { font-size: .8rem; }.landing-addon small { margin-top: 3px; color: #8f9baf; font-size: .63rem; }.landing-addon p { margin: 0; color: #aab4c4; font-size: .72rem; }.landing-addon p b { color: var(--landing-yellow); }.addon-icon { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: #172033; background: var(--landing-yellow); }

.landing-faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }.landing-faq-grid h2 { margin: 18px 0 14px; font-size: clamp(2.15rem,4vw,3.4rem); line-height: 1.02; letter-spacing: -.055em; }.landing-faq-grid > div:first-child > p { max-width: 370px; margin: 0 0 22px; color: #687386; font-size: .8rem; line-height: 1.6; }.faq-list { border-top: 1px solid rgba(16,26,43,.12); }.faq-list details { border-bottom: 1px solid rgba(16,26,43,.12); }.faq-list summary { list-style: none; display: flex; align-items: center; gap: 15px; padding: 20px 0; cursor: pointer; font-size: .86rem; font-weight: 850; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary i { margin-left: auto; color: #9c7a00; font-size: 1rem; font-style: normal; transition: transform .2s; }.faq-list details[open] summary i { transform: rotate(45deg); }.faq-list details p { max-width: 630px; margin: -5px 0 20px; color: #677285; font-size: .76rem; line-height: 1.7; }

.landing-final { padding: 0 0 80px; }.landing-final-card { min-height: 275px; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 55px; overflow: hidden; position: relative; border-radius: 25px 25px 25px 7px; color: #fff; background: #c89d00; }.landing-final-card::after { content: ""; position: absolute; width: 310px; height: 310px; right: -100px; top: -130px; border: 55px solid rgba(255,255,255,.09); border-radius: 50%; }.landing-final-card h2 { margin: 15px 0 10px; font-size: clamp(2rem,4vw,3.25rem); line-height: 1; letter-spacing: -.05em; }.landing-final-card p { max-width: 650px; margin: 0; color: #fff9df; font-size: .8rem; }.landing-final-card .landing-kicker { position: relative; z-index: 1; color: #fff9df; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }.light-button { position: relative; z-index: 1; flex: none; color: var(--landing-navy); border-color: #fff; background: #fff; }.light-button:hover { background: #fff8d9; }
.landing-footer { color: #d9dfeb; background: #0b1321; }.landing-footer > div { min-height: 125px; display: flex; align-items: center; gap: 35px; }.footer-brand small { color: #76849a; }.footer-links { margin-left: auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 17px; }.footer-links a { color: #8794a8; font-size: .64rem; text-decoration: none; }.footer-links a:hover { color: #fff; }.landing-footer p { margin: 0; color: #66748a; font-size: .62rem; }

.auth-brand { color: var(--ink); }.login-card .auth-brand { margin-bottom: 4px; }.registration-head .auth-brand { flex: none; }.registration-head > .registration-login-link { margin-left: auto; color: #315fbe; font-size: .78rem; font-weight: 800; text-decoration: none; }

@media (max-width: 980px) {
  .tariff-editor-groups { grid-template-columns: 1fr 1fr; }.tariff-editor-groups fieldset:last-child { grid-column: 1 / -1; }
  .landing-nav { display: none; }.landing-header-actions { margin-left: auto; }
  .landing-hero-grid { grid-template-columns: 1fr 400px; gap: 35px; }.landing-hero h1 { font-size: clamp(2.6rem,6vw,4rem); }
  .landing-bento { grid-template-columns: 1fr 1fr; }.landing-feature.feature-large { grid-row: auto; }.landing-feature.accent { grid-column: span 2; }
  .landing-business-grid { grid-template-columns:repeat(2,1fr); }
  .landing-ai-shell { gap: 35px; }.landing-price-grid,.landing-price-grid.generation { grid-template-columns: repeat(2,1fr); }.landing-faq-grid { gap: 45px; }
  .landing-spros-card { grid-template-columns:130px 1fr; }.landing-spros-card > .landing-button { grid-column:2; justify-self:start; }
}

@media (max-width: 760px) {
  .tariff-editor .panel-head { gap: 14px; }.tariff-editor .panel-head .primary-button { width: 100%; }.tariff-editor-groups { grid-template-columns: 1fr; padding: 13px; }.tariff-editor-groups fieldset:last-child { grid-column: auto; }
  .landing-container { width: min(100% - 28px,1180px); }.landing-header-inner { min-height: 68px; gap: 16px; }.landing-header .voice-logo { width: 38px; height: 38px; }.landing-header .landing-brand small { display: none; }.landing-login { display: none; }.landing-button.compact { padding-inline: 11px; }
  .landing-hero { padding: 54px 0 55px; }.landing-hero-grid { grid-template-columns: 1fr; }.landing-hero-copy > p { font-size: .88rem; }.landing-hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; }.landing-hero-notes { gap: 15px; }.landing-call-demo { min-height: 485px; padding: 21px; transform: none; }
  .landing-proof-grid { grid-template-columns: 1fr 1fr; padding-block: 20px; }.landing-proof-grid p { grid-column: 1 / -1; }
  .landing-spros { padding:20px 0; }.landing-spros-card { grid-template-columns:1fr; gap:22px; padding:28px 24px; }.landing-spros-visual { width:120px; }.landing-spros-card > .landing-button { grid-column:auto; width:100%; justify-content:center; }
  .landing-section { padding: 75px 0; }.landing-section-head { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 30px; }.landing-section-head h2 { font-size: 2.35rem; }
  .landing-bento { grid-template-columns: 1fr; }.landing-feature,.landing-feature.feature-large { min-height: auto; }.landing-feature.accent { grid-column: auto; min-height: 260px; }.feature-script { margin-top: 28px; }.mini-bars { right: 20px; bottom: 18px; width: 165px; height: 78px; }
  .landing-business-grid { grid-template-columns:1fr; }.landing-business-grid article { min-height:220px; }
  .landing-ai-shell { grid-template-columns: 1fr; }.landing-ai-dialog { padding: 20px; transform: none; }.landing-price-subhead { align-items: flex-start; flex-direction: column; gap: 8px; }
  .landing-steps { grid-template-columns: 1fr; }.landing-price-grid { grid-template-columns: 1fr; }.landing-addon { align-items: flex-start; flex-direction: column; gap: 16px; }
  .landing-faq-grid { grid-template-columns: 1fr; gap: 35px; }.landing-final-card { align-items: flex-start; flex-direction: column; padding: 35px 27px; }.landing-final-card .landing-button { width: 100%; }
  .landing-footer > div { align-items: flex-start; flex-direction: column; gap: 20px; padding-block: 32px; }.footer-links { margin-left: 0; justify-content: flex-start; }
  .registration-head { align-items: flex-start; }.registration-head .auth-brand small { display: none; }.registration-head > .registration-login-link { font-size: .68rem; text-align: right; }
}

@media (max-width: 420px) {
  .landing-header .landing-brand strong { font-size: .92rem; }.landing-header .landing-button.compact { font-size: .64rem; }
  .landing-hero h1 { font-size: 2.35rem; }.landing-hero-notes { display: grid; grid-template-columns: 1fr 1fr; }.landing-call-demo { min-height: 470px; }.demo-dialogue p { max-width: 92%; }
  .landing-proof-grid { grid-template-columns: 1fr; }.landing-proof-grid p { grid-column: auto; }.landing-section-head h2,.landing-faq-grid h2 { font-size: 2.05rem; }.price-card { padding: 21px; }
}

/* AIVOCO_GENERATION_TARIFFS_V1 */
#view-call-lists.aivoco-generation-mode #call-list-grid {
  display: none !important;
}

.aivoco-generation-tariffs {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--border, #e3e7ee);
  border-radius: 14px;
  background: var(--panel, #fff);
}

.aivoco-generation-tariffs__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.aivoco-generation-tariffs__head h3 {
  margin: 0 0 4px;
  font-size: 17px;
  line-height: 1.3;
}

.aivoco-generation-tariffs__head p,
.aivoco-generation-tariffs__note {
  margin: 0;
  color: var(--muted, #6c7480);
  font-size: 13px;
  line-height: 1.45;
}

.aivoco-generation-tariffs__balance {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  white-space: nowrap;
}

.aivoco-generation-tariffs__balance strong {
  color: #1d2a44;
  font-size: 16px;
}

.aivoco-generation-tariffs__balance span {
  color: var(--muted, #6c7480);
  font-size: 11px;
}

.aivoco-generation-tariffs__payment {
  margin: -2px 0 14px;
  padding: 9px 11px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 1.4;
}

.aivoco-generation-tariffs__payment.is-ready {
  background: #ecf8f1;
  color: #157347;
}

.aivoco-generation-tariffs__payment.is-blocked {
  background: #fff6d9;
  color: #725400;
}

.aivoco-generation-tariffs__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.aivoco-generation-tariff {
  position: relative;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border, #e3e7ee);
  border-radius: 12px;
  background: var(--panel, #fff);
  display: flex;
  flex-direction: column;
}

.aivoco-generation-tariff.is-featured {
  border: 2px solid #f6bf19;
  padding: 13px;
}

.aivoco-generation-tariff__badge {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff2b7;
  color: #6c5200;
  font-size: 10px;
  font-weight: 700;
}

.aivoco-generation-tariff__name {
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--muted, #6c7480);
}

.aivoco-generation-tariff__qty {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
}

.aivoco-generation-tariff__unit {
  margin-top: 8px;
  font-size: 20px;
  font-weight: 800;
}

.aivoco-generation-tariff__unit span {
  font-size: 12px;
  font-weight: 500;
  color: var(--muted, #6c7480);
}

.aivoco-generation-tariff__total {
  margin-top: 7px;
  font-size: 14px;
  font-weight: 700;
}

.aivoco-generation-tariff__saving {
  margin-top: 8px;
  font-size: 12px;
  color: #198754;
  font-weight: 700;
}

.aivoco-generation-tariff__saving.is-muted {
  color: var(--muted, #6c7480);
  font-weight: 500;
}

.aivoco-generation-tariff__buy {
  width: 100%;
  margin-top: 14px;
}

.aivoco-generation-tariffs__note {
  margin-top: 12px;
}

@media (max-width: 1100px) {
  .aivoco-generation-tariffs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .aivoco-generation-tariffs {
    padding: 12px;
  }

  .aivoco-generation-tariffs__grid {
    grid-template-columns: 1fr;
  }

  .aivoco-generation-tariffs__head {
    flex-direction: column;
  }

  .aivoco-generation-tariffs__balance {
    align-items: flex-start;
  }
}

/* AIVOCO_MULTI_GENERATION_V1 */
.mg-wrap {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--border, #e3e7ee);
  border-radius: 14px;
  background: var(--panel, #fff);
}

.mg-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.mg-head h3 {
  margin: 0 0 4px;
  font-size: 17px;
}

.mg-head p,
.mg-project-route,
.mg-source-empty,
.mg-empty {
  color: var(--muted, #6c7480);
  font-size: 13px;
}

.mg-head p {
  margin: 0;
  line-height: 1.45;
}

.mg-primary,
.mg-secondary {
  border: 0;
  border-radius: 9px;
  padding: 10px 13px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.mg-primary {
  background: #f6bf19;
  color: #1d1d1d;
}

.mg-secondary {
  background: var(--soft, #f1f3f6);
  color: var(--text, #20242a);
}

.mg-create {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, .8fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
  padding: 12px;
  border-radius: 11px;
  background: var(--soft, #f7f8fa);
}

.mg-create[hidden] {
  display: none !important;
}

.mg-create label {
  display: grid;
  gap: 5px;
  font-size: 12px;
  color: var(--muted, #6c7480);
}

.mg-create input,
.mg-create select,
.mg-source-form input,
.mg-source-form select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border, #dfe3e8);
  border-radius: 9px;
  padding: 10px;
  background: var(--panel, #fff);
  color: var(--text, #20242a);
  font: inherit;
}

.mg-create-actions {
  display: flex;
  gap: 8px;
}

.mg-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.mg-tabs {
  display: flex;
  gap: 4px;
  margin-top: 18px;
  padding-bottom: 0;
  border-bottom: 2px solid #cbd5e1;
}

.mg-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin-bottom: -2px;
  padding: 8px 14px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted, #64748b);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.mg-tab span {
  min-width: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
  font-size: 11px;
  text-align: center;
}

.mg-tab:hover { color: var(--ink, #172033); }
.mg-tab:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.mg-tab.is-active { border-bottom-color: #e8a900; color: var(--ink, #172033); }
.mg-tab.is-active span { background: #fff0b8; color: #6b4b00; }

.mg-empty {
  padding: 24px;
  border: 2px dashed #cbd5e1;
  border-radius: 10px;
  background: #f8fafc;
  text-align: center;
}

.mg-project {
  padding: 14px;
  border: 2px solid #cbd5e1;
  border-radius: 10px;
  background: var(--panel, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}

.mg-project-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.mg-project-title {
  font-size: 16px;
  font-weight: 800;
}

.mg-project-route {
  margin-top: 4px;
  line-height: 1.45;
}

.mg-project-route span {
  margin: 0 5px;
}

.mg-project-count {
  white-space: nowrap;
  display: grid;
  justify-items: end;
  gap: 2px;
  color: var(--muted, #6c7480);
}

.mg-project-count strong { color: var(--ink); font-size: 20px; }
.mg-project-count span { font-size: 12px; font-weight: 700; }
.mg-project-side { display: grid; justify-items: end; gap: 8px; }
.mg-project-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.mg-project-action { border: 1px solid var(--line); border-radius: 8px; padding: 7px 9px; background: var(--panel); color: var(--ink); font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.mg-project-action.is-danger { color: #b83b35; }
.mg-project-action.is-success { color: #0b8f59; }
.mg-project-status { display: inline-flex; margin-left: 7px; padding: 3px 7px; border-radius: 999px; background: #fde8e6; color: #b83b35; font-size: 10px; vertical-align: middle; }
.mg-project.is-disabled { border-color: #aeb8c7; background: color-mix(in srgb, var(--panel) 84%, #8b95a5 16%); }
.mg-project.is-collapsed > :not(.mg-project-top) { display: none !important; }
.mg-project-edit { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .7fr) auto auto; gap: 8px; margin-top: 12px; padding: 12px; border: 1px dashed var(--line); border-radius: 10px; background: var(--soft); }
.mg-project-edit[hidden] { display: none !important; }

.mg-source-list {
  display: block;
  margin-top: 12px;
}

.mg-conversion-table-wrap { overflow-x: auto; border: 2px solid #d3dae5; border-radius: 9px; }
.mg-conversion-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.mg-conversion-table th,
.mg-conversion-table td { padding: 11px 13px; border-bottom: 1px solid var(--line); text-align: left; }
.mg-conversion-table th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; background: var(--panel); }
.mg-sort-button { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-align: left; cursor: pointer; }
.mg-sort-button:hover, .mg-sort-button:focus-visible, .mg-sort-button.is-active { color: var(--text); outline: none; }
.mg-sort-button:focus-visible { border-radius: 3px; box-shadow: 0 0 0 2px #78a7ff; }
.mg-sort-icon { color: #7c8aa1; font-size: 14px; line-height: 1; }
.mg-sort-button.is-active .mg-sort-icon { color: #2463d4; }
.mg-conversion-table tbody tr:last-child td { border-bottom: 0; }
.mg-source-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 2px 2px; color: var(--muted); font-size: 13px; }
.mg-source-pagination label, .mg-source-pagination > div { display: flex; align-items: center; gap: 8px; }
.mg-source-pagination select { min-width: 72px; padding: 7px 28px 7px 10px; }
.mg-source-pagination .mg-secondary { min-height: 34px; padding: 6px 12px; }
.mg-source-pagination b { min-width: 54px; text-align: center; color: var(--text); }
@media (max-width: 720px) { .mg-source-pagination { align-items: stretch; flex-direction: column; } .mg-source-pagination > div { justify-content: space-between; } }
.mg-conversion-source { display: grid; gap: 2px; }
.mg-conversion-source span { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.mg-conversion-source strong { overflow-wrap: anywhere; }
.mg-conversion-lead { color: #0b9f63; }
.mg-source-name { display: flex; gap: 7px; align-items: center; }
.mg-source-name button,
.mg-source-name-editor button { border: 0; padding: 3px; background: transparent; color: #2d63c8; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.mg-source-name-editor { display: grid; grid-template-columns: minmax(140px, 1fr) auto auto; gap: 4px; margin-top: 6px; }
.mg-source-name-editor[hidden] { display: none !important; }
.mg-source-name-editor input { min-width: 140px; padding: 6px 8px; }

.mg-source-chip {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  max-width: 100%;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--soft, #f1f3f6);
  font-size: 12px;
}

.mg-source-chip strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.mg-source-chip small {
  color: var(--muted, #6c7480);
}

.mg-source-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 170px minmax(180px, 1fr) 100px auto;
  gap: 8px;
  margin-top: 12px;
}

.mg-empty {
  padding: 14px;
  text-align: center;
  border: 1px dashed var(--border, #dfe3e8);
  border-radius: 10px;
  line-height: 1.5;
}

.mg-toast {
  position: fixed;
  z-index: 99999;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  max-width: min(90vw, 520px);
  padding: 11px 15px;
  border-radius: 9px;
  background: #262b31;
  color: #fff;
  box-shadow: 0 8px 30px rgba(0,0,0,.22);
}

.mg-toast.is-ok {
  background: #1d7a46;
}

@media (max-width: 850px) {
  .mg-head,
  .mg-project-top {
    flex-direction: column;
  }

  .mg-create,
  .mg-project-edit,
  .mg-source-form {
    grid-template-columns: 1fr;
  }

  .mg-create-actions {
    width: 100%;
  }

  .mg-create-actions button {
    flex: 1;
  }

  .mg-head .mg-primary,
  .mg-source-form .mg-secondary {
    width: 100%;
  }
}

/* AIVOCO_LINK_EXISTING_SOURCE_V1 */
.mg-legacy-add-hidden { display: none !important; }

.mg-link-existing-button {
  margin-top: 10px;
  border: 1px solid var(--border, #dfe3e8);
  border-radius: 9px;
  padding: 9px 12px;
  background: var(--panel, #fff);
  color: var(--text, #20242a);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.mg-link-existing-box {
  margin-top: 10px;
  padding: 12px;
  border: 1px dashed var(--border, #dfe3e8);
  border-radius: 10px;
  background: var(--soft, #f7f8fa);
}

.mg-link-existing-title { margin-bottom: 8px; font-size: 13px; font-weight: 800; }

.mg-link-existing-controls {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(220px, 1fr) auto auto;
  gap: 8px;
}

.mg-link-existing-controls select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border, #dfe3e8);
  border-radius: 9px;
  padding: 10px;
  background: var(--panel, #fff);
  color: var(--text, #20242a);
  font: inherit;
}

.mg-link-existing-note {
  margin-top: 7px;
  color: var(--muted, #6c7480);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 850px) {
  .mg-link-existing-controls { grid-template-columns: 1fr; }
  .mg-link-existing-button, .mg-link-existing-controls button { width: 100%; }
}

/* AIVOCO_GENERATION_EXCEL_SOURCES_V1 */
.bulk-single-source-hidden,
.bulk-legacy-hidden {
  display: none !important;
}

.bulk-source-import {
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed var(--border, #dfe3e8);
  border-radius: 10px;
  background: var(--soft, #f7f8fa);
}

.bulk-source-import__title {
  font-size: 13px;
  font-weight: 800;
}

.bulk-source-import__text,
.bulk-source-import__hint,
.bulk-file-name {
  color: var(--muted, #6c7480);
  font-size: 12px;
  line-height: 1.45;
}

.bulk-source-import__text {
  margin-top: 4px;
}

.bulk-source-import__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.bulk-template {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.bulk-file-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.bulk-file-label input {
  display: none;
}

.bulk-source-import [data-bulk-upload]:disabled {
  opacity: .55;
  cursor: default;
}

.bulk-file-name {
  margin-top: 8px;
  font-weight: 600;
}

.bulk-source-import__hint {
  margin-top: 6px;
}

@media (max-width: 850px) {
  .bulk-source-import__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bulk-source-import__actions > * {
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
  }
}

/* AIVOCO_HIDE_LEGACY_GENERATION_UI_V1 */
.aivoco-legacy-generation-hidden {
  display: none !important;
}

/* AIVOCO_UI_POPUP_REORDER_V1 */
.aivoco-tariffs-inline-hidden {
  display: none !important;
}

#aivoco-tariffs-trigger {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 16px 0;
  padding: 14px 18px;
  border: 1px solid #e6c453;
  border-radius: 14px;
  background: #fff8dc;
  color: #1d2a44;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

#aivoco-tariffs-trigger span {
  display: block;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}

#aivoco-tariffs-trigger small {
  display: block;
  margin-top: 6px;
  color: #63708a;
  font-size: 13px;
}

.aivoco-tariffs-modal {
  display: none;
}

.aivoco-tariffs-modal.open {
  display: block;
}

.aivoco-tariffs-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, .45);
  z-index: 9998;
}

.aivoco-tariffs-dialog {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(1180px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .22);
  z-index: 9999;
  padding: 18px;
}

.aivoco-tariffs-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.aivoco-tariffs-title {
  font-size: 24px;
  font-weight: 800;
  color: #1d2a44;
}

.aivoco-tariffs-close {
  width: 38px;
  height: 38px;
  border: 1px solid #d7dbe5;
  border-radius: 10px;
  background: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.aivoco-generation-block {
  order: 1;
}

.aivoco-receiving-block {
  order: 99;
}

@media (max-width: 768px) {
  #aivoco-tariffs-trigger span {
    font-size: 18px;
  }

  .aivoco-tariffs-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100vh - 12px);
    padding: 12px;
  }

  .aivoco-tariffs-title {
    font-size: 20px;
  }
}

/* AIVOCO_UNIFIED_TARIFFS_AND_ASSISTANT_V1 */
.dashboard-billing-summary {
  margin: 22px 0;
}

.dashboard-billing-summary > .panel-head {
  margin-bottom: 12px;
}

.dashboard-billing-summary .payer-summary {
  margin-bottom: 0;
}

.generation-statistics {
  margin: 22px 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(135deg,#fff 0%,#fbfcff 70%,#fff7d6 100%);
  box-shadow: var(--shadow);
}

.generation-statistics > .panel-head {
  margin-bottom: 15px;
}

.generation-statistics > .panel-head > button {
  margin-left: auto;
}

.generation-stat-metrics {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.service-balance-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.service-balance-card {
  position: relative;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 38px rgba(25,38,62,.08);
}

.service-balance-card::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -105px;
  top: -105px;
  border: 32px solid rgba(255,201,40,.14);
  border-radius: 50%;
  pointer-events: none;
}

.service-balance-card.generation-service {
  color: #f5f7fb;
  border-color: #1a2940;
  background: #111d30;
}

.service-balance-card.generation-service::after {
  border-color: rgba(255,201,40,.18);
}

.service-balance-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 13px;
}

.service-balance-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 13px;
  color: #715500;
  background: #fff0a8;
  font-size: 1.15rem;
  font-weight: 900;
}

.service-balance-head small,.service-balance-head b { display: block; }
.service-balance-head small { color: var(--muted); font-size: .66rem; }
.service-balance-head b { margin-top: 3px; font-size: .93rem; }
.generation-service .service-balance-head small { color: #8997aa; }

.service-balance-value {
  position: relative;
  z-index: 1;
  margin-top: 35px;
  font-size: clamp(2.8rem,5vw,4.4rem);
  line-height: 1;
  letter-spacing: -.06em;
}

.service-balance-card > p {
  position: relative;
  z-index: 1;
  margin: 8px 0 25px;
  color: var(--muted);
  font-size: .75rem;
}

.generation-service > p { color: #8997aa; }

.service-balance-details {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
  margin-bottom: 24px;
}

.service-balance-details > span {
  padding: 12px;
  border-radius: 11px;
  background: #f3f6fa;
}

.generation-service .service-balance-details > span { background: #1b2a41; }
.service-balance-details small,.service-balance-details b { display: block; }
.service-balance-details small { color: var(--muted); font-size: .61rem; }
.service-balance-details b { margin-top: 4px; font-size: .82rem; }
.generation-service .service-balance-details small { color: #8492a6; }
.service-balance-card > .primary-button { position: relative; z-index: 1; width: 100%; margin-top: auto; }
.generation-service > .primary-button { color: #152034; background: var(--amber); }
#view-balances > .callout { margin-bottom: 14px; }

@media (max-width: 760px) {
  .generation-stat-metrics,.service-balance-grid { grid-template-columns: 1fr; }
  .generation-statistics { padding: 15px; }
  .generation-statistics > .panel-head { flex-direction: column; }
  .generation-statistics > .panel-head > button { width: 100%; margin-left: 0; }
  .service-balance-card { min-height: 320px; padding: 21px; }
}

#aivoco-tariffs-trigger,
#aivoco-tariffs-modal,
#aivoco-generation-tariffs {
  display: none !important;
}

.generation-balance-inline {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff7d6;
  color: #6e5100;
  font-size: 13px;
  font-weight: 800;
}

.generation-package-grid {
  margin-bottom: 8px;
}

.assistant-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
}

.assistant-model-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #bce8d8;
  border-radius: 999px;
  color: #16775b;
  background: #f1fcf8;
  font-size: 13px;
  font-weight: 700;
}

.assistant-model-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #25ad7d;
  box-shadow: 0 0 0 4px rgba(37, 173, 125, .12);
}

.assistant-model-status.is-error {
  border-color: #f1c7c7;
  color: #a43c3c;
  background: #fff6f6;
}

.assistant-model-status.is-error i {
  background: #d85b5b;
  box-shadow: 0 0 0 4px rgba(216, 91, 91, .12);
}

.assistant-chat-panel {
  display: flex;
  flex-direction: column;
  min-height: 650px;
  padding: 0;
  overflow: hidden;
}

.assistant-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px 18px;
  border-bottom: 1px solid #e7ebf2;
  background: #fbfcfe;
}

.assistant-quick-actions button {
  padding: 8px 12px;
  border: 1px solid #dfe5ee;
  border-radius: 999px;
  background: #fff;
  color: #26344e;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.assistant-quick-actions button:hover {
  border-color: #f0bd19;
  background: #fffaf0;
}

.assistant-messages {
  flex: 1;
  min-height: 300px;
  max-height: 520px;
  overflow-y: auto;
  padding: 22px;
  background: #f6f8fc;
}

.assistant-empty {
  display: grid;
  gap: 6px;
  max-width: 520px;
  margin: 90px auto;
  text-align: center;
  color: #758099;
}

.assistant-empty b {
  color: #1d2a44;
  font-size: 18px;
}

.assistant-message {
  width: fit-content;
  max-width: min(78%, 720px);
  margin: 0 0 14px;
}

.assistant-message > span {
  display: block;
  margin: 0 8px 5px;
  color: #8490a6;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.assistant-message p {
  margin: 0;
  padding: 12px 15px;
  border: 1px solid #e0e5ee;
  border-radius: 4px 16px 16px;
  background: #fff;
  color: #1d2a44;
  line-height: 1.55;
}

.assistant-message.is-user {
  margin-left: auto;
}

.assistant-message.is-user > span {
  text-align: right;
}

.assistant-message.is-user p {
  border-color: #f0c62e;
  border-radius: 16px 4px 16px 16px;
  background: #fff8dd;
}

.assistant-proposal {
  margin: 0;
  padding: 18px 20px;
  border-top: 1px solid #f0c62e;
  border-bottom: 1px solid #f0c62e;
  background: #fffaf0;
}

.assistant-proposal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.assistant-proposal-head span {
  color: #9a6b00;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.assistant-proposal p {
  margin: 10px 0;
  color: #1d2a44;
}

.assistant-proposal small {
  display: block;
  margin-top: 10px;
  color: #6e7890;
}

.assistant-change-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: #6e7890;
  font-size: 12px;
}

.assistant-change-list span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff1b8;
  color: #735500;
  font-weight: 700;
}

.assistant-preview {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.assistant-preview details {
  border: 1px solid #eadca8;
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
}

.assistant-preview summary {
  padding: 9px 11px;
  color: #3b465d;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.assistant-preview details > div {
  max-height: 220px;
  overflow: auto;
  padding: 0 11px 11px;
  color: #59657b;
  font-size: 12px;
  line-height: 1.5;
}

.assistant-proposal-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}

.assistant-compose {
  display: grid;
  gap: 10px;
  padding: 18px 20px;
  background: #fff;
}

.assistant-compose > label {
  font-weight: 800;
}

.assistant-compose textarea {
  min-height: 90px;
  resize: vertical;
}

.assistant-compose-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.assistant-compose-actions > span {
  flex: 1;
  overflow: hidden;
  color: #7a859c;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assistant-file-button {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid #dce2ec;
  border-radius: 10px;
  color: #33405a;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.assistant-file-button input {
  display: none;
}

.assistant-capabilities ul {
  display: grid;
  gap: 14px;
  margin: 18px 0;
  padding-left: 20px;
  color: #68748c;
  line-height: 1.5;
}

.assistant-capabilities li::marker {
  color: #f0bd19;
}

.assistant-capabilities b {
  color: #1d2a44;
}

@media (max-width: 1050px) {
  .assistant-layout { grid-template-columns: 1fr; }
  .assistant-capabilities { order: -1; }
}

@media (max-width: 680px) {
  .assistant-chat-panel { min-height: 560px; }
  .assistant-messages { padding: 14px; }
  .assistant-message { max-width: 92%; }
  .assistant-compose-actions,
  .assistant-proposal-head,
  .assistant-proposal-actions { align-items: stretch; flex-direction: column; }
}


/* AIVOCO_RECORDING_STORAGE_CSS_V1 */

.recording-storage-panel {
  margin: 18px 0 22px;
  overflow: hidden;
}

.recording-storage-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 18px;
}

.recording-storage-head h2 {
  margin: 3px 0 5px;
}

.recording-storage-head p {
  margin: 0;
  color: var(--muted, #667085);
}

.recording-storage-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #667085;
}

.storage-status-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.storage-status-pill.online {
  color: #067647;
  background: #ecfdf3;
  border: 1px solid #abefc6;
}

.storage-status-pill.offline {
  color: #b42318;
  background: #fef3f2;
  border: 1px solid #fecdca;
}

.storage-status-pill.loading {
  color: #475467;
  background: #f2f4f7;
  border: 1px solid #e4e7ec;
}

.recording-storage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #eaecf0;
}

.recording-storage-item {
  min-width: 0;
  padding: 20px 24px;
  border-right: 1px solid #eaecf0;
  border-bottom: 1px solid #eaecf0;
}

.recording-storage-item:nth-child(3n) {
  border-right: 0;
}

.recording-storage-item:nth-last-child(-n + 3) {
  border-bottom: 0;
}

.recording-storage-item span,
.recording-storage-item small {
  display: block;
}

.recording-storage-item span {
  margin-bottom: 7px;
  color: #667085;
  font-size: 13px;
  font-weight: 600;
}

.recording-storage-item strong {
  display: block;
  color: #101828;
  font-size: 24px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.recording-storage-item strong.storage-date {
  font-size: 17px;
  padding-top: 4px;
}

.recording-storage-item small {
  margin-top: 6px;
  color: #98a2b3;
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 1050px) {
  .recording-storage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .recording-storage-item:nth-child(3n) {
    border-right: 1px solid #eaecf0;
  }

  .recording-storage-item:nth-child(2n) {
    border-right: 0;
  }

  .recording-storage-item:nth-last-child(-n + 3) {
    border-bottom: 1px solid #eaecf0;
  }

  .recording-storage-item:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
}

@media (max-width: 650px) {
  .recording-storage-head {
    flex-direction: column;
  }

  .recording-storage-grid {
    grid-template-columns: 1fr;
  }

  .recording-storage-item,
  .recording-storage-item:nth-child(2n),
  .recording-storage-item:nth-child(3n) {
    border-right: 0;
    border-bottom: 1px solid #eaecf0;
  }

  .recording-storage-item:last-child {
    border-bottom: 0;
  }
}


/* AIVOCO_SIMPLE_SCENARIO_V2 */
.scenario-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 12px; }
.scenario-form .form-section { padding: 16px 0; }

.scenario-quick-start {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  margin: 4px 0 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 82%, #dff6ee);
}
.scenario-quick-start b,
.scenario-quick-start span { display: block; }
.scenario-quick-start span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.scenario-quick-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.scenario-layout:not(.show-advanced) .scenario-tab[data-scenario-advanced],
#scenario-form:not(.show-advanced) [data-simple-hidden] {
  display: none;
}

#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="brand"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="model"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="trade_in"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="credit"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="test_drive"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="case_type"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="documents_ready"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="contact_person"]),
#scenario-form:not(.show-advanced) .qualification-field-grid label:has(input[value="contact_phone"]) {
  display: none;
}

@media (max-width: 760px) {
  .scenario-quick-start { align-items: stretch; flex-direction: column; }
  .scenario-quick-actions button { flex: 1 1 220px; }
}

/* Compact qualification fields */
#scenario-form .qualification-field-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 8px !important;
  margin-top: 12px;
}

#scenario-form .qualification-field-grid > label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-height: 40px !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

#scenario-form .qualification-field-grid > label input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  flex: 0 0 18px !important;
}

@media (max-width: 760px) {
  #scenario-form .qualification-field-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* AIVOCO_DELETE_UI_V3 */
.danger-button {
  color: #b42318 !important;
  border-color: #f3b5ae !important;
}
.danger-button:hover {
  color: #fff !important;
  background: #b42318 !important;
  border-color: #b42318 !important;
}
/* AIVOCO UI refresh: clear navigation, guided launch and restrained motion */
.nav-group-label {
  display: block;
  margin: 14px 14px 6px;
  color: var(--muted, #7b8494);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.launch-path-wrap { margin-bottom:18px; padding:15px; border:1px solid var(--border,#e5e8ee); border-radius:18px; background:linear-gradient(135deg,rgba(22,163,106,.055),transparent 48%); }
.launch-path-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 2px 12px; }.launch-path-head > div { display:grid; gap:2px; }.launch-path-head b { font-size:14px; }.launch-path-head > span { padding:5px 9px; border-radius:999px; background:rgba(22,163,106,.1); color:#128457; font-size:11px; font-weight:800; }
.launch-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 0;
}

.launch-path button {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border, #e5e8ee);
  border-radius: 16px;
  background: var(--panel, #fff);
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.launch-path button:hover {
  transform: translateY(-2px);
  border-color: #16a36a;
  box-shadow: 0 10px 28px rgba(20, 42, 70, .09);
}

.launch-path i {
  display: grid;
  flex: 0 0 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: rgba(22, 163, 106, .12);
  color: #128457;
  font-style: normal;
  font-weight: 800;
}

.launch-path span { min-width: 0; }
.launch-path b, .launch-path small { display: block; }
.launch-path b { font-size: 13px; }
.launch-path small { margin-top: 3px; color: var(--muted, #7b8494); font-size: 11px; }
.launch-path button.done { border-color:rgba(22,163,106,.28); background:rgba(22,163,106,.07); }.launch-path button.done i { background:#16a36a; color:#fff; }.launch-path button.current { border-color:#16a36a; box-shadow:0 0 0 3px rgba(22,163,106,.09); }
.call-health-panel { margin-bottom:16px; }.call-health-badge { padding:6px 10px; border-radius:999px; background:rgba(123,132,148,.12); color:var(--muted); font-size:11px; font-weight:800; }.call-health-badge.good { background:rgba(22,163,106,.12); color:#128457; }.call-health-badge.warning { background:rgba(238,166,25,.14); color:#9a6500; }.call-health-badge.error { background:rgba(207,67,67,.12); color:#b52f2f; }
.call-health-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.call-health-grid > div { display:grid; gap:3px; padding:13px 14px; border:1px solid var(--border,#e5e8ee); border-radius:14px; background:var(--panel-soft,rgba(127,135,150,.035)); }.call-health-grid span { color:var(--muted); font-size:11px; font-weight:700; }.call-health-grid strong { font-size:23px; line-height:1.1; }.call-health-grid small { color:var(--muted); font-size:11px; }
.call-health-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }.call-health-action { display:flex; align-items:center; justify-content:space-between; gap:14px; flex:1 1 250px; padding:10px 12px; border:1px solid var(--border,#e5e8ee); border-radius:12px; background:transparent; color:inherit; cursor:pointer; text-align:left; }.call-health-action:hover { border-color:#16a36a; }.call-health-action span { display:grid; gap:2px; }.call-health-action b { font-size:12px; }.call-health-action small { color:var(--muted); font-size:10px; }.call-health-action i { color:#128457; font-style:normal; font-weight:900; }
.notification-button { position:relative; }.notification-button > span { display:grid; place-items:center; }.notification-button > span svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.notification-button > b { position:absolute; top:-5px; right:-5px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border:2px solid var(--panel,#fff); border-radius:999px; background:#cf4343; color:#fff; font-size:9px; }.notification-button > b.hidden { display:none; }
.notification-center { position:fixed; z-index:120; top:72px; right:20px; width:min(390px,calc(100vw - 32px)); max-height:min(620px,calc(100vh - 92px)); overflow:auto; padding:14px; border:1px solid var(--border,#e5e8ee); border-radius:18px; background:var(--panel,#fff); box-shadow:0 24px 70px rgba(18,35,58,.22); }.notification-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:2px 2px 10px; }.notification-head h3 { margin:2px 0 0; }.notification-list { display:grid; gap:8px; }.notification-item { display:flex; align-items:flex-start; gap:10px; width:100%; padding:11px; border:1px solid var(--border,#e5e8ee); border-radius:13px; background:transparent; color:inherit; cursor:pointer; text-align:left; }.notification-item:hover { border-color:#16a36a; }.notification-item > i { display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:9px; background:rgba(238,166,25,.14); color:#9a6500; font-style:normal; font-weight:900; }.notification-item.error > i { background:rgba(207,67,67,.12); color:#b52f2f; }.notification-item.info > i { background:rgba(22,163,106,.12); color:#128457; }.notification-item span { display:grid; gap:3px; min-width:0; }.notification-item b { font-size:12px; }.notification-item small { color:var(--muted); font-size:10px; line-height:1.4; }
.activity-panel { margin-top:16px; }.activity-list { display:grid; }.activity-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:11px; padding:11px 2px; border-top:1px solid var(--border,#e5e8ee); }.activity-row:first-child { border-top:0; }.activity-row > i { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:rgba(22,163,106,.1); color:#128457; font-style:normal; font-weight:900; }.activity-row.failed > i { background:rgba(207,67,67,.1); color:#b52f2f; }.activity-row span { display:grid; gap:2px; }.activity-row b { font-size:12px; }.activity-row small,.activity-row time { color:var(--muted); font-size:10px; }.activity-row time { white-space:nowrap; }
.control-metrics { margin-bottom:16px; }.control-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; margin-bottom:16px; }.control-recommendations,.control-objections { display:grid; gap:9px; }.control-recommendations > div { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px; border:1px solid var(--border,#e5e8ee); border-radius:13px; }.control-recommendations i { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:rgba(22,163,106,.1); color:#128457; font-style:normal; font-weight:900; }.control-recommendations span { display:grid; gap:2px; }.control-recommendations b { font-size:12px; }.control-recommendations small,.control-recommendations em { color:var(--muted); font-size:10px; font-style:normal; }.control-objections > div { display:grid; gap:6px; }.control-objections span { display:flex; justify-content:space-between; gap:12px; }.control-objections b { font-size:11px; }.control-objections small { color:var(--muted); font-size:10px; }.control-objections > div > i { display:block; overflow:hidden; height:7px; border-radius:999px; background:rgba(127,135,150,.12); }.control-objections em { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#16a36a,#d1a800); }

.quality-badge {
  display: inline-grid;
  min-width: 36px;
  height: 28px;
  padding: 0 8px;
  place-items: center;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 800;
}
.quality-badge.good { background: rgba(22,163,106,.13); color: #0c8051; }
.quality-badge.medium { background: rgba(234,155,30,.15); color: #a26100; }
.quality-badge.low { background: rgba(220,64,64,.12); color: #be3030; }

.readiness-modal-card { width: min(620px, calc(100vw - 28px)); }
.readiness-list { display: grid; gap: 8px; max-height: min(52vh, 480px); margin: 4px 0 14px; overflow-y: auto; }
.readiness-item { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.readiness-item > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; font-style: normal; font-weight: 900; }
.readiness-item.ok > i { background: rgba(22,163,106,.13); color: #0b8756; }
.readiness-item.error > i { background: rgba(220,64,64,.12); color: #bd3434; }
.readiness-item.warning > i { background: rgba(234,155,30,.15); color: #9a6208; }
.readiness-item b,.readiness-item span { display: block; }
.readiness-item b { font-size: 13px; }
.readiness-item span { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.readiness-item > button { padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: inherit; cursor: pointer; font-size: 11px; font-weight: 750; }
.readiness-loading { padding: 32px; color: var(--muted); text-align: center; animation: chat-typing 1.1s ease-in-out infinite; }

.view.active.view-enter { animation: view-enter .28s cubic-bezier(.2,.8,.2,1) both; }
@keyframes view-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.panel, .metric-card, .service-balance-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

/* SPROS GO unified administration */
.spros-connection { display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:13px 16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); color:var(--muted); }
.spros-connection > span:first-child { display:grid; place-items:center; width:10px; height:10px; border-radius:50%; flex:none; background:#9ca3af; }
.spros-connection div { display:grid; gap:2px; }
.spros-connection b { color:var(--ink); font-size:.82rem; }
.spros-connection small { font-size:.72rem; }
.spros-connection.connected { border-color:rgba(24,164,114,.3); background:rgba(24,164,114,.07); }
.spros-connection.connected > span:first-child { background:#18a472; box-shadow:0 0 0 5px rgba(24,164,114,.12); }
.spros-connection.error { border-color:rgba(207,67,67,.3); background:rgba(207,67,67,.07); }
.spros-connection.error > span:first-child { width:22px; height:22px; background:#cf4343; color:#fff; font-weight:800; }
.spros-direct-status { display:flex; align-items:center; gap:12px; margin:-4px 0 16px; padding:13px 16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.spros-direct-status > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#eef1f5; color:#111827; font-weight:900; }
.spros-direct-status div { display:grid; gap:2px; }
.spros-direct-status b { color:var(--ink); font-size:.82rem; }
.spros-direct-status small { color:var(--muted); font-size:.72rem; }
.spros-direct-status.connected { border-color:rgba(24,164,114,.3); background:rgba(24,164,114,.05); }
.spros-direct-status.connected > span { background:#fc3f1d; color:#fff; }
.spros-direct-status.error { border-color:rgba(207,67,67,.3); }
.spros-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
.spros-metrics .metric-card strong { font-size:1.7rem; }
.spros-pricing-panel { margin-bottom:16px; padding:20px; }
.spros-pricing-head { align-items:center; }
.spros-pricing-head .primary-button { flex:none; }
.spros-campaign-strip { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:4px 0 18px; padding:13px 15px; border:1px solid rgba(225,179,22,.35); border-radius:13px; background:rgba(255,222,92,.12); }
.spros-campaign-strip b { color:var(--ink); font-size:.82rem; }
.spros-campaign-strip span { color:var(--muted); font-size:.75rem; text-align:right; }
.spros-campaign-strip.inactive { border-color:var(--line); background:rgba(118,133,152,.07); }
.spros-pricing-toolbar { display:grid; grid-template-columns:170px auto 170px minmax(240px,1fr); align-items:end; gap:10px; margin-bottom:14px; }
.spros-pricing-toolbar label { display:grid; gap:6px; color:var(--muted); font-size:.72rem; font-weight:800; }
.spros-pricing-toolbar input { width:100%; }
.spros-pricing-toolbar small { align-self:center; color:var(--muted); font-size:.7rem; line-height:1.45; }
.spros-pricing-table-wrap { margin-bottom:18px; }
.spros-pricing-table-wrap th { white-space:normal; }
.spros-price-input { width:100%; min-width:130px; }
.spros-coefficient-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:18px; }
.spros-subhead { margin-bottom:10px; }
.spros-subhead h3 { margin:0 0 3px; font-size:.9rem; }
.spros-subhead small { color:var(--muted); font-size:.7rem; }
.spros-coefficients { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.spros-coefficients label { display:grid; grid-template-columns:minmax(0,1fr) 78px; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.spros-coefficients label span { overflow:hidden; color:var(--ink); font-size:.72rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.spros-coefficients input { min-width:0; width:100%; padding:7px 8px; }
.spros-panel { margin-bottom:16px; }
.spros-panel-head { align-items:center; }
.spros-panel-head .filter-row { margin-left:auto; }
.spros-panel-head .filter-row input { min-width:210px; }
.spros-actions { display:flex; flex-wrap:wrap; gap:6px; }
.table-action.danger { color:#bd3030; border-color:rgba(189,48,48,.28); }
.spros-lower-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.spros-message { min-width:260px; max-width:520px; white-space:normal; line-height:1.45; }

@media (max-width: 1180px) {
  .spros-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .spros-pricing-toolbar { grid-template-columns:1fr 1fr 1fr; }
  .spros-pricing-toolbar small { grid-column:1/-1; }
  .spros-coefficient-grid { grid-template-columns:1fr; }
  .spros-lower-grid { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .spros-metrics { grid-template-columns:1fr 1fr; }
  .spros-pricing-panel { padding:16px; }
  .spros-pricing-head { align-items:stretch; flex-direction:column; }
  .spros-pricing-head .primary-button { width:100%; }
  .spros-campaign-strip { align-items:flex-start; flex-direction:column; }
  .spros-campaign-strip span { text-align:left; }
  .spros-pricing-toolbar { grid-template-columns:1fr; }
  .spros-pricing-toolbar small { grid-column:auto; }
  .spros-coefficients { grid-template-columns:1fr; }
  .spros-panel-head { align-items:stretch; flex-direction:column; }
  .spros-panel-head .filter-row { margin-left:0; }
  .spros-panel-head .filter-row input { min-width:0; width:100%; }
}
.metric-card:hover, .service-balance-card:hover { transform: translateY(-2px); }
.summary-strip .pulse, .system-indicator .pulse { animation: gentle-pulse 2.2s ease-in-out infinite; }
@keyframes gentle-pulse { 50% { transform: scale(1.28); opacity: .62; } }

button.is-loading { position: relative; color: transparent !important; pointer-events: none; }
button.is-loading::after {
  position: absolute;
  top: 50%; left: 50%;
  width: 17px; height: 17px;
  margin: -10px 0 0 -10px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  content: "";
  animation: button-spin .7s linear infinite;
}
@keyframes button-spin { to { transform: rotate(360deg); } }

.landing-page .reveal-ready { opacity: 0; transform: translateY(20px); }
.landing-page .reveal-ready.revealed {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1);
}
.landing-page .landing-feature { transition: transform .25s ease, box-shadow .25s ease; }
.landing-page .landing-feature:hover { transform: translateY(-4px); }
.landing-page .voice-logo path:not(.logo-tail) { animation: voice-breathe 2.4s ease-in-out infinite alternate; transform-origin: center; }
@keyframes voice-breathe { to { opacity: .62; transform: scaleY(.84); } }

@media (max-width: 980px) {
  .launch-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .launch-path { grid-template-columns: 1fr; }
  .nav-group-label { margin-top: 10px; }
}

.control-connectors-panel { margin-bottom:18px; }
.executive-dashboard { display:grid; gap:16px; margin-bottom:20px; }.executive-head { display:flex; align-items:end; justify-content:space-between; gap:18px; }.executive-head h2 { margin:4px 0 3px; font-size:1.35rem; }.executive-head p { margin:0; color:var(--muted); font-size:12px; }
.executive-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }.executive-kpis article { display:grid; gap:5px; padding:17px 18px; border:1px solid var(--line); border-radius:16px; background:var(--panel); box-shadow:var(--shadow); }.executive-kpis span { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }.executive-kpis strong { font-size:24px; }.executive-kpis small { font-size:10px; font-weight:800; }.executive-kpis small.up { color:#13875b; }.executive-kpis small.down { color:#c54d4d; }.executive-kpis small.flat { color:var(--muted); }
.executive-funnel-card { padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }.executive-funnel-card .panel-head > span { color:var(--muted); font-size:11px; }.executive-funnel { display:grid; gap:10px; }.executive-funnel > div { display:grid; grid-template-columns:minmax(170px,1.1fr) minmax(180px,2fr) 65px 55px; align-items:center; gap:12px; }.executive-funnel > div > span { display:flex; align-items:center; gap:8px; font-size:11px; }.executive-funnel > div > span i { display:grid; place-items:center; width:24px; height:24px; border-radius:8px; background:#e3f6ed; color:#08764c; font-style:normal; font-weight:900; }.executive-funnel > div > em { display:block; height:12px; overflow:hidden; border-radius:999px; background:rgba(118,133,152,.12); }.executive-funnel > div > em u { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#18a36b,#e1b316); text-decoration:none; }.executive-funnel > div > strong { text-align:right; font-size:15px; }.executive-funnel > div > small { color:var(--muted); text-align:right; }
.executive-insights { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; }.executive-recommendations,.executive-losses { display:grid; gap:9px; }.executive-recommendations > div { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:12px; }.executive-recommendations > div > i { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:#fff3c5; color:#886900; font-style:normal; font-weight:900; }.executive-recommendations span { display:grid; gap:2px; }.executive-recommendations b { font-size:11px; }.executive-recommendations small,.executive-recommendations em { color:var(--muted); font-size:9px; font-style:normal; }.executive-losses > div { display:grid; gap:5px; }.executive-losses span { display:flex; justify-content:space-between; gap:10px; }.executive-losses b { font-size:11px; }.executive-losses small { color:var(--muted); font-size:9px; }.executive-losses > div > i { height:7px; overflow:hidden; border-radius:999px; background:rgba(118,133,152,.12); }.executive-losses > div > i em { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#dc6b5f,#d6ad18); }.executive-performance { overflow:hidden; }
html[data-theme="dark"] .executive-funnel > div > span i { background:#103426; color:#7fe1b9; } html[data-theme="dark"] .executive-recommendations > div > i { background:#30280d; color:#f0d77c; }
@media (max-width:980px) { .executive-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.executive-insights { grid-template-columns:1fr; } }
@media (max-width:650px) { .executive-head { align-items:flex-start; flex-direction:column; }.executive-kpis { grid-template-columns:1fr 1fr; }.executive-kpis article { padding:14px; }.executive-kpis strong { font-size:20px; }.executive-funnel > div { grid-template-columns:minmax(135px,1fr) 1.3fr 42px; gap:7px; }.executive-funnel > div > small { display:none; }.executive-funnel > div > span b { font-size:10px; }.executive-recommendations > div { grid-template-columns:26px 1fr; }.executive-recommendations > div > em { grid-column:2; }.executive-performance .table-wrap { margin-inline:-18px; } }
.control-tabs { display:flex; gap:7px; margin:0 0 18px; padding:5px; overflow:auto; border:1px solid var(--border,#e4e8ef); border-radius:15px; background:var(--panel,#fff); }
.control-tabs button { flex:0 0 auto; border:0; border-radius:11px; padding:10px 16px; background:transparent; color:var(--muted,#758095); font-weight:800; }
.control-tabs button.active { background:#142338; color:#fff; box-shadow:0 7px 18px rgba(20,35,56,.16); }
.control-panel { display:none; animation:control-panel-in .22s ease both; }
.control-panel.active { display:block; }
@keyframes control-panel-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.control-balance-card { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:16px; padding:22px 24px; border-radius:20px; color:#fff; background:linear-gradient(125deg,#13263d,#174b47); }
.control-balance-card div { display:grid; gap:3px; }.control-balance-card span,.control-balance-card small { color:#b9d2d2; }.control-balance-card strong { font-size:36px; line-height:1; }
.control-plans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.control-plan { position:relative; display:grid; align-content:start; gap:9px; padding:20px; border:1px solid var(--border,#e4e8ef); border-radius:18px; background:var(--panel,#fff); }
.control-plan.popular { border-color:#19a36b; box-shadow:0 12px 30px rgba(25,163,107,.12); }.control-plan-badge { position:absolute; top:10px; right:10px; padding:4px 7px; border-radius:999px; background:#daf6ea; color:#08764c; font-size:9px; font-weight:900; }
.control-plan > small { color:var(--muted); font-weight:900; letter-spacing:.08em; }.control-plan > strong { margin-top:8px; font-size:19px; }.control-plan p { margin:8px 0 0; }.control-plan p b { font-size:20px; }.control-plan > span:not(.control-plan-badge) { color:var(--muted); font-size:11px; }.control-plan button { margin-top:8px; }
@media (max-width:980px) { .control-plans { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:580px) { .control-plans { grid-template-columns:1fr; }.control-balance-card { align-items:stretch; flex-direction:column; }.control-tabs { margin-inline:-2px; } }
.control-connectors-panel summary { display:flex; justify-content:space-between; gap:16px; cursor:pointer; }
.control-connectors-panel summary span { color:var(--muted,#758095); font-size:12px; }
.control-connector-token { display:flex; align-items:end; gap:10px; margin:18px 0 6px; }
.control-connector-token label { flex:1; }
.control-connectors { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:16px; }
.control-connector-card { display:grid; gap:10px; padding:14px; border:1px solid #e3e8ef; border-radius:15px; background:#f8fafc; }
.control-connector-card div b,.control-connector-card div small { display:block; }
.control-connector-card div small { margin-top:4px; color:#738096; font-size:11px; }
.control-connector-card label { font-size:11px; color:#66748a; }
.control-connector-card input,.control-connector-token input { width:100%; margin-top:5px; }
.control-connector-actions { display:flex!important; gap:8px; }.control-connector-actions button { flex:1; }
.control-instruction-steps { display:grid; gap:12px; margin:8px 0 18px; padding:0; list-style:none; }.control-instruction-steps li { display:grid; grid-template-columns:30px 1fr; align-items:start; gap:10px; }.control-instruction-steps i { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#e3f6ed; color:#08764c; font-style:normal; font-weight:900; }.control-instruction-steps span { padding-top:5px; line-height:1.45; }.control-instruction-result { display:grid; gap:7px; padding:14px; border-radius:13px; background:#f5f7fa; }.control-instruction-result code { overflow-wrap:anywhere; color:#176b51; }.control-instruction-result small { color:var(--muted); line-height:1.4; }
#control-instruction-modal,#control-instruction-modal .modal-card { background:#fff!important; color:#172338!important; color-scheme:light; }
#control-instruction-modal .modal-head h2,#control-instruction-modal .control-instruction-steps span { color:#172338!important; }
#control-instruction-modal .modal-head .eyebrow { color:#617086!important; }
#control-instruction-modal .modal-head .input-help { color:#617086!important; line-height:1.5; }
#control-instruction-modal .modal-close { color:#172338!important; background:#fff!important; }
.control-auto-notes { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 16px; }.control-auto-notes div { display:grid; gap:3px; padding:11px; border:1px solid #e3e8ef; border-radius:11px; background:#f8fafc; }.control-auto-notes b { color:#172338; font-size:12px; }.control-auto-notes span { color:#617086; font-size:11px; line-height:1.4; }
@media (max-width:580px) { #control-instruction-modal .modal-card { padding:18px; }.control-instruction-steps span { font-size:13px; }.control-auto-notes { grid-template-columns:1fr; }.control-instruction-result code { font-size:12px; } }
@media (max-width:580px) { .control-connector-token { align-items:stretch; flex-direction:column; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .landing-page .reveal-ready { opacity: 1; transform: none; }
}

/* Public site consultant */
.public-chat-launcher {
  position: fixed; right: 24px; bottom: 24px; z-index: 80;
  display: flex; align-items: center; gap: 10px;
  padding: 9px 17px 9px 9px; border: 0; border-radius: 999px;
  background: #13233d; color: #fff; box-shadow: 0 14px 42px rgba(10,25,48,.28);
  cursor: pointer; font: inherit; font-weight: 750;
  transition: transform .2s ease, box-shadow .2s ease;
}
.public-chat-launcher:hover { transform: translateY(-2px); box-shadow: 0 18px 50px rgba(10,25,48,.34); }
.public-chat-launcher-icon, .public-chat-avatar {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg,#26c782,#0b9460); color: #fff; font-size: 12px; font-weight: 900;
}
.public-chat {
  position: fixed; right: 24px; bottom: 84px; z-index: 81;
  display: grid; grid-template-rows: auto minmax(190px,1fr) auto auto auto;
  width: min(390px, calc(100vw - 32px)); height: min(580px, calc(100vh - 120px));
  overflow: hidden; border: 1px solid rgba(18,35,61,.11); border-radius: 22px;
  background: #fff; box-shadow: 0 24px 70px rgba(10,25,48,.25);
  opacity: 0; pointer-events: none; transform: translateY(16px) scale(.98);
  transform-origin: bottom right; transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1);
}
.public-chat.open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.public-chat header { display: flex; align-items: center; gap: 11px; padding: 15px 16px; background: #13233d; color: #fff; }
.public-chat header div:nth-child(2) { flex: 1; }
.public-chat header b, .public-chat header small { display: block; }
.public-chat header small { margin-top: 3px; color: rgba(255,255,255,.72); font-size: 11px; }
.public-chat header small i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: #31d591; }
.public-chat header > button { border: 0; background: transparent; color: #fff; font-size: 26px; cursor: pointer; opacity: .75; }
.public-chat-messages { overflow-y: auto; padding: 18px 15px 8px; background: #f5f7fa; }
.public-chat-message { width: fit-content; max-width: 86%; margin-bottom: 10px; padding: 11px 13px; border-radius: 15px; color: #263449; font-size: 13px; line-height: 1.48; white-space: pre-wrap; }
.public-chat-message.assistant { border-bottom-left-radius: 5px; background: #fff; box-shadow: 0 4px 14px rgba(18,35,61,.06); }
.public-chat-message.user { margin-left: auto; border-bottom-right-radius: 5px; background: #159b67; color: #fff; }
.public-chat-message.typing { color: #718096; animation: chat-typing 1.1s ease-in-out infinite; }
@keyframes chat-typing { 50% { opacity: .5; } }
.public-chat-suggestions { display: flex; gap: 6px; overflow-x: auto; padding: 8px 12px; background: #f5f7fa; }
.public-chat-suggestions.hidden { display: none; }
.public-chat-suggestions button { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #dce3ec; border-radius: 999px; background: #fff; color: #314158; cursor: pointer; font-size: 11px; }
.public-chat form { display: flex; align-items: flex-end; gap: 8px; padding: 11px 12px 7px; border-top: 1px solid #e7ebf1; background: #fff; }
.public-chat textarea { flex: 1; min-height: 40px; max-height: 96px; resize: none; border: 1px solid #dce3ec; border-radius: 12px; padding: 10px 11px; color: #1e2d43; font: inherit; font-size: 13px; outline: none; }
.public-chat textarea:focus { border-color: #159b67; box-shadow: 0 0 0 3px rgba(21,155,103,.1); }
.public-chat form button { flex: 0 0 40px; height: 40px; border: 0; border-radius: 12px; background: #159b67; color: #fff; cursor: pointer; font-size: 18px; }
.public-chat form button:disabled { opacity: .55; cursor: wait; }
.public-chat-note { margin: 0; padding: 0 14px 11px; background: #fff; color: #8590a0; font-size: 9px; }
.public-chat-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.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; }

/* Animated illustrations on the public landing page */
.landing-page .demo-live i { animation: demo-live-pulse 1.55s ease-in-out infinite; }
.landing-page .demo-wave i {
  transform-origin: center;
  animation: demo-wave-talk 1.05s ease-in-out infinite alternate;
  will-change: transform, opacity;
}
.landing-page .demo-wave i:nth-child(2n) { animation-duration: .78s; animation-delay: -.32s; }
.landing-page .demo-wave i:nth-child(3n) { animation-duration: 1.28s; animation-delay: -.71s; }
.landing-page .demo-wave i:nth-child(4n) { animation-duration: .92s; animation-delay: -.48s; }
.landing-page .demo-wave i:nth-child(5n) { animation-duration: 1.42s; animation-delay: -.86s; }
.landing-page .demo-wave i:nth-child(7n) { animation-duration: .7s; animation-delay: -.18s; }
@keyframes demo-wave-talk {
  0% { transform: scaleY(.32); opacity: .58; }
  42% { transform: scaleY(.78); opacity: .88; }
  100% { transform: scaleY(1.14); opacity: 1; }
}
@keyframes demo-live-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(49,213,145,.38); }
  50% { transform: scale(1.16); box-shadow: 0 0 0 7px rgba(49,213,145,0); }
}
.landing-page .mini-bars i {
  transform-origin: bottom;
  animation: mini-bar-rise 3.6s cubic-bezier(.2,.75,.3,1) infinite;
  will-change: transform, opacity;
}
.landing-page .mini-bars i:nth-child(1) { animation-delay: 0s; }
.landing-page .mini-bars i:nth-child(2) { animation-delay: .14s; }
.landing-page .mini-bars i:nth-child(3) { animation-delay: .28s; }
.landing-page .mini-bars i:nth-child(4) { animation-delay: .42s; }
.landing-page .mini-bars i:nth-child(5) { animation-delay: .56s; }
.landing-page .mini-bars i:nth-child(6) { animation-delay: .7s; }
@keyframes mini-bar-rise {
  0%, 12% { transform: scaleY(.08); opacity: .25; }
  34%, 82% { transform: scaleY(1); opacity: .82; }
  100% { transform: scaleY(.9); opacity: .7; }
}
@media (max-width: 580px) {
  .public-chat-launcher { right: 14px; bottom: 14px; }
  .public-chat { right: 8px; bottom: 72px; width: calc(100vw - 16px); height: min(620px, calc(100vh - 84px)); border-radius: 18px; }
  .control-import-grid { grid-template-columns:1fr; }
  .control-import-panel summary { align-items:flex-start; flex-direction:column; }
}
/* Simple sales center */
.sales-toolbar{align-items:flex-end}.sales-metrics{margin:18px 0}.sales-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.sales-pipeline-panel{overflow:hidden}.sales-pipeline{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding:4px 2px 14px}.sales-column{min-width:210px;background:var(--surface-soft,#f5f7fa);border:1px solid var(--border-color,#dfe3e8);border-radius:16px;padding:10px}.sales-column>header{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 10px;font-size:13px}.sales-column>header b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:12px;background:var(--surface,#fff)}.sales-card{display:grid;gap:7px;background:var(--surface,#fff);border:1px solid var(--border-color,#dfe3e8);border-radius:13px;padding:12px;margin-bottom:9px;box-shadow:0 5px 15px rgba(15,23,42,.04);cursor:pointer}.sales-card:hover{border-color:#f0b429;transform:translateY(-1px)}.sales-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sales-card-head .icon-button{width:26px;height:26px;min-width:26px}.sales-card>span,.sales-card>small{color:var(--muted,#64748b)}.sales-card>b{font-size:18px}.sales-card select{width:100%;font-size:12px;padding:7px 9px}.sales-card em{font-style:normal;font-size:12px;border-left:3px solid #f0b429;padding-left:8px}.sales-empty{text-align:center;color:var(--muted,#64748b);font-size:12px;padding:18px 4px}.sales-task-list{display:grid;gap:8px}.sales-task-list button{display:flex;text-align:left;gap:10px;width:100%;padding:11px;border:1px solid var(--border-color,#dfe3e8);border-radius:12px;background:transparent;color:inherit}.sales-task-list button:hover{background:var(--surface-soft,#f5f7fa)}.sales-task-list i{width:9px;height:9px;border-radius:50%;background:#f0b429;margin-top:5px;flex:0 0 auto}.sales-task-list span{display:grid;gap:3px}.sales-task-list small{color:var(--muted,#64748b)}#sales-deal-modal form{width:min(720px,calc(100vw - 32px))}.full-width{grid-column:1/-1}.modal-spacer{flex:1}.stage-won>header{color:#12805c}.stage-lost>header{color:#b54747}
@media(max-width:1100px){.sales-layout{grid-template-columns:1fr}.sales-tasks-panel{order:-1}}@media(max-width:680px){.sales-toolbar{align-items:stretch}.sales-toolbar .primary-button{width:100%}.sales-pipeline{grid-template-columns:repeat(5,82vw)}.sales-metrics{grid-template-columns:1fr 1fr}}
.sales-products-panel{margin-top:18px}.sales-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.sales-product-card{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:14px;border:1px solid var(--border-color,#dfe3e8);border-radius:13px;background:var(--surface,#fff);color:inherit}.sales-product-card:hover{border-color:#f0b429;box-shadow:0 7px 18px rgba(15,23,42,.06)}.sales-product-card>span{display:grid;gap:5px}.sales-product-card small{display:block;color:var(--muted,#64748b);font-weight:400}.sales-product-card>strong{text-align:right;white-space:nowrap}.sales-product-card>strong small{margin-top:3px}
.sales-column{border-top:4px solid var(--stage-color,#5b8def)}.sales-column>header span{display:flex;align-items:center;gap:7px}.sales-column>header span i{width:9px;height:9px;border-radius:50%;background:var(--stage-color,#5b8def)}.sales-column-total{display:block;color:var(--muted,#64748b);padding:0 4px 9px}.sales-column.drag-over{outline:2px dashed var(--stage-color,#5b8def);outline-offset:2px;background:color-mix(in srgb,var(--stage-color,#5b8def) 8%,var(--surface-soft,#f5f7fa))}.sales-card.dragging{opacity:.42;transform:rotate(1deg)}#sales-pipeline-select{min-width:190px}.pipeline-stage-editor{display:grid;gap:8px;min-width:min(620px,calc(100vw - 50px));max-height:55vh;overflow:auto}.pipeline-stage-editor>div{display:grid;grid-template-columns:14px 1fr 34px 34px 34px;align-items:center;gap:8px;padding:10px;border:1px solid var(--border-color,#dfe3e8);border-radius:12px}.pipeline-stage-editor>div>i{width:12px;height:36px;border-radius:8px}.pipeline-stage-editor span{display:grid}.pipeline-stage-editor small{color:var(--muted,#64748b)}.pipeline-stage-editor .icon-button{width:32px;height:32px}.pipeline-stage-form{display:grid;grid-template-columns:1fr 50px 140px auto;gap:8px;margin-top:16px}.pipeline-stage-form input,.pipeline-stage-form select{min-width:0}@media(max-width:680px){.pipeline-stage-form{grid-template-columns:1fr 54px}.pipeline-stage-form select,.pipeline-stage-form button{grid-column:1/-1}.sales-toolbar .filter-row{display:grid;grid-template-columns:1fr 1fr}.sales-toolbar .filter-row select{grid-column:1/-1}.sales-toolbar .filter-row .primary-button{grid-column:1/-1}}
.sales-source-badge{justify-self:start;border-radius:6px;padding:4px 7px;color:#25634f!important;background:#e8f7f1;font-size:10px;font-weight:800}.sales-attribution{padding:14px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc}.sales-attribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.sales-attribution-grid label{font-size:.72rem;font-weight:800}.sales-attribution-grid input{margin-top:5px;background:#fff}.sales-attribution .text-button{display:inline-flex;margin-top:10px}.tilda-setup{display:grid;gap:16px}.tilda-setup>label:not(.toggle-row){font-size:.76rem;font-weight:800}.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:6px}.copy-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.tilda-steps{padding:15px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc}.tilda-steps>b{font-size:.8rem}.tilda-steps ol{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:.74rem;line-height:1.55}.tilda-steps li+li{margin-top:5px}html[data-theme="dark"] .sales-source-badge{color:#95e2c8!important;background:#173d34}html[data-theme="dark"] .sales-attribution,html[data-theme="dark"] .tilda-steps{border-color:#34435a;background:#172337}html[data-theme="dark"] .sales-attribution-grid input{background:#fff;color:#172033}@media(max-width:600px){.sales-attribution-grid,.copy-field{grid-template-columns:1fr}.copy-field button{width:100%}}
.web-field-mapping{border:1px solid var(--line);border-radius:8px;background:#fff}.web-field-mapping summary{padding:14px;cursor:pointer;font-size:.78rem;font-weight:850}.web-field-mapping[open] summary{border-bottom:1px solid var(--line)}.web-field-mapping>p{margin:14px 14px 0;color:var(--muted);font-size:.72rem;line-height:1.5}.web-field-mapping>.form-grid{padding:14px}.web-field-mapping label{font-size:.7rem;font-weight:800}.web-field-mapping input{margin-top:5px}html[data-theme="dark"] .web-field-mapping{border-color:#34435a;background:#172337}html[data-theme="dark"] .web-field-mapping[open] summary{border-color:#34435a}html[data-theme="dark"] .web-field-mapping input{background:#fff;color:#172033}
.sales-stage-summary{display:flex;align-items:center;gap:9px}.sales-stage-summary>strong{display:grid;text-align:right;font-size:14px;line-height:1.15;white-space:nowrap}.sales-stage-summary>strong small{font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#64748b);font-weight:600;margin-bottom:3px}.sales-stage-summary>b{flex:0 0 auto}
.sales-funnel-toolbar{display:grid;grid-template-columns:auto minmax(170px,220px) auto minmax(220px,1fr) 42px;gap:9px;align-items:center;margin:-2px 0 14px}.sales-quick-search{display:flex;align-items:center;gap:7px;border:1px solid var(--border-color,#dfe3e8);border-radius:10px;padding:0 11px;background:var(--surface,#fff)}.sales-quick-search input{border:0!important;background:transparent!important;box-shadow:none!important;width:100%;padding-left:0}.sales-filter-panel{padding:12px;margin:0 0 14px;background:var(--surface-soft,#f5f7fa);border-radius:12px}.sales-column{padding:0 10px 10px;overflow:hidden}.sales-column>header{margin:0 -10px 0;padding:9px 10px;background:var(--stage-color,#5b8def);color:#fff}.sales-column>header span{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-column>header b{color:#172033;background:rgba(255,255,255,.88)}.sales-column .sales-stage-summary{display:grid;gap:1px;padding:13px 3px 9px}.sales-column .sales-stage-summary>strong{text-align:left;font-size:22px;font-weight:650}.sales-column .sales-stage-summary>small{color:var(--muted,#64748b);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.sales-quick-deal{width:100%;border:0;border-top:1px solid var(--border-color,#dfe3e8);border-bottom:1px solid var(--border-color,#dfe3e8);background:transparent;color:var(--muted,#64748b);padding:8px;margin:0 0 9px;cursor:pointer}.sales-quick-deal:hover{color:var(--text,#172033);background:var(--surface,#fff)}@media(max-width:800px){.sales-funnel-toolbar{grid-template-columns:1fr 1fr}.sales-funnel-toolbar .sales-quick-search{grid-column:1/-1}.sales-filter-panel{display:grid;grid-template-columns:1fr 1fr}.sales-filter-panel label{min-width:0}.sales-filter-panel button{width:100%}}
.workspace-hidden{display:none!important}.workspace-switcher{display:grid;gap:6px;padding:4px 12px 14px}.workspace-switcher button{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:9px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;text-align:left;font-weight:650}.workspace-switcher button:hover{background:rgba(255,255,255,.07)}.workspace-switcher button.active{background:rgba(245,183,0,.14);border-color:rgba(245,183,0,.35);color:#ffd557}.workspace-switcher i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.08);font-size:11px;font-style:normal}.workspace-switcher button.active i{background:#f5b700;color:#172033}.workspace-switcher span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:720px){.workspace-switcher{padding-inline:10px}.workspace-switcher button{min-height:46px}}
.workspace-switcher i:has(img),.workspace-switcher button.active i:has(img){overflow:hidden;background:transparent}.workspace-switcher i img{display:block;width:30px;height:30px;object-fit:contain}

/* Readable pipeline editor on desktop and mobile */
#sales-pipeline-modal{width:min(720px,calc(100vw - 28px));padding:22px;background:var(--surface,#fff);color:var(--ink,#172033);overflow:auto}#sales-pipeline-modal .modal-head{align-items:center;margin-bottom:16px}#sales-pipeline-modal .modal-head>div{min-width:0;flex:1}#sales-pipeline-modal .modal-head h2{color:var(--ink,#172033);font-size:1.25rem}#sales-pipeline-modal .modal-head .eyebrow{color:var(--muted,#64748b)}#sales-pipeline-close{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--line,#dfe3e8);background:var(--surface-soft,#f5f7fa);color:var(--ink,#172033)}.pipeline-stage-editor{min-width:0}.pipeline-stage-editor>div{min-height:62px;background:var(--surface-soft,#f7f9fc);color:var(--ink,#172033)}.pipeline-stage-editor span b{color:var(--ink,#172033);font-size:.88rem}.pipeline-stage-editor span small{margin-top:3px;color:var(--muted,#64748b);font-size:.72rem}.pipeline-stage-editor .icon-button{border:1px solid var(--line,#dfe3e8);background:var(--surface,#fff);color:var(--ink,#172033);font-size:1rem;font-weight:800}.pipeline-stage-editor .danger-button{color:#b42318}.pipeline-stage-form{padding-top:16px;border-top:1px solid var(--line,#dfe3e8)}.pipeline-stage-form input,.pipeline-stage-form select{height:44px;background:var(--surface,#fff);color:var(--ink,#172033)}#sales-pipeline-modal>.modal-actions{align-items:center;padding-top:16px;border-top:1px solid var(--line,#dfe3e8)}
html[data-theme="dark"] #sales-pipeline-modal{background:#101927;color:#f3f6fb}html[data-theme="dark"] #sales-pipeline-modal .modal-head h2,html[data-theme="dark"] .pipeline-stage-editor span b{color:#f3f6fb}html[data-theme="dark"] #sales-pipeline-modal .modal-head .eyebrow,html[data-theme="dark"] .pipeline-stage-editor span small{color:#aebbd0}html[data-theme="dark"] .pipeline-stage-editor>div{border-color:#34435a;background:#172337}html[data-theme="dark"] #sales-pipeline-close,html[data-theme="dark"] .pipeline-stage-editor .icon-button{border-color:#415169;background:#223047;color:#fff}html[data-theme="dark"] .pipeline-stage-editor .danger-button{color:#ffaaa4}html[data-theme="dark"] .pipeline-stage-form input,html[data-theme="dark"] .pipeline-stage-form select{border-color:#415169;background:#fff;color:#172033}
@media(max-width:680px){#sales-pipeline-modal{box-sizing:border-box;width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:18px 14px;border-radius:20px}#sales-pipeline-modal .modal-head{position:sticky;z-index:2;top:-18px;margin:-18px -14px 14px;padding:16px 14px 12px;background:var(--surface,#fff);border-bottom:1px solid var(--line,#dfe3e8)}html[data-theme="dark"] #sales-pipeline-modal .modal-head{background:#101927;border-color:#34435a}.pipeline-stage-editor{max-height:none;overflow:visible}.pipeline-stage-editor>div{grid-template-columns:12px minmax(0,1fr) 42px 42px 42px;gap:7px;padding:10px 8px}.pipeline-stage-editor>div>i{height:42px}.pipeline-stage-editor .icon-button{width:42px;height:42px;font-size:1.15rem}.pipeline-stage-form{grid-template-columns:1fr 58px}.pipeline-stage-form input[name="name"]{min-width:0}.pipeline-stage-form input[type="color"]{width:58px;padding:5px}.pipeline-stage-form select,.pipeline-stage-form button{grid-column:1/-1;width:100%}#sales-pipeline-modal>.modal-actions{position:sticky;z-index:2;bottom:-18px;margin:16px -14px -18px;padding:12px 14px 16px;background:var(--surface,#fff)}html[data-theme="dark"] #sales-pipeline-modal>.modal-actions{background:#101927;border-color:#34435a}#sales-pipeline-modal>.modal-actions .secondary-button,#sales-pipeline-modal>.modal-actions .primary-button{min-height:44px}#sales-new-pipeline{white-space:nowrap}}
.robot-safety-banner{display:flex;gap:14px;align-items:flex-start;margin:18px 0;padding:16px;border:1px solid #e4bd4b;border-radius:14px;background:#fff8df;color:#604a00}.robot-safety-banner>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#f5b700;color:#172033;font-style:normal}.robot-safety-banner div{display:grid;gap:4px}.robot-safety-banner span{font-size:.78rem;line-height:1.45}.robot-phase-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.robot-phase-grid article{display:grid;gap:5px;padding:14px;border:1px solid var(--line,#dfe3e8);border-radius:14px;background:var(--surface,#fff);opacity:.64}.robot-phase-grid article.active{border-color:#e4bd4b;background:#fffaf0;opacity:1}.robot-phase-grid span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--surface-soft,#eef2f7);font-weight:800}.robot-phase-grid b{font-size:.78rem}.robot-phase-grid small{color:var(--muted,#64748b);font-size:.68rem;line-height:1.35}.robot-list{display:grid;gap:9px}.robot-card{display:grid;grid-template-columns:10px minmax(180px,1.4fr) minmax(150px,1fr) auto 28px;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--line,#dfe3e8);border-radius:13px;background:var(--surface,#fff);color:inherit;text-align:left}.robot-card:hover{border-color:#e4bd4b}.robot-card>i{width:10px;height:42px;border-radius:8px}.robot-card>span,.robot-card>em{display:grid;gap:3px;min-width:0}.robot-card em{font-style:normal}.robot-card small{color:var(--muted,#64748b);font-size:.7rem}.robot-card>strong{padding:6px 9px;border-radius:10px;background:#eef2f7;color:#536176;font-size:.68rem}.robot-card>u{text-decoration:none;font-size:1.4rem}.robot-disabled-note{margin-top:14px;padding:11px;border-radius:10px;background:#fff8df;color:#604a00;font-size:.75rem}#sales-robot-modal form{width:min(700px,calc(100vw - 32px))}html[data-theme="dark"] .robot-safety-banner,html[data-theme="dark"] .robot-phase-grid article.active,html[data-theme="dark"] .robot-disabled-note{border-color:#705d20;background:#2d260f;color:#f3d97e}html[data-theme="dark"] .robot-card>strong{background:#253248;color:#b8c6da}
@media(max-width:900px){.robot-phase-grid{grid-template-columns:1fr 1fr}.robot-card{grid-template-columns:8px minmax(0,1fr) auto}.robot-card>em{grid-column:2}.robot-card>strong{grid-column:3;grid-row:1}.robot-card>u{grid-column:3;grid-row:2}}@media(max-width:600px){.robot-phase-grid{grid-template-columns:1fr}.robot-safety-banner{padding:13px}.robot-card{grid-template-columns:8px minmax(0,1fr) 24px;padding:11px}.robot-card>strong{grid-column:2;grid-row:auto;justify-self:start}.robot-card>u{grid-column:3;grid-row:1/4}#sales-robot-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}#sales-robot-modal form{width:auto}.robot-disabled-note{line-height:1.4}}
.robot-board-panel{overflow:hidden}.robot-board-toolbar{display:grid;grid-template-columns:auto minmax(180px,240px) minmax(220px,1fr);gap:10px;align-items:center;margin-bottom:16px}.robot-board{display:grid;grid-template-columns:repeat(var(--robot-columns,5),minmax(230px,1fr));gap:12px;overflow-x:auto;padding:2px 2px 15px}.robot-stage{min-width:230px;border:1px solid var(--line,#dfe3e8);border-radius:14px;background:var(--surface-soft,#f5f7fa);overflow:hidden}.robot-stage>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;background:var(--stage-color,#5b8def);color:#fff;font-size:.76rem;font-weight:750}.robot-stage>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.robot-stage>header b{display:grid;place-items:center;min-width:23px;height:23px;border-radius:12px;background:rgba(255,255,255,.9);color:#172033}.robot-stage-add{width:100%;height:34px;border:0;border-bottom:1px solid var(--line,#dfe3e8);background:transparent;color:var(--muted,#64748b);font-size:1.2rem;cursor:pointer}.robot-stage-add:hover{background:var(--surface,#fff);color:var(--text,#172033)}.robot-stage>div{padding:9px}.robot-stage .robot-card{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px;margin-bottom:9px;background:var(--surface,#fff)}.robot-stage .robot-card>span{display:grid;gap:4px}.robot-stage .robot-card>span small{color:#2782a7}.robot-stage .robot-card>span em{font-style:normal;color:var(--muted,#64748b);font-size:.7rem}.robot-stage .robot-card>strong{align-self:start}.robot-stage .robot-card>strong.active{background:#dcfce7;color:#167044}.robot-stage .robot-card>u{grid-column:1/-1;text-align:right;font-size:.68rem;color:var(--muted,#64748b)}.robot-stage-empty{min-height:80px;display:grid;place-items:center;text-align:center;color:var(--muted,#64748b);font-size:.72rem;padding:12px}.robot-board-panel .robot-card>i{display:none}@media(max-width:700px){.robot-board-toolbar{grid-template-columns:1fr 1fr}.robot-board-toolbar .sales-quick-search{grid-column:1/-1}.robot-board{grid-template-columns:repeat(5,minmax(220px,1fr))}}

/* Unified accessible dialogs */
.modal{box-sizing:border-box;background:var(--panel,#fff);color:var(--ink,#172033);overflow:auto}.modal>.modal-card,.modal>form:not(.modal-card){box-sizing:border-box;width:100%;background:var(--panel,#fff);color:var(--ink,#172033)}.modal>form:not(.modal-card){padding:22px}.modal .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal .form-grid>label{display:grid;align-content:start;gap:6px;min-width:0;color:var(--muted,#64748b);font-size:.74rem;font-weight:750}.modal .form-grid input,.modal .form-grid select,.modal .form-grid textarea{box-sizing:border-box;width:100%;min-width:0}.modal .modal-head>div{min-width:0;flex:1}.modal .modal-head h2{overflow-wrap:anywhere;color:var(--ink,#172033)}.modal .modal-actions{flex-wrap:wrap}.modal .modal-close,.modal .modal-head>.icon-button{flex:0 0 38px;width:38px;height:38px}.modal label{color:var(--muted,#64748b)}
html[data-theme="dark"] .modal,html[data-theme="dark"] .modal>.modal-card,html[data-theme="dark"] .modal>form:not(.modal-card){background:#101927;color:#f3f6fb}html[data-theme="dark"] .modal .modal-head h2{color:#f3f6fb}html[data-theme="dark"] .modal label,html[data-theme="dark"] .modal .eyebrow,html[data-theme="dark"] .modal .input-help{color:#aebbd0}html[data-theme="dark"] .modal .robot-disabled-note{color:#f3d97e}
#sales-deal-modal,#sales-product-modal,#sales-robot-modal{width:min(740px,calc(100vw - 28px))}
@media(max-width:600px){.modal,.wide-modal,#sales-deal-modal,#sales-product-modal,#sales-robot-modal{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 18px);margin:auto;border-radius:18px}.modal>.modal-card,.modal>form:not(.modal-card){padding:16px 14px}.modal .modal-head{align-items:center;margin-bottom:16px}.modal .modal-head h2{font-size:1.08rem}.modal .form-grid,.account-profile-grid{grid-template-columns:1fr;gap:11px}.modal .full-width{grid-column:1}.modal .modal-actions{position:sticky;z-index:3;bottom:-16px;margin:18px -14px -16px;padding:12px 14px 16px;border-top:1px solid var(--line,#dfe3e8);background:var(--panel,#fff)}html[data-theme="dark"] .modal .modal-actions{background:#101927}.modal .modal-actions .modal-spacer{display:none}.modal .modal-actions button,.modal .modal-actions .button-link{flex:1 1 130px;min-height:44px}.modal input,.modal select{min-height:44px}.modal textarea{min-height:110px}.password-row{grid-template-columns:1fr}.password-row button{width:100%}.readiness-modal-card{width:auto}.detail-grid{grid-template-columns:1fr 1fr}}

/* Text actions and sidebar navigation must keep their labels inside the button. */
.nav {
  scrollbar-gutter: stable;
}

.nav-item {
  width: 100%;
  min-width: 0;
}

.nav-item .nav-icon {
  flex: 0 0 24px;
}

.nav-item > span:not(.nav-icon):not(.nav-count) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#spros-requests-table td:last-child,
#spros-suppliers-table td:last-child {
  min-width: 218px;
}

#spros-requests-table .spros-actions,
#spros-suppliers-table .spros-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}

#spros-requests-table .table-action,
#spros-suppliers-table .table-action {
  flex: 0 0 auto;
  width: auto;
  min-width: 82px;
  height: 34px;
  padding: 0 11px;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

#spros-suppliers-table .table-action:last-child {
  min-width: 112px;
}

@media (max-width: 760px) {
  #spros-requests-table td:last-child,
  #spros-suppliers-table td:last-child {
    min-width: 146px;
  }

  #spros-requests-table .spros-actions,
  #spros-suppliers-table .spros-actions {
    align-items: stretch;
    flex-direction: column;
  }

  #spros-requests-table .table-action,
  #spros-suppliers-table .table-action {
    width: 100%;
  }
}

/* Center Sales CRM upgrade */
#sales-deal-modal form{width:min(920px,calc(100vw - 32px))}
.sales-card.has-overdue{border-color:#d64545}
.sales-card em.overdue{border-left-color:#d64545;color:#b42318}
.sales-manager{display:flex;align-items:center;gap:4px}
.sales-task-group{display:grid;gap:8px;margin-bottom:14px}
.sales-task-group h3{display:flex;justify-content:space-between;align-items:center;margin:0;padding:4px 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b)}
.sales-task-group.overdue h3,.sales-task-group.overdue button b{color:#b42318}
.sales-task-group.without_task h3{color:#9a6700}
.sales-analytics-panel{margin-top:18px}
.sales-analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sales-analytics-card{padding:14px;border:1px solid var(--border-color,#dfe3e8);border-radius:14px;background:var(--surface-soft,#f5f7fa)}
.sales-analytics-card h3{margin:0 0 10px;font-size:14px}
.sales-analytics-card>.sales-funnel-row,.sales-analytics-card>.sales-analytics-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--border-color,#dfe3e8)}
.sales-analytics-card>.sales-funnel-row small{grid-column:1/-1;color:var(--muted,#64748b)}
.sales-funnel-row span{display:flex;align-items:center;gap:7px;min-width:0}
.sales-funnel-row span i{width:8px;height:8px;border-radius:50%;background:var(--stage-color,#5b8def);flex:0 0 auto}
.sales-loss-fields{padding:12px;border:1px solid #f0c36a;border-radius:14px;background:color-mix(in srgb,#f0b429 8%,transparent)}
.sales-timeline-section{margin-top:6px;padding-top:14px;border-top:1px solid var(--border-color,#dfe3e8)}
.sales-comment-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0 14px}
.sales-timeline{display:grid;gap:0;max-height:280px;overflow:auto;padding-right:4px}
.sales-timeline-item{display:grid;grid-template-columns:14px 1fr;gap:9px;position:relative;padding:0 0 14px}
.sales-timeline-item:before{content:"";position:absolute;left:6px;top:12px;bottom:0;width:1px;background:var(--border-color,#dfe3e8)}
.sales-timeline-item:last-child:before{display:none}
.sales-timeline-item>i{width:12px;height:12px;border-radius:50%;background:#f0b429;margin-top:3px;z-index:1}
.sales-timeline-item div{display:grid;gap:3px}
.sales-timeline-item p{margin:0;white-space:pre-wrap}
.sales-timeline-item small{color:var(--muted,#64748b)}
.metric-card.warning strong{color:#b42318}
@media(max-width:1100px){.sales-analytics-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.sales-analytics-grid{grid-template-columns:1fr}.sales-comment-row{grid-template-columns:1fr}.sales-comment-row button{width:100%}}
/* Sales team and employee invitations */
.sales-team-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:18px;
  align-items:start;
}
.sales-team-section,.sales-invite-form,.sales-pending-invites{
  display:grid;
  gap:14px;
}
.sales-team-list,#sales-invitation-list{
  display:grid;
  gap:10px;
}
.sales-team-row,.sales-invitation-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-soft);
}
.sales-team-row.is-disabled{opacity:.62}
.sales-team-person{
  display:flex;
  gap:11px;
  align-items:center;
  min-width:0;
}
.sales-team-person>span:last-child,.sales-invitation-row>div{
  display:grid;
  gap:3px;
  min-width:0;
}
.sales-team-person small,.sales-team-person em,.sales-invitation-row small,.sales-invitation-row em{
  color:var(--text-soft);
  font-size:12px;
  font-style:normal;
}
.sales-team-avatar{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:12px;
  background:var(--accent-soft);
  font-weight:800;
}
.sales-team-role select{min-width:145px}
.sales-team-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.sales-role-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 11px;
  border-radius:999px;
  background:var(--surface);
  border:1px solid var(--border);
  font-size:12px;
  font-weight:800;
}
.sales-role-badge.owner{background:var(--accent-soft)}
.sales-invite-result{
  margin-top:16px;
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--accent-soft);
}
.sales-invite-result>div:first-child{display:grid;gap:4px}
.sales-invite-result small{color:var(--text-soft)}
.sales-pending-invites{margin-top:18px}
body[data-role="sales_viewer"] #sales-new-deal,
body[data-role="sales_viewer"] #sales-delete-deal,
body[data-role="sales_viewer"] #sales-add-comment,
body[data-role="sales_viewer"] #sales-new-product,
body[data-role="sales_viewer"] #sales-tilda-settings,
body[data-role="sales_viewer"] #sales-manager-settings,
body[data-role="sales_viewer"] #sales-pipeline-settings,
body[data-role="sales_viewer"] #sales-new-robot{display:none!important}
body[data-role="sales_viewer"] .sales-stage-select{
  pointer-events:none;
  opacity:.75;
}
@media(max-width:900px){
  .sales-team-layout{grid-template-columns:1fr}
  .sales-team-row{grid-template-columns:1fr}
  .sales-team-actions{justify-content:flex-start}
  .sales-invite-result{grid-template-columns:1fr}
}

/* Sales Center storage quota */
.sales-storage-card .storage-meter{
  height:7px;
  margin:10px 0 8px;
  overflow:hidden;
  border-radius:999px;
  background:var(--surface-soft);
  border:1px solid var(--border);
}
.sales-storage-card .storage-meter i{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:var(--accent);
  transition:width .25s ease;
}
.sales-storage-card.warning .storage-meter i{background:#d99a00}
.sales-storage-card.storage-critical{
  border-color:#dc6b63;
  box-shadow:0 0 0 1px color-mix(in srgb,#dc6b63 24%,transparent);
}
.sales-storage-card.storage-critical strong{color:#b42318}
.sales-storage-card.storage-critical .storage-meter i{background:#b42318}
.sales-storage-card .text-button{justify-self:start;padding:0;margin-top:2px}

/* Platform-wide readability and modal rhythm */
:root{
  --ui-text-xs:.75rem;
  --ui-text-sm:.8125rem;
  --ui-text-md:.9375rem;
  --ui-title-sm:1.125rem;
  --ui-title-md:1.375rem;
  --ui-control-height:42px;
}
body{font-size:15px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
:is(p,small,label,td,th,button,input,select,textarea){line-height:1.45}
:is(button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 28%,transparent);outline-offset:2px}
.panel-head h2,.section-toolbar h2{font-size:var(--ui-title-sm);line-height:1.25}
.panel-head p,.section-toolbar p{max-width:72ch;font-size:var(--ui-text-sm);line-height:1.5}
.form-section-title{display:grid;gap:3px;min-width:0}
.form-section-title>b{display:block;color:var(--ink);font-size:.9375rem;line-height:1.3;letter-spacing:-.01em}
.form-section-title>small{display:block;color:var(--muted);font-size:var(--ui-text-xs);line-height:1.45}
.modal{max-height:calc(100dvh - 28px);overscroll-behavior:contain}
.modal .modal-head{gap:16px}
.modal .modal-head h2{font-size:var(--ui-title-md);line-height:1.2;letter-spacing:-.018em}
.modal .modal-head .input-help{max-width:72ch;margin:7px 0 0;font-size:var(--ui-text-sm);line-height:1.5}
.modal :is(label,.input-help,small){font-size:var(--ui-text-xs)}
.modal :is(input,select){min-height:var(--ui-control-height)}
.modal textarea{min-height:96px;resize:vertical}
.modal :is(.primary-button,.secondary-button,.button-link){min-height:40px}
.modal .form-grid{gap:16px}
.modal .modal-actions{padding-top:2px}
.table-wrap :is(th,td){font-size:var(--ui-text-xs);line-height:1.45}
.toolbar,.section-toolbar{flex-wrap:wrap}

/* Tabs for information-heavy dialogs */
.modal-tabs{display:flex;gap:4px;overflow-x:auto;margin:0 0 20px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);scrollbar-width:thin}
.modal-tabs>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800;white-space:nowrap;cursor:pointer}
.modal-tabs>button:hover{color:var(--ink);background:var(--panel)}
.modal-tabs>button.active{color:var(--ink);background:var(--panel);box-shadow:0 2px 9px rgba(21,32,51,.08)}
.tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--amber);color:#152033;font-size:.68rem;font-weight:900}

/* Sales team dialog */
#sales-manager-modal{width:min(940px,calc(100vw - 28px));padding:24px}
#sales-manager-modal>.modal-head{position:sticky;z-index:4;top:-24px;margin:-24px -24px 16px;padding:24px 24px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
#sales-manager-modal>.modal-actions{position:sticky;z-index:4;bottom:-24px;margin:20px -24px -24px;padding:14px 24px 24px;border-top:1px solid var(--line);background:var(--panel)}
.sales-team-panels{min-height:360px}
.sales-team-section{gap:18px}
.sales-team-section>.toggle-row{margin-top:4px}
.sales-invite-form{width:min(680px,100%)}
.sales-invite-form>.primary-button{justify-self:start;min-width:220px}
.sales-pending-invites{margin-top:8px}
.sales-team-row,.sales-invitation-row{line-height:1.4}
.sales-team-person b,.sales-invitation-row b{font-size:var(--ui-text-md)}

html[data-theme="dark"] .modal-tabs{background:#0d1727}
html[data-theme="dark"] .modal-tabs>button.active,
html[data-theme="dark"] .modal-tabs>button:hover{background:#1b2a42;color:#f3f6fb}
html[data-theme="dark"] #sales-manager-modal>.modal-head,
html[data-theme="dark"] #sales-manager-modal>.modal-actions{background:#101927;border-color:#34435a}

@media(max-width:760px){
  body{font-size:14px}
  .panel-head{gap:10px}
  .panel-head h2,.section-toolbar h2{font-size:1.05rem}
  #sales-manager-modal{width:calc(100vw - 16px);max-width:none;padding:16px 14px;border-radius:18px}
  #sales-manager-modal>.modal-head{top:-16px;margin:-16px -14px 14px;padding:16px 14px 13px}
  #sales-manager-modal>.modal-actions{bottom:-16px;margin:18px -14px -16px;padding:12px 14px 16px}
  .modal-tabs{margin-bottom:16px}
  .modal-tabs>button{flex:1 0 auto}
  .sales-team-panels{min-height:0}
  .sales-invite-form{width:100%}
  .sales-invite-form>.primary-button{width:100%;min-width:0}
  .sales-team-row,.sales-invitation-row{padding:12px}
}

/* Main-page platform guide */
.home-guide{margin:0 0 20px;padding:22px;border:1px solid var(--line,#dfe3e8);border-radius:20px;background:linear-gradient(135deg,rgba(245,183,0,.09),transparent 36%),var(--surface,#fff);box-shadow:0 12px 34px rgba(15,23,42,.055)}
.home-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.home-guide-head h2{margin:5px 0 6px;font-size:1.32rem}.home-guide-head p{max-width:760px;margin:0;color:var(--muted,#64748b);font-size:.78rem;line-height:1.55}.home-guide-head .secondary-button{flex:0 0 auto}
.home-guide-tabs{display:flex;gap:7px;margin:18px 0 16px;padding:4px;border:1px solid var(--line,#dfe3e8);border-radius:12px;background:var(--surface-soft,#f5f7fa);width:max-content;max-width:100%;overflow-x:auto}.home-guide-tabs button{min-height:38px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:var(--muted,#64748b);font:inherit;font-size:.74rem;font-weight:800;white-space:nowrap;cursor:pointer}.home-guide-tabs button.active{background:var(--surface,#fff);color:var(--ink,#172033);box-shadow:0 3px 12px rgba(15,23,42,.08)}
.home-guide-panel{animation:viewIn .2s ease}.home-start-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-start-path>button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:84px;padding:13px;border:1px solid var(--line,#dfe3e8);border-radius:14px;background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer}.home-start-path>button:hover{border-color:#d4a10b;transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.06)}.home-start-path i{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f5b700;color:#172033;font-style:normal;font-size:.75rem;font-weight:900}.home-start-path span{min-width:0}.home-start-path b,.home-start-path small{display:block}.home-start-path b{font-size:.8rem}.home-start-path small{margin-top:4px;color:var(--muted,#64748b);font-size:.68rem;line-height:1.35}.home-start-path em{align-self:end;color:#8a6a00;font-style:normal;font-size:.66rem;font-weight:800;white-space:nowrap}.home-guide-note{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff8df;color:#604a00;font-size:.72rem;line-height:1.45}.home-guide-note b{white-space:nowrap}.home-guide-note span{color:#705a13}
.platform-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.platform-map-grid article{display:flex;gap:12px;padding:15px;border:1px solid var(--line,#dfe3e8);border-radius:14px;background:var(--surface,#fff)}.platform-map-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#172033;color:#fff;font-size:.68rem;font-weight:900}.platform-map-grid article>div{min-width:0}.platform-map-grid b{font-size:.82rem}.platform-map-grid p{min-height:39px;margin:5px 0 10px;color:var(--muted,#64748b);font-size:.69rem;line-height:1.42}.platform-map-grid article>div>div{display:flex;flex-wrap:wrap;gap:6px}.platform-map-grid button,.daily-guide-grid button{padding:0;border:0;background:transparent;color:#8a6a00;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}.platform-map-grid button:hover,.daily-guide-grid button:hover{text-decoration:underline}
.platform-brand-icon{overflow:hidden;background:transparent!important}.platform-brand-icon img{display:block;width:38px;height:38px;object-fit:contain}
.daily-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.daily-guide-grid article{padding:15px;border:1px solid var(--line,#dfe3e8);border-radius:14px;background:var(--surface,#fff)}.daily-guide-grid article>span{display:inline-flex;margin-bottom:9px;padding:4px 7px;border-radius:7px;background:rgba(245,183,0,.14);color:#7b5d00;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.daily-guide-grid b{display:block;font-size:.8rem}.daily-guide-grid p{min-height:58px;margin:6px 0 10px;color:var(--muted,#64748b);font-size:.69rem;line-height:1.48}
html[data-theme="dark"] .home-guide{background:linear-gradient(135deg,rgba(245,183,0,.08),transparent 36%),#0e1929}html[data-theme="dark"] .home-guide-tabs{background:#172337}html[data-theme="dark"] .home-guide-tabs button.active,html[data-theme="dark"] .home-start-path>button,html[data-theme="dark"] .platform-map-grid article,html[data-theme="dark"] .daily-guide-grid article{background:#172337;color:#f3f6fb}html[data-theme="dark"] .home-guide-note{background:#2d260f;color:#f3d97e}html[data-theme="dark"] .home-guide-note span{color:#dbc878}html[data-theme="dark"] .platform-map-icon{background:#f5b700;color:#172033}
@media(max-width:1100px){.home-start-path,.platform-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.home-guide{padding:16px;border-radius:16px}.home-guide-head{display:grid}.home-guide-head .secondary-button{width:100%}.home-guide-tabs{width:100%;box-sizing:border-box}.home-start-path,.platform-map-grid,.daily-guide-grid{grid-template-columns:1fr}.home-start-path>button{grid-template-columns:34px minmax(0,1fr)}.home-start-path em{grid-column:2;justify-self:start}.home-guide-note{display:grid}.platform-map-grid p,.daily-guide-grid p{min-height:0}}

/* Sales documents and templates */
.sales-documents-panel{margin-top:18px;scroll-margin-top:18px}.sales-document-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:20px}.sales-document-layout>div{min-width:0}.sales-template-grid,.sales-document-list{display:grid;gap:9px}.sales-template-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 14px;border:1px solid var(--line,#dfe3e8);border-radius:13px;background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer}.sales-template-card:hover{border-color:#d4a10b;box-shadow:0 6px 16px rgba(15,23,42,.05)}.sales-template-card>span{display:grid;gap:4px;min-width:0}.sales-template-card b{font-size:.78rem}.sales-template-card small{color:var(--muted,#64748b);font-size:.67rem}.sales-template-card em{flex:0 0 auto;padding:5px 7px;border-radius:8px;background:var(--surface-soft,#eef2f7);color:var(--muted,#64748b);font-style:normal;font-size:.6rem;font-weight:800}.sales-document-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line,#dfe3e8);border-radius:13px;background:var(--surface,#fff)}.sales-document-row>span:nth-child(2){display:grid;gap:3px;min-width:0}.sales-document-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.sales-document-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#64748b);font-size:.66rem}.sales-document-format{display:grid;place-items:center;width:44px;height:34px;border-radius:9px;background:#fee2e2;color:#a72323;font-size:.63rem;font-weight:900}.sales-document-format.docx{background:#dbeafe;color:#1d4ed8}.sales-document-format.xlsx{background:#dcfce7;color:#167044}.sales-document-row .button-link{min-height:34px;padding:7px 10px;font-size:.66rem}.document-placeholder-help{margin-top:14px;padding:12px;border:1px solid var(--line,#dfe3e8);border-radius:11px;background:var(--surface-soft,#f5f7fa)}.document-placeholder-help summary{cursor:pointer;font-size:.72rem;font-weight:850}.document-placeholder-help p{margin:9px 0 0;color:var(--muted,#64748b);font-size:.68rem;line-height:1.6}.document-placeholder-help code{padding:2px 4px;border-radius:4px;background:var(--surface,#fff)}
html[data-theme="dark"] .sales-template-card,html[data-theme="dark"] .sales-document-row{background:#172337;color:#f3f6fb}html[data-theme="dark"] .document-placeholder-help{background:#172337}
@media(max-width:980px){.sales-document-layout{grid-template-columns:1fr}}
@media(max-width:600px){.sales-documents-panel .panel-head{display:grid}.sales-documents-panel .filter-row{display:grid;grid-template-columns:1fr 1fr}.sales-document-row{grid-template-columns:44px minmax(0,1fr)}.sales-document-row .button-link{grid-column:1/-1;width:100%;box-sizing:border-box}.sales-template-card{align-items:flex-start}.sales-template-card em{white-space:nowrap}}

/* SPROS GO automation */
.spros-auto-panel { margin-bottom:16px; }
.spros-auto-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.spros-auto-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.spros-auto-card { padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.spros-auto-card span { display:block; color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.spros-auto-card strong { display:block; margin-top:5px; font-size:1.35rem; }
.spros-auto-settings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0 14px; }
.spros-auto-settings label { display:grid; gap:5px; color:var(--muted); font-size:.72rem; font-weight:800; }
.spros-auto-actions { display:flex; flex-wrap:wrap; gap:7px; }
.spros-auto-table small { display:block; color:var(--muted); font-size:.7rem; line-height:1.35; }
.spros-auto-badge { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; background:rgba(118,133,152,.12); font-size:.72rem; font-weight:800; }
@media (max-width:1180px) {
  .spros-auto-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .spros-auto-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .spros-auto-grid,.spros-auto-settings { grid-template-columns:1fr; }
  .spros-auto-head { align-items:stretch; flex-direction:column; }
}

/* Hide SPROS GO pricing block in AIVOCO admin */
#view-spros-go .spros-pricing-panel {
  display: none !important;
}

/* Hide SPROS GO automation technical settings */
#spros-auto-panel .spros-auto-settings-wrap {
  display: none !important;
}

/* SPROS GO automation action buttons fix */
#spros-auto-campaigns td:last-child,
#spros-auto-campaigns th:last-child {
  min-width: 360px;
  width: 360px;
}

#spros-auto-campaigns .spros-auto-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

#spros-auto-campaigns .table-action {
  min-width: 74px;
  height: 34px;
  padding: 7px 10px;
  white-space: nowrap;
  line-height: 1;
  text-align: center;
}

#spros-auto-campaigns [data-spros-auto-action="prepare"] {
  min-width: 86px;
}

#spros-auto-campaigns [data-spros-manual-supplier] {
  min-width: 92px;
}

/* Show only required SPROS GO automation settings */
#spros-auto-panel .spros-auto-settings-wrap {
  display: block !important;
}

#spros-auto-panel .spros-auto-settings-wrap summary {
  display: none !important;
}

/* VoiceBot dashboard: keep one clear layer of information on screen. */
.dashboard-section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:5px;border:1px solid var(--line,#dfe3e8);border-radius:12px;background:var(--surface-soft,#f5f7fa)}
.dashboard-section-tabs button{display:grid;gap:3px;min-width:0;min-height:54px;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted,#64748b);font:inherit;text-align:left;cursor:pointer}
.dashboard-section-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:.78rem;font-weight:850}
.dashboard-section-tabs button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem}
.dashboard-section-tabs button:hover{background:rgba(255,255,255,.65);color:var(--ink,#172033)}
.dashboard-section-tabs button.active{background:var(--surface,#fff);color:var(--ink,#172033);box-shadow:0 3px 12px rgba(15,23,42,.08)}
.dashboard-section-tabs button.active:before{content:"";width:28px;height:3px;margin-bottom:2px;border-radius:3px;background:#f5b700}
.dashboard-section-hidden{display:none!important}
.dashboard-base-filter{display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(180px,.7fr);align-items:center;gap:16px;margin:-6px 0 18px;padding:13px 16px;border:1px solid var(--line,#dfe3e8);border-radius:12px;background:var(--surface,#fff)}
.dashboard-filter-intro{display:grid;gap:3px}.dashboard-filter-intro .eyebrow{font-size:.6rem}.dashboard-filter-intro b{color:var(--ink,#172033);font-size:.83rem}.dashboard-filter-intro small,.dashboard-filter-current{color:var(--muted,#64748b);font-size:.68rem;line-height:1.35}.dashboard-base-filter label{display:grid;gap:5px;color:var(--ink,#172033);font-size:.7rem;font-weight:850}.dashboard-base-filter select{min-width:230px;margin:0}.dashboard-filter-current{text-align:right}
#tenant-dashboard>[data-dashboard-section]{animation:viewIn .18s ease}
.executive-dashboard[data-dashboard-section="overview"]{margin-top:0}
.dashboard-core-metrics{margin-top:16px}
@media(max-width:880px){.dashboard-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dashboard-section-tabs{display:flex;overflow-x:auto;scrollbar-width:thin}.dashboard-section-tabs button{flex:0 0 170px}.dashboard-section-tabs button span,.dashboard-section-tabs button small{white-space:normal}.dashboard-base-filter{display:grid}.dashboard-base-filter label{display:grid}.dashboard-base-filter select{width:100%;min-width:0}.dashboard-base-filter small{text-align:left}}

#spros-auto-panel #spros-auto-settings {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(170px,1fr));
  align-items: end;
  gap: 10px;
  margin: 12px 0 14px;
}

#spros-auto-panel #spros-auto-settings label {
  display: grid !important;
}

#spros-auto-panel #spros-auto-settings label:has(input[name="purchase_limit"]),
#spros-auto-panel #spros-auto-settings label:has(input[name="min_confidence"]),
#spros-auto-panel #spros-auto-settings label:has(input[name="retry_hours"]) {
  display: none !important;
}

#spros-auto-panel #spros-auto-settings .spros-auto-actions {
  display: flex !important;
  align-items:end;
}

.spros-auto-safety { margin:0 0 14px; padding:11px 13px; border-radius:11px; background:rgba(245,183,0,.12); color:var(--muted); font-size:.72rem; line-height:1.45; }
.spros-auto-run-status { margin:0 0 14px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; color:var(--muted); background:var(--surface-soft); font-size:.72rem; }

@media (max-width: 1180px) {
  #spros-auto-panel #spros-auto-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  #spros-auto-panel #spros-auto-settings {
    grid-template-columns: 1fr;
  }
}

/* AI-assisted, tenant- and bot-scoped conversation tuning. */
.learning-ai-panel {
  margin: 18px 0;
  border-color: rgba(49,95,190,.24);
  background: linear-gradient(135deg, rgba(234,241,255,.72), var(--panel) 58%);
}

.learning-ai-panel .panel-head {
  align-items: center;
  gap: 20px;
}

.learning-ai-panel .panel-head > div {
  min-width: 0;
}

.learning-ai-panel .primary-button {
  flex: 0 0 auto;
  min-width: 232px;
}

.learning-ai-status {
  margin: 4px 0 14px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 750;
}

html[data-theme="dark"] .learning-ai-panel {
  background: linear-gradient(135deg, rgba(49,95,190,.16), var(--panel) 58%);
}

@media (max-width: 760px) {
  .learning-ai-panel .panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .learning-ai-panel .primary-button {
    width: 100%;
    min-width: 0;
  }
}

/* Sales subscription period and a correctly bounded deal dialog. */
.sales-period-banner {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid #e8c34f;
  border-radius: 15px;
  background: linear-gradient(105deg,#fff8d8,#fffdf5 58%,#fff);
  box-shadow: 0 8px 24px rgba(87,67,8,.06);
}

.sales-period-banner.is-paid {
  border-color: #9bd8bf;
  background: linear-gradient(105deg,#eaf9f2,#f8fffb 58%,#fff);
}

.sales-period-banner.is-expired {
  border-color: #efb1b1;
  background: linear-gradient(105deg,#fff0f0,#fffafa 58%,#fff);
}

.sales-period-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--amber);
  color: #172033;
  font-size: 1.25rem;
}

.sales-period-banner.is-paid .sales-period-icon { background: #bdebd8; }
.sales-period-banner.is-expired .sales-period-icon { background: #ffd7d7; }
.sales-period-copy { display: grid; min-width: 0; gap: 2px; }
.sales-period-copy strong { color: var(--ink); font-size: 1.05rem; }
.sales-period-copy small { color: var(--muted); font-size: .74rem; }
.sales-period-banner .primary-button { min-width: 154px; white-space: nowrap; }

#sales-deal-modal {
  width: min(960px,calc(100vw - 28px));
  max-width: 960px;
  max-height: calc(100dvh - 28px);
  padding: 0;
  overflow: hidden;
}

#sales-deal-modal > #sales-deal-form {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  max-height: calc(100dvh - 28px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 22px;
}

#sales-deal-form > .form-grid,
#sales-deal-form .form-grid > label,
#sales-deal-form .password-row,
#sales-deal-form input,
#sales-deal-form select,
#sales-deal-form textarea {
  min-width: 0;
  max-width: 100%;
}

html[data-theme="dark"] .sales-period-banner {
  border-color: #705d20;
  background: linear-gradient(105deg,#2d260f,#172337 62%);
}

html[data-theme="dark"] .sales-period-banner.is-paid {
  border-color: #28684f;
  background: linear-gradient(105deg,#173d34,#172337 62%);
}

html[data-theme="dark"] .sales-period-banner.is-expired {
  border-color: #683d42;
  background: linear-gradient(105deg,#2b171b,#172337 62%);
}

@media (max-width: 760px) {
  .sales-period-banner {
    grid-template-columns: 42px minmax(0,1fr);
    padding: 13px;
  }

  .sales-period-icon { width: 42px; height: 42px; }
  .sales-period-banner .primary-button { grid-column: 1/-1; width: 100%; }
  #sales-deal-modal { width: calc(100vw - 16px); max-height: calc(100dvh - 18px); }
  #sales-deal-modal > #sales-deal-form { max-height: calc(100dvh - 18px); padding: 16px 14px; }
}

/* Compact tariff page with one clearly focused section at a time. */
.billing-sections {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.billing-section {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
  box-shadow: 0 7px 24px rgba(21,32,51,.045);
}

.billing-section[open] {
  border-color: #cbd8ed;
  box-shadow: 0 12px 32px rgba(21,32,51,.075);
}

.billing-section-featured { border-color: rgba(229,181,30,.42); }

.billing-section > summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 84px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.billing-section > summary::-webkit-details-marker { display: none; }
.billing-section > summary:hover { background: rgba(49,95,190,.035); }
.billing-section[open] > summary { background: #f8faff; }

.billing-section-icon {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  color: #315fbe;
  background: #eaf1ff;
  font-size: .88rem;
  font-weight: 900;
}

.billing-brand-icon { overflow:hidden; padding:0; background:transparent!important; }
.billing-brand-icon img { display:block; width:44px; height:44px; object-fit:contain; }

.billing-section-featured .billing-section-icon {
  color: #6f5200;
  background: #fff0ae;
}

.billing-section > summary > span:nth-child(2) {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  gap: 4px;
}

.billing-section > summary > span:nth-child(2) > b {
  color: var(--ink);
  font-size: 1.22rem;
  line-height: 1.18;
  letter-spacing: -.015em;
}

.billing-section > summary > span:nth-child(2) > small {
  overflow: hidden;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-section > summary > em {
  display: grid;
  flex: 0 0 auto;
  gap: 2px;
  min-width: 110px;
  padding: 8px 12px;
  border-radius: 11px;
  background: var(--soft);
  font-style: normal;
  text-align: right;
}

.billing-section > summary > em b { color: var(--ink); font-size: .78rem; }
.billing-section > summary > em small { color: var(--muted); font-size: .62rem; }

.billing-section > summary > i {
  position: relative;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: var(--soft);
}

.billing-section > summary > i::before,
.billing-section > summary > i::after {
  content: "";
  position: absolute;
  top: 15px;
  width: 8px;
  height: 2px;
  border-radius: 2px;
  background: var(--muted);
  transition: transform .18s ease;
}

.billing-section > summary > i::before { left: 9px; transform: rotate(45deg); }
.billing-section > summary > i::after { right: 9px; transform: rotate(-45deg); }
.billing-section[open] > summary > i::before { transform: rotate(-45deg); }
.billing-section[open] > summary > i::after { transform: rotate(45deg); }

.billing-section-body {
  padding: 20px 18px 22px;
  border-top: 1px solid var(--line);
}

.billing-section-body > .package-grid:last-child,
.billing-section-body > .billing-columns:last-child { margin-bottom: 0; }
.billing-section-body .package-heading h3 { font-size: 1.08rem; }
.billing-history-section .billing-section-body { padding: 16px; background: var(--soft); }

html[data-theme="dark"] .billing-section[open] { border-color: #415169; }
html[data-theme="dark"] .billing-section[open] > summary { background: #172337; }
html[data-theme="dark"] .billing-section-icon { color: #a9c5ff; background: #22375a; }
html[data-theme="dark"] .billing-section-featured .billing-section-icon { color: #f4d26d; background: #44370e; }

@media (max-width: 700px) {
  .billing-section > summary { min-height: 76px; gap: 10px; padding: 13px; }
  .billing-section-icon { flex-basis: 40px; width: 40px; height: 40px; }
  .billing-section > summary > span:nth-child(2) > b { font-size: 1.05rem; }
  .billing-section > summary > span:nth-child(2) > small { white-space: normal; }
  .billing-section > summary > em { display: none; }
  .billing-section > summary > i { flex-basis: 30px; width: 30px; height: 30px; }
  .billing-section-body { padding: 15px 12px 17px; }
  .billing-columns { grid-template-columns: 1fr; }
}

/* AIVOCO product-platform landing */
.landing-platform-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 45%,rgba(100,217,169,.11));}
.landing-platform-hero .landing-hero-copy{position:relative;z-index:1;}
.landing-platform-hero .landing-call-demo{background:linear-gradient(145deg,#101a2b 12%,#1d3150 66%,#184c4c);}
.landing-products{background:linear-gradient(180deg,#fff 0%,#f5f7f3 100%);}
.landing-product-grid article{min-height:292px;padding:30px;box-shadow:0 12px 30px rgba(16,26,43,.05);}
.landing-product-grid article h3{margin:13px 0 10px;font-size:1.45rem;}
.landing-product-grid article p{font-size:.82rem;max-width:300px;}
.landing-product-grid article a{margin-top:auto;padding-top:25px;text-decoration:none;}
.landing-product-grid .product-label{margin:22px 0 0;padding:0;color:#647083;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.landing-product-grid .product-voice{border-top:4px solid #ffc928;}
.landing-product-grid .product-control{border-top:4px solid #64d9a9;background:#f4fbf8;}
.landing-product-grid .product-control>span{color:#185a41;background:#c9f3df;}
.landing-product-grid .product-crm{border-top:4px solid #6b8cff;background:#f5f7ff;}
.landing-product-grid .product-crm>span{color:#314b9b;background:#dbe4ff;}


/* CRM AIVOCO: keep the funnel as the main working canvas. */
body.single-product-cabinet[data-workspace="sales"] .sales-layout{grid-template-columns:minmax(0,1fr);}
body.single-product-cabinet[data-workspace="sales"] .sales-pipeline-panel{min-width:0;}
body.single-product-cabinet[data-workspace="sales"] .sales-pipeline{grid-template-columns:repeat(5,minmax(215px,1fr));min-height:440px;}
body.single-product-cabinet[data-workspace="sales"] .sales-tasks-panel{grid-column:1/-1;}
@media(min-width:1280px){body.single-product-cabinet[data-workspace="sales"] .sales-pipeline{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:700px){body.single-product-cabinet[data-workspace="sales"] .sales-pipeline{grid-template-columns:repeat(5,82vw);min-height:360px;}}

/* Integration cards: concise hub with configuration dialogs */
.integration-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.integration-card-button{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:150px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow)}.integration-card-button:hover{border-color:#f0b429;transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,31,54,.12)}.integration-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eef3ff;color:#2456b8;font-size:21px;font-weight:900}.integration-logo-telephony{background:#edf9f2;color:#168153}.integration-logo-crm{background:#eef0ff;color:#635bdb}.integration-logo-speech{background:#fff4dc;color:#c87500}.integration-logo-messengers{background:#e8f5ff;color:#1989ca}.integration-card-copy{display:grid;gap:5px;min-width:0}.integration-card-copy>b{font-size:.95rem}.integration-card-copy>small{color:var(--muted);font-size:.74rem;line-height:1.35}.integration-card-button .integration-state{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.7rem}.integration-card-button .integration-state em{font-style:normal;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-card-action{grid-column:1/-1;color:#a36d00;font-size:.76rem;font-weight:850}.integration-config-modal{width:min(980px,calc(100vw - 28px))}.integration-config-modal #tenant-integration-form{margin:0;box-shadow:none}.integration-config-modal .integration-form-grid{margin-top:0}@media(max-width:1050px){.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.integration-grid{grid-template-columns:1fr}.integration-card-button{min-height:0}.integration-config-modal{width:calc(100vw - 16px)}}

.integration-form-stash{display:none!important}
/* Full-width layout for a single integration inside its dialog */
.integration-config-modal .integration-form-grid{grid-template-columns:minmax(0,1fr);max-width:none}
.integration-config-modal .integration-form-grid fieldset{max-width:none;width:100%}
.integration-config-modal .integration-form-grid fieldset legend{font-size:1rem}
.integration-config-modal .integration-form-grid fieldset>label,
.integration-config-modal .integration-form-grid fieldset>.inline-fields{display:inline-grid;vertical-align:top;width:calc(50% - 10px);margin-right:16px}
.integration-config-modal .integration-form-grid fieldset>.toggle-row,
.integration-config-modal .integration-form-grid fieldset>.callout,
.integration-config-modal .integration-form-grid fieldset>p{display:flex;width:100%;margin-right:0}
.integration-config-modal .integration-form-grid fieldset>.callout{max-width:680px}
@media(max-width:680px){.integration-config-modal .integration-form-grid fieldset>label,.integration-config-modal .integration-form-grid fieldset>.inline-fields{display:grid;width:100%;margin-right:0}}

/* Separate Telegram and MAX settings into independent cards */
.integration-config-modal .messengers-fieldset>label{display:block!important;width:auto!important;margin-right:0!important}.messenger-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.messenger-settings-card{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--canvas)}.messenger-card-head{display:flex;align-items:center;gap:11px}.messenger-card-head>div{display:grid;gap:3px}.messenger-card-head b{font-size:1rem}.messenger-card-head small{color:var(--muted);font-size:.72rem}.messenger-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f5ff;color:#1989ca;font-weight:900}.messenger-max-card .messenger-card-icon{background:#efeaff;color:#6a50bc}.messenger-settings-card label{display:grid!important;width:100%!important;gap:6px;margin:0!important;color:var(--muted);font-size:.75rem;font-weight:800}.messenger-settings-card label input{width:100%;box-sizing:border-box}.messenger-settings-card label small{font-weight:500}.messenger-actions{margin-bottom:14px}@media(max-width:680px){.messenger-settings-grid{grid-template-columns:1fr}.messenger-settings-card{padding:15px}}

.messenger-settings-card .field-hint{display:block;color:var(--muted);font-size:.7rem;line-height:1.4;font-weight:500}.messenger-settings-card label>small:not(.field-hint){margin-top:-2px}

.integration-config-modal label{position:relative}.field-help-button{position:absolute;top:0;right:0;z-index:2;display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid #aebbd0;border-radius:50%;background:var(--panel,#fff);color:#51627d;font-size:12px;font-weight:900;line-height:1;cursor:pointer}.field-help-button:hover{border-color:#f0b429;color:#9a6900;background:#fff8df}.field-help-popover{display:none;position:absolute;z-index:20;top:25px;right:0;width:min(260px,calc(100vw - 70px));padding:10px 11px;border:1px solid #cdd8e9;border-radius:10px;background:#17263d;color:#fff;font-size:.72rem;font-weight:500;line-height:1.4;box-shadow:0 12px 28px rgba(15,25,42,.22)}.field-help-popover.open{display:block}.messenger-settings-card label .field-help-button{top:0}.messenger-settings-card label .field-help-popover{top:22px}

.field-help-popover a{display:inline-block;margin-top:5px;color:#ffd151;font-weight:800;text-decoration:underline;text-underline-offset:2px}.field-help-popover a:hover{color:#fff}

/* CRM: top bar keeps its hierarchy at tablet widths and the account is a full page. */
.single-product-cabinet[data-workspace="sales"] .topbar{align-items:flex-start;flex-wrap:wrap;padding:20px 0 18px;gap:12px 20px;min-height:0}
.single-product-cabinet[data-workspace="sales"] .topbar>div:first-of-type{flex:1 1 250px;min-width:250px}
.single-product-cabinet[data-workspace="sales"] .topbar h1{font-size:1.7rem;white-space:nowrap}
.single-product-cabinet[data-workspace="sales"] .top-actions{flex:1 1 560px;justify-content:flex-end;flex-wrap:wrap;margin-left:0}
.account-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.account-overview article{display:grid;gap:6px;min-height:110px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#fff,#f6f9ff)}
.account-overview span{color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.account-overview strong{font-size:1rem;color:var(--ink)}.account-overview small{color:var(--muted);font-size:.76rem}
@media (max-width:760px){.single-product-cabinet[data-workspace="sales"] .topbar>div:first-of-type{min-width:0}.single-product-cabinet[data-workspace="sales"] .topbar h1{font-size:1.35rem;white-space:normal}.single-product-cabinet[data-workspace="sales"] .top-actions{justify-content:flex-start;flex-basis:100%}.account-overview{grid-template-columns:1fr}.account-overview article{min-height:0}}

/* CRM workspaces: the kanban is kept for deals; clients, tasks and reports have their own places. */
.single-product-cabinet[data-workspace="sales"] #view-sales .sales-metrics .metric-card:nth-child(n+5){display:none}
#view-sales-contacts .panel-head,#view-sales-tasks .panel-head{align-items:center}
#view-sales-contacts td b,#view-sales-tasks td b{color:var(--ink)}
#view-sales-contacts td small,#view-sales-tasks td small{color:var(--muted)}
@media(max-width:760px){#view-sales-contacts .panel-head,#view-sales-tasks .panel-head{align-items:stretch;flex-direction:column}.single-product-cabinet[data-workspace="sales"] #view-sales .sales-metrics .metric-card:nth-child(n+4){display:none}}

/* CRM does not use VoiceBot call-status chips. */
.single-product-cabinet[data-workspace="sales"] #minute-balance-chip,
.single-product-cabinet[data-workspace="sales"] #cabinet-chip,
.single-product-cabinet[data-workspace="sales"] #schedule-chip,
.single-product-cabinet[data-workspace="sales"] #mode-chip{display:none!important}
.single-product-cabinet[data-workspace="control"] #minute-balance-chip,
.single-product-cabinet[data-workspace="control"] #schedule-chip,
.single-product-cabinet[data-workspace="control"] #mode-chip,
.single-product-cabinet[data-workspace="control"] #notification-button{display:none!important}
.single-product-cabinet[data-workspace="sales"] .top-actions{margin-left:auto;flex:0 0 auto}

/* CRM cloud PBX webhook hint */
.crm-ats-webhook-help{grid-column:1/-1;display:block;padding:14px 16px;border:1px solid #dce6f4;border-radius:12px;background:#f5f8fd;color:#365276;line-height:1.55}.crm-ats-webhook-help b{display:block;margin:0 0 5px;color:#172a46}.crm-ats-webhook-help span{display:block;max-width:100%}.crm-ats-webhook-help code{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#1c4f95;background:#e9f1fc;padding:1px 5px;border-radius:4px;font-size:.9em}

.notification-actions{display:flex;gap:6px}.crm-notification-settings{display:grid;gap:9px;margin:0 2px 12px;padding:12px;border:1px solid #dce6f4;border-radius:13px;background:#f5f8fd}.crm-notification-settings>b{font-size:13px}.crm-notification-settings>small{margin-top:-5px;color:var(--muted);font-size:11px;line-height:1.35}.crm-notification-settings label{display:flex;align-items:center;gap:8px;color:#344765;font-size:12px;line-height:1.35;cursor:pointer}.crm-notification-settings input{width:16px;height:16px;accent-color:#e9ac00}

/* В отдельном CRM-кабинете показываем только его коммерческие условия. */
body[data-workspace="sales"] #view-billing #voicebot-minute-section,
body[data-workspace="sales"] #view-billing #voicebot-generation-section,
body[data-workspace="sales"] #view-billing #voicebot-bots-section { display:none; }
body[data-workspace="sales"] #view-billing #sales-center-tariff-heading { order:-2; }
body[data-workspace="sales"] #view-billing #sales-storage-section { order:-1; }

/* CRM: служебная область меню не должна отнимать высоту у рабочих разделов. */
body.single-product-cabinet[data-workspace="sales"] .sidebar-foot{margin-top:8px;padding:5px 8px 8px;display:grid;gap:2px}
body.single-product-cabinet[data-workspace="sales"] .system-indicator{align-items:center;gap:7px;padding:6px 8px;border:0;border-radius:8px;background:transparent}
body.single-product-cabinet[data-workspace="sales"] .system-indicator small{display:none}
body.single-product-cabinet[data-workspace="sales"] .system-indicator b{font-size:.71rem;color:#aeb9c9}
body.single-product-cabinet[data-workspace="sales"] .system-indicator .pulse{width:9px;height:9px;flex-basis:9px}
body.single-product-cabinet[data-workspace="sales"] .profile-button{display:flex;align-items:baseline;gap:6px;width:auto;margin-top:0;padding:6px 8px;border:0;border-radius:8px}
body.single-product-cabinet[data-workspace="sales"] .profile-button b,
body.single-product-cabinet[data-workspace="sales"] .profile-button small{display:inline;margin:0}
body.single-product-cabinet[data-workspace="sales"] .profile-button small{font-size:.64rem}
body.single-product-cabinet[data-workspace="sales"] .profile-button small::before{content:"·";margin-right:6px;color:#63738c}
body.single-product-cabinet[data-workspace="sales"] .logout-button{width:auto;min-height:28px;margin-top:0;padding:0 8px;font-size:.75rem}
body.single-product-cabinet[data-workspace="sales"] .version{margin:3px 8px 0;font-size:.61rem}

.manager-performance-card{grid-column:1/-1}.manager-performance-note{margin:-4px 0 14px;color:var(--muted);font-size:.8rem;line-height:1.45}.manager-performance-table{overflow:auto;border:1px solid var(--border);border-radius:12px}.manager-performance-row{display:grid;grid-template-columns:minmax(150px,1.45fr) repeat(5,minmax(105px,1fr));gap:10px;align-items:center;min-width:760px;padding:11px 13px;border-top:1px solid var(--border);font-size:.82rem}.manager-performance-row:first-child{border-top:0}.manager-performance-head{background:var(--soft);color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.manager-performance-row strong{font-size:.8rem}.manager-performance-row .success-value{color:#128457}.manager-performance-row .loss-value{color:#bf3b3b}

/* CRM analytics: compact funnel and a readable manager report. */
#sales-analytics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#sales-analytics>.sales-funnel-card,#sales-analytics>.manager-performance-card{grid-column:1/-1}
.sales-funnel-strip{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px;overflow:auto;padding-bottom:2px}
.sales-funnel-strip .sales-funnel-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:135px;padding:12px;border:1px solid var(--border-color,#dfe3e8);border-radius:11px;background:var(--panel,#fff)}
.sales-funnel-strip .sales-funnel-row small{grid-column:1/-1;color:var(--muted);font-size:.75rem}
.manager-performance-card{padding:18px}.manager-performance-card>h3{font-size:16px}.manager-performance-note{max-width:780px}
.manager-performance-table{width:100%;background:var(--panel,#fff)}
.manager-performance-row{grid-template-columns:minmax(155px,1.5fr) 78px 112px minmax(115px,1fr) minmax(115px,1fr) minmax(120px,1fr);min-width:700px;gap:8px}
.manager-performance-head{font-size:.66rem;letter-spacing:.02em;white-space:normal}
@media(max-width:760px){#sales-analytics{grid-template-columns:1fr}.sales-funnel-strip{grid-template-columns:repeat(5,minmax(145px,1fr))}.manager-performance-card{padding:14px}.manager-performance-note{font-size:.75rem}}
/* Помещаем таблицу менеджеров в обычное рабочее окно без прокрутки. */
.manager-performance-row{grid-template-columns:minmax(120px,1.45fr) 62px 90px repeat(3,minmax(90px,1fr));min-width:620px;gap:7px;padding:11px 12px}
/* Название стадии, количество и сумма не конкурируют за одну строку. */
.sales-funnel-strip .sales-funnel-row{grid-template-columns:1fr auto;row-gap:8px}
.sales-funnel-strip .sales-funnel-row>span{grid-column:1/-1;min-width:0;white-space:nowrap}
.sales-funnel-strip .sales-funnel-row>b{grid-column:1;font-size:1.05rem;line-height:1}
.sales-funnel-strip .sales-funnel-row>small{grid-column:2;justify-self:end;white-space:nowrap;font-size:.75rem;line-height:1}

/* В отчёте менеджера каждая стадия показывает и количество, и сумму. */
.manager-performance-row{grid-template-columns:minmax(145px,1.45fr) repeat(4,minmax(115px,1fr));min-width:610px}
.manager-metric{display:grid;gap:3px}.manager-metric>b{font-size:.9rem}.manager-metric>small{font-size:.73rem;color:var(--muted)}
.manager-metric.success>b,.manager-metric.success>small{color:#128457}.manager-metric.loss>b,.manager-metric.loss>small{color:#bf3b3b}.manager-metric.work>b{color:#9a6500}


/* CRM AI assistant */
.sales-ai-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);gap:18px;align-items:start}
.sales-ai-chat-panel{padding:18px}.sales-ai-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sales-ai-quick-actions .secondary-button{font-size:.84rem;padding:9px 12px}
.sales-ai-messages{min-height:270px;max-height:500px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:4px 2px 8px}.sales-ai-empty{display:grid;gap:7px;place-content:center;min-height:300px;text-align:center;color:var(--muted,#64748b);padding:32px}.sales-ai-empty b{color:var(--ink,#14213d);font-size:1.05rem}.sales-ai-message{max-width:85%;padding:12px 14px;border-radius:14px;background:var(--surface-soft,#f5f7fa);border:1px solid var(--border-color,#dfe3e8)}.sales-ai-message.is-user{align-self:flex-end;background:#eaf1ff;border-color:#c9dbff}.sales-ai-message b{display:block;font-size:.78rem;margin-bottom:5px;color:var(--muted,#64748b)}.sales-ai-message p{margin:0;line-height:1.55}.sales-ai-form{border-top:1px solid var(--border-color,#dfe3e8);padding-top:14px}.sales-ai-form textarea{width:100%;resize:vertical;min-height:76px}.sales-ai-form>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.sales-ai-form small,.sales-ai-info p{color:var(--muted,#64748b);line-height:1.45}.sales-ai-info{padding:20px}.sales-ai-info h3{margin:0 0 12px}.sales-ai-info ul{padding-left:19px;margin:0 0 16px}.sales-ai-info li{margin:0 0 10px;line-height:1.45}.sales-ai-info p{font-size:.88rem;border-top:1px solid var(--border-color,#dfe3e8);padding-top:14px}@media(max-width:900px){.sales-ai-layout{grid-template-columns:1fr}.sales-ai-info{order:-1}.sales-ai-messages{min-height:280px}}@media(max-width:560px){.sales-ai-message{max-width:96%}.sales-ai-form>div{align-items:stretch;flex-direction:column}.sales-ai-form button{width:100%}}

.sales-deal-number{display:block;margin:0 0 3px;font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--muted,#64748b)}

.sales-add-stage-card{min-height:190px;align-self:stretch;display:grid;place-content:center;gap:8px;padding:20px;border:2px dashed var(--border-color,#cbd5e1);border-radius:16px;background:transparent;color:var(--muted,#64748b);text-align:center;cursor:pointer}.sales-add-stage-card:hover{border-color:#f0b429;background:#fff9e8;color:var(--ink,#172033)}.sales-add-stage-card span{display:grid;place-items:center;width:38px;height:38px;margin:auto;border-radius:50%;background:#fff0bf;color:#9a6700;font-size:1.65rem;line-height:1}.sales-add-stage-card b{font-size:.9rem}.sales-add-stage-card small{font-size:.74rem}

#view-sales-mail .panel,#view-sales-files .panel{margin-top:18px}#view-sales-files .primary-button{cursor:pointer}.sales-document-row em{font-style:normal}

.mail-crm-settings{border:1px solid var(--line,#dfe3e8);border-radius:14px;background:var(--surface,#fff);overflow:hidden}.mail-crm-settings-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid var(--line,#dfe3e8)}.mail-crm-settings-head>div{display:grid;gap:5px}.mail-crm-settings-head b{font-size:1rem}.mail-crm-settings-head small{color:var(--muted,#64748b);line-height:1.45}.mail-crm-settings-body{display:grid;gap:13px;padding:16px 18px}.mail-crm-settings .toggle-row{padding:0;border:0}.mail-crm-note{padding:12px 14px;border-radius:10px;background:#fff3d6;color:#8a5a00;font-size:.84rem;line-height:1.45}.toggle-switch{display:flex;gap:7px;align-items:center;cursor:pointer;white-space:nowrap}.toggle-switch input{position:absolute;opacity:0}.toggle-switch span{display:block;width:38px;height:22px;padding:3px;border-radius:999px;background:#cbd5e1}.toggle-switch span:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.toggle-switch input:checked+span{background:#28b8e8}.toggle-switch input:checked+span:after{transform:translateX(16px)}.toggle-switch em{font-style:normal;font-size:.78rem;color:var(--muted,#64748b);font-weight:800}

#sales-mailbox-form .toggle-row>input{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;flex:0 0 18px!important;margin:2px 10px 0 0!important;accent-color:#1677ff}#sales-mailbox-form .toggle-row{display:flex!important;align-items:flex-start!important;grid-template-columns:none!important}#sales-mailbox-form .toggle-row>span{min-width:0}
#client-profile-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px!important;background:transparent!important;border:0!important;box-shadow:none!important}
#client-profile-form>fieldset{margin:0!important;min-width:0;border:1px solid var(--line,#dfe3e8)!important;border-radius:16px!important;background:var(--surface,#fff)!important;padding:20px!important;box-shadow:0 8px 24px rgba(15,23,42,.04)}
#client-profile-form>fieldset:first-child{grid-column:1/-1;background:linear-gradient(135deg,#fff 0%,#f3f7ff 100%)!important;border-color:#cbdcff!important}
#client-profile-form>fieldset>legend{padding:0 8px;font-size:1.05rem!important;font-weight:850;color:var(--ink,#14213d)}
#client-profile-form .cost-form-grid{display:contents}@media(max-width:800px){#client-profile-form{grid-template-columns:1fr}}

.employee-profile-card{display:flex;align-items:center;gap:20px}.employee-avatar{position:relative;display:grid;place-items:center;width:112px;height:112px;flex:0 0 112px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#ffd43b,#f59e0b);background-size:cover;background-position:center;color:#132238;font-size:2.4rem;font-weight:900;cursor:pointer}.employee-avatar.has-photo>span{display:none}.employee-avatar em{position:absolute;inset:auto 0 0;padding:8px 4px;background:rgba(15,23,42,.72);color:#fff;text-align:center;font-style:normal;font-size:.68rem;font-weight:800;opacity:0;transition:.15s}.employee-avatar:hover em{opacity:1}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.sales-team-pbx{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.sales-team-pbx label{font-size:.72rem;font-weight:700}.sales-team-pbx input{width:100%;box-sizing:border-box;margin-top:4px;padding:7px 9px}

.webphone-fab{position:fixed;right:24px;bottom:24px;z-index:35;display:flex;align-items:center;gap:8px;padding:13px 16px;border:0;border-radius:14px;background:#172238;color:#fff;box-shadow:0 16px 36px #17223844;font:inherit;font-weight:800;cursor:pointer}.webphone-fab i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.webphone-fab.is-ready i{background:#14b87a;box-shadow:0 0 0 4px #14b87a2e}.webphone-panel{position:fixed;right:24px;bottom:82px;z-index:36;width:min(360px,calc(100vw - 32px));padding:18px;border:1px solid #dbe3ef;border-radius:18px;background:#fff;box-shadow:0 25px 60px #17223835}.webphone-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.webphone-panel header b{display:block;font-size:21px}.webphone-status{padding:10px 12px;border-radius:10px;background:#f1f5f9;color:#64748b;font-size:13px}.webphone-status.is-ready{background:#e9faf3;color:#087e53}.webphone-status.is-error{background:#fff0f0;color:#c33}.webphone-dial{display:grid;grid-template-columns:1fr auto;gap:10px;margin:15px 0}.webphone-dial label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#526078}.webphone-dial input{min-width:0;padding:11px;border:1px solid #d7e0ed;border-radius:10px;font:inherit}.webphone-dial .primary-button{align-self:end;padding:11px 13px}.webphone-actions{display:flex;gap:10px;align-items:center}.webphone-panel>p{margin:15px 2px 0;color:#718096;font-size:12px;line-height:1.45}.webphone-call{margin-top:14px;padding:15px;border-radius:13px;background:#edf4ff;text-align:center}.webphone-call small,.webphone-call strong{display:block}.webphone-call strong{margin:4px 0 13px;font-size:20px}.webphone-call-actions{display:flex;justify-content:center;gap:9px}.danger-button{background:#e84c4c!important;color:#fff!important;border-color:#e84c4c!important}@media(max-width:700px){.webphone-fab{right:14px;bottom:14px}.webphone-panel{right:14px;bottom:70px}}.webphone-extension{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px}.webphone-extension label{display:grid;gap:5px;color:#526078;font-size:12px;font-weight:800}.webphone-extension input{min-width:0;padding:10px;border:1px solid #d7e0ed;border-radius:10px;font:inherit}.webphone-extension .text-button{padding:10px 0}/* CRM knowledge-base navigation */
.guide-layout.guide-layout-kb { display: grid; grid-template-columns: 228px minmax(0,1fr); gap: 20px; max-width: 1220px; align-items: start; }
.guide-kb-nav { position: sticky; top: 82px; padding: 15px 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: var(--shadow); }
.guide-kb-title,.guide-kb-caption { display: block; padding: 0 7px; }.guide-kb-title { font-size: .86rem; }.guide-kb-caption { margin: 4px 0 13px; color: var(--muted); font-size: .68rem; }
.guide-kb-group + .guide-kb-group { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line); }.guide-kb-group > b { display: block; padding: 0 7px 5px; color: var(--muted); font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }.guide-kb-group a { display: block; padding: 7px; border-radius: 7px; color: var(--ink); font-size: .72rem; font-weight: 700; text-decoration: none; }.guide-kb-group a:hover,.guide-kb-group a:focus-visible { color: #745600; background: #fff6cf; outline: none; }
.guide-kb-content { min-width: 0; }
@media (max-width: 980px) { .guide-layout.guide-layout-kb { grid-template-columns: 1fr; }.guide-kb-nav { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; }.guide-kb-title,.guide-kb-caption { grid-column: 1 / -1; }.guide-kb-group + .guide-kb-group { margin-top: 0; }.guide-kb-group:nth-of-type(2) { border-top: 0; padding-top: 0; } }
@media (max-width: 560px) { .guide-kb-nav { grid-template-columns: 1fr; }.guide-kb-group:nth-of-type(2) { border-top: 1px solid var(--line); padding-top: 13px; } }/* Visual walkthroughs inside CRM help */
.guide-visual { margin: 0 0 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #f7f9fc; }
.guide-visual figcaption { display: grid; gap: 3px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fff; }.guide-visual figcaption span { color: #8a6700; font-size: .62rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }.guide-visual figcaption b { color: var(--ink); font-size: .88rem; }.guide-visual figcaption small { color: var(--muted); font-size: .68rem; }
.guide-visual-screen { margin: 14px; overflow: hidden; border: 1px solid #cfd9e7; border-radius: 9px; background: #fff; box-shadow: 0 8px 20px rgba(25,45,75,.09); }.guide-visual-bar { display: flex; align-items: center; gap: 14px; min-height: 43px; padding: 0 13px; background: #132238; color: #dfe9f7; font-size: .64rem; }.guide-visual-bar b { color: #fff; font-size: .7rem; }.guide-visual-bar button { position: relative; margin-left: auto; padding: 7px 10px; border: 2px solid #ffca28; border-radius: 7px; background: #fff6c9; color: #4e3a00; font: inherit; font-weight: 800; }.guide-visual i,.guide-visual em { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-left: 5px; border-radius: 50%; background: #e25d17; color: #fff; font-size: .6rem; font-style: normal; font-weight: 900; }.guide-visual-body { display: grid; grid-template-columns: minmax(180px,1fr) 150px; gap: 11px; padding: 16px; }.guide-visual-title { grid-column: 1 / -1; font-size: .76rem; font-weight: 900; }.guide-visual-field { padding: 11px; border: 2px solid #ffca28; border-radius: 7px; color: #59677e; font-size: .66rem; }.guide-visual-field span { display: block; margin-top: 4px; color: #9aa5b7; }.guide-visual-action { align-self: stretch; display: grid; place-items: center; padding: 9px; border-radius: 7px; background: #ffc928; color: #332600; font-size: .68rem; font-weight: 900; }.guide-visual-hint { grid-column: 1 / -1; padding: 8px 10px; border-left: 3px solid #3b7cff; background: #edf4ff; color: #52637e; font-size: .65rem; }.guide-visual-legend { margin: 0; padding: 0 16px 15px 32px; color: var(--muted); font-size: .68rem; }.guide-visual-legend li + li { margin-top: 4px; }.guide-visual-legend b { color: var(--ink); }
@media (max-width: 580px) { .guide-visual-body { grid-template-columns: 1fr; }.guide-visual-bar span { display: none; } }.guide-visual-compact { margin-bottom: 15px; }.guide-visual-compact .guide-visual-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 14px; background: linear-gradient(135deg,#eff5ff,#f9fbff); }.guide-visual-strip > * { position: relative; min-height: 48px; display: grid; align-content: center; gap: 3px; padding: 9px 11px; border: 1px solid #d8e2f0; border-radius: 7px; background: #fff; color: #53647d; font-size: .66rem; font-style: normal; font-weight: 700; }.guide-visual-strip > b { border: 2px solid #ffca28; background: #fff9d9; color: #5b4500; }.guide-visual-strip > em { border-left: 3px solid #4a83ff; }.guide-visual-strip i { position: absolute; top: -8px; right: -7px; }.guide-visual-compact .guide-visual-legend { padding-bottom: 13px; }
@media (max-width: 580px) { .guide-visual-compact .guide-visual-strip { grid-template-columns: 1fr; } }/* Real CRM screenshots in knowledge-base articles */
.guide-screenshot { margin: 0 0 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 9px 24px rgba(30,55,86,.08); }.guide-screenshot-image { position: relative; background: #edf2f8; }.guide-screenshot img { display: block; width: 100%; height: auto; }.guide-screenshot-image b { position: absolute; top: 12px; left: 12px; padding: 6px 9px; border-radius: 6px; background: rgba(23,34,54,.9); color: #fff; font-size: .66rem; }.guide-shot-marker { position: absolute; top: 15%; right: 15%; display: grid; place-items: center; width: 27px; height: 27px; border: 3px solid #fff; border-radius: 50%; background: #e55d14; color: #fff; font-size: .7rem; font-weight: 900; box-shadow: 0 2px 9px rgba(112,43,0,.35); }.guide-screenshot figcaption { display: grid; gap: 4px; padding: 12px 14px; border-top: 1px solid var(--line); }.guide-screenshot figcaption strong { color: var(--ink); font-size: .74rem; }.guide-screenshot figcaption span { color: var(--muted); font-size: .67rem; line-height: 1.5; }
.landing-site-chatbot { background: #eef8f5; }
.landing-site-chatbot-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.landing-site-chatbot h2 { max-width: 720px; margin: 14px 0 20px; }
.landing-site-chatbot p { max-width: 650px; line-height: 1.65; }
.landing-site-chatbot-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px; }
.landing-site-chatbot-details { border-left: 1px solid #b5d5ca; padding-left: clamp(24px, 4vw, 54px); }
.landing-site-chatbot-details > div { padding: 18px 0; border-bottom: 1px solid #c9ded6; }
.landing-site-chatbot-details > div:last-child { border-bottom: 0; }
.landing-site-chatbot-details b, .landing-site-chatbot-details span { display: block; }
.landing-site-chatbot-details b { margin-bottom: 7px; font-size: 18px; }
.landing-site-chatbot-details span { line-height: 1.55; }
@media (max-width: 760px) {
  .landing-site-chatbot-layout { grid-template-columns: minmax(0, 1fr); }
  .landing-site-chatbot-details { border-left: 0; border-top: 1px solid #b5d5ca; padding-left: 0; }
}
