* { box-sizing:border-box; }
html { font-family:var(--font-sans); background:var(--color-canvas); color:var(--color-text); }
body { margin:0; background:var(--color-canvas); }
a { color:var(--color-primary); }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #f2b533; outline-offset:3px; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; transform:translateY(-160%); padding:10px 14px; border-radius:var(--radius-sm); background:#fff; color:#111827; font-weight:750; }
.skip-link:focus { transform:none; }
.app-shell { min-height:100vh; }
.app-sidebar { position:fixed; inset:0 auto 0 0; z-index:var(--z-sidebar); display:flex; width:var(--sidebar-width); flex-direction:column; overflow:auto; padding:22px 16px; background-color:var(--color-sidebar); background-image:radial-gradient(ellipse 145% 34% at 18% -5%,rgb(91 174 238 / 18%) 0%,rgb(91 174 238 / 8%) 40%,transparent 74%),conic-gradient(from 246deg at 82% 86%,transparent 0 5deg,rgb(89 151 221 / 7%) 5deg 13deg,transparent 13deg 20deg,rgb(89 151 221 / 5.5%) 20deg 29deg,transparent 29deg 36deg,rgb(89 151 221 / 4.5%) 36deg 46deg,transparent 46deg 360deg),radial-gradient(circle 420px at 82% 86%,rgb(76 123 194 / 15%) 0 20%,transparent 20.5% 30%,rgb(76 123 194 / 11%) 30.5% 42%,transparent 42.5% 52%,rgb(76 123 194 / 7%) 52.5% 65%,transparent 65.5%); background-repeat:no-repeat; color:#fff; }
.sidebar-logo { display:flex; align-items:center; padding:0 8px 24px; text-decoration:none; }
.sidebar-logo img { display:block; width:170px; max-width:100%; height:auto; }
.nav-group { margin:14px 0; }
.nav-group-title { margin:0 10px 7px; color:#94a3b8; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sidebar-nav { display:grid; gap:3px; }
.sidebar-nav a { display:flex; align-items:center; min-height:40px; gap:10px; padding:9px 11px; border-radius:10px; color:#d8e1ef; font-size:.93rem; font-weight:650; text-decoration:none; }
.sidebar-nav a:hover,.sidebar-nav a[aria-current="page"] { background:var(--color-sidebar-soft); color:#fff; }
.nav-row { display:flex; align-items:center; }
.nav-row > a:first-child { flex:1; }
.sidebar-nav .nav-badge { min-width:22px; min-height:22px; margin-left:4px; padding:2px 6px; justify-content:center; border-radius:999px; background:var(--color-danger); color:#fff; font-size:.72rem; font-weight:800; line-height:18px; text-align:center; }
.sidebar-nav .nav-badge:hover { background:#b42318; color:#fff; }
.sticky-actions { position:sticky; bottom:0; z-index:4; display:flex; gap:10px; margin:20px -4px -4px; padding:12px; border-top:1px solid var(--color-border); background:rgba(255,255,255,.96); backdrop-filter:blur(8px); }
.sidebar-backdrop { display:none; }
.personal-sidebar-nav { display:grid; gap:8px; }
.sidebar-fixed-nav { padding-bottom:7px; border-bottom:1px solid rgb(148 163 184 / 22%); }
.sidebar-personal-items { gap:3px; }
.sidebar-hidden-sections { margin-top:5px; border-top:1px solid rgb(148 163 184 / 22%); }
.sidebar-hidden-sections[hidden] { display:none; }
.sidebar-hidden-sections summary { display:flex; align-items:center; justify-content:space-between; padding:12px 10px 7px; color:#aebbd0; font-size:.78rem; font-weight:750; cursor:pointer; }
.sidebar-hidden-sections summary span { display:grid; min-width:20px; height:20px; place-items:center; border-radius:999px; background:rgb(148 163 184 / 18%); }
.sidebar-hidden-sections > div { display:grid; gap:3px; }
.sidebar-hidden-sections > div > span { display:flex; align-items:center; }
.sidebar-hidden-sections a { flex:1; min-width:0; padding:8px 10px; color:#9eabc0; text-decoration:none; }
.sidebar-hidden-sections button { min-height:28px; margin:0; padding:2px; border:0; background:transparent; color:#9fc9eb; }
.sidebar-settings-trigger { justify-self:start; margin:5px 0 0 5px; padding:6px 7px; border:0; background:transparent; color:#9eabc0; font-size:.78rem; }
.sidebar-settings-trigger:hover { background:rgb(255 255 255 / 7%); color:#fff; }
.sidebar-navigation-form { display:grid; gap:3px; }
.navigation-pinned-label,.navigation-drag-handle,.navigation-hide-button,.sidebar-navigation-actions { display:none; }
.personal-sidebar-nav.is-editing { gap:5px; }
.personal-sidebar-nav.is-editing .sidebar-fixed-nav { padding-bottom:4px; }
.personal-sidebar-nav.is-editing .navigation-pinned-label { display:block; padding-right:8px; color:#8fa0b9; font-size:.65rem; }
.personal-sidebar-nav.is-editing .nav-row { min-height:42px; border:1px solid rgb(159 201 235 / 24%); border-radius:9px; background:rgb(255 255 255 / 5%); }
.personal-sidebar-nav.is-editing .nav-row > a:first-of-type { min-width:0; min-height:38px; padding:8px 4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.personal-sidebar-nav.is-editing .navigation-drag-handle { display:grid; width:25px; min-width:25px; min-height:34px; margin:0; padding:0; place-items:center; border:0; background:transparent; color:#91a3bd; cursor:grab; touch-action:none; }
.personal-sidebar-nav.is-editing .navigation-drag-handle:active { cursor:grabbing; }
.personal-sidebar-nav.is-editing .navigation-hide-button { display:block; min-width:auto; min-height:28px; margin:0 5px 0 3px; padding:4px 6px; border:1px solid rgb(174 187 208 / 34%); background:transparent; color:#b7c5d8; font-size:.66rem; }
.personal-sidebar-nav.is-editing .nav-badge { display:none; }
.personal-sidebar-nav.is-editing .sidebar-hidden-sections { margin-top:8px; border:1px dashed rgb(159 201 235 / 32%); border-radius:9px; }
.personal-sidebar-nav.is-editing .sidebar-hidden-sections summary { padding:9px; }
.personal-sidebar-nav.is-editing .sidebar-hidden-sections > div { padding:0 4px 4px; }
.personal-sidebar-nav.is-editing .sidebar-hidden-sections .navigation-drag-handle { opacity:.25; cursor:default; }
.personal-sidebar-nav.is-editing .sidebar-navigation-actions { position:sticky; bottom:-22px; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:8px -4px -22px; padding:10px 4px 18px; border-top:1px solid rgb(148 163 184 / 25%); background:var(--color-sidebar); }
.personal-sidebar-nav.is-editing .sidebar-navigation-actions button { min-height:34px; margin:0; padding:6px 8px; font-size:.72rem; }
.personal-sidebar-nav.is-editing .sidebar-navigation-actions button:nth-child(2),.personal-sidebar-nav.is-editing .sidebar-navigation-actions button:nth-child(3) { border:1px solid rgb(174 187 208 / 30%); background:transparent; color:#b7c5d8; }
.personal-sidebar-nav.is-editing .sidebar-navigation-actions button:nth-child(3) { grid-column:1/-1; }
.nav-row.is-dragging { opacity:.4; }
.app-workspace { min-height:100vh; margin-left:var(--sidebar-width); }
.app-topbar { position:sticky; top:0; z-index:30; display:flex; min-height:var(--topbar-height); align-items:center; justify-content:flex-end; gap:12px; padding:10px 28px; border-bottom:1px solid var(--color-border); background:rgb(255 255 255 / 94%); backdrop-filter:blur(12px); }
.topbar-company { margin-right:auto; color:var(--color-muted); font-weight:650; }
.topbar-link { padding:8px 10px; border-radius:9px; color:var(--color-text); font-weight:650; text-decoration:none; }
.topbar-link:hover { background:var(--color-primary-soft); }
.nav-toggle { display:none; margin:0; background:var(--color-primary); color:#fff; }
.app-topbar form,.app-topbar button { margin:0; }
.app-main { width:100%; max-width:none; margin:0; padding:30px clamp(24px,2.5vw,48px) 64px; }
.public-main { max-width:760px; margin:72px auto; padding:0 24px; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.page-heading h1 { margin:3px 0 7px; font-size:clamp(1.7rem,3vw,2.35rem); }
.page-heading p { margin:0; color:var(--color-muted); }
.eyebrow { color:var(--color-primary)!important; font-size:.76rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.surface,.card { margin-bottom:18px; padding:24px; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); box-shadow:var(--shadow-sm); }.card.narrow { width:min(100%,720px); margin-inline:auto; }.workspace-surface { width:100%; }
.stack > * + * { margin-top:16px; }
.admin-grid,.catalog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.admin-card { display:grid; gap:8px; min-height:130px; padding:22px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; color:var(--color-text); text-decoration:none; box-shadow:var(--shadow-sm); }
.admin-card:hover { border-color:#9eb7ef; box-shadow:var(--shadow-md); transform:translateY(-1px); }
.admin-card span,.service-card p { color:var(--color-muted); }
button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; margin-top:18px; padding:10px 16px; border:0; border-radius:var(--radius-sm); background:var(--color-primary); color:#fff; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.home-actions { display:flex; flex-wrap:wrap; gap:10px; }.home-actions .button { margin-top:18px; }.button.button-secondary { border:1px solid var(--color-border); background:#fff; color:var(--color-primary); }
.catalog-detail-heading { align-items:center; }.catalog-detail { display:grid; grid-template-columns:minmax(220px,38%) 1fr; overflow:hidden; padding:0; }.catalog-detail-image { display:grid; min-height:280px; place-items:center; overflow:hidden; background:linear-gradient(135deg,#edf4ff,#f8fbff); color:var(--color-primary); font-size:5rem; }.catalog-detail-image img { width:100%; height:100%; object-fit:cover; }.catalog-detail-body { padding:28px; }.catalog-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }.catalog-detail-grid > div { display:grid; gap:6px; min-height:78px; padding:14px 0; border-bottom:1px solid #e5ebf4; }.catalog-detail-grid span { color:var(--color-muted); font-size:.9rem; }.catalog-detail-grid p { margin:0; }.catalog-detail-wide { grid-column:1/-1; }
.booking-validation-alert { margin:0 0 18px; padding:14px 16px; border:1px solid #efb6bf; border-radius:var(--radius-sm); background:#fff0f2; color:#8f1728; }.booking-validation-alert strong { display:block; margin-bottom:4px; }.booking-validation-alert ul { margin:4px 0 0; padding-left:20px; }
.exception-section-heading,.exception-item { display:flex; align-items:center; gap:12px; justify-content:space-between; }.exception-section-heading a,.exception-item a { font-weight:700; text-decoration:none; }.exception-item { margin-top:10px; padding:10px 12px; border-radius:8px; background:#f2f4f8; }.exception-item span { flex:1; color:var(--color-text); }.exception-illness { border-left:4px solid #df4d63; }.exception-absence { border-left:4px solid #8156d8; }.exception-vacation { border-left:4px solid #319fa8; }.exception-training { border-left:4px solid #3974d8; }.exception-maintenance { border-left:4px solid #e79a2b; }.exception-other { border-left:4px solid #7a8799; }.timeline-unavailability,.calendar-unavailability { position:absolute; top:7px; bottom:7px; display:flex; align-items:center; overflow:hidden; padding:0 6px; border-radius:6px; color:#fff; font-size:.75rem; font-weight:750; white-space:nowrap; }.timeline-unavailability.exception-illness,.calendar-unavailability.exception-illness { background:#df4d63; }.timeline-unavailability.exception-absence,.calendar-unavailability.exception-absence { background:#8156d8; }.timeline-unavailability.exception-vacation,.calendar-unavailability.exception-vacation { background:#319fa8; }.timeline-unavailability.exception-training,.calendar-unavailability.exception-training { background:#3974d8; }.timeline-unavailability.exception-maintenance,.calendar-unavailability.exception-maintenance { background:#e79a2b; }.timeline-unavailability.exception-other,.calendar-unavailability.exception-other { background:#7a8799; }.calendar-unavailability { position:static; min-height:28px; margin:3px 0; font-size:.7rem; }
.calendar-title-row { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }.calendar-title-row h1 { margin:0; }.calendar-title-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.calendar-create-button { margin:0; }.calendar-conflict-button { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid #efb3be; border-radius:var(--radius-sm); background:var(--color-danger-soft); color:#9f1f33; font-weight:800; text-decoration:none; }.calendar-conflict-button:hover,.calendar-conflict-button.is-active { background:var(--color-danger); color:#fff; }.calendar-conflict-button span { display:grid; min-width:22px; height:22px; place-items:center; border-radius:999px; background:var(--color-danger); color:#fff; font-size:.76rem; }.calendar-conflict-button:hover span,.calendar-conflict-button.is-active span { background:#fff; color:var(--color-danger); }
.calendar-heading-group { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.booking-search-select { min-width:0; }.booking-option-search,.booking-service-search-row input { width:100%; margin-bottom:7px; }.booking-service-search-row { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:8px; align-items:start; margin-bottom:10px; }.booking-service-search-row .button { white-space:nowrap; }.booking-service-remove { color:var(--color-danger); }.booking-selected-options { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }.booking-option-chip { padding:6px 9px; border-radius:999px; background:#e8f4fb; color:#136f95; font-size:.82rem; }.booking-option-results { display:grid; max-height:210px; overflow:auto; border:1px solid var(--color-border); border-radius:var(--radius-sm); background:#fff; box-shadow:var(--shadow-sm); }.booking-option-result { justify-content:flex-start; border:0; border-bottom:1px solid var(--color-border); border-radius:0; background:#fff; color:var(--color-text); text-align:left; }.booking-option-result:hover { background:#f3f8fc; }.booking-participant-discounts { display:grid; gap:8px; margin:12px 0; }.booking-participant-discounts > div { display:grid; grid-template-columns:minmax(220px,1fr) 140px; align-items:center; gap:10px; } .booking-item-participants{display:grid;gap:6px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background:#f8fbfd}.booking-participant-counter{font-weight:700}.booking-create-deal{border-radius:999px;background:#6b3df0;color:#fff;padding:11px 18px}.booking-create-deal::before{content:"↗ ";font-weight:900}
.quick-resource-booking { display:grid; gap:16px; }.quick-resource-heading { display:flex; align-items:center; gap:12px; padding:13px; border:1px solid #b9d8ec; border-radius:12px; background:#f0f9fd; }.quick-resource-heading > span { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:11px; background:#d8eff8; color:#11789d; font-size:1.45rem; }.quick-resource-heading small,.quick-resource-heading strong,.quick-resource-heading p { display:block; margin:0; }.quick-resource-heading small { color:var(--color-muted); }.quick-resource-heading p { margin-top:3px; color:var(--color-muted); font-size:.82rem; }.quick-resource-end-mode { padding:0; border:0; }.quick-resource-end-mode legend { margin-bottom:7px; font-weight:800; }.quick-resource-end-mode ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0; padding:0; list-style:none; }.quick-resource-end-mode label { display:flex; align-items:center; gap:7px; min-height:40px; margin:0; padding:9px; border:1px solid var(--color-border); border-radius:9px; background:#fff; cursor:pointer; }.quick-duration-presets { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }.quick-duration-presets button { min-height:34px; margin:0; padding:6px 10px; border:1px solid #c7d8e8; background:#f5f9fd; color:#31516f; }.quick-duration-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.55fr); gap:9px; }.quick-resource-summary { padding:12px; border:1px solid #b8d9ca; border-radius:10px; background:#edf9f3; color:#176544; font-weight:800; font-variant-numeric:tabular-nums; }.quick-resource-conflicts { padding:9px 11px; border:1px solid var(--color-border); border-radius:9px; }.quick-resource-conflicts summary { cursor:pointer; font-weight:750; }.quick-resource-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.quick-resource-actions .button,.quick-resource-actions button { margin:0; }
@media(max-width:520px){.quick-resource-end-mode ul,.quick-duration-fields{grid-template-columns:1fr}}
@media (max-width:700px) { .booking-service-search-row { grid-template-columns:1fr; }.booking-participant-discounts > div { grid-template-columns:1fr; } }
.calendar-view-tabs { width:max-content; max-width:100%; margin:18px 0 12px; gap:0; }.calendar-view-tabs a { min-width:94px; text-align:center; }
.calendar-period-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:18px; padding:10px; border:1px solid var(--color-border); border-radius:11px; background:var(--color-surface-soft); }.calendar-period-navigation { display:flex; flex:1 1 520px; min-width:0; align-items:center; justify-content:center; gap:8px; }.calendar-period-picker { display:inline-flex; min-width:0; align-items:center; justify-content:center; gap:8px; }.calendar-period-step { display:grid; flex:0 0 40px; width:40px; height:40px; place-items:center; border:1px solid var(--color-border); border-radius:9px; background:#fff; color:var(--color-primary); font-size:1.8rem; font-weight:700; line-height:1; text-decoration:none; }.calendar-period-step:hover { border-color:#9eb7ef; background:var(--color-primary-soft); }.calendar-today { flex:0 0 auto; min-height:40px; margin:0; padding:8px 12px; }.calendar-period-label { flex:0 1 auto; min-width:0; text-align:center; line-height:1.25; }.calendar-date-form { display:flex; flex:0 1 auto; align-items:center; gap:7px; margin-left:auto; }.calendar-date-form input { width:auto; min-height:40px; }.calendar-date-form button,.calendar-date-form .button { min-height:40px; margin:0; padding:8px 12px; }.calendar-card.is-calendar-enhanced .calendar-creation-panel:not([open]) { display:none; }
.secondary { background:#64748b; }.secondary-danger { border:1px solid #e0a2ad; background:#fff; color:var(--color-danger); }
label { display:block; margin:14px 0 6px; font-weight:680; }
input,select,textarea { width:100%; padding:10px 12px; border:1px solid #b8c2d1; border-radius:var(--radius-sm); background:#fff; color:var(--color-text); font:inherit; }
.booking-service-fields select.has-selection { border:2px solid var(--color-success); background:#edfaf6; box-shadow:0 0 0 3px #16805f24; font-weight:700; }
input[type="checkbox"],input[type="radio"] { width:auto; }
.form-grid,.filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }
.action-row,.form-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.form-actions > button { margin:0; }
.status-badge { display:inline-flex; align-items:center; width:max-content; padding:4px 9px; border-radius:999px; background:var(--color-primary-soft); color:var(--color-primary); font-size:.78rem; font-weight:800; }.status-badge.success { background:#e7f7f1; color:var(--color-success); }.status-badge.danger { background:var(--color-danger-soft); color:var(--color-danger); }
.message { margin:0 0 16px; padding:12px 14px; border:1px solid var(--color-border); border-radius:var(--radius-sm); background:#fff; }.message.error { border-color:#efb3be; background:var(--color-danger-soft); color:#9f1f33; }.message.success { border-color:#91d5c0; background:#edfaf6; color:#14634d; }
.empty-state { display:grid; place-items:center; min-height:210px; padding:32px; border:1px dashed #bfc9d8; border-radius:var(--radius-md); background:var(--color-surface-soft); text-align:center; }.empty-state p { color:var(--color-muted); }
.metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin:18px 0; }.metric { padding:18px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; }.metric strong { display:block; margin-bottom:8px; font-size:1.7rem; }.metric.alert strong { color:var(--color-danger); }
.funnel-grid { display:flex; gap:14px; overflow:auto; padding-bottom:8px; }.funnel-stage { min-width:220px; padding:18px; border:1px solid var(--color-border); border-top:5px solid var(--stage-color); border-radius:var(--radius-md); }.funnel-stage h3 { margin:0; }.funnel-stage dl div { display:flex; justify-content:space-between; gap:16px; padding:7px 0; border-bottom:1px solid var(--color-border); }.funnel-stage dt { color:var(--color-muted); }.funnel-stage dd { margin:0; font-weight:750; }
.table-wrap { overflow:auto; scrollbar-color:#94a3b8 #eef2f7; scrollbar-width:thin; }.table-wrap table,table { width:100%; border-collapse:collapse; }th,td { padding:11px 12px; border-bottom:1px solid var(--color-border); text-align:left; white-space:nowrap; }th { background:var(--color-surface-soft); color:var(--color-muted); font-size:.78rem; letter-spacing:.03em; text-transform:uppercase; }
.columns { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:20px; }
.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; }
.catalog-heading { align-items:center; }.catalog-actions,.view-switch,.catalog-search,.form-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.catalog-actions .button,.catalog-search .button,.form-actions .button { margin-top:0; }.view-switch { overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-sm); background:#fff; }.view-switch a { padding:10px 12px; color:var(--color-muted); font-weight:750; text-decoration:none; }.view-switch a.active { background:#e5f7fc; color:#127da9; }.catalog-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; }.catalog-side { align-self:start; padding:22px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); }.catalog-side strong { display:block; color:var(--color-muted); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }.catalog-content { min-width:0; }.catalog-search { margin:-24px -24px 24px; padding:18px 24px; border-bottom:1px solid var(--color-border); }.catalog-search input { flex:1 1 260px; }.catalog-search .muted { margin-left:auto; }.catalog-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }.catalog-card { overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; }.catalog-image { display:grid; aspect-ratio:16/9; place-items:center; overflow:hidden; background:linear-gradient(135deg,#edf4ff,#f8fbff); color:var(--color-primary); font-size:2.8rem; }.catalog-image img { width:100%; height:100%; object-fit:cover; }.catalog-card-body { display:grid; gap:12px; padding:16px; }.catalog-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.catalog-card h2 { margin:0; font-size:1.05rem; }.catalog-card p { min-height:2.8em; margin:0; color:var(--color-muted); }.availability-dot { flex:0 0 auto; width:11px; height:11px; margin-top:5px; border-radius:50%; background:#10a970; }.catalog-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:6px; }.catalog-card-footer a,.catalog-table a { font-weight:700; text-decoration:none; }.catalog-table th a { color:inherit; text-decoration:none; }.catalog-table-name { display:flex; align-items:center; gap:10px; }.catalog-table-name img { width:34px; height:34px; border-radius:7px; object-fit:cover; }.danger-link { color:var(--color-danger)!important; }.catalog-form-card { max-width:880px; }.catalog-form-field { margin:0 0 18px; }.catalog-form-field textarea { min-height:110px; }.catalog-form-field input[type=file] { padding:9px; }.image-preview { display:grid; width:min(100%,330px); min-height:150px; margin-top:10px; place-items:center; overflow:hidden; border:1px dashed #b7c5d8; border-radius:var(--radius-sm); background:var(--color-surface-soft); color:var(--color-muted); }.image-preview img { display:block; width:100%; max-height:230px; object-fit:cover; }.required { color:var(--color-danger); }.confirmation-card { max-width:640px; }.pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:24px; }.pagination a { font-weight:700; }
@media(max-width:820px){
  .app-sidebar { transform:translateX(-105%); transition:transform .2s ease; box-shadow:var(--shadow-md); }.app-sidebar[data-open="true"] { transform:none; }
  .sidebar-backdrop { position:fixed; inset:0; z-index:45; background:rgb(15 23 42 / 55%); }.sidebar-backdrop[data-open="true"] { display:block; }
  .app-workspace { margin-left:0; }.app-topbar { padding:10px 16px; justify-content:flex-start; gap:8px; }.nav-toggle { display:inline-flex; }.topbar-company { min-width:0; margin-right:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.topbar-user { display:none; }.topbar-link { display:grid; width:36px; height:36px; place-items:center; overflow:hidden; font-size:0; text-decoration:none; }.topbar-link::before { content:"🔔"; font-size:1.05rem; }.topbar-logout button { padding:8px 10px; font-size:.82rem; }.catalog-detail { grid-template-columns:1fr; }.catalog-detail-image { min-height:210px; }.catalog-detail-body { padding:20px; }.catalog-detail-grid { grid-template-columns:1fr; }.catalog-detail-wide { grid-column:auto; }
  .app-main { padding:22px 16px 48px; }.page-heading { flex-direction:column; }.columns,.catalog-layout { grid-template-columns:1fr; }.catalog-side { display:none; }
}

/* Wide workspaces retain fixed context while dense timelines and tables scroll. */
.calendar-card { width:100%; margin:0 0 18px; transform:none; }
.calendar-heading-group .calendar-print-button { margin:0 0 0 6px; border:1px solid #b8d8ed; background:#e5f4fc; color:#246083; }
.calendar-heading-group .calendar-print-button:hover { background:#d4ecf9; color:#194e6d; }
.timeline-scroll,.calendar-table-scroll { position:relative; overflow:auto; margin:16px 0 22px; border:1px solid var(--color-border); border-radius:var(--radius-md); scrollbar-color:#7b8ca5 #edf2f8; scrollbar-width:thin; }
.timeline-scroll.is-scrollable::after,.calendar-table-scroll.is-scrollable::after { position:sticky; right:0; display:block; width:32px; height:100%; margin-left:auto; background:linear-gradient(90deg,transparent,rgb(255 255 255 / 92%)); content:""; pointer-events:none; }
.timeline-calendar { min-width:1100px; border:0; border-radius:0; }
.timeline-header,.timeline-row { grid-template-columns:240px minmax(860px,1fr); }
.timeline-header { position:sticky; top:0; z-index:4; }
.timeline-resource-heading,.timeline-resource { position:sticky; left:0; z-index:3; min-width:240px; background:var(--color-surface-soft); box-shadow:8px 0 12px -12px rgb(24 34 53 / 55%); }
.timeline-resource-heading { z-index:5; }
.timeline-resource { display:flex; min-height:70px; flex-direction:column; justify-content:center; background:#fff; }
.calendar-table-scroll table { min-width:1100px; }
.calendar-table-scroll thead th { position:sticky; top:0; z-index:3; }
.calendar-table-scroll thead th:first-child,.calendar-table-scroll tbody th { position:sticky; left:0; z-index:2; min-width:240px; background:var(--color-surface-soft); box-shadow:8px 0 12px -12px rgb(24 34 53 / 55%); }
.calendar-table-scroll thead th:first-child { z-index:4; }
.calendar-table-scroll thead th.calendar-selected-date { background:#e4f3fb; color:#127da9; box-shadow:inset 2px 0 #9cccf2,inset -2px 0 #9cccf2; }
.calendar-table-scroll td.calendar-selected-date { background:#f4fbff; box-shadow:inset 2px 0 #9cccf2,inset -2px 0 #9cccf2; }
.timeline-event.booking-status-draft,.calendar-event-button.booking-status-draft { border-color:#efbd69; background:#fff0d5; color:#955700; }
.timeline-event.booking-status-draft:hover,.calendar-event-button.booking-status-draft:hover { background:#ffe5b7; }
.timeline-event.booking-status-confirmed,.calendar-event-button.booking-status-confirmed { border-color:#79cbb7; background:#d7f2eb; color:#164e43; }
.timeline-event.booking-status-confirmed:hover,.calendar-event-button.booking-status-confirmed:hover { background:#bfe8de; }
.timeline-event.booking-status-completed,.calendar-event-button.booking-status-completed { border-color:#0e6d50; background:var(--color-success); color:#fff; }
.timeline-event.booking-status-completed:hover,.calendar-event-button.booking-status-completed:hover { background:#0f6f53; color:#fff; }
.timeline-event.booking-status-no_show,.calendar-event-button.booking-status-no_show { border-color:#efb3be; background:var(--color-danger-soft); color:#9f1f33; }
.timeline-event.booking-status-no_show:hover,.calendar-event-button.booking-status-no_show:hover { background:#ffdce2; }
.calendar-event-button.booking-status-cancelled { border-color:#a92b3e; background:var(--color-danger); color:#fff; }
.calendar-event-button.booking-status-cancelled:hover { background:#a92b3e; color:#fff; }
.timeline-event.resource-booking-booking,.calendar-event-button.resource-booking-booking,.resource-booking-card.resource-booking-booking { border-color:#9fb7d1; background:#e7eff8; color:#294b70; }
.timeline-event.resource-booking-unavailable,.calendar-event-button.resource-booking-unavailable,.resource-booking-card.resource-booking-unavailable { border-color:#d7a7ad; background:#f7e8ea; color:#743841; }
.timeline-event.resource-booking-other,.calendar-event-button.resource-booking-other,.resource-booking-card.resource-booking-other { border-color:#b8bec7; background:#eef0f3; color:#454c56; }
.resource-booking-card { border:1px solid; border-radius:10px; padding:12px; margin:10px 0; }
.resource-booking-card > span { display:inline-block; margin-left:8px; font-size:12px; font-weight:700; }
.resource-booking-comment { padding:9px 10px; background:rgba(255,255,255,.55); border-radius:7px; }
.resource-booking-edit { display:inline-block; margin-right:7px; vertical-align:top; }
.resource-booking-edit form { display:grid; gap:8px; min-width:280px; padding:10px 0; }
.resource-booking-edit label { display:grid; gap:4px; font-weight:700; }
.resource-booking-cancel { display:inline-block; margin:0; }
.booking-admin-delete { margin-top:18px; padding-top:14px; border-top:1px solid var(--color-border); }
.booking-admin-delete form { display:grid; gap:10px; padding:10px 0; }
.timeline-event strong { display:block; overflow:hidden; margin-bottom:3px; text-overflow:ellipsis; }
.timeline-event br { display:none; }
.timeline-event { line-height:1.25; text-overflow:ellipsis; }
.calendar-event-heading { display:flex; align-items:baseline; gap:7px; margin-bottom:3px; white-space:nowrap; }
.calendar-event-heading small { font-size:.7em; font-weight:800; opacity:.88; }
.timeline-event.conflict,.calendar-event-button.conflict { box-shadow:inset 0 0 0 2px #e59a00,0 0 0 1px #fff; }
.dashboard-priority-metrics { margin-top:22px; }
.dashboard-task-summary { margin:18px 0 22px; padding:18px; border:1px solid var(--color-border); border-radius:14px; background:#fff; }
.dashboard-task-summary > header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; }
.dashboard-task-summary h2 { margin:0 0 3px; }
.dashboard-task-total { display:flex; align-items:center; gap:10px; }
.dashboard-task-total a { text-decoration:none; }
.dashboard-task-total strong { font-size:1.45rem; }
.dashboard-overdue-total { color:var(--color-danger); font-weight:700; }
.dashboard-task-roles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--color-border); }
.dashboard-task-role { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px; padding:10px 12px; border-bottom:1px solid var(--color-border); }
.dashboard-task-role:nth-child(odd) { border-right:1px solid var(--color-border); }
.dashboard-task-role > div { display:flex; align-items:center; gap:10px; }
.dashboard-task-count { color:var(--color-text); font-size:1.35rem; font-weight:800; text-decoration:none; }
.dashboard-overdue-badge { display:grid; min-width:25px; height:25px; padding:0 6px; place-items:center; border-radius:999px; background:#f06a74; color:#fff; font-size:.8rem; font-weight:800; text-decoration:none; }
.dashboard-acceptance { display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding:11px 13px; border:1px solid #e9c98e; border-radius:10px; background:#fff4df; color:#795217; text-decoration:none; }
.dashboard-acceptance strong { font-size:1.25rem; }
@media(max-width:680px){.dashboard-task-summary > header{align-items:flex-start;flex-direction:column}.dashboard-task-roles{grid-template-columns:1fr}.dashboard-task-role:nth-child(odd){border-right:0}}
.list-settings { position:relative; margin:0 0 16px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); box-shadow:var(--shadow-sm); }
.list-settings > summary { display:flex; align-items:center; min-height:42px; padding:10px 14px; color:var(--color-primary); font-weight:800; cursor:pointer; list-style:none; }.list-settings > summary::-webkit-details-marker { display:none; }.list-settings > summary::before { margin-right:8px; content:"⚙"; }.list-settings[open] > summary { border-bottom:1px solid var(--color-border); }
.list-settings form { padding:16px; }.list-settings-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.list-settings-heading p,.list-settings-grid p { margin:4px 0 0; }.list-settings-search { width:min(100%,280px); margin:0; }.list-settings-search input { min-height:40px; }
.list-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:18px; }.list-settings-grid h3 { margin:0; font-size:.95rem; }.list-column-options { display:grid; gap:7px; margin-top:10px; }.list-column-choice { display:flex; align-items:center; min-height:42px; gap:8px; margin:0; padding:8px 10px; border:1px solid var(--color-border); border-radius:8px; background:#fff; font-weight:650; }.list-column-choice.is-selected { border-color:#a8cde7; background:#edf8fc; }.list-column-choice:not(.is-selected) .column-drag-handle,.list-column-choice:not(.is-selected) .column-actions { display:none; }.column-drag-handle { color:var(--color-muted); font-size:1.1rem; cursor:grab; }.column-actions { display:flex; gap:4px; margin-left:auto; }.column-actions button { min-width:28px; min-height:28px; margin:0; padding:2px 6px; border:1px solid var(--color-border); border-radius:6px; background:#fff; color:var(--color-primary); }.list-settings-sort { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }.list-settings-sort label { flex:1 1 220px; margin:0; }.list-settings-sort select { margin-top:6px; }
.table-scroll-hint { margin:10px 0 8px; color:var(--color-muted); font-size:.9rem; font-weight:700; }.table-scroll-cue { position:relative; }.table-scroll-cue.is-scrollable th:first-child,.table-scroll-cue.is-scrollable td:first-child { position:sticky; left:0; z-index:2; background:#fff; box-shadow:8px 0 12px -12px rgb(24 34 53 / 55%); }.table-scroll-cue.is-scrollable th:first-child { z-index:3; background:var(--color-surface-soft); }
.horizontal-scroll-shell { position:relative; min-width:0; margin:16px 0; isolation:isolate; }
.horizontal-scroll-shell > [data-horizontal-scroll] { margin:0; }
.horizontal-scroll-control { position:absolute; z-index:12; top:50%; display:grid; width:46px; height:112px; min-height:0; margin:0; padding:0; place-items:center; border:0; border-radius:999px; background:rgb(75 91 112 / 24%); color:#fff; opacity:0; pointer-events:none; transform:translateY(-50%); transition:opacity .16s ease,background-color .16s ease,transform .16s ease; backdrop-filter:blur(2px); }
.horizontal-scroll-control.is-left { left:8px; }.horizontal-scroll-control.is-right { right:8px; }
.horizontal-scroll-control span { font-size:3rem; font-weight:300; line-height:1; text-shadow:0 1px 2px rgb(20 31 48 / 22%); }
.horizontal-scroll-control[data-visible="true"] { opacity:.68; pointer-events:auto; }
.horizontal-scroll-control[data-visible="true"]:hover,.horizontal-scroll-control[data-visible="true"]:focus-visible { background:rgb(75 91 112 / 38%); opacity:.96; transform:translateY(-50%) scale(1.03); }
@media(hover:none),(pointer:coarse){.horizontal-scroll-control { width:40px; height:72px; }.horizontal-scroll-control[data-visible="true"] { opacity:.56; }.horizontal-scroll-control span { font-size:2.35rem; }}
.onboarding { overflow:hidden; padding:0; }
.onboarding > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; cursor:pointer; list-style:none; }
.onboarding > summary::-webkit-details-marker { display:none; }
.onboarding > summary::after { order:-1; content:"›"; color:var(--color-primary); font-size:1.5rem; font-weight:800; transform:rotate(0deg); transition:transform .15s ease; }
.onboarding[open] > summary { border-bottom:1px solid var(--color-border); }
.onboarding[open] > summary::after { transform:rotate(90deg); }
.onboarding > summary > span { display:grid; gap:3px; margin-right:auto; }
.onboarding > summary > span strong { font-size:1rem; }
.onboarding > summary > strong { color:var(--color-primary); }
.onboarding-content { padding:18px 20px 20px; }
.onboarding-content .onboarding-heading { display:none; }
.onboarding-content .onboarding-list { margin-top:12px; }
@media(max-width:820px){ .app-main { padding-inline:16px; }.calendar-card { padding:16px; }.timeline-header,.timeline-row { grid-template-columns:180px minmax(760px,1fr); }.timeline-resource-heading,.timeline-resource,.calendar-table-scroll thead th:first-child,.calendar-table-scroll tbody th { min-width:180px; }.calendar-table-scroll table { min-width:920px; }.list-settings-heading { flex-direction:column; }.list-settings-search { width:100%; }.list-settings-grid { grid-template-columns:1fr; } }

/* CRM workspace v2: reusable list, board, card and template-editor primitives. */
.workspace-heading,.record-heading,.timeline-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.workspace-heading h1,.record-heading h1,.timeline-heading h2 { margin:2px 0 0; }.record-id { display:inline-flex; align-items:center; gap:6px; margin:4px 0; padding:3px 9px; border:1px solid var(--border); border-radius:999px; background:var(--surface-soft); color:var(--muted); font-size:.85rem; }.create-button { margin-top:0; background:var(--color-success); }.lead-view-switch { margin:18px 0; width:max-content; max-width:100%; }
.lead-title-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }.lead-create-drawer { position:static; }.lead-create-drawer > summary { list-style:none; }.lead-create-drawer > summary::-webkit-details-marker { display:none; }.lead-create-drawer > summary::marker { content:""; }.lead-create-drawer[open]::before { position:fixed; z-index:39; inset:0; background:rgb(15 23 42 / 18%); content:""; }.lead-create-panel { position:fixed; z-index:40; top:0; left:clamp(320px,22vw,470px); display:block; width:min(calc(100vw - clamp(320px,22vw,470px)),590px); height:100vh; overflow:auto; padding:24px; border-left:1px solid var(--color-border); background:#fff; box-shadow:-18px 0 44px rgb(15 23 42 / 18%); }.lead-create-panel > header { display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--color-border); font-size:1.15rem; }.drawer-close { min-width:38px; min-height:38px; margin:0; padding:0; border-radius:8px; background:transparent; color:var(--color-text); font-size:1.6rem; line-height:1; }.drawer-close:hover { background:var(--color-primary-soft); color:var(--color-primary); }.lead-create-panel form { max-width:500px; }.lead-create-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }.lead-create-actions > button { margin:0; }.required-marker { margin-left:3px; color:var(--color-danger); font-weight:850; }
.company-lookup { position:relative; }.company-lookup-results { position:absolute; z-index:3; top:100%; right:0; left:0; overflow:hidden; margin-top:4px; border:1px solid var(--color-border); border-radius:9px; background:#fff; box-shadow:var(--shadow-md); }.company-result,.company-create-result { display:block; width:100%; margin:0; padding:11px 13px; border:0; border-radius:0; background:#fff; color:var(--color-text); text-align:left; }.company-result:hover,.company-result:focus { background:var(--color-primary-soft); color:var(--color-primary); }.company-create-result { border-top:1px solid var(--color-border); color:var(--color-primary); }.selected-company { margin:6px 0 0; color:var(--color-success); font-size:.86rem; font-weight:750; }.company-create-card { position:absolute; z-index:2; inset:0; min-height:100%; padding:24px; background:#fff; }.company-create-card > header { display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--color-border); font-size:1.15rem; }
.lead-people-section { margin-top:22px; padding-top:18px; border-top:1px solid var(--color-border); }.lead-people-section > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.lead-people-section > header div { display:grid; gap:2px; }.lead-people-section > header small { color:var(--color-muted); }.lead-person-card { margin:0 0 14px; padding:14px; border:1px solid var(--color-border); border-radius:10px; background:var(--color-surface-soft); }.lead-person-card legend { padding:0 7px; color:var(--color-text); font-weight:800; }.lead-person-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }.person-field-phones,.person-field-emails { grid-column:1/-1; }.person-delete-field { display:none; }.repeat-value-row { display:flex; align-items:center; gap:6px; margin-top:6px; }.repeat-value-row input { margin:0; }.repeat-remove { flex:0 0 34px; min-width:34px; min-height:38px; margin:0; padding:0; border:1px solid var(--color-border); background:#fff; color:var(--color-muted); }.repeat-add,.remove-person { min-height:auto; margin:5px 0 0; padding:3px 0; }.remove-person { color:var(--color-danger); }
.lead-person-summary { margin-top:10px; padding:12px; border:1px solid var(--color-border); border-radius:9px; background:var(--color-surface-soft); }.lead-person-summary header { display:flex; justify-content:space-between; gap:10px; }.lead-person-summary header span { padding:3px 7px; border-radius:999px; background:var(--color-primary-soft); color:var(--color-primary); font-size:.75rem; font-weight:800; }.lead-person-summary p { margin:7px 0 0; }
.filters-v2 { display:grid; gap:12px; margin:18px 0; padding:16px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface-soft); }.quick-search { margin:0; }.quick-search input { flex:1 1 360px; }.quick-search button { margin:0; }.saved-view-strip { display:flex; align-items:center; gap:8px; overflow:auto; padding-bottom:2px; white-space:nowrap; }.saved-view-strip > strong { color:var(--color-muted); font-size:.8rem; text-transform:uppercase; }.filter-chip { display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border:1px solid var(--color-border); border-radius:999px; background:#fff; font-size:.86rem; }.filter-chip.active { border-color:#8ac4e3; background:#e6f7fc; }.filter-chip form { display:inline; }.filter-chip .link-button { min-height:auto; padding:0; color:var(--color-muted); }.filter-builder { overflow:hidden; border:1px solid var(--color-border); border-radius:10px; background:#fff; }.filter-builder summary { display:flex; flex-direction:column; gap:3px; padding:12px 14px; cursor:pointer; font-weight:800; }.filter-builder summary small { color:var(--color-muted); font-weight:500; }.filter-builder .filter-form { padding:0 14px 14px; }.filter-condition { min-width:0; padding:10px; border:1px solid #e3eaf2; border-radius:8px; background:#fff; }.filter-condition label { margin-top:0; color:var(--color-muted); font-size:.84rem; }.save-view-row { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-top:14px; }.save-view-row > div { flex:1 1 250px; }.save-view-row label { margin-top:0; }.check-label { display:flex; align-items:center; gap:7px; min-height:42px; margin:0; }
.board { display:flex; gap:14px; overflow:auto; align-items:stretch; padding:4px 2px 14px; }.stage { flex:0 0 280px; min-height:280px; padding:14px; border:1px solid var(--color-border); border-top:5px solid var(--stage-color, var(--color-primary)); border-radius:var(--radius-md); background:var(--color-surface-soft); }.stage > header { display:flex; justify-content:space-between; gap:10px; }.stage > header span { display:grid; min-width:24px; height:24px; place-items:center; border-radius:999px; background:#fff; color:var(--color-muted); font-size:.8rem; font-weight:800; }.deal { margin:12px 0 0; padding:13px; border:1px solid var(--color-border); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }.deal a { color:var(--color-text); text-decoration:none; }.deal a:hover { color:var(--color-primary); }.lead-kanban-card { border-left:4px solid var(--stage-color, var(--color-primary)); }.lead-kanban-card[draggable=true] { cursor:grab; }.kanban-owner { margin:10px 0 0; color:var(--color-primary); font-size:.86rem; font-weight:750; }.deal details > summary { margin-top:10px; color:var(--color-primary); cursor:pointer; font-size:.86rem; font-weight:750; }.deal details form { display:grid; gap:7px; }.deal details button { min-height:34px; margin:0; padding:7px 10px; font-size:.82rem; }
.linked-task { color:var(--color-primary); font-weight:750; text-decoration:none; }.linked-task small { color:var(--color-muted); font-weight:550; }.linked-task.is-overdue { color:var(--color-danger); }.record-workspace { padding:clamp(18px,2.5vw,32px); }.record-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.95fr); gap:22px; margin-top:20px; }.record-details { min-width:0; }.record-timeline { min-width:0; padding:18px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface-soft); }.stage-ribbon { display:flex; gap:7px; overflow:auto; margin:18px 0 0; padding:4px 1px 8px; }.stage-ribbon-item { position:relative; flex:1 0 max-content; min-width:132px; padding:10px 13px; border:1px solid var(--color-border); border-bottom:3px solid var(--stage-color); border-radius:8px; background:#f7f9fc; color:var(--color-muted); font-size:.85rem; font-weight:750; text-align:center; }.stage-ribbon-item.is-current { border-color:var(--stage-color); background:color-mix(in srgb, var(--stage-color) 13%, white); color:var(--color-text); box-shadow:0 0 0 2px color-mix(in srgb, var(--stage-color) 20%, transparent); }.record-editor { margin-top:20px; border:1px solid #a8cde7; border-radius:var(--radius-md); background:#f8fcff; }.record-editor > summary { padding:13px 15px; color:var(--color-primary); font-weight:850; cursor:pointer; }.record-editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding:0 16px 4px; }.record-editor-fields textarea { min-height:100px; }.record-editor .sticky-actions { margin-inline:0; }.timeline-heading { align-items:center; }.timeline-heading .brand { margin:0; }.timeline-heading h2 { font-size:1.15rem; }.timeline-filter { position:relative; }.timeline-filter summary { color:var(--color-primary); cursor:pointer; font-weight:750; }.timeline-filter nav { position:absolute; right:0; z-index:5; display:grid; gap:3px; width:160px; margin-top:8px; padding:7px; border:1px solid var(--color-border); border-radius:9px; background:#fff; box-shadow:var(--shadow-md); }.timeline-filter a { padding:7px 8px; border-radius:6px; color:var(--color-text); text-decoration:none; }.timeline-filter a.active,.timeline-filter a:hover { background:var(--color-primary-soft); color:var(--color-primary); }.activity-composer { margin:14px 0; border:1px solid var(--color-border); border-radius:10px; background:#fff; }.activity-composer summary { padding:11px 12px; color:var(--color-primary); cursor:pointer; font-weight:800; }.activity-composer form { padding:0 12px 12px; }.activity { padding:14px; border:1px solid var(--color-border); border-radius:10px; background:#fff; }.activity.pinned { border-color:#a8cde7; background:#effaff; }.task-feed-item { border-left:4px solid var(--color-primary); }
.template-editor { max-width:1280px; }.template-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.template-meta .template-users { grid-column:span 2; }.template-editor-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-top:28px; }.template-editor-heading h2,.template-editor-heading p { margin:0; }.template-field-cards { display:grid; gap:10px; margin-top:14px; }.template-field-card { padding:13px; border:1px solid var(--color-border); border-radius:10px; background:#fff; }.template-field-card header { display:flex; align-items:center; gap:10px; }.template-field-card header small { display:block; margin-top:2px; color:var(--color-muted); }.template-field-move { display:flex; gap:5px; margin-left:auto; }.template-field-move button { min-width:32px; min-height:30px; margin:0; padding:3px 7px; border:1px solid var(--color-border); background:#fff; color:var(--color-primary); }.template-field-controls { display:grid; grid-template-columns:90px repeat(3,minmax(150px,1fr)) minmax(220px,1.35fr); gap:10px; margin-top:11px; }.template-field-controls label { margin:0; color:var(--color-muted); font-size:.78rem; }.template-field-controls input,.template-field-controls select { margin-top:5px; font-size:.9rem; }.template-field-stages { grid-column:span 2; }
@media(max-width:820px){ .workspace-heading,.record-heading,.timeline-heading,.template-editor-heading { align-items:stretch; flex-direction:column; }.lead-view-switch { width:100%; }.lead-view-switch a { flex:1; text-align:center; }.lead-create-panel { left:0; width:100vw; }.lead-person-grid { grid-template-columns:1fr; }.person-field-phones,.person-field-emails { grid-column:auto; }.record-layout { grid-template-columns:1fr; }.record-editor-fields,.template-meta,.template-field-controls { grid-template-columns:1fr; }.template-meta .template-users,.template-field-stages { grid-column:auto; }.stage { flex-basis:250px; }.save-view-row { align-items:stretch; }.save-view-row > div { flex-basis:100%; } }

/* Layered entity cards. The active card stays toward the left on wide screens and becomes full-screen on phones. */
.record-route-page { min-height:calc(100vh - 120px); }.record-route-page > .record-overlay-host { position:fixed; inset:0; z-index:80; background:rgb(15 35 68 / 58%); }.record-overlay-host.is-direct { display:flex; align-items:stretch; padding:clamp(10px,2vw,28px) clamp(10px,4vw,72px); }.record-overlay-layer { position:fixed; inset:0; z-index:90; display:flex; align-items:stretch; padding:clamp(10px,2vw,28px) clamp(10px,4vw,72px); background:rgb(15 35 68 / 58%); opacity:0; transition:opacity .16s ease; }.record-overlay-layer.is-visible { opacity:1; }.record-overlay-layer:not(.is-active) { background:rgb(15 35 68 / 22%); }.record-overlay-card { position:relative; box-sizing:border-box; width:min(1460px,calc(100vw - 120px)); height:100%; margin:0 auto 0 0; overflow:hidden; border:1px solid #d8e0eb; border-radius:18px; background:#f3f6f9; box-shadow:0 24px 80px rgb(5 20 45 / 35%); }.record-overlay-card:focus { outline:none; }.record-overlay-header { position:relative; z-index:7; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; min-height:74px; padding:18px 22px 12px; border-bottom:1px solid var(--color-border); background:rgba(255,255,255,.97); }.record-overlay-header h1 { margin:3px 0 0; font-size:clamp(1.35rem,2vw,2rem); }.record-overlay-header .record-id { margin-left:8px; vertical-align:middle; }.record-header-actions { display:flex; align-items:center; gap:8px; }.record-header-actions .button { margin:0; white-space:nowrap; }.record-overlay-close { display:grid; width:40px; height:40px; margin:0; padding:0; place-items:center; border-radius:50%; background:#e9eef5; color:#243147; font-size:1.65rem; line-height:1; }.record-overlay-close:hover { background:#dce7f5; color:var(--color-primary); }.record-overlay-card > .stage-ribbon { margin:0; padding:10px 20px; border-bottom:1px solid var(--color-border); background:#fff; }.record-overlay-body { display:grid; grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr); gap:14px; height:calc(100% - 96px); padding:14px; overflow:hidden; }.record-overlay-card:has(> .stage-ribbon) .record-overlay-body { height:calc(100% - 158px); }.record-overlay-body > .record-details,.record-overlay-body > .record-timeline { min-width:0; overflow:auto; overscroll-behavior:contain; }.record-overlay-body > .record-details { padding:16px; border:1px solid var(--color-border); border-radius:12px; background:#fff; }.record-overlay-body > .record-timeline { padding:16px; background:#f8fafc; }.record-card-section { padding:0; border:0; box-shadow:none; }.record-card-section + .record-card-section { margin-top:15px; padding-top:15px; border-top:1px solid var(--color-border); }.record-card-section h2 { margin:0 0 10px; font-size:.82rem; letter-spacing:.045em; text-transform:uppercase; color:var(--color-muted); }.record-field { position:relative; display:grid; gap:3px; padding:9px 10px; border-radius:8px; }.record-field[role=button] { cursor:text; }.record-field[role=button]:hover,.record-field[role=button]:focus { background:#f0f7ff; outline:1px solid #bcd8f7; }.record-field[role=button]::after { position:absolute; top:10px; right:10px; color:var(--color-primary); content:"✎"; opacity:0; }.record-field[role=button]:hover::after,.record-field[role=button]:focus::after { opacity:.7; }.record-field-label { color:var(--color-muted); font-size:.78rem; }.record-field-value { overflow-wrap:anywhere; font-weight:590; }.record-edit-form { padding-bottom:78px; }.record-edit-form[hidden] { display:none; }.record-edit-form .record-editor-fields { grid-template-columns:1fr; padding:0; }.record-edit-form .lead-people-section { margin-bottom:12px; }.record-save-bar { position:absolute; z-index:9; right:0; bottom:0; left:0; display:none; align-items:center; justify-content:center; gap:10px; min-height:62px; padding:8px 20px; border-top:1px solid var(--color-border); background:rgba(255,255,255,.98); box-shadow:0 -10px 25px rgb(15 35 68 / 8%); }.record-save-bar.is-visible { display:flex; }.record-save-bar button { margin:0; }.record-settings-popover { position:absolute; z-index:12; top:68px; right:66px; width:min(360px,calc(100% - 32px)); padding:16px; border:1px solid var(--color-border); border-radius:12px; background:#fff; box-shadow:var(--shadow-md); }.record-settings-popover p { margin:6px 0 12px; color:var(--color-muted); }.record-settings-popover .button { margin:0; }.record-overlay-open .app-workspace { isolation:auto; }
@media(min-width:1700px){ .record-overlay-host.is-direct,.record-overlay-layer { padding-left:clamp(70px,6vw,130px); padding-right:9vw; }.record-overlay-card { margin-left:0; } }
@media(max-width:1050px){ .record-overlay-host.is-direct,.record-overlay-layer { padding:8px; }.record-overlay-card { width:100%; }.record-overlay-body { grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr); } }
@media(max-width:760px){ .record-route-page > .record-overlay-host,.record-overlay-layer { padding:0; }.record-overlay-card { width:100vw; height:100dvh; border:0; border-radius:0; }.record-overlay-header { min-height:62px; padding:12px 14px; }.record-overlay-header .brand,.record-settings-button { display:none; }.record-overlay-header h1 { max-width:60vw; overflow:hidden; font-size:1.15rem; text-overflow:ellipsis; white-space:nowrap; }.record-header-actions .button { padding:8px 10px; }.record-overlay-card > .stage-ribbon { padding:7px 12px; }.record-overlay-body,.record-overlay-card:has(> .stage-ribbon) .record-overlay-body { display:block; height:calc(100dvh - 70px); padding:8px; overflow:auto; }.record-overlay-card:has(> .stage-ribbon) .record-overlay-body { height:calc(100dvh - 126px); }.record-overlay-body > .record-details,.record-overlay-body > .record-timeline { overflow:visible; }.record-overlay-body > .record-timeline { margin-top:10px; }.record-editor-fields { grid-template-columns:1fr; }.record-save-bar { position:fixed; }.record-settings-popover { top:58px; right:10px; } }

/* Personal CRM list: compact field picker, sortable/resizable headers and stage progress. */
.record-list { position:relative; }.list-toolbar { display:flex; justify-content:flex-start; margin:0 0 8px; }.list-settings-trigger { display:grid; width:40px; height:40px; min-height:40px; margin:0; padding:0; place-items:center; border:1px solid var(--color-border); border-radius:9px; background:#fff; color:var(--color-primary); font-size:1.05rem; box-shadow:var(--shadow-sm); }.list-settings-trigger:hover { background:var(--color-primary-soft); }.list-settings-backdrop { position:fixed; z-index:140; inset:0; display:grid; padding:20px; place-items:center; background:rgb(15 35 68 / 48%); }.list-settings-backdrop[hidden] { display:none; }.list-settings-dialog { display:flex; width:min(760px,100%); max-height:min(720px,calc(100dvh - 40px)); flex-direction:column; overflow:hidden; border:1px solid var(--color-border); border-radius:16px; background:#fff; box-shadow:0 28px 90px rgb(5 20 45 / 30%); }.list-settings-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 20px 14px; border-bottom:1px solid var(--color-border); }.list-settings-dialog h2,.list-settings-dialog p { margin:0; }.list-settings-dialog p { margin-top:4px; color:var(--color-muted); font-size:.9rem; }.list-settings-close { display:grid; width:34px; height:34px; min-height:34px; margin:0; padding:0; place-items:center; border:0; background:transparent; color:var(--color-muted); font-size:1.5rem; }.list-settings-dialog form { display:flex; min-height:0; flex:1; flex-direction:column; padding:16px 20px 0; }.list-settings-search { width:100%; margin:0; }.list-settings-search input { min-height:42px; }.list-select-all { display:flex; align-items:center; gap:8px; margin:12px 0 8px; color:var(--color-text); font-weight:750; }.list-field-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; min-height:0; padding:3px 4px 12px 0; overflow:auto; }.list-column-choice { display:flex; align-items:center; min-height:40px; gap:8px; margin:0; padding:8px 10px; border:1px solid transparent; border-radius:8px; background:#fff; font-weight:600; }.list-column-choice[hidden] { display:none; }.list-column-choice:hover { background:#f6f9fc; }.list-column-choice.is-selected { border-color:#c5e1f0; background:#eaf7fc; }.list-column-choice small { margin-left:auto; color:var(--color-muted); font-size:.72rem; font-weight:600; }.list-settings-dialog footer { display:flex; gap:10px; margin:0 -20px; padding:12px 20px; border-top:1px solid var(--color-border); background:#fff; }.list-settings-dialog footer button { margin:0; }.list-settings-open { overflow:hidden; }
.record-table { table-layout:fixed; min-width:max-content; }.record-table col { width:160px; }.record-table th { position:sticky; top:0; z-index:3; min-width:80px; padding:0; background:var(--color-surface-soft); user-select:none; }.record-table td { min-width:80px; overflow-wrap:anywhere; white-space:normal; }.record-table th.is-dragging { opacity:.5; }.table-sort { display:flex; width:100%; min-height:44px; align-items:center; justify-content:space-between; gap:7px; margin:0; padding:9px 22px 9px 10px; border:0; border-radius:0; background:transparent; color:var(--color-muted); font-size:.78rem; font-weight:800; letter-spacing:.025em; text-align:left; text-transform:uppercase; }.table-sort:not(:disabled):hover,.table-sort.is-active { background:#edf5fb; color:var(--color-primary); }.table-sort:disabled { cursor:default; opacity:1; }.column-resize { position:absolute; z-index:5; top:5px; right:-4px; bottom:5px; width:9px; cursor:col-resize; touch-action:none; }.column-resize::after { position:absolute; top:0; bottom:0; left:4px; width:1px; background:var(--color-border); content:""; }.column-resize:hover::after { width:2px; background:var(--color-primary); }.stage-progress { display:grid; gap:5px; min-width:130px; }.stage-progress-track { display:flex; height:9px; overflow:hidden; border:1px solid #cbd4df; border-radius:3px; background:#fff; }.stage-progress-track i { flex:1; border-right:1px solid #cbd4df; background:#fff; }.stage-progress-track i:last-child { border-right:0; }.stage-progress-track i.is-filled { background:var(--stage-color); }.stage-progress > span:last-child { color:var(--color-muted); font-size:.84rem; }.table-scroll-cue.is-scrollable th:first-child { z-index:4; }
@media(max-width:680px){ .list-settings-backdrop { padding:0; }.list-settings-dialog { width:100vw; height:100dvh; max-height:none; border:0; border-radius:0; }.list-field-options { grid-template-columns:1fr; } }

/* Shared finish pass: deals, tasks, calendar, dashboard, catalogs and notifications. */
.lead-title-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.lead-title-row h1 { margin:0; line-height:1.2; }
.lead-title-row .button,.lead-title-row button { margin:0; }
.catalog-title-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.catalog-title-row h1 { margin:0; line-height:1.2; }
.catalog-title-row .button { margin:0; }
.catalog-view-switch { width:max-content; max-width:100%; margin-bottom:16px; }
.catalog-workspace .catalog-search { margin:0 0 20px; padding:0; border:1px solid var(--color-border); border-radius:var(--radius-sm); }
.catalog-workspace .catalog-search .filter-search-shell { flex:1 1 360px; }
.catalog-workspace .catalog-search .muted { padding-right:12px; }
.catalog-workspace .lead-filter { margin-bottom:18px; }
.catalog-total { margin:-8px 0 18px; text-align:right; }
.year-calendar { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:16px; }
.year-month { padding:14px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; }
.year-month h2 { margin:0 0 10px; font-size:1rem; text-transform:capitalize; }
.year-month h2 a { color:inherit; text-decoration:none; }
.year-weekdays,.year-week { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; text-align:center; }
.year-weekdays { margin-bottom:4px; color:var(--color-muted); font-size:.72rem; font-weight:750; }
.year-week a,.year-week > span { position:relative; display:grid; min-height:30px; place-items:center; border-radius:7px; color:var(--color-text); text-decoration:none; font-size:.82rem; }
.year-week a:hover { background:var(--color-primary-soft); color:var(--color-primary); }
.year-week a.has-booking { background:#e7f7ee; color:#126b49; font-weight:800; }
.year-week a.has-booking i { position:absolute; right:4px; bottom:3px; width:5px; height:5px; border-radius:50%; background:var(--color-success); }
.year-week a.selected { box-shadow:inset 0 0 0 2px var(--color-primary); }
.catalog-detail > [data-card-template-card] { display:contents; }
.catalog-detail .record-details.is-template-editing { grid-column:1/-1; min-width:0; padding:4px; }
.catalog-detail .record-details.is-template-editing .catalog-template-preview-form { display:block; }
.catalog-detail .record-details.is-template-editing .record-editor-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.catalog-detail .catalog-template-preview-form { margin:0; }
.catalog-form-card > [data-card-template-card] { display:contents; }
.catalog-form-record-details { min-width:0; }
.catalog-form-record-details.is-template-editing { padding:0; }
.catalog-form-record-details.is-template-editing > form > .form-actions { display:none; }
.catalog-form-record-details.is-template-editing .inline-template-editor { padding-bottom:0; }
.catalog-form-record-details.is-template-editing .inline-template-savebar { position:static; margin:12px 0 18px; border:1px solid var(--color-border); border-radius:10px; box-shadow:none; }
.catalog-form-record-details .catalog-save-bar { position:sticky; z-index:12; right:auto; bottom:12px; left:auto; display:none; width:fit-content; max-width:calc(100% - 24px); min-height:0; margin:18px auto 12px; padding:10px 12px; border:1px solid #cbd8e8; border-radius:12px; background:rgb(255 255 255 / 97%); box-shadow:0 10px 32px rgb(15 35 68 / 18%); }
.catalog-form-record-details .catalog-save-bar.is-visible { display:flex; }
.catalog-custom-section { grid-column:1/-1; margin-top:18px; padding-top:16px; border-top:1px solid var(--color-border); }
.catalog-custom-section h2 { margin:0 0 12px; font-size:1rem; }
.custom-temporal-value { display:inline-flex!important; width:fit-content; align-items:center; gap:7px; padding:5px 9px; border:1px solid #c7dff4; border-radius:8px; background:#eef7ff; color:#174f7d; font-variant-numeric:tabular-nums; }
.custom-temporal-value::before { content:"▣"; color:#2674d9; font-size:.82rem; }
.custom-temporal-value.has-time::before { content:"◷"; }
@media(max-width:700px){.catalog-detail .record-details.is-template-editing .record-editor-fields { grid-template-columns:1fr; }}
.record-details.is-editing .record-editor-fields,.record-details.is-template-editing .record-editor-fields,.catalog-form-record-details .record-editor-fields { grid-template-columns:minmax(0,1fr)!important; }
.record-details.is-template-editing .record-editor-fields { max-width:860px; margin-inline:auto; }
.deal-kanban-card { display:grid; gap:5px; border-left:4px solid var(--stage-color,var(--color-primary)); cursor:default; }
.deal-kanban-card[draggable="true"] { cursor:grab; }
.kanban-stage-header { align-items:center; }
.kanban-stage-header .kanban-stage-edit { display:grid; width:28px; height:28px; min-height:28px; margin:0; padding:0; place-items:center; border:0; background:transparent; color:var(--color-primary); opacity:0; }
.stage:hover .kanban-stage-edit,.kanban-stage-edit:focus-visible { opacity:1; }
.kanban-stage-add { align-self:flex-start; flex:0 0 30px; width:30px; height:30px; min-height:30px; margin:14px -6px 0 -8px; padding:0; border:1px solid #d7e2ef; border-radius:50%; background:#fff; color:var(--color-primary); }
.kanban-dialog-backdrop { position:fixed; }
.kanban-color-controls { display:grid; grid-template-columns:64px 1fr; gap:10px; }
.kanban-color-palette { display:flex; gap:7px; flex-wrap:wrap; margin:10px 0; }
.kanban-color-swatch { width:28px; height:28px; min-height:28px; margin:0; padding:0; border:2px solid #fff; border-radius:7px; background:var(--swatch); box-shadow:0 0 0 1px #ccd6e3; }
.kanban-stage-preview { margin:10px 0; padding:11px 13px; border-left:5px solid var(--preview-color,#2463eb); border-radius:8px; background:#f5f8fc; font-weight:800; }
.kanban-stage-dialog footer { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.kanban-stage-dialog footer button { margin:0; }

.task-workspace { min-width:0; }
.creation-panel { margin:10px 0 18px; border:1px solid var(--color-border); border-radius:10px; background:#f8fbff; }
.creation-panel > summary { padding:12px 14px; color:var(--color-primary); font-weight:800; cursor:pointer; }
.creation-panel > form { padding:0 14px 14px; }
.task-filters { margin:14px 0 16px; padding:14px; border:1px solid var(--color-border); border-radius:10px; background:var(--color-surface-soft); }
.task-filters .filter-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; }
.task-filters label { margin-top:0; }
.task-list-toolbar { display:flex; align-items:center; gap:10px; margin:8px 0; }
.task-table { min-width:1160px; }
.task-table th a { display:block; padding:12px 10px; color:inherit; text-decoration:none; }
.task-table td { vertical-align:top; }
.task-table td:first-child { min-width:230px; }
.task-table td small { display:block; margin-top:4px; color:var(--color-muted); }
.task-row.is-overdue { background:#fff3f3; }
.task-row.is-overdue td[data-column="due_at"],.dashboard-task-list .due-overdue a,.dashboard-task-list .due-overdue .muted { color:var(--color-danger); font-weight:800; }
.task-row.is-due-today { background:#fff8e8; }
.task-row.is-due-today td[data-column="due_at"],.dashboard-task-list .due-today a { color:#a46100; font-weight:800; }
.task-row.is-finished { opacity:.62; background:#f5f7fa; }
.task-status,.task-priority { display:inline-flex; padding:4px 8px; border-radius:999px; background:#edf2f7; font-size:.8rem; font-weight:750; }
.task-status.status-in_progress { background:#e5f6ff; color:#087da9; }.task-status.status-completed { background:#e6f7ef; color:#08784f; }.task-priority.priority-3 { background:#ffe5e5; color:#b4232d; }
.task-row-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.task-row-actions form { margin:0; }.task-row-actions .button,.task-row-actions button { min-height:34px; margin:0; padding:7px 10px; font-size:.82rem; white-space:nowrap; }
.dashboard-task-list li { padding:9px 0; border-bottom:1px solid var(--color-border); }.dashboard-task-list li:last-child { border-bottom:0; }

.booking-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:10px 0; }
.booking-summary-grid p { display:grid; gap:3px; margin:0; padding:9px 10px; border:1px solid var(--color-border); border-radius:8px; background:#fff; }
.booking-summary-grid span { color:var(--color-muted); }
.booking-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin:10px 0; }
.booking-actions[hidden] { display:none; }
.booking-actions form { display:flex; align-items:center; gap:6px; margin:0; }
.booking-actions button,.booking-actions .button { min-height:34px; margin:0; padding:7px 10px; }
.booking-action-complete { background:var(--color-success); }
.booking-action-reschedule { border:1px solid #efbd69; background:#fff0d5; color:#955700; }
.booking-action-reschedule:hover { background:#ffe5b7; }
.booking-action-danger { background:var(--color-danger); color:#fff; }
.booking-danger-menu > summary { list-style:none; }
.booking-danger-menu > summary::-webkit-details-marker { display:none; }
.booking-danger-actions { display:grid; gap:12px; width:min(470px,calc(100vw - 80px)); margin-top:9px; padding:12px; border:1px solid #efb3be; border-radius:10px; background:var(--color-danger-soft); }
.booking-danger-actions form { display:grid; gap:7px; }
.booking-danger-actions label { margin:0; }
.booking-danger-actions textarea { min-height:74px; }
.booking-danger-actions button { justify-self:start; }
.booking-reschedule-panel { margin:12px 0; padding:15px; border:1px solid #efbd69; border-radius:11px; background:#fffaf0; }
.booking-reschedule-panel[hidden] { display:none; }
.booking-reschedule-panel header { margin-bottom:13px; }
.booking-reschedule-panel header div { display:grid; gap:2px; }
.booking-reschedule-panel header strong { font-size:1.05rem; }
.booking-reschedule-form { display:grid; gap:13px; }
.booking-reschedule-field { display:grid; gap:6px; }
.booking-reschedule-field label { margin:0; font-weight:750; }
.booking-reschedule-field input,.booking-reschedule-field textarea { box-sizing:border-box; width:100%; min-width:0; }
.booking-reschedule-field textarea { min-height:92px; resize:vertical; }
.booking-conflict-options { display:grid; gap:9px; padding:11px 12px; border:1px solid #ead6af; border-radius:9px; background:#fff; }
.booking-conflict-options .inline-check { align-items:flex-start; line-height:1.35; }
.booking-conflict-options [hidden] { display:none; }
.booking-reschedule-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.booking-reschedule-actions button { min-height:36px; margin:0; padding:8px 12px; }
.booking-reschedule-cancel { border:1px solid var(--color-border); background:#fff; color:var(--color-primary); }
.booking-reschedule-cancel:hover { background:var(--color-primary-soft); }
.booking-history { margin-top:10px; border-top:1px solid var(--color-border); }
.booking-history > summary { padding:10px 0; color:var(--color-primary); font-weight:750; cursor:pointer; }
.calendar-booking-list-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:26px; }.calendar-booking-list-heading h2,.calendar-booking-list-heading p { margin:0; }.calendar-booking-list-heading p { margin-top:4px; }
.booking-status { display:inline-flex; align-items:center; padding:4px 9px; border-radius:999px; font-size:.78rem; font-weight:800; }
.booking-status.status-draft { background:#fff0d5; color:#955700; }
.booking-status.status-confirmed { background:#d7f2eb; color:#164e43; }
.booking-status.status-completed { background:var(--color-success); color:#fff; }
.booking-status.status-no_show { background:var(--color-danger-soft); color:#9f1f33; }
.booking-status.status-cancelled { background:var(--color-danger); color:#fff; }
.booking-drawers .booking-card { position:fixed; z-index:151; top:0; right:0; display:none; width:min(620px,100vw); height:100dvh; margin:0; padding:24px; overflow:auto; border:0; border-left:1px solid var(--color-border); border-radius:0; background:#fff; box-shadow:-20px 0 56px rgb(15 23 42 / 22%); }.booking-drawers .booking-card.is-open { display:block; }.booking-drawers .booking-card > .drawer-close { position:sticky; z-index:2; top:0; float:right; margin:-8px -8px 8px 12px; background:#fff; }.drawer-backdrop { position:fixed; z-index:150; inset:0; background:rgb(15 23 42 / 38%); }.drawer-backdrop[hidden] { display:none; }.drawer-open { overflow:hidden; }
.booking-item-summary { margin:8px 0; padding:11px 12px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-surface-soft); }.booking-custom-fields { margin-top:16px; }
.form-actions-separated { display:flex; align-items:center; gap:8px; }
.form-actions-separated .secondary-danger,.form-actions .secondary-danger { margin-left:auto; }

.catalog-content { min-width:0; }
.catalog-table { min-width:780px; }
.catalog-table th[draggable="true"] { cursor:grab; }
.catalog-table th a { display:block; padding:11px 10px; }

.notification-center { max-width:1120px; margin-inline:auto; }
.notification-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.notification-heading h1,.notification-heading p { margin:0; }
.notification-heading button { margin:0; }
.notification-tabs { display:flex; gap:6px; margin:18px 0; padding-bottom:12px; border-bottom:1px solid var(--color-border); }
.notification-tabs a { display:flex; align-items:center; gap:6px; padding:8px 12px; border-radius:8px; color:var(--color-muted); font-weight:750; text-decoration:none; }
.notification-tabs a.active { background:var(--color-primary-soft); color:var(--color-primary); }
.notification-tabs span { display:grid; min-width:21px; height:21px; padding:0 5px; place-items:center; border-radius:999px; background:var(--color-danger); color:#fff; font-size:.72rem; }
.notification-group { margin-top:20px; }.notification-group > h2 { margin:0 0 8px; color:var(--color-muted); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.notification-feed { display:grid; gap:8px; }
.notification-item { position:relative; display:flex; align-items:center; gap:8px; border:1px solid var(--color-border); border-radius:11px; background:#fff; }
.notification-item.is-unread { border-color:#b9daec; background:#edf8fd; }
.notification-item.is-critical { border-left:4px solid var(--color-danger); }
.notification-main { display:grid; min-width:0; flex:1; grid-template-columns:42px minmax(0,1fr) 10px; align-items:center; gap:12px; padding:12px 14px; color:inherit; text-decoration:none; }
.notification-icon { display:grid; width:40px; height:40px; place-items:center; border-radius:10px; background:#e8f1ff; color:var(--color-primary); font-size:1.15rem; font-weight:900; }
.notification-item.is-critical .notification-icon { background:#ffe9e9; color:var(--color-danger); }
.notification-copy { display:grid; min-width:0; gap:3px; }.notification-copy > span { overflow:hidden; color:var(--color-muted); text-overflow:ellipsis; white-space:nowrap; }.notification-copy small { color:var(--color-muted); }
.notification-dot { width:9px; height:9px; border-radius:50%; background:var(--color-primary); }
.notification-item > form { margin-right:12px; }.notification-item > form button { margin:0; white-space:nowrap; }

@media(max-width:900px){ .task-filters .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.booking-summary-grid { grid-template-columns:1fr; } }
@media(max-width:760px){.calendar-view-tabs { width:100%; }.calendar-view-tabs a { flex:1; min-width:0; }.calendar-period-toolbar { align-items:stretch; }.calendar-period-navigation { flex-basis:100%; flex-wrap:wrap; }.calendar-period-picker { max-width:100%; }.calendar-date-form { width:100%; margin-left:0; }.calendar-date-form input { flex:1; min-width:0; }.booking-drawers .booking-card { padding:18px; }}
@media(max-width:680px){ .lead-title-row { align-items:flex-start; }.task-filters .filter-grid { grid-template-columns:1fr; }.notification-main { grid-template-columns:38px minmax(0,1fr) 8px; padding:10px; }.notification-item > form { display:none; }.notification-copy > span { white-space:normal; }.form-actions-separated .secondary-danger,.form-actions .secondary-danger { width:100%; margin-left:0; } }

/* Lead stage transitions and completion dialogs. */
.record-overlay-card > .stage-ribbon { scrollbar-gutter:stable; }
.record-overlay-card > .stage-ribbon .stage-ribbon-item { flex:1 1 112px; min-width:clamp(92px,8vw,132px); max-width:220px; min-height:42px; margin:0; padding-inline:clamp(7px,1vw,13px); overflow:hidden; cursor:pointer; text-overflow:ellipsis; white-space:nowrap; }
.record-overlay-card > .stage-ribbon .stage-ribbon-finish { flex-grow:1.35; min-width:clamp(150px,13vw,210px); }
.record-overlay-card > .stage-ribbon .stage-ribbon-item:disabled { cursor:default; opacity:1; }
.record-overlay-card > .stage-ribbon .stage-ribbon-item.is-final-current { border-color:var(--stage-color); background:var(--stage-color); color:var(--stage-text,#fff); box-shadow:none; }
.stage-ribbon-finish { border-color:#91a0b5!important; border-bottom-color:#91a0b5!important; background:#edf1f5!important; color:#25334a!important; }
.stage-ribbon-finish:hover { border-color:var(--color-primary)!important; color:var(--color-primary)!important; }
.record-dialog-backdrop { position:absolute; z-index:25; inset:0; display:grid; place-items:center; padding:20px; background:rgb(15 35 68 / 38%); backdrop-filter:blur(2px); }
.record-dialog-backdrop[hidden] { display:none; }
.record-dialog { width:min(620px,100%); max-height:min(760px,calc(100vh - 50px)); overflow:auto; padding:20px; border:1px solid var(--color-border); border-radius:15px; background:#fff; box-shadow:0 24px 70px rgb(5 20 45 / 32%); }
.record-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:13px; border-bottom:1px solid var(--color-border); }
.record-dialog h2 { margin:3px 0 0; font-size:1.25rem; }
.dialog-close { width:36px; min-width:36px; min-height:36px; margin:0; padding:0; border-radius:50%; background:#eef2f7; color:var(--color-text); font-size:1.35rem; }
.record-dialog footer { display:flex; gap:9px; margin-top:18px; padding-top:14px; border-top:1px solid var(--color-border); }
.record-dialog footer button { margin:0; }
.completion-result-group { margin:16px 0; padding:0; border:0; }
.completion-result-group legend { margin-bottom:10px; font-weight:800; }
.completion-stage-group + .completion-stage-group { margin-top:14px; }
.completion-stage-group > strong { display:block; margin-bottom:7px; color:var(--color-muted); font-size:.82rem; text-transform:uppercase; }
.completion-stage-options { display:flex; flex-wrap:wrap; gap:8px; }
.completion-stage-option input { position:absolute; opacity:0; pointer-events:none; }
.completion-stage-option span { display:block; padding:9px 12px; border:2px solid transparent; border-radius:9px; background:color-mix(in srgb,var(--stage-color) 13%,white); color:var(--color-text); cursor:pointer; font-weight:750; }
.completion-stage-option input:checked + span { border-color:var(--stage-color); background:var(--stage-color); color:var(--stage-text,#fff); box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color) 18%,transparent); }
.completion-field { margin-top:11px; }
.completion-field label { margin-top:0; }
.completion-conversion-details { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
.completion-field[hidden] { display:none; }
.form-dialog-errors { margin:12px 0 0; padding:9px 11px; border-radius:8px; background:#fff0f0; color:var(--color-danger); }
.required-fields-dialog { width:min(520px,100%); }
.required-fields-dialog > .muted { margin:14px 0; }
.required-field-clone { margin-top:11px; }
.required-field-clone label { margin-top:0; }
@media(max-width:760px){ .record-dialog-backdrop { position:fixed; padding:10px; }.record-dialog { max-height:calc(100dvh - 20px); }.completion-conversion-details { grid-template-columns:1fr; } }

/* Inline administration of working lead stages in the Kanban. */
.lead-kanban-fragment { position:relative; }
.lead-kanban-fragment > form { display:none; }
.lead-board { gap:8px; scrollbar-gutter:stable; }
.lead-board > .stage { flex:1 1 clamp(190px,14vw,260px); min-width:180px; max-width:280px; }
.kanban-stage-header { align-items:center; margin:-14px -14px 8px; padding:10px 10px 9px 14px; border-bottom:3px solid var(--stage-color); border-radius:calc(var(--radius-md) - 2px) calc(var(--radius-md) - 2px) 7px 7px; background:color-mix(in srgb,var(--stage-color) 18%,white); }
.kanban-stage-header > strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kanban-stage-header .kanban-stage-edit { flex:0 0 30px; width:30px; min-width:30px; min-height:30px; margin:0 0 0 2px; padding:0; border:1px solid var(--color-border); border-radius:50%; background:#fff; color:var(--color-primary); opacity:0; transform:translateY(-2px); transition:opacity .15s ease,transform .15s ease; }
.stage:hover .kanban-stage-edit,.kanban-stage-edit:focus-visible { opacity:1; transform:none; }
.kanban-stage-add { align-self:flex-start; flex:0 0 24px; width:24px; min-width:24px; min-height:24px; margin:18px -4px 0; padding:0; border:1px solid #b9c7d9; border-radius:50%; background:#fff; color:var(--color-primary); font-size:1rem; line-height:1; opacity:.32; z-index:2; transition:opacity .15s ease,transform .15s ease; }
.kanban-stage-add:hover,.kanban-stage-add:focus-visible { opacity:1; transform:scale(1.08); }
.kanban-notice { position:sticky; top:10px; z-index:10; width:max-content; max-width:100%; margin:0 auto 10px; padding:9px 14px; border:1px solid #8fd1ac; border-radius:999px; background:#effbf4; color:#17633a; font-weight:750; box-shadow:var(--shadow-sm); }
.kanban-dialog-backdrop { position:fixed; z-index:120; }
.kanban-stage-dialog { width:min(560px,100%); }
.kanban-color-controls { display:grid; grid-template-columns:64px 1fr; gap:10px; align-items:center; }
.kanban-color-controls input { margin-top:0; }
.kanban-color-controls input[type=color] { width:64px; height:44px; padding:3px; cursor:pointer; }
.kanban-color-palette { display:grid; grid-template-columns:repeat(12,1fr); gap:7px; margin-top:12px; }
.kanban-color-swatch { min-width:0; min-height:27px; margin:0; padding:0; border:2px solid #fff; border-radius:6px; background:var(--swatch); box-shadow:0 0 0 1px #cbd5e1; }
.kanban-color-swatch:hover,.kanban-color-swatch:focus-visible { transform:scale(1.12); box-shadow:0 0 0 2px var(--color-primary); }
.kanban-color-swatch.is-selected { box-shadow:0 0 0 3px #172b4d; transform:scale(1.08); }
.pipeline-stage-color .field-help { margin:0; color:var(--color-muted); font-size:.83rem; }
.kanban-stage-preview { margin-top:15px; padding:11px 14px; border-bottom:4px solid var(--preview-color,#2463EB); border-radius:8px; background:color-mix(in srgb,var(--preview-color,#2463EB) 12%,white); font-weight:800; }
.kanban-stage-delete-trigger { margin-left:auto!important; }
.stage-delete-warning { margin:16px 0; padding:14px; border:1px solid #f0b7bd; border-radius:10px; background:#fff5f5; }
.stage-delete-warning p { margin:7px 0 0; }
.danger-text { color:var(--color-danger)!important; }
.lead-kanban-card.is-dragging,.deal-kanban-card.is-dragging { opacity:.48; transform:rotate(.4deg); }
.kanban-card-finish { width:100%; min-height:34px!important; margin:7px 0 0!important; padding:7px 10px!important; border:1px solid #d5a8ae; background:#fff5f6; color:#9f1f33; font-size:.82rem!important; }
.kanban-completion-tray { position:fixed; z-index:105; right:18px; bottom:18px; left:calc(var(--sidebar-width) + 18px); display:flex; align-items:center; gap:16px; padding:13px 16px; border:1px solid #cbd5e1; border-radius:14px; background:rgb(255 255 255 / 96%); box-shadow:0 18px 55px rgb(15 35 68 / 28%); opacity:0; pointer-events:none; transform:translateY(calc(100% + 30px)); transition:opacity .16s ease,transform .16s ease; backdrop-filter:blur(12px); }
.kanban-completion-tray[hidden] { display:none; }
.kanban-completion-tray.is-visible { opacity:1; pointer-events:auto; transform:none; }
.kanban-completion-tray-heading { flex:0 0 190px; }
.kanban-completion-tray-heading strong,.kanban-completion-tray-heading span { display:block; }
.kanban-completion-tray-heading span { margin-top:3px; color:var(--color-muted); font-size:.78rem; }
.kanban-completion-targets { display:flex; min-width:0; flex:1; gap:8px; overflow:auto; padding:3px; }
.kanban-completion-target { flex:1 0 145px; min-height:48px; margin:0; gap:7px; border:2px solid color-mix(in srgb,var(--stage-color) 72%,#fff); background:var(--stage-color); color:var(--stage-text,#fff); box-shadow:inset 0 -3px 0 rgb(0 0 0 / 9%); }
.kanban-completion-target span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:rgb(255 255 255 / 24%); font-size:1rem; }
.kanban-completion-target.is-over { outline:4px solid color-mix(in srgb,var(--stage-color) 35%,transparent); outline-offset:2px; transform:translateY(-3px); }
.kanban-completion-target.is-failure { border-style:dashed; }
.kanban-completion-tray + [data-kanban-completion-host] .record-dialog-backdrop { position:fixed; z-index:130; }
.lead-completion-dialog > header .muted { margin:5px 0 0; }
@media(max-width:820px){ .lead-board > .stage { flex-basis:230px; min-width:220px; }.record-overlay-card > .stage-ribbon .stage-ribbon-item { flex-basis:120px; min-width:112px; }.kanban-stage-header .kanban-stage-edit,.kanban-stage-add { opacity:1; }.kanban-color-palette { grid-template-columns:repeat(8,1fr); }.kanban-stage-dialog footer { flex-wrap:wrap; }.kanban-stage-delete-trigger { margin-left:0!important; }.kanban-completion-tray { display:none; }.kanban-card-finish { min-height:42px!important; } }

/* Lead creation reuses the layered record-card shell. */
.record-create-card .record-overlay-body { grid-template-columns:minmax(420px,.9fr) minmax(500px,1.1fr); }
.record-create-form .record-editor-fields { gap:10px; }
.record-create-form .record-edit-field { margin:0; }
.record-create-form .record-edit-field > label { margin-top:0; }
.record-create-form .company-lookup { position:relative; }
.record-create-timeline { display:flex; flex-direction:column; }
.record-create-empty { display:grid; min-height:300px; padding:34px; place-content:center; text-align:center; color:var(--color-muted); }
.record-create-empty > span { font-size:2rem; }
.record-create-empty h3 { margin:12px 0 6px; color:var(--color-text); }
.record-create-empty p { max-width:430px; margin:0; }
.record-nested-create { position:absolute; z-index:20; inset:14px auto 76px 14px; width:min(540px,calc(50% - 28px)); overflow:auto; padding:20px; border:1px solid var(--color-border); border-radius:12px; background:#fff; box-shadow:var(--shadow-md); }
.record-nested-create > header { display:flex; align-items:center; justify-content:space-between; }
.record-create-card .stage-ribbon-item { cursor:pointer; }
@media(max-width:760px){ .record-create-timeline { display:none; }.record-nested-create { position:fixed; inset:0 0 62px; width:auto; border:0; border-radius:0; } }

/* The administrator edits the shared card template without leaving the record overlay. */
.record-details.is-template-editing { overflow:auto; }
.record-details.is-template-editing [data-record-display],.record-details.is-template-editing .template-selector { display:none!important; }
.record-details.is-template-editing .record-edit-form { padding-bottom:82px; }
.inline-card-template-host { min-height:0; }
.inline-template-editor { padding-bottom:72px; }
.inline-template-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:13px; border-bottom:1px solid var(--color-border); }
.inline-template-heading h2 { margin:3px 0 4px; font-size:1.2rem; }
.inline-template-heading p { margin:0; font-size:.84rem; }
.inline-template-heading .record-overlay-close { flex:0 0 auto; width:34px; height:34px; font-size:1.3rem; }
.inline-template-toolbar { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.inline-template-toolbar .button { margin:0; }
.inline-template-picker { width:fit-content; min-width:min(430px,calc(100vw - 28px)); max-width:min(760px,calc(100vw - 28px)); max-height:min(680px,calc(100vh - 28px)); padding:0; border:1px solid var(--color-border); border-radius:14px; background:#fff; box-shadow:var(--shadow-md); }
.inline-template-picker::backdrop { background:rgb(24 38 61 / 42%); }
.inline-template-picker > header,.inline-template-picker > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; }
.inline-template-picker > header { border-bottom:1px solid var(--color-border); }
.inline-template-picker > header h3,.inline-template-picker > header p { margin:0; }
.inline-template-picker > header button { min-width:34px; margin:0; padding:5px; background:transparent; color:var(--color-muted); }
.inline-template-picker > input[type="search"] { width:calc(100% - 32px); margin:14px 16px 6px; }
.inline-template-select-all { display:inline-flex; align-items:center; gap:7px; margin:4px 16px 2px; color:var(--color-text); font-size:.8rem; font-weight:750; cursor:pointer; }
.inline-template-select-all input { margin:0; }
.inline-template-picker-list { display:grid; gap:12px; max-height:390px; padding:8px 16px 14px; overflow:auto; }
.inline-template-picker-list section { min-width:0; }
.inline-template-picker-list section[hidden] { display:none; }
.inline-template-picker-list h4 { margin:0 0 7px; padding-bottom:6px; border-bottom:1px solid var(--color-border); color:var(--color-muted); font-size:.82rem; }
.inline-template-picker-grid { display:grid; grid-template-columns:repeat(2,max-content); gap:6px; }
.inline-template-picker-list label { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; min-width:180px; max-width:340px; min-height:38px; margin:0; padding:8px 10px; border:1px solid transparent; border-radius:8px; background:#fff; cursor:pointer; }
.inline-template-picker-list label span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inline-template-picker-list label:hover { border-color:#8dbce9; background:#e8f4ff; }
.inline-template-picker-list label.is-selected,.inline-template-picker-list label:has(input:checked) { border-color:#c7dff4; background:#eaf7fc; }
.inline-template-picker-list label.is-mandatory { cursor:not-allowed; }
.inline-template-picker-list label.is-mandatory input { opacity:.72; }
.inline-template-picker-list label small { color:var(--color-muted); font-size:.72rem; }
.inline-template-picker-list label[hidden],.inline-template-picker-list label.is-filtered-out { display:none; }
.inline-template-picker > footer { border-top:1px solid var(--color-border); justify-content:flex-start; }
@media (max-width:640px) { .inline-template-picker { min-width:calc(100vw - 28px); }.inline-template-picker-grid { grid-template-columns:1fr; }.inline-template-picker-list label { max-width:none; } }
.inline-template-source-fields { display:none!important; }

/* Universal lead filter pilot: compact saved views + typed conditions. */
.lead-filter { position:relative; z-index:8; margin:16px 0; }
.lead-filter-search { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; align-items:center; gap:0; min-height:46px; padding:3px; border:1px solid #9eb2c8; border-radius:10px; background:#fff; box-shadow:0 2px 8px rgb(31 54 86 / 6%); }
.lead-filter-search:focus-within { border-color:var(--color-primary); box-shadow:0 0 0 3px rgb(36 99 235 / 13%); }
.lead-filter-trigger { display:flex; align-items:center; gap:7px; min-height:38px; margin:0; padding:6px 10px; border:0; border-right:1px solid var(--color-border); border-radius:7px 0 0 7px; background:#f5f8fc; color:var(--color-text); white-space:nowrap; }
.lead-filter-trigger:hover { background:#eaf2fb; }.lead-filter-magnifier { font-size:1.2rem; }.lead-filter-placeholder { font-weight:750; }
.lead-filter-count { display:grid; min-width:22px; height:22px; padding:0 6px; place-items:center; border-radius:999px; background:var(--color-primary); color:#fff; font-size:.75rem; }
.lead-filter-search input[type=search] { min-width:0; margin:0; border:0; border-radius:0; box-shadow:none; }.lead-filter-search input[type=search]:focus { box-shadow:none; }
.lead-filter-submit { min-height:38px; margin:0; padding:7px 14px; }
.lead-filter-chips { display:flex; align-items:center; gap:6px; overflow:auto; padding:8px 1px 1px; }
.lead-filter-chip { display:inline-flex; align-items:center; gap:6px; min-height:30px; margin:0; padding:5px 9px; border:1px solid #c7dff4; border-radius:999px; background:#eaf7fc; color:#194d77; font-size:.8rem; white-space:nowrap; }
.lead-filter-clear { min-height:30px; margin:0; padding:4px 7px; background:transparent; color:var(--color-muted); font-size:.78rem; }
.lead-filter-popover { position:fixed; z-index:80; top:120px; left:16px; display:grid; grid-template-columns:minmax(210px,240px) minmax(620px,800px); grid-template-rows:minmax(0,1fr); width:min(1040px,calc(100vw - 32px)); max-height:var(--lead-filter-max-height,min(680px,calc(100vh - 140px))); overflow:hidden; border:1px solid var(--color-border); border-radius:14px; background:#fff; box-shadow:0 18px 50px rgb(25 43 70 / 24%); }
.lead-filter-popover[hidden] { display:none; }.lead-filter-saved { overflow:auto; padding:12px; border-right:1px solid var(--color-border); background:#f7f9fc; }
.lead-filter-saved header,.lead-filter-builder header,.lead-filter-field-dialog header,.lead-filter-save-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.lead-filter-saved header button,.lead-filter-builder header button,.lead-filter-field-dialog header button,.lead-filter-save-dialog header button { width:30px; min-height:30px; margin:0; padding:3px; background:transparent; color:var(--color-muted); }
.lead-filter-saved section { margin-top:14px; }.lead-filter-saved h3 { margin:0 0 5px; color:var(--color-muted); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; }
.lead-filter-saved a { display:block; padding:7px 8px; border-radius:7px; color:var(--color-text); text-decoration:none; }.lead-filter-saved a:hover { background:#eaf2fb; color:var(--color-primary); }
.saved-filter-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }.saved-filter-actions { display:flex; }.saved-filter-row form { margin:0; }.saved-filter-row .icon-link { min-height:28px; margin:0; padding:2px 5px; background:transparent; color:var(--color-muted); }
.lead-filter-builder { display:flex; min-width:0; min-height:0; flex-direction:column; overflow:hidden; }.lead-filter-builder > header { flex:0 0 auto; padding:14px 16px 10px; border-bottom:1px solid var(--color-border); }.lead-filter-builder > header div { display:grid; gap:2px; }
.lead-filter-condition-list { display:grid; flex:1 1 auto; min-height:0; gap:8px; overflow:auto; overscroll-behavior:contain; padding:12px 14px 4px; }.lead-filter-empty { margin:20px; padding:18px; border:1px dashed var(--color-border); border-radius:10px; color:var(--color-muted); text-align:center; }.lead-filter-empty[hidden] { display:none; }
.lead-filter-condition-row { display:grid; grid-template-columns:auto minmax(120px,.8fr) minmax(130px,.8fr) minmax(190px,1.25fr) auto; align-items:center; gap:8px; padding:8px; border:1px solid #e0e7ef; border-radius:9px; background:#fff; }.lead-filter-condition-row.is-dragging { opacity:.55; }.lead-filter-drag { color:#a6b0bf; cursor:grab; }.lead-filter-condition-row strong { overflow:hidden; font-size:.85rem; text-overflow:ellipsis; white-space:nowrap; }.lead-filter-condition-row select,.lead-filter-condition-row input { min-height:36px; margin:0; padding:7px 8px; font-size:.83rem; }
.lead-filter-value.is-range { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.lead-filter-remove { min-width:30px; min-height:30px; margin:0; padding:2px; background:transparent; color:var(--color-muted); font-size:1.15rem; }
.lead-filter-multiselect { position:relative; }.lead-filter-multiselect-summary { width:100%; min-height:36px; margin:0; overflow:hidden; padding:7px 9px; border:1px solid #aeb8c8; background:#fff; color:var(--color-text); text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.lead-filter-multiselect-menu { position:fixed; z-index:420; display:grid; width:min(420px,calc(100vw - 16px)); max-height:320px; overflow:auto; overscroll-behavior:contain; padding:7px; border:1px solid var(--color-border); border-radius:10px; background:#fff; box-shadow:0 16px 38px rgb(25 43 70 / 28%); }.lead-filter-multiselect-menu[hidden] { display:none; }.lead-filter-multiselect-menu input[type=search] { position:sticky; z-index:1; top:0; margin:0 0 5px; background:#fff; }.lead-filter-multiselect-menu label { display:flex; align-items:center; gap:7px; min-height:34px; margin:0; padding:6px; border-radius:6px; font-size:.82rem; }.lead-filter-multiselect-menu label:hover { background:#eef6fd; }.lead-filter-multiselect-menu label[hidden] { display:none; }
.lead-filter-add { flex:0 0 auto; align-self:flex-start; margin:7px 16px; color:var(--color-primary); }.lead-filter-builder > footer { position:sticky; z-index:2; bottom:0; display:flex; flex:0 0 auto; gap:6px; margin-top:auto; padding:7px 14px; border-top:1px solid var(--color-border); background:#fff; box-shadow:0 -5px 12px rgb(25 43 70 / 7%); }.lead-filter-builder > footer button { min-height:32px; margin:0; padding:5px 10px; font-size:.82rem; }
.lead-filter-field-dialog,.lead-filter-save-dialog { width:min(720px,calc(100vw - 28px)); max-height:min(680px,calc(100vh - 28px)); padding:0; border:1px solid var(--color-border); border-radius:14px; box-shadow:var(--shadow-md); }.lead-filter-field-dialog::backdrop,.lead-filter-save-dialog::backdrop { background:rgb(24 38 61 / 42%); }.lead-filter-field-dialog > header,.lead-filter-save-dialog header { padding:14px 16px; border-bottom:1px solid var(--color-border); }.lead-filter-field-dialog header p,.lead-filter-save-dialog header p { margin:2px 0 0; color:var(--color-muted); font-size:.8rem; }.lead-filter-field-dialog > input { width:calc(100% - 32px); margin:14px 16px 4px; }.lead-filter-field-groups { display:grid; gap:14px; max-height:430px; overflow:auto; padding:10px 16px 16px; }.lead-filter-field-groups section[hidden] { display:none; }.lead-filter-field-groups h3 { margin:0 0 7px; padding-bottom:6px; border-bottom:1px solid var(--color-border); color:var(--color-muted); font-size:.82rem; }.lead-filter-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }.lead-filter-field-grid label { display:flex; align-items:center; gap:8px; min-height:38px; margin:0; padding:7px 9px; border:1px solid #dce5ee; border-radius:8px; background:#fff; color:var(--color-text); text-align:left; cursor:pointer; }.lead-filter-field-grid label:hover { border-color:#8dbce9; background:#f4f9fe; }.lead-filter-field-grid label.is-selected { border-color:#b8daf4; background:#e8f4ff; }.lead-filter-field-grid label input { flex:0 0 auto; margin:0; }.lead-filter-field-dialog > footer,.lead-filter-save-dialog footer { display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--color-border); }.lead-filter-field-dialog footer button,.lead-filter-save-dialog footer button { margin:0; }
.lead-filter-field-grid [data-field-label][hidden] { display:none; }
.lead-filter-save-dialog form { display:grid; }.lead-filter-save-dialog form > label,.lead-filter-save-dialog form > input,.lead-filter-save-dialog form > .check-label { margin-right:16px; margin-left:16px; }.lead-filter-save-dialog form > label { margin-top:12px; }.lead-filter-save-dialog .check-label { margin-top:8px; }
@media(max-width:980px){.lead-filter-popover { position:fixed; inset:64px 10px 10px; width:auto; max-height:none; grid-template-columns:190px minmax(0,1fr); }.lead-filter-condition-row { grid-template-columns:auto minmax(120px,1fr) auto; }.lead-filter-condition-row .lead-filter-operator,.lead-filter-condition-row .lead-filter-value { grid-column:2 / 3; }.lead-filter-condition-row .lead-filter-remove { grid-column:3; grid-row:1; }}
@media(max-width:640px){.lead-filter-search { grid-template-columns:auto minmax(0,1fr); }.lead-filter-submit { display:none; }.lead-filter-placeholder { display:none; }.lead-filter-popover { inset:0; z-index:300; grid-template-columns:1fr; border:0; border-radius:0; }.lead-filter-saved { max-height:34vh; border-right:0; border-bottom:1px solid var(--color-border); }.lead-filter-builder > footer { position:sticky; bottom:0; background:#fff; }.lead-filter-field-grid { grid-template-columns:1fr; }.lead-filter-condition-row { grid-template-columns:auto minmax(0,1fr) auto; }}
.inline-template-active-fields { display:grid; gap:8px; }
.inline-template-field { border:1px solid var(--color-border); border-radius:10px; background:#fff; transition:opacity .12s ease,box-shadow .12s ease; }
.inline-template-field.is-dragging { opacity:.5; box-shadow:var(--shadow-md); }
.inline-template-field > header { display:flex; align-items:center; gap:9px; min-height:48px; padding:8px 9px; }
.inline-template-field > header div { min-width:0; flex:1; }
.inline-template-field > header strong,.inline-template-field > header small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inline-template-field > header small { margin-top:2px; color:var(--color-muted); font-size:.73rem; }
.inline-template-drag,.inline-template-gear { display:grid; width:32px; height:32px; min-height:0; margin:0; padding:0; place-items:center; border:0; background:transparent; color:var(--color-muted); cursor:grab; }
.inline-template-gear { color:var(--color-primary); cursor:pointer; }
.inline-template-field-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:0 12px 12px 52px; border-top:1px solid #edf1f6; }
.inline-template-field-controls[hidden] { display:none; }
.inline-template-field-controls label { margin:9px 0 0; color:var(--color-muted); font-size:.76rem; }
.inline-template-field-controls input,.inline-template-field-controls select { margin-top:4px; font-size:.86rem; }
.inline-template-position { display:none; }
.inline-template-stages { grid-column:1/-1; }
.inline-template-stages select { min-height:86px; }
.card-required-stage-control { display:flex; grid-column:1/-1; align-items:flex-start; flex-direction:column; gap:7px; margin-top:9px; }
.card-required-stage-toggle { display:inline-flex!important; align-items:center; gap:6px; margin:0!important; color:var(--color-text)!important; font-size:.82rem!important; font-weight:700; cursor:pointer; }
.card-required-stage-toggle input { width:auto; margin:0; }
.card-required-stage-summary { width:auto; min-height:30px; margin:0; padding:5px 12px; border:1px solid color-mix(in srgb,var(--stage-color,#d7e0eb) 72%,#8290a3); border-radius:999px; background:var(--stage-color,#d7e0eb); color:#172033; font-size:.78rem; font-weight:750; }
.inline-template-remove { justify-self:start; margin:3px 0 0; }
.inline-template-savebar { position:absolute; z-index:10; right:0; bottom:0; left:0; display:flex; align-items:center; gap:8px; min-height:62px; padding:8px 16px; border-top:1px solid var(--color-border); background:rgb(255 255 255 / 98%); box-shadow:0 -8px 20px rgb(15 35 68 / 8%); }
.inline-template-savebar button { margin:0; }
.record-details.is-template-editing .record-save-bar { display:none!important; }
.is-card-template-field { position:relative; margin:6px 0; padding:9px 42px 10px 34px; border:1px solid transparent; border-radius:9px; background:#fff; transition:border-color .12s ease,background .12s ease,opacity .12s ease; }
.is-card-template-field:hover,.is-card-template-field:focus-within { border-color:#b9d5f2; background:#f8fbff; }
.is-card-template-field.is-template-hidden-preview { border-style:dashed; opacity:.58; }
.is-card-template-field.is-template-hidden-preview::after { display:block; margin-top:6px; color:var(--color-muted); font-size:.74rem; content:"Поле будет скрыто после сохранения"; }
.is-card-template-field.is-template-dragging { opacity:.42; box-shadow:var(--shadow-md); }
.is-card-template-field.is-template-drop-before,.is-card-template-field.is-template-drop-after { z-index:4; border-color:#2674d9; background:#eef6ff; }
.is-card-template-field.is-template-drop-before { box-shadow:inset 0 4px #2674d9; }
.is-card-template-field.is-template-drop-after { box-shadow:inset 0 -4px #2674d9; }
.is-card-template-field.is-template-drop-before::before,.is-card-template-field.is-template-drop-after::before { position:absolute; z-index:6; left:8px; padding:3px 7px; border-radius:999px; background:#155fc2; color:#fff; content:attr(data-template-drop-label); font-size:.7rem; font-weight:800; line-height:1.25; pointer-events:none; white-space:nowrap; }
.is-card-template-field.is-template-drop-before::before { top:-10px; }
.is-card-template-field.is-template-drop-after::before { bottom:-10px; }
.card-field-drag,.card-field-gear { position:absolute; z-index:3; top:10px; display:grid; width:28px; height:28px; min-height:0; margin:0; padding:0; place-items:center; border:0; background:transparent; color:#7a8799; }
.card-field-drag { left:3px; cursor:grab; font-size:1.05rem; }
.card-field-gear { right:5px; color:var(--color-primary); font-size:.95rem; }
.card-field-menu { position:absolute; z-index:15; top:38px; right:5px; display:grid; width:210px; padding:7px; border:1px solid var(--color-border); border-radius:11px; background:#fff; box-shadow:var(--shadow-md); }
.card-field-menu[hidden],.card-field-config[hidden] { display:none!important; }
.card-field-menu button { justify-content:flex-start; min-height:36px; margin:0; padding:7px 9px; background:transparent; color:var(--color-text); text-align:left; }
.card-field-menu button:hover { background:var(--color-primary-soft); color:var(--color-primary); }
.card-field-menu button:disabled { color:#9aa5b3; cursor:not-allowed; }
.card-field-menu label { margin:0; padding:8px 9px; font-size:.9rem; font-weight:600; }
.card-field-config { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:9px -30px 0 0; padding:12px; border:1px solid #b9d5f2; border-radius:9px; background:#f4f9ff; }
.card-field-config label { margin:0; color:var(--color-muted); font-size:.76rem; }
.card-field-config input,.card-field-config select,.card-field-config textarea { margin-top:4px; font-size:.86rem; }
.card-field-config label:has(textarea),.card-field-config label:has(select[multiple]) { grid-column:1/-1; }
.card-required-stage-button { grid-column:1/-1; justify-self:start; margin:0; }
.required-stage-dialog { width:min(440px,calc(100vw - 28px)); max-height:min(680px,calc(100dvh - 28px)); padding:0; border:0; border-radius:14px; box-shadow:0 24px 70px rgb(15 35 68 / 38%); }
.required-stage-dialog::backdrop { background:rgb(15 35 68 / 42%); }
.required-stage-dialog > header,.required-stage-dialog > footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; }
.required-stage-dialog > header { border-bottom:1px solid var(--color-border); }
.required-stage-dialog > header h3,.required-stage-dialog > header p { margin:0; }
.required-stage-dialog > header button { min-width:34px; margin:0; padding:5px; background:transparent; color:var(--color-muted); }
.required-stage-all { display:flex; align-items:center; gap:8px; margin:12px 16px; padding:10px; border-radius:9px; background:#e8edf4; }
.required-stage-list { display:grid; gap:12px; max-height:430px; padding:0 16px 14px; overflow:auto; }
.required-stage-list section h4 { margin:0 0 7px; }
.required-stage-list section > small { display:block; margin:9px 0 5px; color:var(--color-muted); font-size:.7rem; text-transform:uppercase; }
.required-stage-list section > div { display:grid; gap:5px; }
.required-stage-list section label { display:flex; align-items:center; gap:8px; margin:0; padding:8px 10px; border-left:5px solid var(--stage-color); border-radius:8px; background:color-mix(in srgb,var(--stage-color) 17%,#fff); }
.required-stage-list section label:has(input:checked) { box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--stage-color) 58%,#fff); }
.required-stage-dialog > footer { justify-content:flex-start; border-top:1px solid var(--color-border); }
.required-stage-dialog > footer button { margin:0; }
.searchable-choice { display:grid; gap:6px; margin-top:4px; padding:8px; border:1px solid var(--color-border); border-radius:8px; background:#fff; }
.searchable-choice-search { margin:0!important; }
.searchable-choice-list { display:grid; max-height:180px; overflow:auto; }
.searchable-choice-list label { display:flex; align-items:center; gap:8px; margin:0; padding:7px 5px; border-radius:6px; cursor:pointer; }
.searchable-choice-list label:hover { background:var(--color-primary-soft); }
.searchable-choice-list label[hidden] { display:none; }
.inline-custom-field-dialog { width:min(620px,calc(100vw - 32px)); max-height:min(760px,calc(100dvh - 32px)); padding:0; border:0; border-radius:14px; box-shadow:0 24px 70px rgb(15 35 68 / 38%); }
.inline-custom-field-dialog::backdrop { background:rgb(15 35 68 / 48%); }
.inline-custom-field-dialog form { padding:18px; }
.inline-custom-field-dialog header,.inline-custom-field-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.inline-custom-field-dialog header h3 { margin:0; }
.inline-custom-field-dialog header button { width:34px; min-height:34px; margin:0; padding:0; background:#eef2f7; color:var(--color-text); }
.inline-custom-field-dialog footer { justify-content:flex-start; margin-top:14px; }
.inline-custom-field-dialog footer button { margin:0; }
.inline-custom-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; margin-top:14px; }
.inline-custom-field-grid label { margin:0; }
.inline-custom-field-grid small { display:block; margin-top:3px; color:var(--color-muted); }
.inline-custom-field-options { grid-column:1/-1; }
.inline-custom-field-options[hidden] { display:none; }
.inline-custom-field-options[role=group],fieldset.inline-custom-field-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:12px; border:1px solid var(--color-border); border-radius:9px; }
.inline-custom-field-options[role=group][hidden],fieldset.inline-custom-field-options[hidden] { display:none; }
.inline-custom-field-options legend { padding:0 5px; font-weight:700; }
.inline-custom-field-options textarea { min-height:70px; }
@media(max-width:760px){ .inline-template-field-controls,.inline-custom-field-grid { grid-template-columns:1fr; }.inline-template-field-controls { padding-left:12px; }.inline-template-stages,.inline-custom-field-options { grid-column:auto; }.inline-template-savebar { position:fixed; } }
@media(max-width:760px){ .card-field-config { grid-template-columns:1fr; margin-right:0; }.card-field-config label:has(textarea),.card-field-config label:has(select[multiple]) { grid-column:auto; } }

.record-workspace-tabs { display:flex; align-items:center; gap:6px; padding:0 20px; overflow-x:auto; border-bottom:1px solid var(--color-border); background:#f8fafc; }
.record-overlay-card:has(> .record-workspace-tabs) { display:flex; flex-direction:column; }
.record-overlay-card:has(> .record-workspace-tabs) > .record-overlay-header,
.record-overlay-card:has(> .record-workspace-tabs) > .stage-ribbon,
.record-overlay-card:has(> .record-workspace-tabs) > .record-workspace-tabs { flex:0 0 auto; }
.record-overlay-card > [data-card-panel] { flex:1 1 auto; min-height:0; }
.record-overlay-card > [data-card-panel="general"] { overflow:hidden; }
.record-overlay-card > [data-card-panel="general"] > .record-overlay-body { height:100%; }
.record-workspace-tabs > button { position:relative; flex:0 0 auto; min-height:48px; margin:0; padding:10px 14px; border:0; background:transparent; color:var(--color-muted); }
.record-workspace-tabs > button.active { color:var(--color-primary); }
.record-workspace-tabs > button.active::after { position:absolute; right:10px; bottom:0; left:10px; height:3px; border-radius:3px 3px 0 0; background:var(--color-primary); content:""; }
.record-workspace-tabs details { flex:0 0 auto; color:var(--color-muted); }
.record-workspace-tabs details span { position:absolute; z-index:20; padding:9px 12px; border:1px solid var(--color-border); border-radius:9px; background:#fff; box-shadow:var(--shadow-md); white-space:nowrap; }
.record-tab-panel { padding:20px; overflow:auto; background:#f4f7fb; }
.record-panel-header { margin-bottom:16px; }
.record-panel-header p,.record-panel-header h2 { margin:0; }
.relation-group { margin-bottom:18px; }
.relation-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; }
.relation-card { display:grid; gap:4px; padding:14px; border:1px solid var(--color-border); border-left:4px solid var(--color-primary); border-radius:10px; background:#fff; color:var(--color-text); text-decoration:none; }
.relation-card:hover { border-color:#9fc4ee; box-shadow:var(--shadow-sm); }
.relation-card small,.relation-card span { color:var(--color-muted); }
.history-controls { display:flex; justify-content:flex-end; margin-bottom:12px; }
.history-controls label { width:min(280px,100%); margin:0; }
.history-list { display:grid; gap:9px; }
.history-entry { padding:13px 15px; border:1px solid var(--color-border); border-radius:10px; background:#fff; }
.history-entry p { margin:5px 0; }
.history-entry small { color:var(--color-muted); }
.communication-composer { margin-bottom:16px; border:1px solid var(--color-border); border-radius:12px; background:#fff; overflow:hidden; }
.communication-tabs { display:flex; gap:3px; padding:0 10px; overflow-x:auto; border-bottom:1px solid var(--color-border); }
.communication-tabs button { flex:0 0 auto; min-height:42px; margin:0; padding:9px 10px; border:0; border-radius:0; background:transparent; color:var(--color-muted); font-size:.85rem; }
.communication-tabs button.active { color:var(--color-primary); box-shadow:inset 0 -2px var(--color-primary); }
.communication-form { display:grid; gap:8px; padding:12px; }
.communication-form.is-hidden { display:none; }
.communication-form label { margin:0; }
.communication-form textarea { min-height:80px; }
.communication-form button { justify-self:start; margin:0; }
.communication-form-actions { display:flex; align-items:center; gap:12px; }
.attachment-trigger { display:inline-flex; align-items:center; gap:6px; color:var(--color-primary); cursor:pointer; }
.attachment-trigger input { position:absolute; width:1px; height:1px; opacity:0; }
.comment-files { padding:9px; border:1px dashed var(--color-border); border-radius:9px; transition:border-color .12s ease,background .12s ease; }
.comment-files.is-dragover { border-color:var(--color-primary); background:var(--color-primary-soft); }
.attachment-preview-list { display:flex; flex-wrap:wrap; gap:6px; }
.attachment-preview-list > span { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:999px; background:var(--color-primary-soft); font-size:.76rem; }
.attachment-preview-list button { width:20px; min-height:20px; margin:0; padding:0; border:0; background:transparent; color:var(--color-muted); }
.activity { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; }
.activity > div { min-width:0; }
.activity-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--color-primary-soft); color:var(--color-primary); }
.activity.is-overdue { border-color:#ef9ba4; background:#fff4f5; }
.activity.is-overdue .activity-icon { background:#fee2e2; color:#c52f3e; }
.activity-attachments { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.activity-attachment { display:flex; align-items:center; gap:6px; padding:7px; border:1px solid var(--color-border); border-radius:8px; background:#fff; }
.activity-attachment img { width:76px; height:58px; object-fit:cover; border-radius:6px; }
.activity-attachment form { display:inline; }
.timeline-filter nav button { width:100%; margin:0; border:0; background:transparent; color:var(--color-text); text-align:left; }
.timeline-filter nav button.active { background:var(--color-primary-soft); color:var(--color-primary); }
@media(max-width:760px){ .record-workspace-tabs { padding:0 8px; }.record-overlay-card > [data-card-panel="general"] { overflow:auto; }.record-overlay-card > [data-card-panel="general"] > .record-overlay-body { height:auto; min-height:100%; }.record-tab-panel { padding:12px; }.relation-grid { grid-template-columns:1fr; }.communication-tabs button { font-size:.78rem; } }

/* Booking form v2: compact service search and collision-free narrow layout. */
.calendar-creation-panel .booking-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:12px;
}
.service-picker,.booking-crm-links,.booking-custom-fields {
  min-width:0;
  margin:14px 0;
  padding:14px;
  border:1px solid var(--color-border);
  border-radius:12px;
}
.booking-service-search-row { display:block; margin-bottom:10px; }
.booking-service {
  display:grid;
  min-width:0;
  gap:12px;
  margin-top:10px;
  padding:12px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
}
.booking-service:not(.is-selected) { padding:9px 12px; background:var(--color-surface-soft); }
.booking-service-header { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:12px; }
.booking-service-choice { display:flex; flex:1 1 auto; min-width:0; align-items:flex-start; gap:8px; cursor:pointer; }
.booking-service-choice span { min-width:0; overflow-wrap:anywhere; }
.booking-service-actions { display:flex; flex:0 0 auto; align-items:center; gap:7px; }
.booking-service:not(.is-selected) .booking-service-actions { display:none; }
.booking-service-fields { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; gap:12px; }
.booking-service-fields[hidden] { display:none; }
.booking-service-fields > div { min-width:0; }
.booking-service-fields input,.booking-service-fields select,.booking-service-fields textarea { width:100%; max-width:100%; }
.booking-item-participants { grid-template-columns:minmax(0,1fr); }
.booking-crm-links .booking-grid { grid-template-columns:minmax(0,1fr); }
@media (max-width:700px) {
  .calendar-creation-panel > form { padding-inline:10px; }
  .service-picker,.booking-crm-links,.booking-custom-fields { padding:10px; }
  .booking-service-header { display:grid; grid-template-columns:minmax(0,1fr); }
  .booking-service-actions { justify-content:flex-start; }
}

/* Follow-up: hidden service results and readable long contact labels. */
.booking-service[hidden] { display:none !important; }
.booking-option-results[hidden] { display:none !important; }
.booking-option-result {
  display:block;
  width:100%;
  min-height:44px;
  height:auto;
  padding:9px 11px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.booking-option-chip {
  max-width:100%;
  height:auto;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.3;
  text-align:left;
}
.searchable-dialog-field { display:grid; justify-items:start; gap:7px; }
.searchable-dialog-trigger { margin:0; }
.searchable-dialog-summary { overflow-wrap:anywhere; }
.searchable-dialog {
  width:min(620px,calc(100vw - 28px));
  max-height:min(720px,calc(100dvh - 28px));
  padding:0;
  border:0;
  border-radius:16px;
  box-shadow:0 24px 70px rgb(15 35 68 / 38%);
}
.searchable-dialog::backdrop { background:rgb(15 35 68 / 48%); }
.searchable-dialog > header,.searchable-dialog > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; }
.searchable-dialog > header { border-bottom:1px solid var(--color-border); }
.searchable-dialog > header h3,.searchable-dialog > header p { margin:0; }
.searchable-dialog > header button { min-width:34px; margin:0; padding:5px; background:transparent; color:var(--color-muted); }
.searchable-dialog-search { width:calc(100% - 36px)!important; margin:16px 18px 8px!important; }
.searchable-dialog-list { display:grid; max-height:360px; margin:0 18px; overflow:auto; border:1px solid var(--color-border); border-radius:10px; }
.searchable-dialog-list label { display:flex; align-items:center; gap:10px; margin:0; padding:10px 12px; cursor:pointer; }
.searchable-dialog-list label + label { border-top:1px solid var(--color-border); }
.searchable-dialog-list label:hover,.searchable-dialog-list label:has(input:checked) { background:var(--color-primary-soft); }
.searchable-dialog-list label[hidden] { display:none; }
.searchable-dialog-list input { width:auto; margin:0; }
.searchable-dialog-empty { margin:12px 18px; }
.searchable-dialog > footer { justify-content:flex-start; border-top:1px solid var(--color-border); }
.searchable-dialog > footer button { margin:0; }
.task-detail-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.task-detail-heading h1 { margin-bottom:8px; }
.task-edit-button,.task-file-button { margin-top:0; border:1px solid #b8d8ed; background:#e5f4fc; color:#246083; }
.task-edit-button:hover,.task-file-button:hover { background:#d4ecf9; color:#194e6d; }
.task-quick-search { display:flex; align-items:center; gap:8px; }
.task-quick-search input { flex:1 1 auto; margin:0; }
.task-overlay-card { display:flex; flex-direction:column; }
.task-overlay-body { flex:1 1 auto; min-height:0; padding:18px; overflow:auto; background:#f4f7fb; }
.task-overlay-body > .columns { margin:0; }
.task-overlay-card .task-workbar { position:sticky; right:auto; bottom:0; left:auto; margin:18px -18px -18px; }
.task-due-card { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin:14px 0 18px; padding:13px 15px; border:1px solid #cddfed; border-radius:10px; background:#f4f9fc; }
.task-due-card > div:first-child { display:grid; gap:3px; }
.task-due-card span { color:var(--color-muted); font-size:.8rem; }
.task-due-card strong { color:var(--color-text); font-size:1.05rem; }
.task-due-permission { color:#52677d; font-size:.82rem; }
.task-due-card details { margin-left:auto; }
.task-due-card summary,.task-links-editor summary { display:inline-flex; padding:7px 11px; border:1px solid #b8d8ed; border-radius:7px; background:#e5f4fc; color:#246083; font-weight:700; cursor:pointer; }
.task-due-card details[open],.task-links-editor[open] { width:100%; }
.task-due-card details[open] summary,.task-links-editor[open] summary { margin-bottom:10px; }
.task-links-editor { margin-top:10px; }
.task-file-form { margin-bottom:90px; }
.task-workbar { position:fixed; right:0; bottom:0; left:var(--sidebar-width,0); z-index:40; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 28px; border-top:1px solid #cdd7e3; background:#fff; box-shadow:0 -8px 24px rgb(28 42 62 / 10%); }
.task-workbar-status { display:flex; align-items:center; gap:14px; }
.task-workbar-status strong { color:#245edb; font-size:18px; font-variant-numeric:tabular-nums; }
.task-workbar-actions { display:flex; align-items:center; gap:9px; }
.task-workbar-actions form { margin:0; }
.task-workbar-actions button { margin:0; }
.task-action-positive { border:1px solid #9fd7bc; background:#dff4e9; color:#19633f; }
.task-action-positive:hover { background:#ccebdc; color:#124b30; }
.task-action-pause { border:1px solid #c9d5e4; background:#edf3f8; color:#40556f; }
.task-admin-cancel { display:flex; align-items:center; gap:8px; margin-left:22px; padding-left:22px; border-left:1px solid #d9dee6; }
.task-admin-cancel small { color:#9a3544; font-weight:700; }
.task-action-cancel { background:#c93449; color:#fff; }
.task-action-cancel:hover { background:#aa293c; }
@media(max-width:820px){.task-workbar{left:0;align-items:stretch;flex-direction:column;padding:10px 14px}.task-workbar-actions{flex-wrap:wrap}.task-admin-cancel{margin-left:0;padding-left:10px}.task-file-form{margin-bottom:160px}}

/* Pipeline selector and visual administration editor. */
.pipeline-switcher{position:relative;margin-left:auto}.pipeline-switcher>summary{display:flex;min-width:220px;min-height:42px;align-items:center;gap:9px;padding:9px 13px;border:1px solid #c9d8e9;border-radius:11px;background:#f5f9fd;color:#2b4664;font-weight:800;cursor:pointer;list-style:none}.pipeline-switcher>summary::-webkit-details-marker{display:none}.pipeline-switcher>summary span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-switcher-icon{display:grid;width:23px;height:23px;place-items:center;border-radius:7px;background:#dceefa;color:#167ca6;font-size:1.15rem;line-height:1;transform:rotate(90deg)}
.pipeline-switcher-menu{position:absolute;top:calc(100% + 7px);right:0;z-index:45;display:grid;width:min(340px,calc(100vw - 32px));max-height:62vh;overflow:auto;padding:7px;border:1px solid var(--color-border);border-radius:13px;background:#fff;box-shadow:0 18px 46px rgb(31 51 77 / 24%)}.pipeline-switcher-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:9px;color:var(--color-text);text-decoration:none}.pipeline-switcher-menu a:hover,.pipeline-switcher-menu a[aria-current="true"]{background:#edf6fb;color:#146f96}.pipeline-switcher-menu a span{display:grid;gap:2px}.pipeline-switcher-menu small{color:var(--color-muted);font-size:.7rem;font-weight:650}.pipeline-switcher-menu strong{color:#168765}.pipeline-switcher-menu .pipeline-settings-link{margin-top:5px;border-top:1px solid var(--color-border);border-radius:0 0 9px 9px;color:#2463eb}
.pipeline-admin{width:100%}.pipeline-admin-heading{align-items:center}.pipeline-admin-heading button{margin:0}.pipeline-admin-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:680px;overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.pipeline-admin-sidebar{padding:18px 14px;border-right:1px solid var(--color-border);background:#f7f9fc}.pipeline-entity-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:16px;padding:4px;border-radius:10px;background:#e9eef5}.pipeline-entity-tabs a{padding:8px;border-radius:7px;color:#5a687b;font-weight:800;text-align:center;text-decoration:none}.pipeline-entity-tabs a[aria-current="page"]{background:#fff;color:#2463eb;box-shadow:0 2px 7px rgb(31 51 77 / 10%)}.pipeline-admin-list{display:grid;gap:5px}.pipeline-admin-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:43px;padding:9px 10px;border-radius:9px;color:#405068;font-weight:750;text-decoration:none}.pipeline-admin-list>a:hover,.pipeline-admin-list>a[aria-current="page"]{background:#e8f4fb;color:#126f98}.pipeline-admin-list>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-admin-list small{padding:3px 5px;border-radius:999px;background:#dce9f5;color:#59708b;font-size:.62rem}.pipeline-sidebar-create{width:100%;margin-top:16px}
.pipeline-editor{min-width:0;padding:24px;background:#fbfcfe}.pipeline-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.pipeline-editor-heading h2{margin:3px 0;font-size:1.55rem}.pipeline-editor-heading .button{margin:0}.pipeline-editor-badges{display:flex;gap:6px}.pipeline-editor-badges span{padding:4px 8px;border-radius:999px;background:#e3f5ee;color:#187354;font-size:.72rem;font-weight:800}.pipeline-editor-badges .is-disabled{background:#eef0f4;color:#677387}.pipeline-reorder-token{display:none}
.stage-flow-group{padding:16px;border:1px solid #dbe4ef;border-radius:14px;background:#fff}.stage-flow-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.stage-flow-group h3{margin:2px 0 0;font-size:1.05rem}.stage-flow-group header button{min-height:34px;margin:0;padding:6px 10px}.stage-flow-kicker{color:#5e718a;font-size:.7rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.stage-flow-success .stage-flow-kicker{color:#16805f}.stage-flow-failure .stage-flow-kicker{color:#b33449}.stage-flow-list{display:grid;gap:8px;min-height:22px;transition:opacity .15s ease}.stage-flow-list.is-saving{opacity:.55;pointer-events:none}.stage-flow-list.is-saved{animation:stage-saved .8s ease}@keyframes stage-saved{50%{filter:drop-shadow(0 0 8px rgb(34 160 107 / 35%))}}
.pipeline-stage-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--stage-color) 35%,#d7dfeb);border-left:6px solid var(--stage-color);border-radius:10px;background:color-mix(in srgb,var(--stage-color) 10%,#fff);box-shadow:0 2px 7px rgb(31 51 77 / 7%)}.pipeline-stage-card.is-inactive{filter:grayscale(.45);opacity:.58}.pipeline-stage-card.is-dragging{opacity:.35}.pipeline-stage-drag{min-width:26px;min-height:38px;margin:0;padding:0;border:0;background:transparent;color:#71829a;cursor:grab;font-size:1.05rem}.pipeline-stage-drag:active{cursor:grabbing}.pipeline-stage-main{min-width:0}.pipeline-stage-title{display:flex;align-items:center;gap:7px;min-width:0}.pipeline-stage-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-stage-title small,.stage-start-badge{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:rgb(255 255 255 / 68%);color:#53657d;font-size:.62rem;font-weight:850;text-transform:uppercase}.stage-start-badge{background:#dceefa;color:#14799f}.pipeline-stage-automations{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.pipeline-stage-automations a{padding:3px 6px;border-radius:6px;background:rgb(255 255 255 / 60%);color:#4a6079;font-size:.68rem;text-decoration:none}.pipeline-stage-actions{display:flex;align-items:center;gap:3px}.pipeline-stage-actions form{display:inline-flex}.pipeline-stage-actions button,.pipeline-stage-actions a{display:grid;width:31px;height:31px;min-height:31px;margin:0;padding:0;place-items:center;border:1px solid rgb(96 116 142 / 20%);border-radius:8px;background:rgb(255 255 255 / 72%);color:#53677f;text-decoration:none}.pipeline-stage-actions .stage-delete-button{color:#ad3044}.stage-flow-empty{margin:0;padding:13px;border:1px dashed #cbd6e4;border-radius:9px;color:#758399;text-align:center}
.stage-flow-connector{display:flex;height:62px;align-items:center;justify-content:center;background:linear-gradient(#cbd6e4,#cbd6e4) center/2px 100% no-repeat}.stage-flow-connector span{padding:5px 12px;border:1px solid #d5deea;border-radius:999px;background:#fbfcfe;color:#65758b;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.stage-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stage-flow-success{border-top:4px solid #5abf98}.stage-flow-failure{border-top:4px solid #dc7180}.stage-add-compact{border:0;background:transparent;color:#2463eb;font-weight:800;cursor:pointer}
.pipeline-editor-dialog{width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgb(25 43 68 / 34%)}.pipeline-editor-dialog::backdrop{background:rgb(20 36 58 / 48%)}.pipeline-editor-dialog form>header,.pipeline-editor-dialog form>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px}.pipeline-editor-dialog form>header{border-bottom:1px solid var(--color-border)}.pipeline-editor-dialog form>header h2{margin:2px 0 0}.pipeline-editor-dialog form>header button{min-height:34px;margin:0;padding:3px 10px;background:transparent;color:#65758b;font-size:1.3rem}.pipeline-dialog-body{max-height:64vh;overflow:auto;padding:4px 18px 18px}.pipeline-dialog-technical-field{display:none}.pipeline-editor-dialog form>footer{justify-content:flex-start;border-top:1px solid var(--color-border)}.pipeline-editor-dialog form>footer button{margin:0}
@media(max-width:900px){.pipeline-admin-layout{grid-template-columns:1fr}.pipeline-admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.pipeline-admin-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stage-final-grid{grid-template-columns:1fr}.pipeline-switcher{width:100%;margin-left:0}.pipeline-switcher>summary{width:100%}}
@media(max-width:600px){.pipeline-editor{padding:14px}.pipeline-editor-heading,.stage-flow-group>header{align-items:flex-start;flex-direction:column}.pipeline-stage-card{grid-template-columns:24px minmax(0,1fr)}.pipeline-stage-actions{grid-column:2}.lead-title-row{align-items:stretch}.pipeline-switcher-menu{right:auto;left:0}}
/* Compact actions and assignment editor in the calendar drawer. */
.booking-inline-action{margin:10px 0}.booking-create-deal{margin:0;padding:0;border:0;background:transparent;color:var(--color-primary);font-weight:750;text-decoration:underline;text-underline-offset:3px}.booking-create-deal:hover{color:#174fbd}.booking-edit{width:100%;margin:0}.booking-edit>summary{color:var(--color-primary);font-weight:750;cursor:pointer}.booking-edit form{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:#f8fbfd}.booking-edit fieldset{display:grid;gap:5px;margin:0;padding:10px;border:1px solid var(--color-border);border-radius:8px}.booking-edit legend{font-weight:750}.booking-edit button{justify-self:start;margin:0}
