/* Visual layer for the legacy CRM. Structural classes used by ui-new.js stay intact. */
:root { --crm-navy:#101d34; --crm-surface:#ffffff; --crm-bg:#f4f6fa; --crm-line:#e6eaf0; --crm-text:#18243a; --crm-muted:#718096; --crm-blue:#2563eb; --crm-blue-soft:#eff6ff; --crm-red:#dc4c64; --crm-green:#16866b; }
body { background:var(--crm-bg); color:var(--crm-text); font-family:'Open Sans',Arial,sans-serif; }
#general.group { display:flex; gap:0; min-height:100vh; padding:0; grid-template-columns:none; }
.menu { position:sticky; top:0; align-self:flex-start; width:254px; min-width:254px; height:100vh; overflow:hidden; border:0; background:#112d46; box-shadow:4px 0 20px rgba(15,23,42,.08); z-index:20; }
.menu ul { padding:14px 10px 12px; }
.crm-side-brand { display:flex; align-items:center; gap:10px; min-height:38px; margin:0 0 14px; padding:0 10px; color:#fff; font-size:18px; font-weight:800; list-style:none; }
.crm-side-brand span { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:#11a6eb; color:#fff; font-size:19px; font-weight:800; }
.menu .li_name, .menu .li_post { display:none; }
.menu .li_name { padding:8px 12px 0; color:#fff; font-size:15px; font-weight:700; }
.menu .li_post { padding:3px 12px 14px; color:#9ba9c1; font-size:11px; }
.menu .li_town { margin:0 4px 15px; padding:9px 11px 10px; border:1px solid #31526e; border-radius:9px; color:#9ebfe0; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.menu .li_town select { display:block; width:100%!important; margin-top:4px; padding:4px 2px 0; border:0; background:transparent; color:#fff; font-size:13px; font-weight:700; }
.menu .li_exit { padding:0 12px 18px; font-size:12px; }
.menu .li_exit .lnk { color:#b8c5dc; text-decoration:none; }
.crm-menu-caption { margin:11px 10px 3px; color:#8eb5d7; font-size:10px; font-weight:700; letter-spacing:.06em; list-style:none; }
.menu .li_menu.crm-menu-item { display:block; margin:1px 0; padding:7px 9px; border:0; border-radius:8px; color:#e0edf8; font-size:13px; line-height:18px; }
.menu .li_menu.crm-menu-item i { display:inline-block; width:20px; color:#b1d4ed; font-size:13px; text-align:center; }
.menu .li_menu.crm-menu-item:hover, .menu .li_menu.crm-menu-item.li_active { background:#23638d; color:#fff; }
.menu .li_menu.crm-menu-item:hover i, .menu .li_menu.crm-menu-item.li_active i { color:#7db1ff; }
.menu .li_number_title { margin:10px 9px 3px; color:#71829f; font-size:9px; }
.menu .li_number_input, .menu .li_number_8800_checkbox, .menu .li_number_submit { margin:3px 9px; color:#c7d2e4; font-size:10px; }
.menu .li_number_input input { width:100%; padding:5px; border:1px solid #31425f; border-radius:6px; background:#192943; color:#fff; }
.menu .li_number_submit { padding:5px; border-radius:6px; background:#243756; text-align:center; cursor:pointer; }
.generals { display:block; min-width:0; flex:1; grid-template-rows:none; }
.crm-topbar { display:flex; position:sticky; top:0; align-items:center; gap:18px; height:66px; padding:0 26px; border-bottom:1px solid var(--crm-line); background:rgba(255,255,255,.96); box-shadow:0 1px 0 rgba(15,23,42,.02); z-index:10; }
.crm-menu-toggle { display:none; border:0; background:transparent; color:var(--crm-text); font-size:18px; cursor:pointer; }
.crm-breadcrumb { min-width:198px; color:#486c96; font-size:15px; font-weight:400; }
.crm-breadcrumb span { color:var(--crm-muted); font-weight:400; }
.crm-global-search { display:flex; align-items:center; width:min(650px,45vw); margin-left:0; padding:0 14px; border:0; border-left:1px solid var(--crm-line); border-radius:0; background:#fff; color:#6b8fb2; }
.crm-global-search input { width:100%; height:48px; border:0; outline:0; background:transparent; color:var(--crm-text); font-size:16px; }
.crm-global-search i { margin-right:8px; font-size:13px; }
.crm-topbar-actions { display:flex; align-items:center; gap:10px; }
.crm-popover-wrap { position:relative; }
.crm-popover { position:absolute; top:42px; right:0; min-width:180px; padding:12px; border:1px solid var(--crm-line); border-radius:8px; background:#fff; box-shadow:0 10px 25px rgba(15,23,42,.14); color:var(--crm-muted); font-size:11px; z-index:30; }
.crm-profile-popover strong, .crm-profile-popover small, .crm-profile-popover a { display:block; }
.crm-profile-popover strong { color:var(--crm-text); font-size:12px; }
.crm-profile-popover small { margin:3px 0 10px; }
.crm-profile-popover a { padding-top:9px; border-top:1px solid var(--crm-line); color:var(--crm-blue); text-decoration:none; }
.crm-icon-button { width:35px; height:35px; border:1px solid var(--crm-line); border-radius:8px; background:#fff; color:#526277; cursor:pointer; }
.crm-profile-button { display:flex; align-items:center; gap:7px; border:0; background:transparent; color:var(--crm-text); cursor:pointer; }
.crm-profile-button span { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; background:#dbeafe; color:#1d4ed8; font-size:10px; font-weight:700; }
.crm-profile-button b { font-size:12px; }
.general { min-height:calc(100vh - 66px); }
.general:not(.crm-home):not(.crm-service) { padding:25px 30px; }
.general:not(.crm-home):not(.crm-service) .section { border:1px solid var(--crm-line); border-radius:12px; background:var(--crm-surface); box-shadow:0 1px 2px rgba(15,23,42,.03); overflow:hidden; }
.general:not(.crm-home):not(.crm-service) .tbl_params { border:0; height:auto; max-height:calc(100vh - 180px); overflow:auto; }
.general:not(.crm-home):not(.crm-service) .tbl_params table { border-collapse:separate; border-spacing:0; }
.general:not(.crm-home):not(.crm-service) .tbl_params thead { position:sticky; top:0; z-index:1; background:#f8fafc; }
.general:not(.crm-home):not(.crm-service) .tbl_params th { height:42px; border-bottom:1px solid var(--crm-line); color:#65748a; font-size:10px; font-weight:700; text-align:left; text-transform:uppercase; letter-spacing:.035em; }
.general:not(.crm-home):not(.crm-service) .tbl_params td { height:52px; border-bottom:1px solid #edf0f4; color:#27354a; font-size:12px; text-align:left; white-space:nowrap; }
.general:not(.crm-home):not(.crm-service) .tbl_params tbody tr { height:52px; border:0; transition:background .15s ease; }
.general:not(.crm-home):not(.crm-service) .tbl_params tbody tr:hover { background:#f8fbff; }
.general:not(.crm-home):not(.crm-service) .tbl_params input.general_search { width:100%; min-width:90px; padding:7px 8px; border:1px solid var(--crm-line); border-radius:6px; background:#fff; font-size:11px; }
.general:not(.crm-home):not(.crm-service) .general_header { min-height:48px; padding:8px 12px; border-bottom:1px solid var(--crm-line); background:#fff; }
.general:not(.crm-home):not(.crm-service) .btn-header_b, .general:not(.crm-home):not(.crm-service) .btn-header_c { padding:8px 11px; border-radius:7px; border:1px solid var(--crm-line); background:#fff; color:#40516a; font-size:11px; }
.general:not(.crm-home):not(.crm-service) .btn-header_b { border-color:var(--crm-blue); background:var(--crm-blue); color:#fff; }
.general:not(.crm-home):not(.crm-service) .tbl_pagination, .general:not(.crm-home):not(.crm-service) .tbl_footer { padding:10px 14px; border-top:1px solid var(--crm-line); background:#fff; }
.general:not(.crm-home):not(.crm-service) .pagination .col { padding:5px 8px; border-radius:5px; color:#526277; font-size:11px; }
.general:not(.crm-home):not(.crm-service) .pagination .col.active { background:var(--crm-blue); color:#fff; }
.general[data-general="calc"] { padding:20px 28px; }
.crm-dashboard { max-width:1450px; margin:0 auto; padding:34px 30px 44px; }
.crm-page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:26px; }
.crm-eyebrow { margin:0 0 5px; color:var(--crm-blue); font-size:10px; font-weight:700; letter-spacing:.1em; }
.crm-page-heading h1 { margin:0; color:var(--crm-text); font-size:27px; line-height:34px; }
.crm-page-heading p:not(.crm-eyebrow) { margin:5px 0 0; color:var(--crm-muted); font-size:13px; }
.crm-primary-action { padding:11px 15px; border:1px solid var(--crm-blue); border-radius:8px; background:var(--crm-blue); box-shadow:0 4px 10px rgba(37,99,235,.18); color:#fff; cursor:pointer; font-size:12px; font-weight:700; }
.crm-primary-action i { margin-right:5px; }
.crm-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:17px; }
.crm-kpi-card { padding:17px 18px; border:1px solid var(--crm-line); border-radius:11px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); color:var(--crm-text); cursor:pointer; text-align:left; transition:transform .15s, box-shadow .15s; }
.crm-kpi-card:hover { box-shadow:0 7px 18px rgba(15,23,42,.08); transform:translateY(-1px); }
.crm-kpi-card span, .crm-kpi-card small { display:block; color:var(--crm-muted); font-size:11px; }
.crm-kpi-card strong { display:block; margin:8px 0 4px; color:var(--crm-text); font-size:27px; line-height:30px; }
.crm-kpi-card.crm-kpi-alert strong { color:var(--crm-red); }
.crm-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr); gap:17px; }
.crm-panel { min-width:0; padding:20px; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); }
.crm-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:18px; }
.crm-panel-heading h2 { margin:0; color:var(--crm-text); font-size:15px; }
.crm-panel-heading p { margin:4px 0 0; color:var(--crm-muted); font-size:11px; }
.crm-text-action { border:0; background:transparent; color:var(--crm-blue); cursor:pointer; font-size:11px; font-weight:700; white-space:nowrap; }
.crm-pipeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:9px; }
.crm-pipeline-stage { min-height:84px; padding:13px; border:1px solid var(--crm-line); border-radius:9px; background:#fff; color:var(--crm-text); cursor:pointer; text-align:left; }
.crm-pipeline-stage:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); }
.crm-pipeline-stage span { display:block; min-height:30px; color:#5f6f85; font-size:11px; }
.crm-pipeline-stage strong { display:block; color:var(--crm-blue); font-size:23px; }
.crm-action-list { display:grid; gap:2px; }
.crm-action-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; width:100%; padding:10px 4px; border:0; border-bottom:1px solid #edf0f4; background:#fff; color:var(--crm-text); cursor:pointer; text-align:left; }
.crm-action-row:last-child { border-bottom:0; }
.crm-action-row:hover { background:#f8fbff; }
.crm-action-icon { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#e8f1ff; color:var(--crm-blue); font-size:11px; }
.crm-action-row.is-overdue .crm-action-icon { background:#fff0f2; color:var(--crm-red); }
.crm-action-row b, .crm-action-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-action-row b { font-size:12px; }
.crm-action-row small, .crm-action-row time { margin-top:3px; color:var(--crm-muted); font-size:10px; }
.crm-action-row time { white-space:nowrap; }
.crm-inline-empty { padding:20px 0; color:var(--crm-muted); font-size:12px; text-align:center; }
.crm-dashboard-note { margin:16px 2px; color:var(--crm-muted); font-size:11px; }
.crm-dashboard-note button { margin-left:4px; border:0; background:transparent; color:var(--crm-blue); cursor:pointer; font-size:11px; }
.crm-empty-state { max-width:480px; margin:12vh auto; padding:38px; border:1px solid var(--crm-line); border-radius:12px; background:#fff; color:var(--crm-muted); text-align:center; }
.crm-empty-state > i { display:grid; width:50px; height:50px; place-items:center; margin:0 auto 16px; border-radius:50%; background:var(--crm-blue-soft); color:var(--crm-blue); font-size:20px; }
.crm-empty-state h1 { margin:0 0 8px; color:var(--crm-text); font-size:20px; }
.crm-empty-state p { margin:0; font-size:12px; line-height:20px; }
#overlay .view { border-radius:12px; }
/* Shared form, modal and action patterns. These selectors deliberately retain
   the legacy markup and event hooks used by ui-new.js. */
#overlay { position:fixed; inset:0; z-index:1040; width:auto; height:auto; overflow:auto; background:transparent; }
#overlay .background { position:fixed; inset:0; width:auto; height:auto; background:rgba(15,23,42,.5); opacity:1; filter:none; backdrop-filter:blur(2px); }
#overlay .view { box-sizing:border-box; width:min(620px,calc(100vw - 32px)); max-height:calc(100vh - 48px); margin:24px auto!important; padding:28px; overflow:auto; border:1px solid var(--crm-line); border-radius:12px; background:var(--crm-surface); box-shadow:0 24px 64px rgba(15,23,42,.25); }
#overlay .view[style*="40vw"] { width:min(650px,calc(100vw - 32px))!important; }
#overlay .view[style*="80vw"] { width:min(1120px,calc(100vw - 32px))!important; }
#overlay .overlay-close { display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid var(--crm-line); border-radius:7px; background:#fff; box-shadow:none; color:#718096; font-size:0; right:16px; top:16px; z-index:2; }
#overlay .overlay-close i { font-size:14px; }
#overlay .overlay-close:hover { border-color:#fecdd3; background:#fff1f2; color:var(--crm-red); }
#overlay .overlay-text { padding:0; }
#overlay .overlay-title { margin:0 42px 22px 0; padding:0 0 15px; border-bottom:1px solid var(--crm-line); color:var(--crm-text); font-size:18px; font-weight:700; line-height:24px; }
#overlay .ui-form { margin:0; }
#overlay .input-b { margin:0 0 14px; }
#overlay .input-t { min-height:38px; color:#526277; font-size:12px; font-weight:600; }
#overlay .input-p input, #overlay .input-p textarea, #overlay .input-b select, #overlay input:not([type="checkbox"]), #overlay select, #overlay textarea { box-sizing:border-box; width:100%; margin:0; padding:9px 10px; border:1px solid #d9e0ea; border-radius:7px; background:#fff; color:var(--crm-text); font:12px 'Open Sans',Arial,sans-serif; line-height:19px; transition:border-color .15s,box-shadow .15s; }
#overlay .input-p textarea, #overlay textarea { min-height:94px; resize:vertical; }
#overlay input:focus, #overlay select:focus, #overlay textarea:focus { border-color:#7da8fa; box-shadow:0 0 0 3px rgba(37,99,235,.12); outline:0; }
#overlay input:disabled, #overlay select:disabled, #overlay textarea:disabled { background:#f1f5f9; color:#94a3b8; cursor:not-allowed; }
#overlay label { color:#526277; font-size:11px; }
#overlay input[type="checkbox"] { width:15px; height:15px; margin:0 6px 0 0; accent-color:var(--crm-blue); vertical-align:middle; }
#overlay button, #overlay .btn_overlay_v1, #overlay .btn_overlay, #overlay .btn-header_b, #overlay .crm-order-submit { display:inline-flex; min-height:36px; align-items:center; justify-content:center; padding:8px 13px; border:1px solid var(--crm-blue); border-radius:7px; background:var(--crm-blue); color:#fff; cursor:pointer; font:600 12px 'Open Sans',Arial,sans-serif; text-decoration:none; transition:background .15s,border-color .15s,transform .15s; }
#overlay button:hover, #overlay .btn_overlay_v1:hover, #overlay .btn_overlay:hover, #overlay .btn-header_b:hover, #overlay .crm-order-submit:hover { border-color:#1d4ed8; background:#1d4ed8; color:#fff; transform:translateY(-1px); }
#overlay .btn-f:not(.btn-blue):not(.btn-red) { border-color:#d9e0ea; background:#fff; color:#40516a; }
#overlay .btn-f.btn-red, #overlay .button-danger { border-color:var(--crm-red); background:var(--crm-red); }
#overlay .btn-f.btn-green { border-color:var(--crm-green); background:var(--crm-green); color:#fff; }
#overlay .crm-order-status-form, #overlay .crm-order-links-form, #overlay .crm-order-comment-form { display:grid; gap:9px; margin-top:17px; padding:15px; border:1px solid var(--crm-line); border-radius:9px; background:#f8fafc; }
#overlay .crm-order-links-form .overlay-title { margin:0; padding:0; border:0; font-size:13px; }
#overlay .crm-order-details-content { color:#40516a; font-size:12px; line-height:20px; }
#overlay .crm-order-details-content ul { margin:7px 0 0 18px; }
.general .dropdown_block { padding:0; }
.general .dropdown_title { display:grid; width:30px; height:30px; place-items:center; border:1px solid var(--crm-line); border-radius:7px; background:#fff; color:#607089; font-size:14px; }
.general .dropdown_title:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.general .dropdown_params { min-width:185px; padding:4px; border:1px solid var(--crm-line); border-radius:8px; box-shadow:0 10px 24px rgba(15,23,42,.13); overflow:hidden; }
.general .dropdown_params li { padding:8px 10px; border:0; border-radius:5px; color:#40516a; font-size:11px; }
.general .dropdown_params li:hover { background:var(--crm-blue-soft); color:var(--crm-blue); }
.general .dropdown_params li[data-action="delete"] { color:var(--crm-red); }
.general .dropdown_params li[data-action="delete"]:hover { background:#fff1f2; color:#be123c; }
.general .fa.table_row_edit, .general .fa.table_row_view, .general .fa.items_add_edit, .general .fa.table_row_delete, .general .fa.items_add_delete, .general .fa.table_row_edit-n { display:inline-grid; width:28px; height:28px; place-items:center; float:none; padding:0; border:1px solid transparent; border-radius:7px; color:#607089; font-size:13px; }
.general .fa.table_row_edit:hover, .general .fa.table_row_view:hover, .general .fa.items_add_edit:hover, .general .fa.table_row_edit-n:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.general .fa.table_row_delete:hover, .general .fa.items_add_delete:hover { border-color:#fecdd3; background:#fff1f2; color:var(--crm-red); }
.crm-status-pill { display:inline-flex; max-width:170px; align-items:center; min-height:23px; padding:3px 8px; border-radius:999px; overflow:hidden; font-size:10px; font-weight:700; line-height:16px; text-overflow:ellipsis; white-space:nowrap; }
.crm-status-neutral { background:#eef2f7; color:#526277; }
.crm-status-active { background:#e8f1ff; color:#1d4ed8; }
.crm-status-success { background:#e7f8f1; color:#08795b; }
.crm-status-warning { background:#fff7df; color:#a16207; }
.crm-status-danger { background:#fff0f2; color:#be123c; }
.general tr.warn td { background:#fffbed; }
.general tr.trls_red td, .general tr.crm-order-needs-city td { background:#fff5f5!important; color:#a40000; }
.general .norow td { padding:34px 15px!important; color:#94a3b8; font-size:12px; text-align:center!important; white-space:normal; }
.loading:before { position:fixed; inset:0; width:auto; height:auto; background:rgba(15,23,42,.35); }
.loader { position:fixed; top:calc(50% - 40px); left:calc(50% - 40px); width:80px; height:80px; margin:0; }
@media (max-width:760px) { #overlay .view, #overlay .view[style*="40vw"], #overlay .view[style*="80vw"] { width:calc(100vw - 20px)!important; max-height:calc(100vh - 20px); margin:10px auto!important; padding:20px 16px; } #overlay .overlay-title { margin-bottom:18px; font-size:16px; } #overlay .input-b .row { display:block; } #overlay .input-t { min-height:auto; margin:0 0 5px; } #overlay .input-p { width:100%; margin:0; } .crm-status-pill { max-width:125px; } }
@media (max-width:1050px) { .menu { width:226px; min-width:226px; } .crm-topbar { padding:0 20px; } .crm-dashboard { padding:28px 20px; } .crm-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .crm-dashboard-grid { grid-template-columns:1fr; } .crm-profile-button b { display:none; } }
@media (max-width:760px) { #general.group { display:block; } .menu { position:fixed; left:-264px; width:264px; transition:left .2s ease; } body.crm-menu-open .menu { left:0; } body.crm-menu-open:after { position:fixed; z-index:15; inset:0; background:rgba(15,23,42,.35); content:''; } .generals { width:100%; } .crm-topbar { gap:10px; height:58px; padding:0 14px; } .crm-menu-toggle { display:block; } .crm-breadcrumb { min-width:0; font-size:11px; } .crm-breadcrumb span { display:none; } .crm-global-search { width:auto; flex:1; margin-left:0; } .crm-global-search input { width:100%; } .crm-topbar-actions { gap:4px; } .crm-icon-button { border:0; } .crm-dashboard { padding:23px 14px; } .crm-page-heading { display:block; } .crm-primary-action { margin-top:15px; } .crm-kpi-grid { grid-template-columns:1fr 1fr; gap:9px; } .crm-kpi-card { padding:13px; } .crm-kpi-card strong { font-size:22px; } .crm-panel { padding:15px; } .general:not(.crm-home):not(.crm-service), .general[data-general="calc"] { padding:16px 10px; } .general:not(.crm-home):not(.crm-service) .tbl_params { max-height:calc(100vh - 140px); } .crm-profile-button { display:none; } }

/* Calculator workspace. The selectors intentionally reuse the legacy DOM so
   calculations, autosave and ui-new.js events keep their existing contracts. */
.general[data-general="calc"] .section { padding:0; background:transparent; }
.general[data-general="calc"] .header { grid-template-columns:minmax(0,1fr) 300px; gap:16px; padding:20px; background:var(--crm-bg); }
.general[data-general="calc"] .calc { min-width:0; overflow:hidden; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.general[data-general="calc"] .calc-header { display:flex; min-height:58px; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--crm-line); background:#fff; }
.general[data-general="calc"] .calc-header_item,
.general[data-general="calc"] .calc-header_item-last { display:inline-flex; min-height:35px; align-items:center; justify-content:center; padding:0 11px; border:1px solid #d9e0ea; border-radius:7px!important; background:#fff; color:#40516a; font-size:11px; line-height:16px; }
.general[data-general="calc"] .calc-header_item:first-child { justify-content:flex-start; font-weight:700; }
.general[data-general="calc"] .calc-header_item:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.general[data-general="calc"] .calc-header_item-last { margin-left:auto; min-width:122px; }
.general[data-general="calc"] .calc-header_item-last select { width:100%; border:0; background:transparent; color:#40516a; font:600 11px 'Open Sans',Arial,sans-serif; }
.general[data-general="calc"] .ui-test-json { margin-left:auto; }
.general[data-general="calc"] .calc-body { min-height:420px; border:0; background:#fff; }
.general[data-general="calc"] .c-table_block-mains { border-bottom:1px solid var(--crm-line); }
.general[data-general="calc"] .c-table_blocks { padding:20px; background:#fff; }
.general[data-general="calc"] .c-table_block,
.general[data-general="calc"] .new_block { min-height:360px; padding:4px; border:1px dashed #cbd5e1; border-radius:9px; background:#f8fafc; }
.general[data-general="calc"] .c-table_block:not(.new_block) { border-style:solid; background:#fff; }
.general[data-general="calc"] .c-table_block_n { box-sizing:border-box; padding:12px 10px; }
.general[data-general="calc"] .c-table_block_n-title { padding:0 0 9px; color:#334155; font-size:11px; font-weight:700; }
.general[data-general="calc"] .c-table_block_n_items { padding:9px 7px; border:1px solid #e2e8f0; border-radius:7px; background:#fff; }
.general[data-general="calc"] .c-table_block_n_items_title { color:#718096; font-size:10px; }
.general[data-general="calc"] .c-table_block_n_item { padding:4px 3px; }
.general[data-general="calc"] .c-table_block_n_item span { display:block; min-height:28px; padding:6px 7px; border:1px solid transparent; border-radius:5px; color:#40516a; font-size:10px; line-height:14px; }
.general[data-general="calc"] .c-table_block_n_item span:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); opacity:1; }
.general[data-general="calc"] .c-table_footer { min-height:58px; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:10px 12px; border:0; background:#f8fafc; }
.general[data-general="calc"] .calc-lists { display:flex; align-items:center; gap:6px; overflow:auto; }
.general[data-general="calc"] .calc-lists_item { float:none; flex:0 0 auto; width:auto; min-width:30px; height:30px; padding:0 9px; border:1px solid #d9e0ea; border-radius:6px; background:#fff; color:#607089; font-size:11px; line-height:28px; text-align:center; }
.general[data-general="calc"] .calc-lists_item.active,
.general[data-general="calc"] .calc-lists_item:hover { border-color:var(--crm-blue); background:var(--crm-blue); color:#fff; }
.general[data-general="calc"] .calc-lists_item.s-none:hover { border-color:#d9e0ea; background:#fff; color:#94a3b8; }
.general[data-general="calc"] .c-table_footer-r { display:flex; align-items:center; gap:8px; }
.general[data-general="calc"] .calc-version_date { color:#718096; font-size:10px; }
.general[data-general="calc"] .calc-version { display:flex; gap:4px; margin:0; }
.general[data-general="calc"] .calc-version_item { width:9px; height:9px; margin:0; border:1px solid #94a3b8; border-radius:50%; background:#fff; }
.general[data-general="calc"] .calc-version_item.active,
.general[data-general="calc"] .calc-version_item:hover { border-color:var(--crm-blue); background:var(--crm-blue); }
.general[data-general="calc"] .calc-footer { display:flex; flex-wrap:wrap; gap:8px; padding:12px; border-top:1px solid var(--crm-line); background:#fff; }
.general[data-general="calc"] .calc-footer_item,
.general[data-general="calc"] .calc-footer_item-last { display:inline-flex; min-height:35px; align-items:center; justify-content:center; padding:0 12px; border:1px solid #d9e0ea; border-radius:7px!important; background:#fff; color:#40516a; font-size:11px; }
.general[data-general="calc"] .calc-footer_item:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.general[data-general="calc"] .calc-footer_item-last { margin-left:auto; border-color:var(--crm-blue); background:var(--crm-blue); color:#fff; }
.general[data-general="calc"] .calc-footer_item-last.delete_list { margin-left:0; border-color:#fecdd3; background:#fff1f2; color:#be123c; }
.general[data-general="calc"] .calc-footer_item-last.save_client_button { margin-left:auto; }
.general[data-general="calc"] .calc-footer_item-last.close_mains { border-color:#d9e0ea; background:#fff; color:#40516a; }
.general[data-general="calc"] .calc-footer_item-last.close_mains { margin-left:0; }
.general[data-general="calc"] .sidebar { min-width:0; overflow:hidden; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.general[data-general="calc"] .sidebar-header { display:flex; height:58px; border-bottom:1px solid var(--crm-line); }
.general[data-general="calc"] .sidebar-header_w { flex:1; height:auto; padding:0 10px; border:0!important; border-bottom:2px solid transparent!important; background:#fff!important; color:#718096!important; font-size:11px; font-weight:700; line-height:56px; text-align:center; }
.general[data-general="calc"] .sidebar-header_w:hover,
.general[data-general="calc"] .sidebar-header_w.active,
.general[data-general="calc"] .sidebar-header_w.active:first-child,
.general[data-general="calc"] .sidebar-header_w.active:nth-child(2) { border-bottom-color:var(--crm-blue)!important; background:var(--crm-blue-soft)!important; color:var(--crm-blue)!important; }
.general[data-general="calc"] .sidebar-body { min-height:300px; padding:4px 0 18px; }
.general[data-general="calc"] .sidebar-body-f,
.general[data-general="calc"] .sidebar-body-i { margin:16px; color:#40516a; font-size:11px; }
.general[data-general="calc"] .sidebar-body-f tr:first-child { height:38px; }
.general[data-general="calc"] .sidebar-body-f tr { height:28px; border-bottom:1px solid #eef2f7; }
.general[data-general="calc"] .sidebar-body-f-all { margin:14px 0; padding:12px; border-radius:8px; background:#f1f5f9; color:#18243a; font-size:14px; }
.general[data-general="calc"] .sidebar-body-f-active-btn-l,
.general[data-general="calc"] .sidebar-body-f-active-btn-r { height:30px; border-color:#d9e0ea; font-size:10px; line-height:28px; }
.general[data-general="calc"] .sidebar-body-f-active-btn-r.active { border-color:var(--crm-blue); background:var(--crm-blue); }
.general[data-general="calc"] .sidebar-body-f-active-btn-l.active { border-color:#94a3b8; background:#94a3b8; }
.general[data-general="calc"] .trv-input-search { z-index:30; max-width:calc(100% - 24px); border:1px solid var(--crm-line); border-radius:8px; box-shadow:0 12px 28px rgba(15,23,42,.16); overflow:hidden; }
.general[data-general="calc"] .trv-input-item,
.general[data-general="calc"] .trv-input-client { padding:9px 11px; border-color:#eef2f7; color:#40516a; font-size:11px; }
.general[data-general="calc"] .trv-input-item:hover,
.general[data-general="calc"] .trv-input-client:hover { background:var(--crm-blue-soft); color:var(--crm-blue); }

/* Settings retain the old permissions and data bindings, with a card layout. */
.general[data-general="settings"] .tbl_settings-blocks { grid-template-columns:220px minmax(0,1fr); gap:16px; padding:20px; background:var(--crm-bg); }
.general[data-general="settings"] .tbl_settings-menu.menu { position:static; display:block; width:auto; min-width:0; height:auto; padding:10px; overflow:visible; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.general[data-general="settings"] .tbl_settings-menu.menu ul { display:block; margin:0; padding:0; }
.general[data-general="settings"] .tbl_settings-menu.menu .li_settings { height:auto; min-height:37px; margin:0; padding:10px 11px; border:0; border-radius:7px; background:transparent; color:#526277; font-size:11px; line-height:16px; }
.general[data-general="settings"] .tbl_settings-menu.menu .li_settings:first-child { color:#18243a; font-size:12px; font-weight:700; }
.general[data-general="settings"] .tbl_settings-menu.menu .li_settings:not(:first-child):hover,
.general[data-general="settings"] .tbl_settings-menu.menu .li_settings.active { background:var(--crm-blue-soft); color:var(--crm-blue); }
.general[data-general="settings"] .tbl_settings-block { min-width:0; padding:20px; overflow:auto; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.general[data-general="settings"] .tbl_settings-block h1,
.general[data-general="settings"] .tbl_settings-block .title { margin:0 0 18px; color:#18243a; font-size:18px; }
.general[data-general="settings"] .tbl_settings-block table { border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--crm-line); border-radius:8px; }
.general[data-general="settings"] .tbl_settings-block tr { border:0; }
.general[data-general="settings"] .tbl_settings-block th { background:#f8fafc; color:#607089; font-size:10px; font-weight:700; }
.general[data-general="settings"] .tbl_settings-block td,
.general[data-general="settings"] .tbl_settings-block th { border-bottom:1px solid var(--crm-line); white-space:normal; }
.general[data-general="settings"] .tbl_settings-block tbody tr:last-child td { border-bottom:0; }
.general[data-general="settings"] .tbl_settings-block input,
.general[data-general="settings"] .tbl_settings-block select,
.general[data-general="settings"] .tbl_settings-block textarea { box-sizing:border-box; min-height:35px; padding:7px 9px; border:1px solid #d9e0ea; border-radius:6px; background:#fff; color:#334155; font:11px 'Open Sans',Arial,sans-serif; }
.general[data-general="settings"] .tbl_settings-block input:focus,
.general[data-general="settings"] .tbl_settings-block select:focus,
.general[data-general="settings"] .tbl_settings-block textarea:focus { border-color:#7da8fa; box-shadow:0 0 0 3px rgba(37,99,235,.12); outline:0; }

/* Specific legacy tables and call controls. */
.general[data-general="doorhan"] .selectCellMenu { display:flex; align-items:center; gap:0; margin:0 0 12px; overflow:hidden; border:1px solid var(--crm-line); border-radius:8px; background:#fff; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.general[data-general="doorhan"] .selectCellCount { padding:9px 12px; color:#526277; font-size:11px; }
.general[data-general="doorhan"] .selectCellParams { min-height:34px; padding:9px 11px; border:0!important; border-left:1px solid var(--crm-line)!important; color:#40516a; font-size:11px; }
.general[data-general="doorhan"] .selectCellParams:hover { background:var(--crm-blue-soft)!important; color:var(--crm-blue)!important; }
.general[data-general="doorhan"] .selectCellParams[data-action="delete"] { color:#be123c; }
.general[data-general="doorhan"] .selectCellParams[data-action="delete"]:hover { background:#fff1f2!important; color:#be123c!important; }
.general[data-general="club"] .tbl,
.general[data-general="measurement"] .tbl { border-radius:10px; overflow:hidden; }
.general[data-general="club"] .tbl_footer,
.general[data-general="measurement"] .tbl_footer { padding:12px 0 0; color:#718096; }
.footer-calls { z-index:12; overflow:hidden; border-top:1px solid var(--crm-line); background:#fff; box-shadow:0 -5px 20px rgba(15,23,42,.08); }
.footer-calls .footer-header { display:flex; min-height:46px; align-items:stretch; gap:0; padding:0 16px; border-bottom:1px solid var(--crm-line); background:#fff; }
.footer-calls .footer-header-button,
.footer-calls .footer-header-button-act { display:inline-flex; min-height:45px; align-items:center; padding:0 13px; border:0; border-bottom:2px solid transparent; background:#fff; color:#607089; font-size:11px; font-weight:700; }
.footer-calls .footer-header-button:hover,
.footer-calls .footer-header-button.active { border-bottom-color:var(--crm-blue); background:var(--crm-blue-soft); color:var(--crm-blue); }
.footer-calls .footer-header-button-act { margin-left:auto; border:1px solid var(--crm-blue); border-radius:7px; align-self:center; min-height:32px; background:var(--crm-blue); color:#fff; }
.footer-calls .footer-header-button-act:hover { border-color:#1d4ed8; background:#1d4ed8; color:#fff; }
.footer-calls .section { padding:12px 16px; background:#f8fafc; }

@media (max-width:1100px) { .general[data-general="calc"] .header { grid-template-columns:1fr; } .general[data-general="calc"] .sidebar { min-height:0; } .general[data-general="settings"] .tbl_settings-blocks { grid-template-columns:190px minmax(0,1fr); } }
@media (max-width:760px) { .general[data-general="calc"] .header, .general[data-general="settings"] .tbl_settings-blocks { display:block; padding:10px; } .general[data-general="calc"] .sidebar, .general[data-general="settings"] .tbl_settings-menu.menu { margin-top:12px; } .general[data-general="calc"] .calc-header { align-items:stretch; flex-wrap:wrap; } .general[data-general="calc"] .calc-header_item:first-child { flex:1 1 180px; } .general[data-general="calc"] .calc-header_item-last, .general[data-general="calc"] .ui-test-json { margin-left:0; } .general[data-general="calc"] .c-table_blocks { padding:10px; overflow:auto; } .general[data-general="calc"] .c-table_block, .general[data-general="calc"] .new_block { min-width:620px; } .general[data-general="calc"] .c-table_footer { display:block; } .general[data-general="calc"] .c-table_footer-r { margin-top:9px; } .general[data-general="calc"] .calc-footer_item-last { margin-left:0; } .general[data-general="settings"] .tbl_settings-menu.menu { margin-bottom:12px; } .general[data-general="settings"] .tbl_settings-block { padding:14px; } .general[data-general="doorhan"] .selectCellMenu { align-items:stretch; flex-wrap:wrap; } .general[data-general="doorhan"] .selectCellCount { width:100%; } .general[data-general="doorhan"] .selectCellParams { border-top:1px solid var(--crm-line)!important; border-left:0!important; } .footer-calls .footer-header { padding:0 8px; overflow:auto; } .footer-calls .footer-header-button, .footer-calls .footer-header-button-act { flex:0 0 auto; } .footer-calls .footer-header-button-act { margin:6px 0 6px auto; } .footer-calls .section { padding:10px; } }

/* Sales workspace. The funnel and the tabs are deliberately presentational:
   they do not alter the existing order query, filters or role permissions. */
.general[data-general="orders"]:not(.crm-home):not(.crm-service) .section.crm-orders-workspace { display:block; min-height:0; overflow:visible; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.crm-orders-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; padding:0 2px; }
.crm-orders-heading .crm-eyebrow { margin-bottom:5px; }
.crm-orders-heading h1 { margin:0; color:var(--crm-text); font-size:25px; line-height:32px; }
.crm-orders-heading p:not(.crm-eyebrow) { margin:5px 0 0; color:var(--crm-muted); font-size:12px; }
.crm-orders-heading .btn-header_b { display:inline-flex; min-height:50px; align-items:center; align-self:center; gap:7px; padding:0 20px; border-radius:10px; font-size:15px; white-space:nowrap; }
.crm-orders-pipeline { display:block; margin-bottom:24px; padding:0; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); overflow:hidden; }
.crm-orders-pipeline-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 22px 13px; border-bottom:1px solid var(--crm-line); }
.crm-orders-pipeline-title { display:flex; flex-direction:column; gap:3px; min-width:205px; color:var(--crm-text); font-size:15px; font-weight:700; }
.crm-orders-pipeline-title small { color:var(--crm-muted); font-size:11px; font-weight:400; }
.crm-orders-view-toggle { min-height:40px; padding:0 15px; border:1px solid #b6cdfb; border-radius:8px; background:#fff; color:var(--crm-blue); cursor:pointer; font:700 12px 'Open Sans',Arial,sans-serif; white-space:nowrap; }.crm-orders-view-toggle i { margin-right:6px; }
.crm-orders-stages { display:flex; flex:1; align-items:center; justify-content:space-between; gap:9px; min-width:0; color:#526277; font-size:11px; font-weight:600; }
.crm-orders-stages span { display:inline-flex; min-height:28px; align-items:center; padding:0 10px; border:1px solid #dfe6ef; border-radius:999px; background:#f8fafc; white-space:nowrap; }
.crm-orders-stages span:first-child { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.crm-orders-stages i { color:#a7b4c6; }
.crm-orders-tabs { display:flex; align-items:center; gap:7px; margin:0 0 14px; padding:0; border:0; background:transparent; }
.crm-orders-tab { min-height:42px; padding:0 15px; border:1px solid var(--crm-line); border-radius:9px; background:#fff; color:#718096; cursor:pointer; font:600 12px 'Open Sans',Arial,sans-serif; }
.crm-orders-tab.is-active { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.crm-orders-tab-overdue { color:#be123c; }
.crm-orders-tab-filter { color:#526277; }
.crm-orders-tab-filter i { margin-right:4px; }
.general[data-general="orders"] .crm-orders-table-header { display:none; min-height:64px; align-items:center; justify-content:space-between; gap:16px; padding:0 22px; border:1px solid var(--crm-line); border-bottom:0; border-radius:12px 12px 0 0; background:#fff; }
.crm-orders-table-header strong { display:block; color:var(--crm-text); font-size:13px; }
.crm-orders-table-header span { display:block; margin-top:2px; color:var(--crm-muted); font-size:10px; }
.general[data-general="orders"] .tbl_params, .general[data-general="orders"] .tbl_pagination { display:block; }
.crm-orders-queue { margin-top:20px; overflow:hidden; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); }
.crm-orders-queue-header { display:flex; min-height:64px; align-items:center; padding:0 18px; border-bottom:1px solid var(--crm-line); }
.crm-orders-queue-header strong, .crm-orders-queue-header span { display:block; }
.crm-orders-queue-header strong { color:var(--crm-text); font-size:13px; }
.crm-orders-queue-header span { margin-top:3px; color:var(--crm-muted); font-size:10px; }
.crm-orders-queue .tbl_params { overflow:auto; border:0; border-radius:0 0 12px 12px; }
.crm-orders-queue table { min-width:720px; }
.general[data-general="orders"] .tbl_params { border:1px solid var(--crm-line); border-radius:0 0 11px 11px; background:#fff; }
.general[data-general="orders"] .tbl_pagination { margin-top:0; border:1px solid var(--crm-line); border-top:0; border-radius:0 0 11px 11px; }
.general[data-general="orders"] .tbl_params + .tbl_pagination { border-radius:0 0 11px 11px; }
.general[data-general="orders"] .tbl_params td[data-name="id"] button { padding:0; border:0; background:transparent; color:var(--crm-blue); cursor:pointer; font:700 12px 'Open Sans',Arial,sans-serif; }
.general[data-general="orders"] .crm-order-claim { min-height:30px; padding:6px 8px; border:1px solid #b6cdfb; border-radius:6px; background:var(--crm-blue-soft); color:var(--crm-blue); cursor:pointer; font:600 10px 'Open Sans',Arial,sans-serif; }

/* Calculator: the existing calculation tabs stay fully interactive, but now
   occupy the upper navigation row from the prototype layout. */
.general[data-general="calc"] .section { display:block; min-height:0; }
.general[data-general="calc"] .header { align-items:start; min-height:0; }
.general[data-general="calc"] .calc { grid-template-rows:auto auto minmax(360px,auto) auto; align-self:start; }
.general[data-general="calc"] .calc-header { border-radius:12px 12px 0 0; }
.general[data-general="calc"] .calc-header_item-last[data-status="2"] { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.general[data-general="calc"] .calc-header_item-last[data-status="1"] { border-color:#fecdd3; background:#fff1f2; color:#be123c; }
.general[data-general="calc"] .calc-header_item-last[data-status="2"] select { color:var(--crm-blue); }
.general[data-general="calc"] .calc-header_item-last[data-status="1"] select { color:#be123c; }
.general[data-general="calc"] .ui-test-json { position:static!important; margin-left:auto!important; border:1px solid #d9e0ea!important; border-radius:7px!important; background:#fff; color:#526277; font-size:10px; }
.general[data-general="calc"] .crm-calc-tabs { min-height:47px; padding:7px 12px; border-bottom:1px solid var(--crm-line); background:#f8fafc; }
.general[data-general="calc"] .crm-calc-tabs .calc-lists { margin:0; min-height:32px; }
.general[data-general="calc"] .calc-lists-active { display:flex; align-items:center; gap:6px; }
.general[data-general="calc"] .calc-lists_item { margin:0; }
.general[data-general="calc"] .calc-body { display:block; min-height:360px; }
.general[data-general="calc"] .c-table_block-mains { min-height:360px; border:0; }
.general[data-general="calc"] .c-table_block.main { min-height:480px; padding:0; border:0; border-radius:0; background:#fff; }
.general[data-general="calc"] .c-table_block.main .c-table { width:100%; min-width:770px; border-collapse:separate; border-spacing:0; color:#334155; }
.general[data-general="calc"] .c-table_block.main .c-table thead { position:sticky; top:0; z-index:2; background:#f8fafc; }
.general[data-general="calc"] .c-table_block.main .c-table th { height:40px; padding:0 10px; border-bottom:1px solid var(--crm-line); color:#718096; font-size:10px; font-weight:700; letter-spacing:.035em; text-align:left; text-transform:uppercase; }
.general[data-general="calc"] .c-table_block.main .c-table td { min-height:42px; padding:7px 10px; border-bottom:1px solid #edf0f4; color:#334155; font-size:11px; line-height:17px; vertical-align:middle; }
.general[data-general="calc"] .c-table_block.main .c-table tbody tr:hover { background:#f8fbff; }
.general[data-general="calc"] .c-table_block.main .c-table tr[data-param="0"] { background:#f8fafc; }
.general[data-general="calc"] .c-table_block.main .c-table tr[data-param="0"] td { border-top:1px dashed #cbd5e1; }
.general[data-general="calc"] .c-table_block.main input,
.general[data-general="calc"] .c-table_block.main select { box-sizing:border-box; min-height:30px; padding:5px 7px; border:1px solid #d9e0ea; border-radius:5px; background:#fff; color:#334155; font:11px 'Open Sans',Arial,sans-serif; }
.general[data-general="calc"] .c-table_block.main input:focus,
.general[data-general="calc"] .c-table_block.main select:focus { border-color:#7da8fa; box-shadow:0 0 0 3px rgba(37,99,235,.1); outline:0; }
.general[data-general="calc"] .c-table_block.main .input-param,
.general[data-general="calc"] .c-table_block.main .input-text,
.general[data-general="calc"] .c-table_block.main .input-discount { max-width:76px; text-align:center; }
.general[data-general="calc"] .c-table_block.main .trv-input { width:100%; min-width:205px; text-align:left; }
.general[data-general="calc"] .c-table_block.main .value { color:#18243a; font-weight:700; }
.general[data-general="calc"] .c-table_block.main .ui-params-edit { width:34px; color:#718096; text-align:center; }
.general[data-general="calc"] .c-table_block.main .ui-params-edit:hover { color:var(--crm-blue); }
.general[data-general="calc"] .c-table_block.main .input-param-recommend { display:inline-grid; width:20px; height:20px; place-items:center; margin:0 2px; border:1px solid #d9e0ea; border-radius:5px; background:#fff; color:#526277; cursor:pointer; font-size:12px; }
.general[data-general="calc"] .c-table_block.main .input-param-recommend:hover { border-color:#b6cdfb; background:var(--crm-blue-soft); color:var(--crm-blue); }
.general[data-general="calc"] .new_block { padding:20px; border:0; border-radius:0; background:#fff; }
.general[data-general="calc"] .new_block .c-table_block_n { float:none; min-width:0; padding:0; }
.general[data-general="calc"] .new_block .c-table_block_n-title { padding:0 0 15px; border:0; color:#18243a; font-size:14px; text-align:left; text-transform:none; }
.general[data-general="calc"] .new_block .c-table_block_n { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.general[data-general="calc"] .new_block .c-table_block_n-title { grid-column:1/-1; padding-bottom:3px; }
.general[data-general="calc"] .new_block .c-table_block_n_items { float:none; box-sizing:border-box; width:auto; min-width:0; margin:0; padding:14px; vertical-align:top; }
.general[data-general="calc"] .new_block .c-table_block_n_items_title { float:none; padding:0 0 4px; color:#526277; font-size:10px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.general[data-general="calc"] .new_block .c-table_block_n_item { float:none; width:auto; padding:2px 0; }
.general[data-general="calc"] .crm-calc-product-group { min-height:320px; border-color:#dfe7f1; box-shadow:0 1px 2px rgba(15,23,42,.025); }
.general[data-general="calc"] .crm-calc-product-group-desc { min-height:28px; margin:0 0 8px; color:#718096; font-size:10px; line-height:14px; }
.general[data-general="calc"] .new_block .c-table_block_n_item span.data-type { position:relative; padding-right:24px; cursor:pointer; }
.general[data-general="calc"] .new_block .c-table_block_n_item span.data-type:after { position:absolute; top:50%; right:7px; color:var(--crm-blue); content:'→'; font-size:14px; font-weight:700; transform:translateY(-50%); }
.general[data-general="calc"] .new_block .c-table_block_n_item span.crm-calc-pending { display:flex; align-items:center; justify-content:space-between; color:#94a3b8; cursor:default; }
.general[data-general="calc"] .new_block .c-table_block_n_item span.crm-calc-pending:hover { border-color:transparent; background:transparent; color:#94a3b8; }
.general[data-general="calc"] .crm-calc-pending em { padding:1px 5px; border:1px solid #d9e0ea; border-radius:999px; color:#94a3b8; font-size:8px; font-style:normal; font-weight:700; line-height:13px; text-transform:uppercase; }

/* Product catalog: presentation only. Calculation launchers retain the legacy
   data-type/data-item contract consumed by ui-new.js. */
.general[data-general="calc"] .header:has(.new_block:not(.none)) { display:block; padding:0 28px 28px; }
.general[data-general="calc"] .calc:has(.new_block:not(.none)) { border:0; border-radius:0; background:transparent; box-shadow:none; }
.general[data-general="calc"] .calc:has(.new_block:not(.none)) .calc-header,
.general[data-general="calc"] .calc:has(.new_block:not(.none)) .crm-calc-tabs,
.general[data-general="calc"] .header:has(.new_block:not(.none)) .sidebar { display:none; }
.general[data-general="calc"] .calc:has(.new_block:not(.none)) .calc-body,
.general[data-general="calc"] .calc:has(.new_block:not(.none)) .c-table_block-mains,
.general[data-general="calc"] .calc:has(.new_block:not(.none)) .c-table_blocks { height:auto; min-height:0; overflow:visible; }
.general[data-general="calc"] .calc:has(.new_block:not(.none)) .new_block { height:auto; min-height:0; overflow:visible; padding:0; background:transparent; }
.general[data-general="calc"] .new_block .crm-calc-product-group { display:none; }
.general[data-general="calc"] .new_block .c-table_block_n:has(.crm-calc-catalog) { display:block; }
.general[data-general="calc"] .new_block .c-table_block_n:has(.crm-calc-catalog) .c-table_block_n-title { display:none; }
.crm-calc-catalog-controls { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 15px; }
.crm-calc-catalog-filter { min-height:38px; padding:0 13px; border:1px solid #dfe7f1; border-radius:8px; background:#fff; color:#718096; cursor:pointer; font:12px 'Open Sans',Arial,sans-serif; }
.crm-calc-catalog-filter.active { border-color:#8fc7e8; background:#eaf7fd; color:#1676ab; font-weight:700; }
.crm-calc-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.crm-calc-catalog-card { display:flex; min-height:174px; flex-direction:column; align-items:flex-start; padding:17px 16px; border:1px solid #dfe7f1; border-radius:10px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.025); }
.crm-calc-catalog-card small { color:#718096; font-size:10px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.crm-calc-catalog-card strong { margin:10px 0 5px; color:#18243a; font-size:16px; line-height:21px; }
.crm-calc-catalog-card p { min-height:38px; margin:0; color:#64748b; font-size:11px; line-height:16px; }
.crm-calc-catalog-card > span { display:inline-flex; min-height:36px; align-items:center; margin-top:auto; padding:0 12px; border:1px solid #bcd2e2; border-radius:7px; color:#1676ab; cursor:pointer; font-size:11px; font-weight:700; }
.general[data-general="calc"] .crm-calc-catalog-card > span.data-type:after { content:none; }
.crm-calc-catalog-card > span:hover { border-color:#249bd3; background:#249bd3; color:#fff; }
.crm-calc-catalog-card-primary > span { border-color:#249bd3; background:#249bd3; color:#fff; }
.crm-calc-catalog-card-primary > span:hover { border-color:#1676ab; background:#1676ab; }
.crm-calc-catalog-card-pending > span { border-color:#dfe7f1; color:#94a3b8; cursor:default; }
.crm-calc-catalog-card-pending > span:hover { border-color:#dfe7f1; background:transparent; color:#94a3b8; }
.crm-calc-catalog[data-filter="all"] .crm-calc-catalog-card:not([data-featured="1"]),
.crm-calc-catalog[data-filter="section"] .crm-calc-catalog-card:not([data-category="section"]),
.crm-calc-catalog[data-filter="roll"] .crm-calc-catalog-card:not([data-category="roll"]),
.crm-calc-catalog[data-filter="gate"] .crm-calc-catalog-card:not([data-category="gate"]),
.crm-calc-catalog[data-filter="other"] .crm-calc-catalog-card:not([data-category="other"]) { display:none; }

/* Active calculation workspace. These rules change hierarchy only; selectors
   intentionally retain the existing table, sidebar and save-action bindings. */
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-header { min-height:68px; padding:11px 16px; }
.crm-calc-context { display:none; min-width:0; margin-right:auto; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .crm-calc-context { display:block; }
.crm-calc-context span { display:block; color:#718096; font-size:10px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.crm-calc-context strong { display:block; overflow:hidden; max-width:320px; margin-top:3px; color:#18243a; font-size:16px; line-height:21px; text-overflow:ellipsis; white-space:nowrap; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-header_item { display:none; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-header_item-last { min-width:126px; margin-left:0; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .crm-calc-tabs { min-height:54px; padding:10px 16px; background:#fff; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item { position:relative; min-width:42px; height:34px; padding:0 12px; border-radius:7px; line-height:32px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item.active { box-shadow:0 2px 5px rgba(37,99,235,.2); }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main { min-height:480px; background:#fff; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th { height:43px; background:#f8fafc; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table td { min-height:46px; padding-top:8px; padding-bottom:8px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table tbody tr:first-child td { border-top:0; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar { align-self:start; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-body { min-height:390px; padding-bottom:12px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-body-i,
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-body-f { margin:17px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-body-f-all { margin:18px 0 0; border:1px solid #d9e7f1; background:#f1f7fc; color:#18243a; font-size:16px; font-weight:700; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-footer { min-height:62px; align-items:center; padding:12px 16px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-footer_item { min-height:38px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-footer_item-last { min-height:38px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .delete_list { order:4; margin-left:0; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .save_client_button { order:3; min-width:156px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .close_mains { order:2; }

/* Active calculation: a dense, continuous workspace matching the calculator
   prototype. Only layout is changed; the legacy table controls stay in place. */
.general[data-general="calc"] .header:has(.main:not(.none)) { gap:0; padding:0 20px 20px; align-items:stretch; }
.general[data-general="calc"] .calc:has(.main:not(.none)) { border:0; border-radius:0; box-shadow:none; overflow:visible; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-header { min-height:74px; padding:14px 12px 12px; background:transparent; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .crm-calc-context span { color:#64748b; font-size:10px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .crm-calc-context strong { margin-top:4px; font-size:20px; line-height:25px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .crm-calc-tabs { min-height:52px; padding:8px 12px; border-top:1px solid var(--crm-line); background:#f8fafc; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists { gap:5px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item { min-width:0; height:34px; padding:0 11px; border-radius:5px; font-size:11px; line-height:32px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-body { min-height:0; border-top:1px solid var(--crm-line); }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block-mains { min-height:480px; overflow:auto; border-bottom:0; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_blocks { padding:0; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main { min-height:480px; overflow:visible; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table { border:0; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th { height:34px; padding:0 9px; font-size:9px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table td { min-height:0; padding:5px 9px; font-size:11px; line-height:16px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main input,
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main select { min-height:28px; padding:4px 6px; border-radius:5px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar { border:0; border-left:1px solid var(--crm-line); border-radius:0; box-shadow:none; background:#fff; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-header { height:62px; background:#f8fafc; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-header_w { line-height:60px; background:#f8fafc!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .sidebar-body { min-height:418px; padding-top:8px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-footer { min-height:52px; padding:9px 12px; border-top:1px solid var(--crm-line); }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-footer_item,
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-footer_item-last { min-height:32px; padding:0 10px; }

/* The Club section is kept in the source for a possible future return, but it
   is no longer exposed or rendered as a page. The old call footer is hidden
   without breaking the VOIP listeners that may still be loaded. */
.menu ul,
.menu .li_name,
.menu .li_post,
.menu .li_town { list-style:none; }
.footer-calls { display:none!important; }

/* Login screen. Scope to the direct body child so calculator .main blocks are
   not affected after a calculation is opened. */
body > .crm-login-page { display:grid; min-height:100vh; place-items:center; padding:24px; background:radial-gradient(circle at top right,#e1ecff 0,rgba(225,236,255,0) 34%),linear-gradient(145deg,#f8fafc,#eef4fb); }
body > .crm-login-page .loginbox { width:min(420px,100%); margin:0; }
body > .crm-login-page .loginbox-block { position:static; width:auto; min-height:0; padding:34px; border:1px solid var(--crm-line); border-radius:14px; background:#fff; box-shadow:0 22px 55px rgba(15,23,42,.14); }
body > .crm-login-page .loginbox-block-logo { width:154px; height:39px; margin:0 0 27px; background-position:left center; }
.crm-login-intro { margin-bottom:24px; }
.crm-login-intro p { margin:0 0 5px; color:var(--crm-blue); font-size:10px; font-weight:700; letter-spacing:.1em; }
.crm-login-intro h1 { margin:0; color:var(--crm-text); font-size:24px; line-height:31px; }
.crm-login-intro span { display:block; margin-top:6px; color:var(--crm-muted); font-size:12px; }
body > .crm-login-page .ib { margin:0 0 15px; }
body > .crm-login-page .ib label { display:block; margin:0 0 6px; color:#526277; font-size:11px; font-weight:700; }
body > .crm-login-page .ib input { box-sizing:border-box; width:100%; height:42px; padding:9px 11px; border:1px solid #d9e0ea; border-radius:7px; color:var(--crm-text); font:12px 'Open Sans',Arial,sans-serif; }
body > .crm-login-page .ib input:focus { border-color:#7da8fa; box-shadow:0 0 0 3px rgba(37,99,235,.12); outline:0; }
body > .crm-login-page .ib_btn { display:flex; width:100%; min-height:42px; align-items:center; justify-content:center; gap:7px; border:1px solid var(--crm-blue); border-radius:7px; background:var(--crm-blue); color:#fff; cursor:pointer; font:700 12px 'Open Sans',Arial,sans-serif; }
body > .crm-login-page .ib_btn:hover { border-color:#1d4ed8; background:#1d4ed8; }
body > .crm-login-page .login-error { margin:0 0 16px; padding:10px 11px; border:1px solid #fecdd3; border-radius:7px; background:#fff1f2; color:#be123c; font-size:11px; line-height:17px; }

@media (max-width:900px) { .crm-orders-pipeline { display:block; } .crm-orders-pipeline-title { margin-bottom:11px; } .crm-orders-stages { justify-content:flex-start; overflow:auto; padding-bottom:2px; } }
@media (max-width:760px) { .crm-orders-heading { display:block; } .crm-orders-heading .btn-header_b { margin-top:13px; } .crm-orders-tabs { overflow:auto; padding:0 4px; } .crm-orders-tab { flex:0 0 auto; } .crm-orders-tab-filter { margin-left:0; } .general[data-general="orders"] .crm-orders-table-header { padding:0 12px; } .general[data-general="calc"] .crm-calc-tabs { overflow:auto; } .general[data-general="calc"] .c-table_block.main { min-width:760px!important; } .general[data-general="calc"] .new_block .c-table_block_n { display:block; } .general[data-general="calc"] .new_block .c-table_block_n_items { display:block; width:100%; min-width:0; margin:0 0 10px; } .general[data-general="calc"] .header:has(.new_block:not(.none)) { padding:0 14px 20px; } .crm-calc-catalog-grid { grid-template-columns:1fr; } body > .crm-login-page { padding:15px; } body > .crm-login-page .loginbox-block { padding:25px 20px; } }

/* Functional sales board and workflow tasks. */
.crm-order-filters { display:flex; flex-wrap:wrap; gap:8px; padding:12px; border:1px solid var(--crm-line); border-top:0; background:#f8fafc; }
.crm-order-filters select,.crm-order-filters input { min-height:34px; padding:6px 9px; border:1px solid #d9e0ea; border-radius:6px; background:#fff; color:#334155; font:11px 'Open Sans',Arial,sans-serif; }
.crm-order-filters input { min-width:220px; }
.crm-order-filter-apply { min-height:34px; padding:0 12px; border:1px solid var(--crm-blue); border-radius:6px; background:var(--crm-blue); color:#fff; cursor:pointer; font:600 11px 'Open Sans',Arial,sans-serif; }
.crm-order-board { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,1fr); gap:12px; min-height:180px; margin:0; overflow-x:auto; padding:18px; }
.crm-order-stage { min-width:220px; border:0; border-radius:10px; background:#f6f8fb; }
.crm-order-stage > header { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; color:#102d4b; font-size:12px; font-weight:700; }
.crm-order-stage > header b { display:grid; min-width:21px; height:21px; place-items:center; border-radius:999px; background:#e8effa; color:var(--crm-blue); font-size:10px; }
.crm-order-stage-cards { min-height:115px; padding:0 8px 8px; }.crm-order-stage-more { display:flex; justify-content:center; padding:0 8px 10px; }.crm-order-stage-more-button { min-height:32px; padding:0 10px; border:1px solid #b6cdfb; border-radius:6px; background:#fff; color:var(--crm-blue); cursor:pointer; font:600 10px 'Open Sans',Arial,sans-serif; }.crm-order-stage-more-button:hover { background:var(--crm-blue-soft); }
.crm-order-card { display:flex; flex-direction:column; gap:5px; margin-bottom:8px; padding:10px; border:1px solid #e0e7f0; border-radius:8px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.04); cursor:grab; }
.crm-order-card:hover { border-color:#b6cdfb; box-shadow:0 3px 9px rgba(37,99,235,.11); }
.crm-order-card.is-updating { opacity:.55; cursor:progress; pointer-events:none; }
.crm-order-card button { width:max-content; padding:0; border:0; background:transparent; color:var(--crm-blue); cursor:pointer; font:700 10px 'Open Sans',Arial,sans-serif; }
.crm-order-card strong { color:#24324a; font-size:11px; line-height:15px; }.crm-order-card small,.crm-order-card time { color:#718096; font-size:10px; line-height:14px; }.crm-order-card time { color:#526277; }.crm-order-card-action { display:flex; align-items:center; justify-content:space-between; gap:7px; }.crm-order-card-city { width:max-content; max-width:100%; overflow:hidden; padding:3px 6px; border-radius:999px; background:#e8f3fb; color:#28729c; font-size:9px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.crm-order-board-more { display:flex; justify-content:center; margin:-4px 0 16px; }.crm-order-board-more-button { min-height:34px; padding:0 14px; border:1px solid #b6cdfb; border-radius:7px; background:#fff; color:var(--crm-blue); cursor:pointer; font:600 11px 'Open Sans',Arial,sans-serif; }.crm-order-board-more-button:hover { background:var(--crm-blue-soft); }
.crm-stage-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:999px; background:color-mix(in srgb,var(--stage-color) 12%,white); color:var(--stage-color); font-size:10px; font-weight:700; white-space:nowrap; }
.crm-orders-stages span { border-color:color-mix(in srgb,var(--stage-color) 35%,#dfe6ef); color:var(--stage-color); }.crm-orders-stages span b { margin-left:3px; }
.crm-pipeline-stage { border-top:3px solid var(--stage-color); }.crm-sources-panel { margin-top:16px; }.crm-source-list { display:flex; flex-wrap:wrap; gap:8px; }.crm-source-list button { display:flex; gap:8px; align-items:center; padding:7px 10px; border:1px solid var(--crm-line); border-radius:7px; background:#fff; color:#526277; cursor:pointer; font:11px 'Open Sans',Arial,sans-serif; }.crm-source-list b { color:var(--crm-blue); }
.crm-order-task-form { margin-top:14px; padding-top:14px; border-top:1px solid var(--crm-line); }.crm-order-task-form select,.crm-order-task-form input { box-sizing:border-box; width:100%; min-height:34px; margin:0 0 7px; padding:6px 8px; border:1px solid #d9e0ea; border-radius:6px; }.crm-order-task-form button,.crm-order-stage-submit { min-height:32px; padding:0 10px; border:1px solid var(--crm-blue); border-radius:6px; background:var(--crm-blue); color:#fff; cursor:pointer; }.crm-order-task-item.is-done { color:#718096; text-decoration:line-through; }.crm-order-task-complete { margin-left:5px; border:0; background:transparent; color:var(--crm-blue); cursor:pointer; font-size:10px; }
@media (max-width:760px) { .crm-order-board { grid-auto-columns:minmax(205px,82vw); }.crm-order-filters input { min-width:0; flex:1 1 100%; } }

/* Keep the legacy calculation controls dense enough for a single desktop
   workspace. The original table was allowed to grow from its cell contents,
   which pushed the value buttons onto two lines and hid finance columns. */
.general[data-general="orders"] .crm-orders-stages-empty { color:var(--crm-muted); font-size:11px; font-weight:400; }
.general[data-general="orders"] .tbl_params { max-height:calc(100vh - 360px); }

/* DoorHan production queue. The legacy table and its event classes remain in
   place; this layer only adds an operational hierarchy around it. */
.general[data-general="doorhan"] { min-width:0; max-width:100%; overflow-x:hidden; }
.general[data-general="doorhan"] .section.crm-doorhan-workspace { display:block; min-width:0; max-width:100%; overflow:visible; border:0; background:transparent; box-shadow:none; }
.crm-doorhan-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin:0 2px 17px; }
.crm-doorhan-heading h1 { margin:0; color:var(--crm-text); font-size:25px; line-height:32px; }
.crm-doorhan-heading p { margin:5px 0 0; color:var(--crm-muted); font-size:12px; }
.crm-doorhan-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.crm-doorhan-actions .btn-header_c, .crm-doorhan-actions .btn-header_b, .crm-doorhan-table-heading .btn-header_c { display:inline-flex; min-height:38px; align-items:center; justify-content:center; gap:6px; margin:0; padding:0 12px; white-space:nowrap; }
.crm-doorhan-kpis { display:grid; grid-template-columns:repeat(4,minmax(190px,1fr)); gap:14px; margin-bottom:22px; }
.crm-doorhan-kpi { min-width:0; min-height:76px; padding:16px 18px; border:1px solid var(--crm-line); border-radius:11px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); }
.crm-doorhan-kpi span { display:block; color:var(--crm-muted); font-size:11px; }
.crm-doorhan-kpi strong { display:block; margin-top:10px; color:var(--crm-text); font-size:26px; line-height:30px; white-space:nowrap; }
.crm-doorhan-table-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:76px; padding:0 18px; border:1px solid var(--crm-line); border-bottom:0; border-radius:12px 12px 0 0; background:#fff; }
.crm-doorhan-table-heading strong { display:block; color:var(--crm-text); font-size:13px; }
.crm-doorhan-table-heading span { display:block; margin-top:3px; color:var(--crm-muted); font-size:10px; }
.crm-doorhan-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.crm-doorhan-filter { min-height:32px; padding:0 11px; border:1px solid #d7e1eb; border-radius:7px; background:#fff; color:#526277; cursor:pointer; font:600 11px 'Open Sans',Arial,sans-serif; }
.crm-doorhan-filter:hover, .crm-doorhan-filter.active { border-color:#9ac9e7; background:#eaf7fd; color:#1676ab; }
.general[data-general="doorhan"] .tbl_params { width:100%; min-width:0; max-height:calc(100vh - 378px); overflow:auto; border:1px solid var(--crm-line); border-radius:0 0 12px 12px; background:#fff; overscroll-behavior:contain; }
.general[data-general="doorhan"] .crm-doorhan-table { width:100%; min-width:1330px; table-layout:fixed; }
.general[data-general="doorhan"] .crm-doorhan-table th, .general[data-general="doorhan"] .crm-doorhan-table td { box-sizing:border-box; overflow:hidden; padding-right:7px; padding-left:7px; text-overflow:ellipsis; }
.general[data-general="doorhan"] .crm-doorhan-table th:first-child, .general[data-general="doorhan"] .crm-doorhan-table td:first-child { width:32px; padding-right:4px; padding-left:10px; }
.general[data-general="doorhan"] .crm-doorhan-table th:nth-child(2), .general[data-general="doorhan"] .crm-doorhan-table td:nth-child(2) { width:96px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(3), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(3) { width:90px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(4), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(4), .general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(5), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(5), .general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(6), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(6) { width:72px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(7), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(7), .general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(8), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(8), .general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(9), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(9) { width:75px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(10), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(10) { width:130px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(11), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(11) { width:100px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(12), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(12) { width:110px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(13), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(13) { width:115px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(14), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(14), .general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(15), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(15) { width:90px; }
.general[data-general="doorhan"] .crm-doorhan-table--global th:nth-child(16), .general[data-general="doorhan"] .crm-doorhan-table--global td:nth-child(16) { width:36px; overflow:visible; }
.general[data-general="doorhan"] .crm-doorhan-table--local { min-width:980px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(3), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(3), .general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(4), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(4) { width:82px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(5), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(5) { width:155px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(6), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(6) { width:120px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(7), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(7) { width:125px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(8), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(8) { width:140px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(9), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(9), .general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(10), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(10) { width:110px; }
.general[data-general="doorhan"] .crm-doorhan-table--local th:nth-child(11), .general[data-general="doorhan"] .crm-doorhan-table--local td:nth-child(11) { width:42px; overflow:visible; }
.general[data-general="doorhan"] .crm-doorhan-table input.general_search, .general[data-general="doorhan"] .crm-doorhan-table select { min-width:0; max-width:100%; box-sizing:border-box; }
.general[data-general="doorhan"] .crm-doorhan-table td[data-name="type"], .general[data-general="doorhan"] .crm-doorhan-table td[data-name="delivery"], .general[data-general="doorhan"] .crm-doorhan-table td[data-name="status"], .general[data-general="doorhan"] .crm-doorhan-table td[data-name="user_created"], .general[data-general="doorhan"] .crm-doorhan-table td[data-name="manager"] { text-overflow:ellipsis; white-space:nowrap; }
.general[data-general="doorhan"] .crm-doorhan-table td[data-name="comment"] { width:auto; padding:0 7px; white-space:nowrap; }
.general[data-general="doorhan"] .crm-doorhan-table td[data-name="comment"] .row { display:flex; flex-wrap:nowrap; align-items:center; min-width:0; }
.general[data-general="doorhan"] .crm-doorhan-table td[data-name="comment"] .comment_text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.general[data-general="doorhan"] .tbl_pagination { margin-top:0; border:1px solid var(--crm-line); border-top:0; border-radius:0 0 12px 12px; }
.general[data-general="doorhan"] .tbl_params + .tbl_pagination { border-radius:0 0 12px 12px; }
@media (max-width:1200px) { .crm-doorhan-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1050px) { .crm-doorhan-heading { display:block; } .crm-doorhan-actions { justify-content:flex-start; margin-top:14px; } }
@media (max-width:760px) { .crm-doorhan-kpis { grid-template-columns:1fr; gap:9px; } .crm-doorhan-kpi { min-height:0; padding:13px 14px; } .crm-doorhan-table-heading { align-items:flex-start; flex-direction:column; padding:13px; } .crm-doorhan-filters { justify-content:flex-start; width:100%; } .general[data-general="doorhan"] .tbl_params { max-height:calc(100vh - 305px); } }

.general[data-general="calc"] .header { grid-template-columns:minmax(0,1fr) 270px; gap:12px; padding:14px; }
.general[data-general="calc"] .c-table_blocks { padding:12px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists { overflow-x:auto; scrollbar-width:thin; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists-active { min-width:max-content; gap:6px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item:not(.add_new_block) { position:relative; display:inline-flex; width:auto; min-width:104px; height:42px; flex-direction:column; align-items:flex-start; justify-content:center; padding:5px 25px 5px 10px; border-color:#d9e0ea; border-radius:6px; background:#fff; color:#40516a; line-height:14px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item:not(.add_new_block).active { border-color:#8fc7e8; background:#eaf7fd; color:#1676ab; box-shadow:none; }
.crm-calc-tab-code { display:block; font-size:11px; font-weight:700; line-height:14px; }
.crm-calc-tab-dimensions { display:block; margin-top:1px; color:#718096; font-size:9px; line-height:11px; }
.calc-lists_item.active .crm-calc-tab-dimensions { color:#4380a3; }
.crm-calc-tab-version { position:absolute; top:6px; right:22px; color:#718096; font-size:8px; font-weight:700; line-height:10px; }
.calc-lists_item.active .crm-calc-tab-version { color:#1676ab; }
.crm-calc-tab-delete { position:absolute; top:5px; right:5px; display:grid; width:16px; height:16px; place-items:center; padding:0; border:0; border-radius:4px; background:transparent; color:#94a3b8; cursor:pointer; font:700 14px/1 Arial,sans-serif; }
.crm-calc-tab-delete:hover { background:#fee2e2; color:#be123c; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block-mains { overflow:auto; overscroll-behavior:contain; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main { overflow:visible; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table { min-width:820px; table-layout:auto; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th,
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table td { padding-right:8px; padding-left:8px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(1) { min-width:135px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(2) { min-width:138px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(3) { min-width:180px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(4) { min-width:58px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(5) { min-width:98px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(6) { min-width:68px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .c-table th:nth-child(7) { min-width:34px!important; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .input-param { width:50px; max-width:50px; padding-right:4px; padding-left:4px; vertical-align:middle; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .c-table_block.main .input-param-recommend { display:inline-flex; align-items:center; justify-content:center; margin:0 1px; vertical-align:middle; }

/* Calculator workspace: the prototype uses one continuous desktop surface,
   not independent cards for the table and the calculation parameters. */
.general[data-general="calc"] .section { max-width:none; }
.general[data-general="calc"] .header { grid-template-columns:minmax(0,1fr) 292px; gap:0; align-items:stretch; padding:0 20px 20px; }
.general[data-general="calc"] .header:has(.new_block:not(.none)) { max-width:1360px; margin:0 auto; padding:0 20px 32px; }
.general[data-general="calc"] .calc { position:relative; display:flex; min-width:0; min-height:0; flex-direction:column; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.crm-calc-page-heading { display:flex; min-height:90px; align-items:center; justify-content:space-between; gap:16px; padding:14px 12px 10px; background:transparent; }
.crm-calc-page-heading h1 { margin:0; color:#14233a; font-size:24px; line-height:30px; }
.crm-calc-page-summary { margin:4px 0 0; color:#738196; font-size:12px; line-height:18px; }
.crm-calc-open-catalog { min-height:34px; padding:0 12px; border:1px solid #cfdde8; border-radius:6px; background:#fff; color:#2c85bd; cursor:pointer; font:700 11px 'Open Sans',Arial,sans-serif; white-space:nowrap; }
.crm-calc-open-catalog:hover { border-color:#62aeda; background:#eff9fe; }
.crm-calc-open-estimates { min-height:34px; padding:0 12px; border:1px solid #cfdde8; border-radius:6px; background:#fff; color:#2c85bd; cursor:pointer; font:700 11px 'Open Sans',Arial,sans-serif; white-space:nowrap; }
.crm-calc-open-estimates:hover { border-color:#62aeda; background:#eff9fe; }
.general[data-general="calc"] .calc-header { position:relative; display:flex; min-height:0; align-items:center; justify-content:flex-end; gap:7px; padding:0 12px 8px; background:#f8fafc; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-header { min-height:0; padding:0 12px 8px; background:#f8fafc; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .crm-calc-context,
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-header_item,
.general[data-general="calc"] .calc:has(.main:not(.none)) .type-item { display:none; }
.general[data-general="calc"] .calc-header_item-last { display:inline-flex; min-width:0; margin:0; border:0; background:transparent; }
.general[data-general="calc"] .calc-header_item-last select { height:32px; min-width:118px; padding:0 8px; border:1px solid #cfdde8; border-radius:6px; background:#fff; color:#2b77a7; font:700 11px 'Open Sans',Arial,sans-serif; }
.crm-calc-version-history { display:inline-flex; min-height:32px; align-items:center; gap:6px; padding:0 9px; border:1px solid #cfdde8; border-radius:6px; background:#fff; color:#526277; cursor:pointer; font:700 11px 'Open Sans',Arial,sans-serif; }
.crm-calc-version-history:hover { border-color:#62aeda; color:#1676ab; }
.crm-calc-version-history.is-loading { opacity:.55; cursor:progress; }
.general[data-general="calc"] .crm-calc-tabs { min-height:58px; padding:8px 12px; border-top:1px solid #e2e8f0; border-bottom:1px solid #dce5ed; background:#f8fafc; }
.general[data-general="calc"] .calc-lists { display:flex; min-width:0; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:thin; }
.general[data-general="calc"] .calc-lists-active { display:flex; min-width:max-content; align-items:center; gap:6px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item:not(.add_new_block) { position:relative; display:inline-flex; width:auto; min-width:112px; height:42px; flex:0 0 auto; flex-direction:column; align-items:flex-start; justify-content:center; padding:4px 27px 4px 18px; border:1px solid #cfdde8; border-radius:6px; background:#fff; color:#3f5068; line-height:13px; }
.general[data-general="calc"] .calc:has(.main:not(.none)) .calc-lists_item:not(.add_new_block).active { border-color:#209bd5; background:#18a0dd; color:#fff; box-shadow:none; }
.general[data-general="calc"] .calc-lists_item.add_new_block { display:inline-grid; width:34px; min-width:34px; height:34px; place-items:center; padding:0; border:1px solid #cfdde8; border-radius:6px; background:#fff; color:#287cad; font-size:17px; line-height:1; }
.crm-calc-tab-status { position:absolute; top:10px; left:8px; width:5px; height:5px; border-radius:50%; background:#d59d34; }
.crm-calc-tab-status-off { background:#d85a63; }
.calc-lists_item.active .crm-calc-tab-status { background:#fff; }
.crm-calc-tab-code { font-size:11px; line-height:14px; }
.crm-calc-tab-dimensions { color:#718096; font-size:9px; line-height:11px; }
.calc-lists_item.active .crm-calc-tab-dimensions,
.calc-lists_item.active .crm-calc-tab-version { color:#e8f7ff; }
.crm-calc-tab-version { top:5px; right:21px; font-size:8px; }
.crm-calc-tab-delete { top:5px; right:5px; color:#8b9aad; }
.calc-lists_item.active .crm-calc-tab-delete { color:#e8f7ff; }
.calc-lists_item.active .crm-calc-tab-delete:hover { background:rgba(255,255,255,.19); color:#fff; }
.crm-calc-info-line { display:flex; min-height:42px; align-items:center; justify-content:space-between; gap:12px; padding:0 14px; border-bottom:1px solid #dce5ed; background:#fff; color:#43536a; font-size:11px; }
.crm-calc-info-primary { overflow:hidden; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.crm-calc-info-changed { flex:0 0 auto; color:#b27a20; font-size:10px; font-weight:700; }
.crm-calc-info-changed.is-clean { color:#67935e; }
.general[data-general="calc"] .calc-body { display:block; min-width:0; min-height:0; border:0; background:#fff; }
.general[data-general="calc"] .c-table_block-mains { min-width:0; min-height:460px; max-height:calc(100vh - 340px); overflow:auto; border:0; overscroll-behavior:contain; }
.general[data-general="calc"] .c-table_blocks { min-width:0; padding:0; background:#fff; }
.general[data-general="calc"] .c-table_block.main { min-width:0; min-height:0; overflow:visible; border:0; }
.general[data-general="calc"] .c-table_block.main .c-table { width:100%; min-width:790px; table-layout:fixed; }
.general[data-general="calc"] .c-table_block.main .c-table th { height:35px; padding:0 8px; font-size:9px; }
.general[data-general="calc"] .c-table_block.main .c-table td { min-height:0; padding:5px 8px; font-size:11px; line-height:15px; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(1) { width:23%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(2) { width:22%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(3) { width:21%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(4) { width:8%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(5) { width:13%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(6) { width:8%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main .c-table th:nth-child(7) { width:5%; min-width:0!important; }
.general[data-general="calc"] .c-table_block.main input,
.general[data-general="calc"] .c-table_block.main select { min-height:28px; padding:4px 6px; font-size:11px; }
.general[data-general="calc"] .calc-footer { display:flex; min-height:52px; flex-wrap:wrap; align-items:center; gap:7px; padding:9px 12px; border-top:1px solid #dce5ed; background:#fff; }
.general[data-general="calc"] .calc-footer_item,
.general[data-general="calc"] .calc-footer_item-last { min-height:32px; margin:0; padding:0 10px; border-radius:6px!important; font-size:11px; }
.general[data-general="calc"] .calc-footer_item-last.save_client_button { margin-left:auto; }
.general[data-general="calc"] .crm-calc-footer-history:disabled { cursor:default; opacity:.45; }
.general[data-general="calc"] .sidebar { min-width:0; border:0; border-left:1px solid #dce5ed; border-radius:0; background:#fff; box-shadow:none; overflow:hidden; }
.general[data-general="calc"] .sidebar-header { height:58px; background:#f8fafc; }
.general[data-general="calc"] .sidebar-header_w { line-height:56px; background:#f8fafc!important; }
.general[data-general="calc"] .sidebar-body { min-height:460px; padding:8px 0 14px; }
.general[data-general="calc"] .sidebar-body-i,
.general[data-general="calc"] .sidebar-body-f { margin:14px; }
.general[data-general="calc"] .sidebar-body-param .row { display:flex; align-items:center; }
.crm-calc-version-popover { position:absolute; z-index:20; top:115px; right:10px; width:240px; border:1px solid #cfdde8; border-radius:8px; background:#fff; box-shadow:0 12px 28px rgba(27,54,79,.18); }
.crm-calc-version-popover-head { display:flex; align-items:center; justify-content:space-between; padding:10px 11px; border-bottom:1px solid #e4ebf1; color:#243a55; font-size:11px; }
.crm-calc-version-close { border:0; background:transparent; color:#718096; cursor:pointer; font:18px/1 Arial,sans-serif; }
.crm-calc-version-popover ul { max-height:225px; margin:0; overflow:auto; padding:4px 0; list-style:none; }
.crm-calc-version-popover li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 11px; color:#607089; font-size:10px; }
.crm-calc-version-popover li strong { color:#287cad; font-size:11px; }
.crm-calc-version-popover li.is-empty { display:block; color:#718096; }
@media (max-width:1100px) { .general[data-general="calc"] .header { grid-template-columns:1fr; gap:12px; } .general[data-general="calc"] .sidebar { border:1px solid #dce5ed; border-radius:8px; } .general[data-general="calc"] .sidebar-body { min-height:0; } }
@media (max-width:760px) { .general[data-general="calc"] .header { padding:0 12px 16px; } .crm-calc-page-heading { min-height:0; align-items:flex-start; flex-direction:column; } .general[data-general="calc"] .calc-header { justify-content:flex-start; flex-wrap:wrap; } .general[data-general="calc"] .c-table_block-mains { min-height:360px; max-height:none; } .crm-calc-info-line { align-items:flex-start; flex-direction:column; padding:8px 12px; } .general[data-general="calc"] .calc-footer_item-last.save_client_button { margin-left:0; } }
/* Home screen: matches the HANLER CRM prototype while preserving legacy hooks. */
.crm-home { background:#f3f7fb; }
.crm-dashboard { max-width:1360px; padding:28px 30px 46px; }
.crm-home-heading { align-items:center; margin-bottom:20px; }
.crm-home-heading h1 { font-size:28px; line-height:34px; }
.crm-home-heading p:not(.crm-eyebrow) { margin-top:6px; font-size:13px; }
.crm-primary-action { min-height:40px; padding:10px 15px; border-radius:8px; background:#0e9bd8; border-color:#0e9bd8; box-shadow:0 5px 12px rgba(14,155,216,.2); }
.crm-home-kpis { gap:16px; margin-bottom:25px; }
.crm-home-kpis .crm-kpi-card { min-height:117px; padding:16px 20px; border:1px solid #dfe8ef; border-radius:12px; box-shadow:0 4px 12px rgba(21,56,80,.07); }
.crm-home-kpis .crm-kpi-card span { display:flex; align-items:center; justify-content:space-between; color:#64788c; font-size:12px; }
.crm-home-kpis .crm-kpi-card span i { color:#668196; font-size:11px; }
.crm-home-kpis .crm-kpi-card strong { margin:15px 0 9px; color:#0c2940; font-size:30px; line-height:32px; }
.crm-home-kpis .crm-kpi-card small, .crm-admin-metric small { font-size:11px; }
.is-positive { color:#14916f!important; }
.is-warning { color:#af7411!important; }
.crm-global-dashboard { margin:0 0 25px; }
.crm-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:16px; }
.crm-section-heading h2 { margin:0; color:#0c2940; font-size:21px; line-height:27px; }
.crm-section-heading p { margin:5px 0 0; color:#708397; font-size:12px; }
.crm-outline-action { min-height:34px; padding:7px 10px; border:1px solid #d9e5ed; border-radius:7px; background:#fff; color:#147caf; cursor:pointer; font:700 11px 'Open Sans',Arial,sans-serif; white-space:nowrap; }
.crm-outline-action:hover { border-color:#8bc9e7; background:#f1fbff; }
.crm-admin-metrics { display:grid; grid-template-columns:1.4fr repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.crm-admin-metric { min-height:105px; padding:13px 16px; border:1px solid #dfe8ef; border-radius:11px; background:#fff; box-shadow:0 3px 10px rgba(21,56,80,.05); }
.crm-admin-metric span, .crm-admin-metric small { display:block; color:#6d8092; font-size:11px; }
.crm-admin-metric strong { display:block; margin:12px 0 7px; color:#0c2940; font-size:26px; line-height:28px; }
.crm-global-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr); gap:20px; }
.crm-panel { border-color:#dfe8ef; border-radius:12px; box-shadow:0 3px 10px rgba(21,56,80,.05); }
.crm-panel-heading { align-items:center; margin-bottom:14px; }
.crm-panel-heading h2 { color:#0c2940; font-size:16px; }
.crm-panel-heading p { color:#718496; font-size:11px; }
.crm-analytics-card { min-height:272px; }
.crm-chart-legend { display:flex; gap:14px; margin:0 0 5px; color:#667b8d; font-size:10px; }
.crm-chart-legend span { display:flex; align-items:center; gap:5px; }
.crm-chart-legend i { width:8px; height:8px; border-radius:50%; background:#0e9bd8; }
.crm-orders-chart { display:block; width:100%; height:175px; overflow:visible; }
.crm-orders-chart line { stroke:#e8eff4; stroke-width:.5; }
.crm-orders-chart polyline { fill:none; stroke:#0e9bd8; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.3; }
.crm-chart-days { display:grid; grid-template-columns:repeat(7,1fr); color:#8192a1; font-size:10px; text-align:center; }
.crm-sources-panel { min-height:272px; }
.crm-source-list { display:grid; gap:0; }
.crm-source-list button { display:block; width:100%; padding:10px 2px; border:0; border-bottom:1px solid #edf2f5; background:transparent; color:#50677a; cursor:pointer; font-size:11px; text-align:left; }
.crm-source-list button:last-child { border-bottom:0; }
.crm-source-row-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.crm-source-list button b { color:#0c2940; font-size:12px; }
.crm-source-track { display:block; height:7px; margin-top:8px; overflow:hidden; border-radius:99px; background:#e8eff3; }
.crm-source-track i { display:block; height:100%; border-radius:inherit; background:#0c9fe8; }
.crm-source-list button:nth-child(2) .crm-source-track i { background:#b87009; }
.crm-source-list button:nth-child(3) .crm-source-track i { background:#15966c; }
.crm-source-list button:nth-child(4) .crm-source-track i { background:#7653bc; }
.crm-source-list button:nth-child(5) .crm-source-track i { background:#ce4761; }
.crm-home-content-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:16px; margin-bottom:16px; }
.crm-pipeline-panel { padding:0; overflow:hidden; }
.crm-pipeline-panel > .crm-panel-heading { min-height:69px; margin:0; padding:16px 20px; border-bottom:1px solid #e7eef3; }
.crm-pipeline { grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:0; overflow-x:auto; }
.crm-pipeline-stage { min-height:185px; padding:14px; border:0; border-right:1px solid #e7eef3; border-radius:0; background:#f8fbfd; }
.crm-pipeline-stage:last-child { border-right:0; }
.crm-stage-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:11px; color:#18364e; font-size:11px; }
.crm-stage-title span { display:grid; min-width:21px; height:21px; place-items:center; border-radius:50%; background:#e4edf3; color:#507084; font-size:10px; }
.crm-pipeline-deal { display:block; width:100%; margin:0 0 8px; padding:10px; border:1px solid #e1eaf0; border-left:3px solid var(--stage-color); border-radius:7px; background:#fff; color:#17344c; cursor:pointer; text-align:left; }
.crm-pipeline-deal b, .crm-pipeline-deal small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-pipeline-deal b { margin-bottom:4px; font-size:10px; }
.crm-pipeline-deal small { color:#708495; font-size:9px; }
.crm-stage-empty { margin:22px 0; color:#8798a6; font-size:10px; text-align:center; }
.crm-actions-panel { padding:16px 18px; }
.crm-actions-panel .crm-panel-heading { margin-bottom:4px; }
.crm-action-row { grid-template-columns:31px minmax(0,1fr) auto; padding:11px 2px; }
.crm-action-icon { background:#e6f6fd; color:#1287bd; }
.crm-action-row.is-overdue .crm-action-icon { background:#fff5e7; color:#bd7b0b; }
.crm-action-row b { color:#18364e; font-size:11px; }
.crm-action-row small, .crm-action-row time { color:#73889a; font-size:10px; }
.crm-visits-panel { padding:16px 20px; }
.crm-visits-panel .crm-panel-heading { margin-bottom:6px; }
.crm-visits-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.crm-visit { display:grid; grid-template-columns:68px minmax(0,1fr); gap:11px; padding:12px 8px; border:0; border-right:1px solid #e7eef3; background:#fff; color:#18364e; cursor:pointer; text-align:left; }
.crm-visit:last-child { border-right:0; }
.crm-visit time { color:#5e798d; font-size:10px; font-weight:700; }
.crm-visit b, .crm-visit small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-visit b { font-size:11px; }
.crm-visit small { margin-top:4px; color:#7890a1; font-size:10px; }
@media (max-width:1050px) { .crm-admin-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } .crm-global-grid, .crm-home-content-grid { grid-template-columns:1fr; } .crm-sources-panel { min-height:0; } }
@media (max-width:760px) { .crm-dashboard { padding:20px 14px 30px; } .crm-home-heading { align-items:flex-start; } .crm-home-heading h1 { font-size:24px; } .crm-primary-action { width:100%; margin-top:14px; } .crm-home-kpis { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:20px; } .crm-home-kpis .crm-kpi-card { min-height:116px; padding:14px; } .crm-home-kpis .crm-kpi-card span { font-size:10px; } .crm-home-kpis .crm-kpi-card strong { margin:12px 0 7px; font-size:24px; } .crm-home-kpis .crm-kpi-card small { font-size:9px; } .crm-section-heading h2 { font-size:18px; } .crm-admin-metrics { grid-template-columns:1fr 1fr; gap:10px; } .crm-admin-metric { min-height:92px; padding:13px; } .crm-admin-metric strong { margin:10px 0 5px; font-size:22px; } .crm-analytics-card { min-height:235px; } .crm-orders-chart { height:145px; } .crm-pipeline { grid-template-columns:repeat(4,minmax(155px,1fr)); } .crm-home-content-grid { gap:12px; } .crm-visits-list { grid-template-columns:1fr; } .crm-visit { border-right:0; border-bottom:1px solid #e7eef3; } .crm-visit:last-child { border-bottom:0; } }

/* Clients: visual and interaction structure mirrors the prototype, while the
   legacy list and overlay endpoints remain the data source. */
.general.crm-client-page { max-width:1660px; margin:0 auto; padding:28px 28px 42px; background:transparent; }
.general.crm-client-page .section { display:block; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.crm-client-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:18px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.crm-client-heading h1 { margin:0 0 5px; color:#0c2940; font-size:26px; line-height:30px; letter-spacing:-.5px; }
.crm-client-heading p { margin:0; color:#667e91; font-size:14px; }
.crm-client-primary { min-height:40px; padding:10px 14px; border:0; border-radius:8px; background:#0e9bd8; box-shadow:0 3px 6px rgba(5,159,229,.18); color:#fff; cursor:pointer; font:700 13px 'Open Sans',Arial,sans-serif; }
.crm-client-primary:hover { background:#0b89c0; }
.crm-client-primary i { margin-right:4px; }
.crm-client-toolbar { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 20px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.crm-client-filter { padding:9px 11px; border:1px solid #dfe8ef; border-radius:8px; background:#fff; color:#526e84; cursor:pointer; font:14px 'Open Sans',Arial,sans-serif; }
.crm-client-filter.active { border-color:#78c6ee; background:#eaf8ff; color:#1377ad; font-weight:700; }
.crm-client-card { overflow:hidden; border:1px solid #dfe8ef; border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); }
.crm-client-cardhead { display:flex; min-height:62px; align-items:center; justify-content:space-between; padding:0 18px; border-bottom:1px solid #e3ebf0; }
.crm-client-cardhead b, .crm-client-cardhead span { display:block; }
.crm-client-cardhead b { color:#18364e; font-size:16px; }
.crm-client-cardhead span { margin-top:2px; color:#71879a; font-size:12px; }
.crm-client-cardhead > div:last-child { text-align:right; }
.general.crm-client-page .tbl_params { max-height:calc(100vh - 285px); overflow:auto; }
.general.crm-client-page .tbl_params table { width:100%; min-width:790px; }
.general:not(.crm-home):not(.crm-service).crm-client-page .crm-client-card .tbl_params th { height:auto; padding:11px 17px; border-bottom:1px solid #e3ebf0; background:#f8fbfc; color:#6f8395; font-size:11px; text-align:left; text-transform:none; letter-spacing:0; }
.general.crm-client-page .crm-client-card .tbl_params { border:0; border-radius:0; background:#fff; }
.general.crm-client-page .crm-client-card .tbl_params tbody tr,
.general.crm-client-page .crm-client-card .tbl_params tbody tr:nth-child(odd),
.general.crm-client-page .crm-client-card .tbl_params tbody tr:nth-child(even),
.general.crm-client-page .crm-client-card .tbl_params tbody td { background-color:#fff!important; }
.general.crm-client-page .crm-client-card .tbl_params td { height:auto; padding:13px 17px; background:#fff; color:#29475c; font-size:12px; vertical-align:middle; }
.general.crm-client-page .crm-client-card .tbl_params tbody tr { height:auto; border:0; }
.general.crm-client-page .crm-client-card .tbl_params tbody td { border-bottom:1px solid #f0f3f6; }
.general.crm-client-page .crm-client-card .tbl_params tbody tr:last-child td { border-bottom:0; }
.general.crm-client-page .tbl_params tbody tr:hover { background:#fbfdfe; }
.crm-client-avatar { display:inline-grid; width:26px; height:26px; margin-right:7px; place-items:center; border-radius:50%; background:#d9ecf7; color:#39799d; font-size:10px; font-weight:800; vertical-align:middle; }
.crm-client-open { padding:8px 12px; border:1px solid #c9dce8; border-radius:8px; background:#fff; color:#207aaf; cursor:pointer; font:700 12px 'Open Sans',Arial,sans-serif; }
.crm-client-open:hover { border-color:#78c6ee; background:#eaf8ff; }
.general.crm-client-page .tbl_pagination { margin-top:12px; padding:0; border:0; background:transparent; }
.crm-client-profile-backdrop { position:fixed; z-index:110; inset:0; display:grid; place-items:center; padding:20px; background:rgba(11,37,59,.5); }
.crm-client-profile { width:min(850px,100%); max-height:calc(100vh - 40px); overflow:auto; border-radius:12px; background:#fff; box-shadow:0 20px 45px rgba(8,29,45,.32); }
.crm-client-profile > header { display:flex; align-items:center; justify-content:space-between; padding:17px 20px; border-bottom:1px solid #dfe8ef; color:#18364e; font-size:16px; }
.crm-client-profile-close { width:30px; height:30px; border:1px solid #d5e2ea; border-radius:7px; background:#fff; color:#59748b; cursor:pointer; font-size:19px; line-height:1; }
.crm-client-profile-body { padding:20px; }
.crm-client-profile-title { display:flex; align-items:center; gap:11px; }
.crm-client-profile-title .crm-client-avatar { width:42px; height:42px; margin:0; font-size:12px; }
.crm-client-profile-title strong, .crm-client-profile-title small { display:block; }
.crm-client-profile-title strong { color:#18364e; font-size:17px; }
.crm-client-profile-title small { margin-top:2px; color:#6b8294; font-size:12px; }
.crm-client-status { display:inline-block; margin-top:8px; padding:3px 6px; border-radius:5px; background:#eaf8ff; color:#147bae; font-size:10px; font-weight:800; }
.crm-client-deal-count { display:inline-block; margin:8px 0 0 5px; padding:3px 6px; border-radius:5px; background:#e4f7ef; color:#13845d; font-size:10px; font-weight:800; }
.crm-client-profile-tabs { display:flex; gap:7px; margin:20px 0; }
.crm-client-profile-tabs button { padding:9px 12px; border:1px solid #c9dce8; border-radius:8px; background:#fff; color:#526e84; cursor:pointer; font:700 12px 'Open Sans',Arial,sans-serif; }
.crm-client-profile-tabs button.active { border-color:#78c6ee; background:#eaf8ff; color:#1377ad; }
.crm-client-profile-panel { display:none; }
.crm-client-profile-panel.active { display:block; }
.crm-client-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.crm-client-profile-grid section { padding:15px; border:1px solid #dfe8ef; border-radius:9px; }
.crm-client-profile-grid h3 { margin:0 0 8px; color:#18364e; font-size:13px; }
.crm-client-profile-grid p { display:flex; justify-content:space-between; gap:12px; margin:0; padding:8px 0; border-top:1px solid #edf2f5; color:#667e91; font-size:12px; }
.crm-client-profile-grid p b { max-width:65%; color:#18364e; font-weight:700; text-align:right; word-break:break-word; }
.crm-client-profile-empty { padding:18px; border:1px solid #dfe8ef; border-radius:9px; color:#71879a; font-size:12px; }
.crm-client-profile footer { display:flex; justify-content:flex-end; gap:9px; padding:14px 20px; border-top:1px solid #dfe8ef; background:#f8fbfc; }
.crm-client-profile footer button { min-height:36px; padding:8px 13px; border:1px solid #c9dce8; border-radius:8px; background:#fff; color:#207aaf; cursor:pointer; font:700 12px 'Open Sans',Arial,sans-serif; }
.crm-client-profile footer .crm-client-profile-edit { border-color:#0e9bd8; background:#0e9bd8; color:#fff; }
@media (max-width:680px) { .general.crm-client-page { padding:22px 14px 30px; } .crm-client-heading { display:block; } .crm-client-primary { display:inline-flex; width:auto; margin-top:13px; } .crm-client-toolbar { gap:7px; } .crm-client-filter { padding:8px 10px; } .general.crm-client-page .tbl_params { max-height:calc(100vh - 305px); } .crm-client-profile-backdrop { padding:10px; } .crm-client-profile { max-height:calc(100vh - 20px); } .crm-client-profile-body { padding:16px; } .crm-client-profile-grid { grid-template-columns:1fr; } .crm-client-profile-tabs { overflow:auto; } .crm-client-profile-tabs button { flex:0 0 auto; } }

/* Estimate registry and version workflow. */
.general:not(.crm-home):not(.crm-service).crm-estimates-page { max-width:1660px; margin:0 auto; padding:1px 28px 42px; background:#f3f7fb; }
.general.crm-estimates-page > .section { display:block; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.crm-estimates-workspace { display:block; min-height:0; padding:0; }
.crm-estimates-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:2px; }
.crm-estimates-heading h1 { margin:0; color:var(--crm-text); font-size:25px; line-height:32px; }
.crm-estimates-heading p { margin:5px 0 0; color:var(--crm-muted); font-size:12px; }
.crm-estimates-overview { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr); gap:16px; margin-bottom:20px; }
.crm-estimates-overview .crm-panel { min-height:235px; }
.crm-estimate-variants { padding:14px 18px 18px; border:1px solid #d8eaf5; border-radius:9px; background:#f4faff; }
.crm-estimate-variants > strong { display:flex; align-items:center; gap:7px; margin-bottom:10px; color:#173b56; font-size:12px; }
.crm-estimate-variants > strong span { padding:2px 6px; border-radius:4px; background:#e1f2fb; color:#087bb3; font-size:10px; }
.crm-estimate-variant { display:flex; align-items:center; gap:9px; min-height:38px; margin-bottom:7px; padding:7px 9px; border:1px solid #dfe9f0; border-radius:7px; background:#fff; color:#173b56; font-size:11px; }
.crm-estimate-variant > span:first-child { flex:1; }
.crm-estimate-variant > b { white-space:nowrap; }
.crm-estimate-status { display:inline-flex; width:max-content; align-items:center; padding:3px 7px; border-radius:5px; font-size:10px; font-weight:700; white-space:nowrap; }
.crm-estimate-status-draft { background:#f0eaff; color:#6851b9; }
.crm-estimate-status-sent { background:#ddf5eb; color:#14825c; }
.crm-estimate-status-approved { background:#e4f4ff; color:#147bae; }
.crm-estimate-status-rejected { background:#fde8eb; color:#bb4251; }
.crm-estimate-status-unknown { background:#eef2f5; color:#667e91; }
.crm-estimate-status-list { padding:3px 18px 13px; }
.crm-estimate-status-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:39px; border-bottom:1px solid #edf2f5; }
.crm-estimate-status-list > div b { color:#19364d; font-size:12px; }
.crm-estimate-unknown-note { margin:0 18px 14px; color:#7a8994; font-size:10px; }
.crm-estimates-list { overflow:hidden; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); }
.crm-estimates-list-heading { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:14px; padding:0 18px; border-bottom:1px solid var(--crm-line); }
.crm-estimates-list-heading strong, .crm-estimates-list-heading span { display:block; }
.crm-estimates-list-heading strong { color:var(--crm-text); font-size:13px; }
.crm-estimates-list-heading span { margin-top:2px; color:var(--crm-muted); font-size:10px; }
.crm-estimates-list .tbl_params { max-height:calc(100vh - 645px); overflow:auto; border:0; border-radius:0 0 12px 12px; }
.crm-estimates-list table { min-width:940px; }
.crm-estimates-list .tr_search { display:none; }
.crm-estimates-list.is-filter-open .tr_search { display:table-row; }
.crm-estimates-list td[data-name="calc"] button { padding:0; border:0; background:transparent; color:var(--crm-blue); cursor:pointer; font:700 11px 'Open Sans',Arial,sans-serif; }
.crm-estimates-list td[data-name="calc"] small { display:block; margin-top:3px; color:var(--crm-muted); font-size:9px; }
.crm-estimate-status-select { max-width:145px; padding:4px 7px; border:0; border-radius:5px; cursor:pointer; font:700 10px 'Open Sans',Arial,sans-serif; }
.crm-estimate-open-group { cursor:pointer; }
@media (max-width:1120px) { .crm-estimates-overview { grid-template-columns:1fr; } }
@media (max-width:760px) { .general:not(.crm-home):not(.crm-service).crm-estimates-page { padding:9px 28px 30px; } .crm-estimates-heading { display:block; } .crm-estimates-heading h1 { font-size:23px; } .crm-estimates-heading .crm-primary-action { width:100%; margin-top:13px; } .crm-estimates-overview { gap:12px; } .crm-estimates-overview .crm-panel { min-height:0; padding:0; } .crm-estimate-current > .crm-panel-heading { min-height:69px; margin:0; padding:16px 18px; border-bottom:1px solid #e7eef3; } .crm-estimate-current > .crm-estimate-variants { margin:0; border:0; border-radius:0 0 11px 11px; } .crm-estimate-status-summary { padding:0!important; } .crm-estimate-status-summary > .crm-panel-heading { min-height:62px; margin:0; padding:15px 18px; border-bottom:1px solid #e7eef3; } .crm-estimate-status-summary > .crm-estimate-status-list { padding:12px 18px 14px; } .crm-estimate-status-summary > .crm-estimate-unknown-note { margin:0 18px 14px; } .crm-estimate-variants { padding:12px; } .crm-estimate-variant { flex-wrap:wrap; } .crm-estimate-variant > span:first-child { min-width:100%; } .crm-estimates-list-heading { padding:0 12px; } .general:not(.crm-home):not(.crm-service).crm-estimates-page .crm-estimates-list .tbl_params { max-height:calc(100vh - 360px)!important; overflow:auto!important; -webkit-overflow-scrolling:touch; } .crm-estimates-list table { width:max-content!important; min-width:940px!important; table-layout:auto!important; } .crm-estimates-list th, .crm-estimates-list td { white-space:nowrap; } }

/* Dashboard alignment from the 23 Sep prototype comparison. */
.crm-topbar { height:56px; }
.crm-global-search { height:36px; }
.crm-global-search input { height:36px; }
.crm-dashboard { padding:16px 28px 46px; }
.crm-home-heading { align-items:flex-start; margin-bottom:8px; }
.crm-home-heading h1 { margin:0 0 5px; font-size:20px; line-height:22px; }
.crm-home-heading p:not(.crm-eyebrow) { margin:0; font-size:12px; line-height:17.4px; }
.crm-home-heading .crm-primary-action { padding:9px 9px; font-size:14px; line-height:20px; }
.crm-home-kpis .crm-kpi-card { height:117px; }
.crm-home-kpis { margin-bottom:18px; }
.crm-section-heading { margin-bottom:13px; }
.crm-admin-metrics { grid-template-columns:1.4fr repeat(4,minmax(0,1fr)); }
.crm-admin-metric { height:105px; min-height:105px; }
.crm-admin-metric strong { margin:8px 0 5px; }
.crm-global-dashboard { margin-bottom:20px; }
.crm-analytics-card, .crm-sources-panel { min-height:319px; }
.crm-sources-panel { margin-top:0; }
.crm-home-content-grid { grid-template-columns:minmax(0,2.06fr) minmax(300px,1fr); gap:22px; align-items:start; }
.crm-home-side-stack { display:grid; align-content:start; gap:16px; min-width:0; }
.crm-home-side-stack .crm-visits-panel { margin:0; }
@media (max-width:1050px) { .crm-admin-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } .crm-global-grid, .crm-home-content-grid { grid-template-columns:1fr; } }
@media (max-width:760px) {
    .crm-topbar { height:56px; }
    .crm-dashboard { padding:16px 28px 30px; }
    .crm-home-kpis { margin-bottom:21px; }
    .crm-home-kpis .crm-kpi-card { height:auto; padding:14px; }
    .crm-home-kpis .crm-kpi-card:nth-child(-n+2) { min-height:123px; }
    .crm-home-kpis .crm-kpi-card:nth-child(n+3) { min-height:140px; }
    .crm-section-heading { margin-bottom:24px; }
    .crm-admin-metrics { grid-template-columns:1fr; gap:12px; margin-bottom:18px; }
    .crm-admin-metric { height:105px; min-height:105px; padding:13px 16px; }
    .crm-admin-metric strong { margin:8px 0 5px; font-size:22px; }
    .crm-analytics-card, .crm-sources-panel { min-height:0; }
    .crm-analytics-card { min-height:341px; }
    .crm-sources-panel { min-height:318px; }
    .crm-orders-chart { height:145px; }
    .crm-home-side-stack { gap:12px; }
}
.crm-calls-callback { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0; padding:18px 20px; border:1px solid var(--crm-line); border-radius:12px; background:#fff; }
.crm-calls-callback > div:first-child strong, .crm-calls-callback > div:first-child span { display:block; }
.crm-calls-callback > div:first-child strong { color:var(--crm-text); font-size:14px; }
.crm-calls-callback > div:first-child span { margin-top:4px; color:var(--crm-muted); font-size:11px; }
.crm-calls-callback-controls { display:flex; align-items:center; gap:10px; }
.crm-calls-callback-controls > input { width:190px; height:36px; padding:0 10px; border:1px solid var(--crm-line); border-radius:7px; font:12px 'Open Sans',Arial,sans-serif; }
.crm-calls-callback-controls .li_number_8800_checkbox { display:flex; align-items:center; gap:5px; color:var(--crm-muted); font-size:10px; }
.crm-calls-callback-controls > button { height:36px; padding:0 15px; border:0; border-radius:7px; background:#139fe0; color:#fff; font:700 11px 'Open Sans',Arial,sans-serif; cursor:pointer; }
.crm-client-object-count { margin:0 0 10px; color:var(--crm-muted); font-size:11px; }
.crm-client-object-list { display:grid; gap:8px; margin-bottom:12px; }
.crm-client-object-list article { display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--crm-line); border-radius:8px; background:#fff; }
.crm-client-object-list article > i { color:var(--crm-blue); }
.crm-client-object-list strong, .crm-client-object-list span { display:block; }
.crm-client-object-list strong { color:var(--crm-text); font-size:11px; }
.crm-client-object-list span { margin-top:3px; color:var(--crm-muted); font-size:10px; }
.crm-client-object-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; padding:12px; border:1px solid var(--crm-line); border-radius:8px; background:#f8fafc; }
.crm-client-object-form input { min-width:0; height:34px; padding:0 9px; border:1px solid var(--crm-line); border-radius:6px; font:11px 'Open Sans',Arial,sans-serif; }
.crm-client-object-form button { height:34px; padding:0 10px; border:0; border-radius:6px; background:var(--crm-blue); color:#fff; font:700 10px 'Open Sans',Arial,sans-serif; cursor:pointer; }
.crm-client-object-error { grid-column:1/-1; min-height:14px; color:var(--crm-muted); font-size:10px; }
.crm-settings-empty { padding:28px!important; color:var(--crm-muted); text-align:center; font-size:11px; }
.crm-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; grid-column:1/-1; }
.crm-settings-card { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:12px; min-height:118px; padding:16px; border:1px solid var(--crm-line); border-radius:12px; background:#fff; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.crm-settings-card > i { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:var(--crm-blue-soft); color:var(--crm-blue); font-size:16px; }
.crm-settings-card strong, .crm-settings-card span { display:block; }
.crm-settings-card strong { color:var(--crm-text); font-size:13px; }
.crm-settings-card span { margin-top:4px; color:var(--crm-muted); font-size:10px; line-height:15px; }
.crm-settings-card > button { grid-column:2; justify-self:start; padding:6px 10px; border:1px solid var(--crm-line); border-radius:6px; background:#fff; color:var(--crm-blue); font:700 10px 'Open Sans',Arial,sans-serif; cursor:pointer; }
.crm-settings-open { grid-column:2; justify-self:start; padding:6px 10px; border:1px solid var(--crm-line); border-radius:6px; background:#fff; color:var(--crm-blue); font:700 10px 'Open Sans',Arial,sans-serif; cursor:pointer; }
.crm-settings-card.is-active { border-color:#a7c4fa; box-shadow:0 0 0 2px rgba(37,99,235,.08); }
.crm-settings-card.is-unavailable { background:#fbfcfd; }
.crm-settings-card.is-unavailable > i { background:#f1f4f7; color:#8795a4; }
.crm-settings-card.is-unavailable button { grid-column:2; justify-self:start; padding:6px 10px; border:1px solid #e2e8f0; border-radius:6px; background:#f6f8fa; color:#8795a4; font:600 10px 'Open Sans',Arial,sans-serif; }
.crm-settings-legacy-menu { display:none!important; }
.general[data-general="settings"] .tbl_settings-blocks { display:block; }
.general[data-general="settings"] .tbl_settings-blocks > .tbl_settings-block { margin-top:15px; }
.general[data-general="settings"] .tbl_settings-blocks > .crm-settings-grid.none { display:none; }
.crm-service-workspace, .crm-calls-workspace { display:block!important; min-height:0!important; height:auto!important; overflow:visible!important; padding:22px!important; }
.crm-service-workspace .tbl_params { height:auto!important; min-height:0!important; max-height:calc(100vh - 245px); overflow:auto; border:1px solid var(--crm-line); border-radius:10px; background:#fff; }
.crm-service-workspace table { min-width:850px; }
.crm-service-workspace .crm-orders-heading .btn-header_b { min-height:38px; padding:0 14px; border-radius:7px; font-size:12px; }
.crm-service-actions, .crm-estimates-actions { display:flex; align-items:center; gap:9px; }
.general[data-general="contracts"] > .section { padding:20px; }
.general[data-general="contracts"] .tbl_params { max-height:calc(100vh - 230px); overflow:auto; border:1px solid var(--crm-line); border-radius:10px; background:#fff; }
.crm-contracts-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; }
.crm-contracts-heading h1 { margin:0; color:var(--crm-text); font-size:22px; }
.crm-contracts-heading p:not(.crm-eyebrow) { margin:5px 0 0; color:var(--crm-muted); font-size:11px; }
.crm-contracts-heading > span { padding:8px 11px; border:1px solid var(--crm-line); border-radius:8px; background:#fff; color:var(--crm-muted); font-size:10px; }
.crm-contracts-heading > div:last-child { display:flex; align-items:center; gap:8px; }
.crm-contract-search { width:190px; height:34px; padding:0 10px; border:1px solid var(--crm-line); border-radius:7px; background:#fff; font:11px 'Open Sans',Arial,sans-serif; }
.general[data-general="contracts"] table { min-width:1000px; }
.general[data-general="contracts"] th, .general[data-general="contracts"] td, .crm-client-card th, .crm-client-card td { border-bottom-color:#e8edf2!important; }
.crm-calls-workspace .crm-orders-heading { margin-bottom:14px; }
.crm-calls-workspace .tbl_params { max-height:calc(100vh - 285px); overflow:auto; border:1px solid var(--crm-line); border-radius:10px; background:#fff; }
@media (max-width:760px) { .crm-settings-grid { grid-template-columns:1fr; gap:10px; } .crm-settings-card { min-height:98px; } .crm-service-workspace, .crm-calls-workspace { padding:14px!important; } .crm-service-workspace .crm-orders-heading { display:block; } .crm-service-actions { flex-wrap:wrap; margin-top:12px; } .crm-service-workspace .crm-orders-heading .btn-header_b { margin-top:0; } .crm-service-workspace .tbl_params { max-height:calc(100vh - 260px); } .crm-calls-workspace .crm-orders-heading { display:block; } .crm-calls-workspace .tbl_params { max-height:calc(100vh - 255px); } .crm-estimates-actions { flex-wrap:wrap; margin-top:12px; } .general[data-general="contracts"] > .section { padding:12px; } .crm-contracts-heading { display:block; } .crm-contracts-heading h1 { font-size:20px; } .crm-contracts-heading > div:last-child { flex-wrap:wrap; margin-top:10px; } .crm-contract-search { flex:1 1 140px; } .crm-client-object-form { grid-template-columns:1fr; } .crm-client-object-error { grid-column:1; } }
@media (max-width:760px) { .crm-calls-callback { display:block; margin:12px 0; padding:15px; } .crm-calls-callback-controls { flex-wrap:wrap; margin-top:12px; } .crm-calls-callback-controls > input { flex:1 1 150px; } }
.crm-chart-legend span:nth-child(2) i { background:#c77709; }
.crm-chart-legend span:nth-child(3) i { background:#15966c; }
.crm-orders-chart polyline.crm-chart-series-orders { stroke:#0e9bd8; }
.crm-orders-chart polyline.crm-chart-series-calls { stroke:#c77709; }
.crm-orders-chart polyline.crm-chart-series-estimates { stroke:#15966c; }

/* Shared shell tuned against the approved prototype. */
.menu { display:flex; flex-direction:column; overflow:hidden; }
.menu > ul { flex:1 1 auto; overflow-y:auto; min-height:0; padding-top:14px; padding-bottom:18px; scrollbar-width:thin; }
.crm-side-footer { flex:0 0 auto; display:flex; align-items:center; gap:8px; min-height:54px; padding:0 20px; border-top:1px solid rgba(148,163,184,.14); color:#9eacc0; font-size:11px; }
.crm-system-status-dot { width:7px; height:7px; border-radius:50%; background:#3cc78a; box-shadow:0 0 0 3px rgba(60,199,138,.12); }
.crm-topbar { gap:0; padding:0 20px; }
.crm-breadcrumb { display:flex; align-items:center; gap:8px; flex:0 0 174px; min-width:174px; white-space:nowrap; font-size:14px; }
.crm-breadcrumb-section { color:#7890a6!important; }
.crm-breadcrumb-divider { color:#aebdca!important; }
.crm-breadcrumb-current { color:#42698d!important; }
.crm-global-search { width:520px; flex:0 1 520px; margin-left:20px; }
.crm-topbar-actions { margin-left:auto; gap:10px; }
.crm-profile-button { width:34px; height:34px; justify-content:center; padding:0; }
.crm-profile-button b { display:none; }
.crm-menu-toggle { width:38px; height:38px; }
@media (max-width:1050px) and (min-width:761px) {
    .crm-breadcrumb { flex-basis:150px; min-width:150px; }
    .crm-global-search { width:auto; flex:1 1 auto; margin-left:14px; }
    .crm-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:850px) and (min-width:761px) { .crm-breadcrumb { display:none; } .crm-global-search { margin-left:0; } .crm-global-search input { font-size:12px; } }
@media (max-width:760px) {
    .menu { z-index:20; height:100vh; height:100dvh; overflow:hidden; overscroll-behavior:contain; }
    .menu > ul { overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
    .crm-side-footer { min-height:48px; }
    .crm-topbar { gap:10px; padding:0 18px 0 20px; }
    .crm-breadcrumb { display:none; }
    .crm-global-search { width:auto; min-width:0; flex:1 1 auto; margin:0; }
    .crm-global-search input { min-width:0; }
    .crm-topbar-actions { flex:0 0 auto; gap:6px; }
    .crm-profile-button { display:flex; }
}
