/* NowCRM neutral redesign. Tokens and proportions from the supplied archive.
   This file is loaded exclusively by the NowCRM layouts. */
body[data-theme="nowcrm"] {
  --brand:#0e1116; --brand-600:#000; --brand-700:#000; --brand-50:#f2f3f5; --brand-100:#e4e6ea;
  --bs-primary:#0e1116; --bs-primary-rgb:14,17,22; --bs-body-font-family:var(--font);
  --bs-body-color:var(--ink); --bs-border-color:var(--line); --bs-link-color:#334155;
  font-family:var(--font); background:var(--bg); color:var(--ink); font-size:14px; line-height:1.45; -webkit-font-smoothing:antialiased; font-feature-settings:"cv11", "ss01", "ss03";
}
body[data-theme="nowcrm"] #app { min-height:100vh; }
body[data-theme="nowcrm"] [hidden] { display:none!important; }
body[data-theme="nowcrm"] #sidebar {
  position:fixed; inset:0 auto 0 0; width:256px; height:100dvh; z-index:1040;
  padding:0!important; background:#fff!important; color:var(--ink); border-right:1px solid var(--line)!important;
  overflow:hidden; box-shadow:none;
}
.nowcrm-wordmark { display:block; font-family:var(--font); font-size:20px; font-weight:700; letter-spacing:-.8px; color:var(--ink); text-decoration:none; }
.nowcrm-wordmark span { font-weight:500; color:inherit; opacity:.6; }
body[data-theme="nowcrm"] #sidebar > a:not(.nowcrm-wordmark) { margin:0 0 18px!important; padding:12px; border:1px solid var(--line); border-radius:10px; width:100%; }
body[data-theme="nowcrm"] #sidebar > a .fs-5 { font-size:13px!important; }
body[data-theme="nowcrm"] #sidebar > a .small { font-size:11px; overflow-wrap:anywhere; }
body[data-theme="nowcrm"] #sidebar .sidebar-logo { padding:0 12px; }
body[data-theme="nowcrm"] #sidebar .nav { gap:0; }
body[data-theme="nowcrm"] #sidebar .nav-link { display:flex; align-items:center; gap:11px; color:var(--ink-2)!important; padding:0 10px; min-height:36px; font-size:14px; font-weight:500; border-radius:9px; text-transform:none; letter-spacing:0; background:transparent; position:relative; }
body[data-theme="nowcrm"] #sidebar .nav-link:hover { background:var(--hover); color:var(--ink)!important; }
body[data-theme="nowcrm"] #sidebar .nav-link.active { background:#f0f1f3!important; color:var(--ink)!important; font-weight:650; box-shadow:none; }
body[data-theme="nowcrm"] #sidebar .nav-link .bi { font-size:17px; }
.nowcrm-nav-heading { padding:14px 10px 6px; color:var(--muted); text-transform:uppercase; letter-spacing:.66px; font-size:11px; font-weight:600; list-style:none; }
.nowcrm-sidebar-head { height:60px; display:flex; align-items:center; padding:0 18px; flex:none; }
.nowcrm-agency-card { display:flex; gap:10px; align-items:center; margin:4px 12px 8px; padding:9px 10px; border:1px solid var(--line); border-radius:12px; flex:none; }
.nowcrm-agency-avatar { width:30px; height:30px; border-radius:8px; background:var(--ink); color:#fff; display:grid; place-items:center; object-fit:contain; font-size:12px; font-weight:700; flex:none; }
.nowcrm-agency-text { min-width:0; }
.nowcrm-agency-text b { display:block; font-size:13px; font-weight:600; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.nowcrm-agency-text small { display:flex; align-items:center; gap:4px; font-size:11.5px; color:var(--muted); overflow-wrap:anywhere; }
.nowcrm-agency-text svg { width:12px; height:12px; color:#15803d; flex:none; }
body[data-theme="nowcrm"] #sidebar > .nowcrm-nav { display:block; flex:1 1 0; min-height:0; overflow-y:auto; overflow-x:hidden; padding:6px 10px 12px; scrollbar-width:thin; margin:0!important; }
.nowcrm-nav-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body[data-theme="nowcrm"] #sidebar .nav-link svg { width:18px; height:18px; flex:none; color:var(--muted); stroke-width:1.75; }
body[data-theme="nowcrm"] #sidebar .nav-link.active::before { content:''; position:absolute; left:-10px; top:8px; bottom:8px; width:3px; border-radius:0 3px 3px 0; background:var(--ink); }
.nowcrm-sidebar-footer { flex:none; padding:10px; border-top:1px solid var(--line); background:var(--surface); }
.nowcrm-sidebar-credits { padding:12px; margin:6px 2px 10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.nowcrm-sidebar-credits b { display:flex; align-items:center; gap:6px; font-size:12px; }
.nowcrm-sidebar-credits svg { width:14px; height:14px; }
.nowcrm-sidebar-credits progress { display:block; width:100%; height:6px; margin:10px 0; accent-color:var(--ink); }
.nowcrm-sidebar-credits > div { display:flex; justify-content:space-between; gap:6px; color:var(--muted); font-size:11px; }
.nowcrm-user-toggle { display:flex; align-items:center; gap:10px; padding:8px; border-radius:10px; color:var(--ink); text-decoration:none; }
.nowcrm-user-toggle:hover { background:var(--hover); color:var(--ink); }
.nowcrm-user-avatar { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--steel-50); color:var(--steel); font-size:12px; flex:none; }
.nowcrm-user-text { flex:1; min-width:0; }
.nowcrm-user-text strong { display:block; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nowcrm-user-text small { display:block; font-size:11px; color:var(--muted); }
.nowcrm-user-toggle > svg { width:16px; height:16px; flex:none; color:var(--muted); }
.nowcrm-nav-action { padding:8px 10px; }
@media (max-height:960px) { .nowcrm-sidebar-credits { display:none; } body[data-theme="nowcrm"] #sidebar .nav-link { min-height:33px; } .nowcrm-nav-heading { padding:11px 10px 5px; } }
@media (max-height:520px) { .nowcrm-agency-card { display:none; } .nowcrm-sidebar-head { height:44px; } .nowcrm-sidebar-footer { padding:4px 10px; } }
body[data-theme="nowcrm"] .nowcrm-workspace { margin-left:256px; min-width:0; width:calc(100% - 256px); }
body[data-theme="nowcrm"] main.content-fluid { padding:28px 32px 64px!important; max-width:1440px; margin:auto; min-width:0; }
body[data-theme="nowcrm"] main.content-fluid > .container, body[data-theme="nowcrm"] main.content-fluid > .container-fluid { max-width:none; padding:0; }
.nowcrm-topbar { height:60px; position:sticky; top:0; display:flex; align-items:center; gap:18px; padding:0 30px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.97); z-index:1030; }
.nowcrm-breadcrumb { display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:12px; min-width:0; }
.nowcrm-breadcrumb span { color:var(--muted); max-width:140px; overflow:hidden; text-overflow:ellipsis; }
.nowcrm-search { display:flex; align-items:center; gap:9px; margin-left:auto; background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:7px 10px; min-width:160px; max-width:340px; flex:1; }
.nowcrm-search input { width:100%; min-width:0; border:0; background:none; outline:none; font-size:12px; }
.nowcrm-search kbd { white-space:nowrap; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:4px; font-size:10px; }
.nowcrm-icon-button { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; flex:none; border:0; border-radius:8px; background:transparent; color:var(--ink); position:relative; cursor:pointer; }
.nowcrm-icon-button:hover { background:var(--hover); }
.nowcrm-counter { position:absolute; top:-3px; right:-4px; font-size:10px; background:var(--red); color:white; border-radius:8px; padding:0 4px; }
.nowcrm-menu { display:none; }
body[data-theme="nowcrm"] .btn { border-radius:10px; font-family:var(--font); font-size:13.5px; font-weight:550; min-height:36px; text-transform:none; letter-spacing:0; padding:7px 14px; box-shadow:var(--sh-1); }
/* Page composition from the supplied redesign; existing forms remain operative. */
body[data-theme="nowcrm"] .nc-page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 24px; padding:0; border:0; background:transparent!important; }
body[data-theme="nowcrm"] .nc-page-heading h1 { font-size:24px; margin:0; letter-spacing:-.72px; }
.nc-page-heading p { color:var(--muted); margin:6px 0 0; font-size:13px; }
.nc-heading-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.nc-heading-actions .btn { display:inline-flex; gap:7px; align-items:center; }
.nc-action-menu { position:relative; }
.nc-action-menu summary { list-style:none; cursor:pointer; }
.nc-action-menu summary::-webkit-details-marker { display:none; }
.nc-action-options { position:absolute; top:calc(100% + 7px); right:0; min-width:190px; padding:8px; background:var(--surface); box-shadow:var(--sh-3); border:1px solid var(--line); border-radius:10px; z-index:20; display:grid; gap:4px; }
.nc-avatar { display:inline-flex; width:32px; height:32px; flex:none; align-items:center; justify-content:center; border-radius:50%; background:var(--steel-50); color:var(--steel); font-size:11px; font-weight:600; }
body[data-theme="nowcrm"].nc-leads-page #leadsFilterForm { display:flex; flex-wrap:wrap; gap:12px; margin:0; }
body[data-theme="nowcrm"].nc-leads-page #leadsFilterForm [hidden] { display:none!important; }
.nc-leads-page .nowcrm-filter-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:100%; }
.nc-leads-page .nowcrm-filter-toolbar > :is(div,button) { margin:0; }
.nc-leads-page .nc-primary-filter { width:auto; padding:0; flex:0 1 170px; }
.nc-leads-page .nc-primary-filter:has(#search) { flex-basis:260px; }
.nc-leads-page .nc-primary-filter:has(#btnOpenQaModal) { flex:0 0 auto; }
.nc-leads-page .nc-primary-filter > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nc-leads-page .nc-filter-submit { width:auto; padding:0; margin-left:auto!important; }
body[data-theme="nowcrm"].nc-leads-page .nc-lead-filters { border:0!important; box-shadow:none!important; margin:0!important; }
body[data-theme="nowcrm"].nc-leads-page .nc-lead-filters > .card-body { padding:16px 0; }
.nc-leads-page .nowcrm-tabs { overflow:auto; flex-wrap:nowrap; border:0; gap:8px; margin:0; padding-bottom:12px; }
.nc-leads-page .nowcrm-tabs button { border:0; background:transparent; white-space:nowrap; border-radius:7px; padding:7px 12px; color:var(--muted); font-size:12px; }
.nc-leads-page .nowcrm-tabs button.active { background:var(--ink); color:white; }
body[data-theme="nowcrm"] #lead-column-preferences { border:0!important; box-shadow:none!important; }
body[data-theme="nowcrm"] #lead-column-preferences > summary { background:transparent!important; padding:7px 0; border:0; font-size:12px; color:var(--muted)!important; }
.nc-leads-page #leads-index-table td[data-lead-column="name"] { white-space:nowrap; min-width:210px; }
.nc-leads-page .nc-lead-name { display:inline-block; vertical-align:middle; margin-left:9px; max-width:230px; white-space:normal; }
body[data-theme="nowcrm"].nc-leads-page #leads-index-table td { border-bottom:1px solid var(--line); box-shadow:none; }
.nc-leads-page #leads-index-table tbody tr:hover { background:var(--surface-2); }
body[data-theme="nowcrm"].nc-leads-page #leads-index-table :is(th,td)[data-lead-column="actions"] { position:sticky; right:0; background:var(--surface)!important; z-index:1; box-shadow:-3px 0 5px #00000006; }
body[data-theme="nowcrm"] .nc-property-toolbar { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px; padding:16px; margin-bottom:20px; }
.nc-property-toolbar > :is(input,select) { width:auto; max-width:200px; flex:1 1 140px; }
.nc-property-toolbar > input[type="search"] { flex-basis:230px; max-width:none; }
.nc-price-range { display:flex; align-items:center; gap:6px; }
.nc-price-range input { width:105px; }
.nc-segments { display:inline-flex; flex:none; align-items:center; border:1px solid var(--line-2); border-radius:8px; padding:3px; gap:2px; }
.nc-segments label { position:relative; cursor:pointer; }
.nc-segments input { position:absolute; opacity:0; width:1px; height:1px; }
.nc-segments :is(span,a) { display:flex; align-items:center; padding:5px 9px; border-radius:5px; font-size:12px; color:var(--muted); text-decoration:none; }
.nc-segments input:checked + span,.nc-segments a.active { background:var(--ink); color:white; }
.nc-segments input:focus-visible + span { outline:2px solid var(--blue); }
.nc-properties { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body[data-theme="nowcrm"] .nc-property-card { display:flex; flex-direction:column; min-width:0; }
.nc-property-photo { position:relative; height:195px; border-radius:14px 14px 0 0; background:var(--surface-2); }
.nc-property-photo > a { display:block; height:100%; border-radius:inherit; overflow:hidden; }
.nc-property-photo img { width:100%; height:100%; object-fit:cover; }
.nc-photo-empty { display:flex; height:100%; align-items:center; justify-content:center; gap:8px; color:var(--muted); }
.nc-property-status { position:absolute; left:12px; top:12px; max-width:calc(100% - 70px); padding:5px 8px; background:#ffffffed; border-radius:6px; font-size:11px; font-weight:600; }
.nc-property-menu { position:absolute; right:10px; top:10px; }
.nc-property-menu .btn-light { padding:5px!important; background:#ffffffed; }
.nc-property-menu .dropdown-menu { padding:10px; min-width:210px; }
.nc-property-menu .dropdown-menu > div { flex-wrap:wrap; }
.nc-photo-count { position:absolute; right:10px; bottom:10px; display:flex; align-items:center; gap:5px; color:white; padding:3px 6px; background:#0007; border-radius:5px; font-size:11px; }
.nc-property-copy { display:flex; flex-direction:column; padding:18px; flex:1; min-width:0; }
.nc-property-price { font-size:21px; letter-spacing:-.4px; font-weight:650; }
body[data-theme="nowcrm"] .nc-property-copy h2 { font-size:14px; font-weight:600; margin:6px 0; letter-spacing:0; }
.nc-property-copy h2 a { text-decoration:none; color:var(--ink); }
.nc-property-address { display:flex; align-items:flex-start; gap:6px; font-size:12px; color:var(--muted); margin:0 0 16px; }
.nc-property-specs { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; }
.nc-property-specs span { display:flex; align-items:center; gap:5px; }
.nc-property-specs small { margin-left:auto; color:var(--muted); }
.nc-property-specs svg,.nc-property-address svg { width:15px; height:15px; color:var(--muted); }
.nc-property-owners { display:flex; flex-wrap:wrap; gap:4px 8px; margin-top:12px; font-size:11px; }
.nc-property-owners > span:first-child { color:var(--muted); }
.nc-property-notices { display:flex; flex-wrap:wrap; gap:6px 12px; padding:10px 0; font-size:10px; color:var(--muted); }
.nc-property-notices > span { display:flex; align-items:center; gap:4px; }
.nc-property-notices svg { width:13px; height:13px; }
.nc-property-footer { display:flex; align-items:center; justify-content:space-between; padding-top:12px; margin-top:auto; border-top:1px solid var(--line); font-size:12px; }
.nc-property-footer > a { display:flex; align-items:center; gap:6px; text-decoration:none; color:var(--ink); }
.nc-property-pagination { display:flex; justify-content:center; padding:24px 0; }
.nc-property-table table { min-width:950px; }
.nc-property-table .nc-property-menu { position:static; }
.nc-property-table td:first-child { min-width:230px; }
.nc-properties-list { grid-template-columns:1fr; }
body[data-theme="nowcrm"] .nc-properties-list .nc-property-card { flex-direction:row; }
.nc-properties-list .nc-property-photo { width:240px; height:auto; min-height:210px; flex:none; border-radius:14px 0 0 14px; }
.nc-properties-list .nc-property-copy { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; }
.nc-properties-list .nc-property-copy h2 { grid-column:1; }
.nc-properties-list .nc-property-footer { grid-column:2; grid-row:1 / 3; border:0; padding:0; margin:0; }
@media(max-width:1200px) { .nc-properties { grid-template-columns:repeat(2,minmax(0,1fr)); } .nc-properties-list { grid-template-columns:1fr; } .nc-page-heading { align-items:flex-start!important; flex-direction:column; } }
@media(max-width:620px) { .nc-properties { grid-template-columns:1fr; } body[data-theme="nowcrm"] .nc-properties-list .nc-property-card { flex-direction:column; } .nc-properties-list .nc-property-photo { width:100%; height:195px; border-radius:14px 14px 0 0; } .nc-properties-list .nc-property-copy { display:flex; } .nc-heading-actions { gap:6px; } .nc-heading-actions .btn { font-size:12.5px!important; } .nc-leads-page .nc-primary-filter { flex-grow:1; } }
body[data-theme="nowcrm"] .btn-primary { background:var(--brand); border-color:var(--brand); color:#fff; }
body[data-theme="nowcrm"] .btn-primary:hover { background:#2a2f37; border-color:#2a2f37; }
body[data-theme="nowcrm"] .btn-outline-primary { color:var(--ink); border-color:var(--line-2); background:#fff; }
body[data-theme="nowcrm"] .btn-outline-primary:hover { background:var(--hover); }
body[data-theme="nowcrm"] .btn-warning { background:#fff5d6; border-color:#f0dfab; color:#735318; }
body[data-theme="nowcrm"] .btn-info { background:var(--blue-50); border-color:#dce6f7; color:#2458a4; }
body[data-theme="nowcrm"] .btn-success { background:var(--green-50); border-color:#bfe5cd; color:#18743e; }
body[data-theme="nowcrm"] .btn-danger { background:var(--red-50); border-color:#f4d3d1; color:#b42318; }
body[data-theme="nowcrm"] .nowcrm-assistant { display:flex; align-items:center; gap:8px; white-space:nowrap; }
body[data-theme="nowcrm"] .card { background:var(--surface); border:1px solid var(--line)!important; border-radius:14px; box-shadow:var(--sh-1)!important; overflow:visible; }
body[data-theme="nowcrm"] .card.border-danger { border-color:#e89d98!important; }
body[data-theme="nowcrm"] .card.border-warning { border-color:#dfc27c!important; }
body[data-theme="nowcrm"] .card-header { background:#fff!important; color:var(--ink)!important; border-bottom:1px solid var(--line); border-radius:14px 14px 0 0!important; padding:17px 20px; text-transform:none; letter-spacing:0; }
body[data-theme="nowcrm"] .card-header :is(h1,h2,h3,h4,h5,h6) { color:inherit!important; font-weight:600; font-size:14.5px; margin:0; }
body[data-theme="nowcrm"] .card-body { padding:20px; }
body[data-theme="nowcrm"] :is(h1,h2) { font-weight:650; letter-spacing:-.5px; }
body[data-theme="nowcrm"] h1 { font-size:24px; }
body[data-theme="nowcrm"] h2 { font-size:23px; }
body[data-theme="nowcrm"] .card-footer { background:var(--surface-2); border-top:1px solid var(--line); border-radius:0 0 14px 14px; padding:12px 18px; }
body[data-theme="nowcrm"] :is(.form-control,.form-select,.input-group-text) { border:1px solid var(--line-2); border-radius:10px; min-height:38px; font-size:13.5px; font-family:var(--font); box-shadow:none; }
body[data-theme="nowcrm"] .form-control:focus, body[data-theme="nowcrm"] .form-select:focus { border-color:#8993a1; box-shadow:0 0 0 3px #e5e7eb; }
body[data-theme="nowcrm"] :is(.form-control,.form-select).is-invalid { border-color:#dc3545; }
body[data-theme="nowcrm"] .form-label { font-size:13px; font-weight:550; color:#49515d; }
body[data-theme="nowcrm"] .form-text, body[data-theme="nowcrm"] .text-muted { color:var(--muted)!important; }
body[data-theme="nowcrm"] .table { font-size:13.5px; --bs-table-hover-bg:#fafafb; vertical-align:middle; margin-bottom:0; border-color:var(--line); }
body[data-theme="nowcrm"] .table thead th { color:var(--muted)!important; background:#fafafb!important; font-size:12px; text-transform:none; letter-spacing:0; padding:10px 14px; font-weight:550; border-bottom:1px solid var(--line); }
body[data-theme="nowcrm"] .table td { padding:11px 14px; background:transparent; border-color:var(--line); }
body[data-theme="nowcrm"] .table-responsive { width:100%; border:1px solid var(--line); border-radius:10px; }
body[data-theme="nowcrm"] .badge { border-radius:6px; font-size:12px; padding:4px 8px; font-weight:550; }
body[data-theme="nowcrm"] .nav-tabs { gap:20px; border-color:var(--line); flex-wrap:nowrap; overflow-x:auto; }
body[data-theme="nowcrm"] .nav-tabs .nav-link { color:var(--muted); border:0; border-bottom:2px solid transparent; border-radius:0; white-space:nowrap; font-size:13px; padding:12px 2px; }
body[data-theme="nowcrm"] .nav-tabs .nav-link.active { color:var(--ink); border-bottom-color:var(--ink); background:transparent; font-weight:600; }
body[data-theme="nowcrm"] .modal-content { border:1px solid var(--line); border-radius:16px; box-shadow:var(--sh-pop); }
body[data-theme="nowcrm"] .modal-header { padding:20px 24px; background:white!important; color:var(--ink)!important; border-color:var(--line); }
body[data-theme="nowcrm"] .modal-title { font-size:18px; font-weight:650; }
body[data-theme="nowcrm"] .modal-body { padding:24px; }
body[data-theme="nowcrm"] .modal-footer { background:#fafafb; border-color:var(--line); padding:16px 24px; }
body[data-theme="nowcrm"] .dropdown-menu { border:1px solid var(--line); border-radius:10px; box-shadow:var(--sh-pop); padding:6px; font-size:13px; }
body[data-theme="nowcrm"] .dropdown-item { border-radius:6px; padding:9px 12px; }
body[data-theme="nowcrm"] .alert { border-radius:10px; font-size:13px; }
body[data-theme="nowcrm"] .pagination { gap:4px; }
body[data-theme="nowcrm"] .page-link { border:1px solid var(--line); border-radius:7px!important; color:var(--ink); font-size:12px; }
body[data-theme="nowcrm"] .fc { --fc-border-color:var(--line); --fc-today-bg-color:#f6f8fb; --fc-neutral-bg-color:#fafafb; font-family:var(--font); }
body[data-theme="nowcrm"] .fc .fc-toolbar-title { font-size:21px; font-weight:650; }
body[data-theme="nowcrm"] .fc .fc-button-primary { background:#fff; color:var(--ink); border:1px solid var(--line-2); box-shadow:none; font-size:12px; border-radius:7px; }
body[data-theme="nowcrm"] .fc .fc-button-primary:not(:disabled):is(.fc-button-active,:hover) { background:var(--ink); border-color:var(--ink); color:#fff; }
body[data-theme="nowcrm"] .fc .fc-col-header-cell-cushion { color:var(--ink); text-decoration:none; }
body[data-theme="nowcrm"] .page-item.active .page-link { background:var(--ink); color:white; border-color:var(--ink); }
.nowcrm-tabs { display:flex; align-items:center; gap:6px; overflow-x:auto; margin:0 0 20px; padding:0 0 12px; border-bottom:1px solid var(--line); }
.nowcrm-tabs a,.nowcrm-tabs button { padding:8px 13px; border:0; border-radius:8px; color:var(--muted); background:transparent; white-space:nowrap; font-size:13px; }
.nowcrm-tabs .active { background:var(--ink); color:white; }
.nowcrm-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:24px; }
.nowcrm-settings-group { border:1px solid var(--line); border-radius:14px; background:#fff; padding:20px; }
.nowcrm-settings-group h2 { font-size:15px!important; margin-bottom:14px; }
.nowcrm-settings-group a { display:flex; gap:10px; align-items:center; padding:11px 8px; border-radius:7px; font-size:13px; color:#49515d; }
.nowcrm-settings-group a:hover { background:var(--hover); color:var(--ink); }
.nowcrm-key-value-row { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:8px; align-items:start; }
.nowcrm-nav-other { margin-top:14px; }
body[data-theme="nowcrm"] #sidebar summary.nav-link::after { content:'\2304'; margin-left:auto; }
body[data-theme="nowcrm"] #sidebar details[open] > summary.nav-link::after { content:'\2303'; }
.nowcrm-section-toggle { margin:0 0 20px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.nowcrm-section-toggle > summary { padding:14px 18px; cursor:pointer; font-size:13px; font-weight:600; }
.nowcrm-section-toggle > .nowcrm-section-content { padding:0 18px 18px; }
.nowcrm-filter-toolbar { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.nowcrm-bulk-bar { position:fixed; left:280px; right:24px; bottom:14px; max-height:36vh; overflow:auto!important; z-index:1020; box-shadow:var(--sh-3)!important; border-radius:12px!important; }
.nowcrm-editor,.nowcrm-confirm { padding:0; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--sh-pop); color:var(--ink); }
.nowcrm-editor { width:min(1080px,calc(100vw - 48px)); height:calc(100dvh - 64px); max-width:none; max-height:none; }
.nowcrm-editor::backdrop,.nowcrm-confirm::backdrop { background:rgba(14,17,22,.4); backdrop-filter:blur(3px); }
.nowcrm-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 22px; border-bottom:1px solid var(--line); }
.nowcrm-dialog-head h2 { font-size:17px!important; margin:0; }
.nowcrm-editor iframe { border:0; width:100%; height:calc(100% - 68px); display:block; }
.nowcrm-loading { position:absolute; inset:68px 0 0; background:white; display:flex; align-items:center; justify-content:center; gap:10px; }
.nowcrm-confirm { max-width:500px; width:calc(100vw - 32px); }
.nowcrm-confirm-body { padding:22px; white-space:pre-line; overflow-wrap:anywhere; }
.nowcrm-dialog-actions { padding:15px 22px; display:flex; justify-content:flex-end; gap:10px; background:var(--surface-2); border-top:1px solid var(--line); }
#nowcrm-toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%); z-index:10000; padding:13px 22px; background:var(--ink); color:white; border-radius:10px; box-shadow:var(--sh-pop); max-width:calc(100vw - 32px); }
body[data-theme="nowcrm"].nowcrm-panel #sidebar, body[data-theme="nowcrm"].nowcrm-panel .nowcrm-topbar, body[data-theme="nowcrm"].nowcrm-panel #assistantChatToggle { display:none!important; }
body[data-theme="nowcrm"].nowcrm-panel .nowcrm-workspace { margin:0; width:100%; }
body[data-theme="nowcrm"].nowcrm-panel main.content-fluid { padding:22px!important; }
body[data-theme="nowcrm"].auth-layout #app { display:grid!important; grid-template-columns:1fr 1fr; align-items:stretch!important; }
body[data-theme="nowcrm"].auth-layout .auth-container { align-self:center; padding:48px; width:100%; max-width:530px; margin:auto; }
body[data-theme="nowcrm"].auth-layout .auth-container .card { border:0!important; box-shadow:none!important; }
/* Keep the original donation banner's rainbow, including in the neutral theme. */
body[data-theme="nowcrm"] .donation-banner {
  display:inline-block; width:100%; color:#fff; text-decoration:none;
  padding:10px 8px; border-radius:8px; font-weight:600; letter-spacing:.2px;
  box-shadow:0 4px 12px rgba(0,0,0,.25); line-height:1.3;
  background:linear-gradient(60deg,#e91e63,#9c27b0,#2196f3,#00bcd4,#ffd400,#ff9800,#e91e63);
  background-size:400% 400%; animation:nowcrm-donation-gradient 12s ease infinite;
  transition:transform .3s ease,box-shadow .3s ease;
}
body[data-theme="nowcrm"] .donation-banner .fw-bold { font-size:.85rem; margin-bottom:2px; }
body[data-theme="nowcrm"] .donation-banner .small { font-size:.75rem; line-height:1.2; }
body[data-theme="nowcrm"] .donation-banner:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.35); color:#fff; }
body[data-theme="nowcrm"].auth-layout .donation-banner { width:90%; max-width:420px; padding:12px 16px; border-radius:12px; font-weight:800; letter-spacing:.3px; box-shadow:0 6px 18px rgba(0,0,0,.35); }
body[data-theme="nowcrm"].auth-layout .donation-banner:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.45); }
@keyframes nowcrm-donation-gradient { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@media(prefers-reduced-motion:reduce) { body[data-theme="nowcrm"] .donation-banner { animation:none; transition:none; } }
.nowcrm-login-scene { min-height:100dvh; background:#eef0f3; padding:38px 48px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.nowcrm-login-story { max-width:520px; margin:40px auto; }
.nowcrm-eyebrow { font-size:10px; font-weight:700; letter-spacing:2px; color:var(--muted); }
.nowcrm-login-story h1 { font-size:clamp(30px,3.6vw,52px)!important; line-height:1.13; margin:22px 0; letter-spacing:-2px!important; }
.nowcrm-login-story p { color:var(--muted); line-height:1.8; font-size:15px; }
.nowcrm-channel-row { display:flex; justify-content:center; gap:10px; margin:30px 0; }
.nowcrm-channel-row span { display:flex; align-items:center; gap:7px; padding:10px; border:1px solid #dce0e5; border-radius:10px; background:rgba(255,255,255,.75); font-size:11px; }
.nowcrm-login-orbit { display:flex; flex-direction:column; align-items:center; gap:10px; background:#fff; padding:22px; border:1px solid var(--line); border-radius:18px; box-shadow:var(--sh-3); animation:nowcrm-float 6s ease-in-out infinite; }
.nowcrm-login-orbit > svg { width:28px; height:28px; }
.nowcrm-login-orbit span,.nowcrm-login-scene > small { color:var(--muted); font-size:12px; }
@keyframes nowcrm-float { 50% { transform:translateY(-7px); } }
@media (prefers-reduced-motion:reduce) { .nowcrm-login-orbit { animation:none; } }
@media (max-width:1200px) { .nowcrm-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nowcrm-breadcrumb span { display:none; } }
@media (max-width:980px) {
  .nowcrm-bulk-bar { left:12px; right:12px; }
  body[data-theme="nowcrm"] #sidebar { transform:translateX(-100%); transition:transform .2s; }
  body[data-theme="nowcrm"].nowcrm-menu-open #sidebar { transform:none; }
  body[data-theme="nowcrm"] .nowcrm-workspace { margin-left:0; width:100%; }
  .nowcrm-menu { display:inline-flex; }
  .nowcrm-sidebar-scrim:not([hidden]) { position:fixed; inset:0 0 0 256px; background:#0005; border:0; z-index:1035; }
  .nowcrm-login-scene { display:none; }
  body[data-theme="nowcrm"].auth-layout #app { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .nowcrm-topbar { padding:0 12px; gap:8px; }
  .nowcrm-breadcrumb { display:none; }
  .nowcrm-search kbd,.nowcrm-assistant span { display:none; }
  body[data-theme="nowcrm"] main.content-fluid { padding:16px 12px!important; }
  body[data-theme="nowcrm"] .card-body { padding:14px; }
  body[data-theme="nowcrm"] .card-header { padding:14px; flex-wrap:wrap; gap:10px; }
  .nowcrm-settings-grid { grid-template-columns:1fr; }
  .nowcrm-editor { width:100vw; height:100dvh; border-radius:0; margin:0; }
  body[data-theme="nowcrm"].auth-layout .auth-container { padding:24px; }
}
