/* Authenticated workspaces keep the existing compact ERP visual language. */
.core-muted,.core-form-help { color: var(--crm-muted); font-size: 11px; }
.sidebar-mobile-close { display: none; }
.topbar .mobile-menu { display: none; }
textarea { font: inherit; }
@media (max-width: 1023px) {
  .topbar .mobile-menu { display: inline-flex; }
  .sidebar-mobile-close { display: inline-flex; position: absolute; top: 14px; right: 12px; background: transparent; border-color: var(--rail-line); color: var(--rail-text); }
}
.core-panel { min-width: 0; border: 1px solid var(--crm-line); border-radius: 5px; background: white; }
.core-panel-heading { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--crm-line-soft); }
.core-panel-heading :is(h2,h3) { margin: 0; font-size: 14px; font-weight: 800; }
.core-panel-heading > span { color: var(--crm-muted); font-size: 10px; }
.core-panel-body { padding: 14px; }
.core-panel-body > p:first-child { margin-top: 0; }
.core-spaced { margin-top: 16px; }
.contracts-overview { overflow: hidden; }
.contracts-overview-heading > div { display: grid; gap: 2px; }
.contracts-overview-heading span { color: var(--crm-muted); font-size: 9px; }
.workflow-subtabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--crm-line); background: var(--crm-surface); scrollbar-width: thin; }
.workflow-subtabs a { display: inline-flex; min-width: max-content; min-height: 40px; align-items: center; gap: 7px; padding: 8px 14px; border-right: 1px solid var(--crm-line-soft); color: var(--crm-secondary); font-size: 10px; font-weight: 700; }
.workflow-subtabs a:hover { background: white; color: var(--crm-blue); }
.workflow-subtabs a.active { position: relative; background: white; color: var(--crm-blue); }
.workflow-subtabs a.active::after { position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; background: var(--crm-blue); content: ''; }
.workflow-subtabs a:focus-visible { outline: 2px solid var(--crm-blue); outline-offset: -3px; }
.workflow-subtabs b { min-width: 18px; padding: 1px 5px; border-radius: 9px; background: #e5e9ee; color: var(--crm-secondary); font-size: 8px; font-variant-numeric: tabular-nums; line-height: 16px; text-align: center; }
.workflow-subtabs a.active b { background: var(--crm-selected); color: var(--crm-blue); }
.contracts-overview-status { min-height: 30px; margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--crm-line-soft); color: var(--crm-muted); font-size: 9px; }
.contracts-overview-status:empty { display: none; }
.contracts-overview-status.error { color: var(--crm-danger); }
.contracts-overview-table .register :is(th,td):first-child { min-width: 210px; }
.contracts-overview-table .register td:nth-child(2) { min-width: 190px; }
.contracts-overview-empty { display: grid; min-height: 260px; place-content: center; justify-items: center; gap: 6px; padding: 30px; color: var(--crm-muted); text-align: center; }
.contracts-overview-empty strong { color: var(--crm-ink); font-size: 14px; }
.contracts-overview-empty span { max-width: 420px; font-size: 10px; line-height: 1.6; }
.contracts-overview-empty .btn { margin-top: 6px; }
.core-two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 14px; }
.core-narrow { max-width: 580px; }
.core-summary-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid var(--crm-line); border-radius: 5px; background: var(--crm-surface); }
.core-summary-bar strong { font-size: 12px; }
.core-summary-bar span { display: block; margin-top: 3px; color: var(--crm-muted); font-size: 10px; }
.core-summary-bar .btn { flex: none; }
.core-form .record-grid { padding: 14px; }
.core-form textarea,.contracts-panel textarea { font-family: inherit; }
.core-form small,.core-panel .record-grid small { color: var(--crm-muted); font-size: 9px; }
.core-form-help { margin: 0 14px 14px; line-height: 1.65; }
.core-form .form-status { margin: 0 14px; }
.core-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; padding: 0 14px 14px; }
.core-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; border-bottom: 1px solid var(--crm-line); }
.table-subtabs { max-width:100%; }
.table-subtabs a { font-size:12px; min-height:44px; font-weight:600; }
.table-subtabs b { font-size:10px; }
.table-subtabs a.active b { background:var(--crm-blue); color:#fff; }
.table-filterbar { align-items:flex-end; gap:12px; }
.table-filter-field { display:flex; flex:1 1 160px; flex-direction:column; gap:5px; min-width:0; max-width:260px; }
.table-filter-field>span { font-size:11px; font-weight:600; color:var(--crm-muted); }
.table-filter-field.table-search { flex-basis:240px; max-width:360px; }
.table-filter-field.table-date { flex:0 1 140px; }
.table-filter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-height:36px; }
.table-filterbar :is(input,select):focus-visible,.table-filter-actions a:focus-visible { outline:2px solid var(--crm-blue); outline-offset:2px; }
@media(max-width:600px) {
  .table-filter-field,.table-filter-field.table-search { flex:1 1 calc(50% - 12px); max-width:none; }
  .table-filter-field.table-search { flex-basis:100%; }
  .table-filter-field.table-date { flex:1 1 calc(50% - 12px); }
  .table-filter-actions { flex-basis:100%; }
  .table-filter-actions .btn { min-height:40px; }
}
.core-search { flex: 1; min-width: 170px; max-width: 380px; }
.core-filterbar :is(input:not([type='checkbox']),select),.core-product-row input:not([type='checkbox']),.core-credential input { width: 100%; min-height: 36px; padding: 7px 10px; border: 1px solid var(--crm-line); border-radius: 4px; background: white; font-size: 11px; }
.core-check { display: inline-flex !important; align-items: center; gap: 7px !important; color: var(--crm-secondary); font-size: 11px; }
.core-check input[type='checkbox'] { width: 16px; min-height: 16px; margin: 0; padding: 0; accent-color: var(--crm-blue); }
.core-table { max-height: none; min-height: 0; border: 0; }
.core-table .register { min-width: 100%; width: max-content; table-layout: auto; }
.core-table .register :is(th,td):nth-child(n) { width: auto; min-width: 110px; max-width: none; text-align: left; }
.core-table .register :is(th,td):first-child { min-width: 160px; }
.core-table .register th { position: static; }
.core-table .register td { padding-block: 10px; }
.core-table .register .btn { min-height: 28px; font-size: 10px; }
.core-cell-sub { display: block; margin-top: 2px; color: var(--crm-muted); font-size: 9px; }
.callbacks-register .register th:first-child,.callbacks-register .register td:first-child { min-width: 170px; }
.callback-time { font-variant-numeric: tabular-nums; }
.callback-time.overdue { color: var(--crm-warning); }
.callback-state:not(.overdue) { border-color: var(--crm-info); background: transparent; color: var(--crm-info); }
.callback-state.overdue { border-color: var(--crm-warning); background: transparent; color: var(--crm-warning); }
.core-tag { display: inline-block; padding: 2px 6px; border: 1px solid var(--crm-line-soft); border-radius: 3px; background: var(--crm-surface); color: var(--crm-secondary); font-size: 9px; }
.core-tag:is(.info,.success,.warning,.danger) { background: transparent; }
.core-tag.info { border-color: var(--crm-info); color: var(--crm-info); }
.core-tag.success { border-color: var(--crm-success); color: var(--crm-success); }
.core-tag.warning { border-color: var(--crm-warning); color: var(--crm-warning); }
.core-tag.danger { border-color: var(--crm-danger); color: var(--crm-danger); }
.core-wrap-cell { min-width: 250px; max-width: 360px; white-space: normal !important; }
.core-alert { margin: 0 0 14px; padding: 10px 12px; border: 1px solid var(--crm-info); border-radius: 4px; background: white; color: var(--crm-info); font-size: 11px; }
.core-alert.error { border-color: var(--crm-danger); background: white; color: var(--crm-danger); }
.core-alert.success { border-color: var(--crm-success); background: white; color: var(--crm-success); }
.core-session-label { max-width: 220px; overflow: hidden; color: var(--crm-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.topbar-tools form { display: flex; margin: 0; }
.topbar-left { flex: 1; }
.app-loading { display: inline-flex; flex-shrink: 0; align-items: center; gap: 7px; margin-left: auto; color: var(--crm-info); font-size: 12px; font-weight: 600; white-space: nowrap; }
.app-loading[hidden] { display: none; }
.app-loading-circle { width: 18px; height: 18px; flex: none; border: 2px solid var(--crm-line); border-top-color: var(--crm-info); border-right-color: var(--crm-info); border-radius: 50%; animation: app-loading-spin .8s linear infinite; }
@keyframes app-loading-spin { to { transform: rotate(360deg); } }
@media (max-width: 650px) { .app-loading-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .app-loading-circle { animation: none; } }
.topbar-left .mobile-menu { flex-shrink: 0; }
.topbar h1 { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.topbar-tools { flex-shrink: 0; }
.core-quota { color: var(--crm-muted); font-size: 11px; }
.core-quota strong { color: var(--crm-ink); }
.core-products { display: grid; gap: 8px; padding: 14px; }
.core-product-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px; max-width: 680px; }
.product-catalog-heading > div:first-child { min-width: 0; }
.product-catalog-heading h3 { margin-bottom: 3px; }
.product-catalog-heading p { margin: 0; color: var(--crm-muted); font-size: 10px; line-height: 1.5; }
.product-catalog-heading-actions { display: flex; flex: none; align-items: center; gap: 8px; }
.product-catalog-list { gap: 0; padding-block: 4px; }
.product-catalog-list .core-product-row { max-width: none; padding: 8px 0; border-bottom: 1px solid var(--crm-line-soft); }
.product-catalog-list .core-product-row:last-child { border-bottom: 0; }
.product-catalog-list .core-product-row > label:first-child { max-width: 680px; }
.product-catalog-list .core-product-row input:not([type='checkbox']) { background: var(--crm-inset); }
.product-catalog-list .core-product-row:has([data-product-active]:not(:checked)) input:not([type='checkbox']) { color: var(--crm-muted); }
.product-state { min-width: 92px; }
.product-state span { font-weight: 600; }
.product-state:has(input:not(:checked)) { color: var(--crm-muted); }
.core-trunk-row { display: grid; gap:16px; padding:16px; border:1px solid var(--crm-line-soft);border-radius:6px;background:white;min-width:0; }
.core-trunk-row :is(input,select) { width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--crm-line);border-radius:4px;background:white;font:inherit;font-size:14px;box-sizing:border-box; }
.core-trunk-row input[type='checkbox'] { width: 16px; min-height: 16px; }
.core-trunk-row label > span { display:block;margin-bottom:6px;color:var(--crm-secondary);font-size:13px; }
.core-trunk-row small { display:block;margin-top:6px;color:var(--crm-muted);font-size:12px;line-height:1.5; }
.core-trunk-flags { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; grid-column: 1 / -1; }
.telephony-setup {min-width:0;}
.telephony-readiness {display:grid;gap:4px;padding:14px 16px;background:var(--crm-surface);border-bottom:1px solid var(--crm-line-soft);font-size:13px;line-height:1.5;}
.telephony-readiness span {color:var(--crm-secondary);}
.telephony-provider-heading,.telephony-line-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.telephony-provider-heading {padding:16px 16px 0;}
.telephony-provider-heading h4 {margin:0;font-size:15px;}
.telephony-provider-heading p {margin:5px 0 0;color:var(--crm-secondary);font-size:13px;}
.telephony-line-heading strong {min-width:0;overflow-wrap:anywhere;font-size:14px;}
.telephony-line-heading .core-check {font-size:12px;color:var(--crm-secondary);}
.telephony-provider-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
.telephony-line-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0;}
.telephony-setup :is(label,details) {min-width:0;}
.telephony-setup summary {cursor:pointer;font-size:13px;color:var(--crm-secondary);padding:10px 0;}
.telephony-line-advanced {border-top:1px solid var(--crm-line-soft);}
.telephony-technical {padding:0 16px;border-top:1px solid var(--crm-line-soft);}
.telephony-technical > summary {min-height:44px;padding:14px 0;}
.telephony-technical > p {font-size:13px;line-height:1.5;color:var(--crm-secondary);margin:0 0 16px;overflow-wrap:anywhere;}
.telephony-technical .record-grid {padding:0 0 16px;}
.telephony-technical .core-check {margin-bottom:12px;}
.telephony-setup .form-status {padding:0 16px;}
.telephony-setup .core-form-actions {padding:0 16px 16px;}
.telephony-setup .core-form-help {font-size:12px;line-height:1.5;}
.telephony-setup .btn {min-height:44px;font-size:13px;}
.telephony-setup summary:focus-visible {outline:2px solid var(--crm-blue);outline-offset:2px;}
@media(max-width:760px){
  .telephony-provider-fields,.telephony-line-grid {grid-template-columns:minmax(0,1fr);}
  .telephony-setup :is(input,select,textarea) {font-size:16px;}
}
[data-sip-endpoints] :is(input,select) { width: 100%; min-height: 32px; padding: 5px 8px; border: 1px solid var(--crm-line); border-radius: 4px; background: white; font-size: 11px; box-sizing: border-box; }
[data-sip-endpoints] input[type='checkbox'] { width: 16px; min-height: 16px; }
[data-sip-endpoints] td .btn { margin-right: 6px; }
.core-setting-output { display: grid; align-content: center; gap: 3px; padding: 0 12px; border: 1px solid var(--crm-line-soft); border-radius: 4px; background: var(--crm-surface); }
.core-setting-output span { color: var(--crm-muted); font-size: 10px; }
.core-setting-output strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.core-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.core-metrics > div { padding: 14px; border: 1px solid var(--crm-line); border-radius: 5px; background: var(--crm-inset); }
.core-metrics span { color: var(--crm-muted); font-size: 10px; }
.core-metrics strong { display: block; margin-top: 6px; font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.core-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.core-inline-details { margin-top: 3px; font-size: 10px; }
.core-inline-details summary { color: var(--crm-blue); cursor: pointer; }
.core-inline-details ul { max-width: 300px; padding-left: 16px; white-space: normal; }
.core-preview-table { max-height: 330px; overflow: auto; }
.core-preview-table table { width: 100%; border-collapse: collapse; font-size: 10px; }
.core-preview-table :is(th,td) { padding: 7px; border-bottom: 1px solid var(--crm-line-soft); text-align: left; overflow-wrap: anywhere; }
.core-preview-table th { position: sticky; top: 0; background: var(--crm-surface); }
.core-dialog { width: min(680px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; overflow-y: auto; border: 1px solid var(--crm-line); border-radius: 6px; background: white; color: var(--crm-ink); }
.core-dialog::backdrop { background: rgb(12 16 22 / .4); }
.core-dialog > .core-panel-heading { position: sticky; z-index: 2; top: 0; background: white; }
.user-access-dialog { width: min(760px,calc(100vw - 24px)); }
.user-access-group { margin: 4px 0; padding: 14px; border: 1px solid var(--crm-line); border-radius: 5px; }
.user-access-group legend { padding: 0 6px; color: var(--crm-ink); font-size: 11px; font-weight: 800; }
.user-access-options { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.user-access-group > small { display: block; margin-top: 10px; line-height: 1.55; }
.core-form .user-access-grid { padding: 0; gap: 12px; }
.user-contract-access { background: var(--crm-surface); }
.user-contract-access :is(input,select) { background: white; }
.user-contract-access[data-disabled=true] { background: var(--crm-inset); }
.user-contract-access[data-disabled=true] > .user-access-grid > label { color: var(--crm-muted); }
.provider-policy-panel { margin-bottom: 14px; }
.provider-policy-panel form { padding: 16px 18px; }
.provider-policy-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.provider-policy-heading h3 { margin: 0 0 4px; font-size: 15px; }
.provider-policy-heading p { max-width: 720px; margin: 0; color: var(--crm-muted); font-size: 10px; line-height: 1.55; }
.provider-policy-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 14px 0 0; padding: 0; border: 0; }
.provider-policy-option { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 9px; padding: 11px 12px; border: 1px solid var(--crm-line); border-radius: 5px; background: white; cursor: pointer; }
.provider-policy-option:has(input:checked) { border-color: var(--crm-blue); background: var(--crm-blue-soft,#f2f7ff); }
.provider-policy-option:has(input:focus-visible) { outline: 2px solid var(--crm-blue); outline-offset: 2px; }
.provider-policy-option input { width: 16px; min-height: 16px; margin-top: 2px; accent-color: var(--crm-blue); }
.provider-policy-option span { display: grid; gap: 3px; }
.provider-policy-option strong { font-size: 11px; line-height: 1.4; }
.provider-policy-option small,.provider-policy-notice { color: var(--crm-muted); font-size: 10px; line-height: 1.5; }
.provider-policy-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--crm-line-soft); }
.provider-policy-footer .form-status { margin: 0; }
.provider-policy-notice { margin: 0; padding: 9px 10px; border-left: 3px solid var(--crm-blue); background: white; }
.provider-picker { display: grid; gap: 10px; min-width: 0; padding-top: 2px; }
.provider-picker[hidden] { display: none; }
.provider-picker-head,.provider-picker-tools,.provider-picker-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.provider-picker-head > div { display: grid; gap: 3px; min-width: 0; }
.provider-picker-head strong { font-size: 11px; }
.provider-picker-head small,.provider-picker-status { color: var(--crm-muted); font-size: 10px; line-height: 1.45; }
.provider-picker-count { flex: none; padding: 4px 7px; border: 1px solid var(--crm-line); border-radius: 4px; background: white; color: var(--crm-secondary); font-size: 10px; font-weight: 700; font-variant-numeric: tabular-nums; }
.provider-picker-tools label { flex: 1; min-width: 0; }
.provider-picker-tools input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--crm-line); border-radius: 4px; background: var(--crm-inset); color: var(--crm-ink); font: inherit; font-size: 11px; outline: 0; }
.provider-picker-tools input:focus-visible { border-color: var(--crm-blue); outline: 2px solid rgb(0 103 199 / .14); outline-offset: 1px; }
.provider-picker-tools .btn { min-height: 36px; border-color: var(--crm-line); background: white; color: var(--crm-secondary); }
.provider-picker-tools .btn:hover { border-color: var(--crm-line); background: var(--crm-inset); color: var(--crm-ink); }
.provider-picker-list { max-height: 232px; overflow-y: auto; border: 1px solid var(--crm-line); border-radius: 5px; background: white; }
.provider-picker-list:empty { display: none; }
.provider-option { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 9px; align-items: start; min-height: 48px; padding: 9px 11px; border-bottom: 1px solid var(--crm-line-soft); cursor: pointer; }
.provider-option:last-child { border-bottom: 0; }
.provider-option:hover { background: var(--crm-inset); }
.provider-option:has(input:focus-visible) { outline: 2px solid var(--crm-blue); outline-offset: -2px; }
.provider-option input { width: 16px; min-height: 16px; margin-top: 2px; }
.provider-option span { display: grid; gap: 2px; min-width: 0; }
.provider-option strong { overflow-wrap: anywhere; font-size: 11px; line-height: 1.35; }
.provider-option small { color: var(--crm-muted); font-size: 9px; line-height: 1.4; }
.provider-picker-status { min-height: 15px; margin: 0; }
.provider-picker-status.error { color: var(--crm-danger); }
.provider-picker-loading { display: flex; align-items: center; gap: 8px; padding: 12px; color: var(--crm-secondary); font-size: 10px; }
.company-provider-settings { margin-top: 14px; overflow: hidden; }
.company-provider-settings .core-panel-heading { padding-bottom: 12px; border-bottom: 1px solid var(--crm-line-soft); }
.company-provider-heading > div { min-width: 0; }
.company-provider-heading h3 { margin-bottom: 4px; }
.company-provider-heading p { max-width: 720px; margin: 0; color: var(--crm-muted); font-size: 10px; line-height: 1.5; }
.company-provider-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 12px 14px 0; }
.company-provider-tools .btn { min-height: 38px; }
.company-provider-actions { display: flex; align-items: center; gap: 7px; padding: 8px 14px; color: var(--crm-muted); font-size: 10px; }
.company-provider-actions .text-button { padding: 0; }
.company-provider-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-height: 336px; margin: 0 14px; }
.company-provider-list .provider-option { border-right: 1px solid var(--crm-line-soft); }
.company-provider-list .provider-option:nth-child(3n) { border-right: 0; }
.company-provider-list .provider-option:nth-last-child(-n+3) { border-bottom: 0; }
.company-provider-settings > .provider-picker-status { margin: 8px 14px 0; }
.company-provider-help { margin-top: 10px; border-top: 1px solid var(--crm-line-soft); }
.integration-settings { overflow: hidden; }
.integration-settings-heading { align-items: flex-start; padding-block: 14px; }
.integration-settings-heading > div { min-width: 0; }
.integration-settings-heading h3 { margin-bottom: 3px; }
.integration-settings-heading p { margin: 0; color: var(--crm-muted); font-size: 10px; line-height: 1.5; }
.integration-settings-heading .core-tag { flex: none; margin-top: 1px; }
.integration-settings-body { display: grid; gap: 16px; }
.integration-settings-intro { max-width: 760px; margin: 0; color: var(--crm-secondary); font-size: 11px; line-height: 1.65; }
.integration-settings-meta { display: grid; grid-template-columns: minmax(0,2fr) minmax(180px,1fr); margin: 0; border-block: 1px solid var(--crm-line-soft); }
.integration-settings-meta > div { min-width: 0; padding: 12px 0; }
.integration-settings-meta > div + div { padding-left: 18px; border-left: 1px solid var(--crm-line-soft); }
.integration-settings-meta dt { margin-bottom: 5px; color: var(--crm-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.integration-settings-meta dd { min-width: 0; margin: 0; color: var(--crm-ink); font-size: 11px; font-variant-numeric: tabular-nums; }
.integration-settings-meta code { display: inline-block; max-width: 100%; padding: 4px 7px; border-radius: 3px; background: var(--crm-inset); color: var(--crm-secondary); font-size: 10px; }
.integration-settings-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.integration-settings-actions .btn { min-height: 38px; }
.integration-settings-actions .btn.secondary { border-color: var(--crm-line); background: white; color: var(--crm-secondary); }
.integration-settings-actions .btn.secondary:hover { border-color: var(--crm-line); background: var(--crm-inset); color: var(--crm-ink); }
.integration-settings-help { max-width: 860px; margin: -2px 0 0; color: var(--crm-muted); font-size: 9px; line-height: 1.6; }
.integration-settings-help code { font-size: inherit; }
#user-dialog .core-form-actions { position: sticky; z-index: 1; bottom: 0; padding-top: 10px; border-top: 1px solid var(--crm-line-soft); background: white; }
#contact-create-dialog .core-form-actions { position: sticky; z-index: 1; bottom: 0; padding-top: 10px; border-top: 1px solid var(--crm-line-soft); background: white; }
.core-credential { display: grid; gap: 6px; font-size: 10px; }
.core-credential input { font-family: ui-monospace,monospace; }
.core-panel code { overflow-wrap: anywhere; white-space: normal; font-size: 11px; }
.core-contact-controls { margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--crm-line); border-radius: 5px; background: var(--crm-surface); }
.core-contact-controls > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.core-contact-controls p { margin: 0 0 8px; color: var(--crm-muted); font-size: 10px; }
.core-contact-controls select { min-height: 32px; max-width: 240px; border: 1px solid var(--crm-line); border-radius: 4px; background: white; font-size: 11px; }
.auth-page { display: grid; min-height: 100dvh; align-items: center; justify-items: center; padding: 24px; background: var(--crm-surface); }
.auth-card { width: min(100%,460px); overflow: hidden; border: 1px solid var(--crm-line); border-radius: 6px; background: white; }
.auth-brand { padding: 22px 28px; background: #050505; }
.auth-brand img { display: block; width: 170px; height: auto; }
.auth-content { padding: 26px 28px; }
.auth-content h1 { margin: 6px 0 10px; font-size: 22px; font-weight: 800; line-height: 1.4; }
.auth-content .record-grid { grid-template-columns: minmax(0,1fr); padding: 12px 0 18px; gap: 14px; }
.auth-content form > .btn { width: 100%; min-height: 40px; }
.auth-content small { color: var(--crm-muted); font-size: 10px; }
.auth-footer { margin: 18px 0 0; color: var(--crm-muted); font-size: 9px; }
@media (max-width:1100px) { .core-two-column { grid-template-columns: minmax(0,1fr); } .core-grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .core-session-label { display: none; } .core-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .core-summary-bar { align-items: flex-start; flex-direction: column; } .core-grid-3 { grid-template-columns: minmax(0,1fr); } .core-contact-controls select { max-width: 100%; } .provider-policy-heading,.provider-policy-footer,.company-provider-heading { align-items: stretch; flex-direction: column; } .provider-policy-options { grid-template-columns: minmax(0,1fr); } .provider-policy-footer .btn { width: 100%; } .provider-picker-tools { align-items: stretch; flex-direction: column; } .provider-picker-tools .btn { width: 100%; } }
@media (max-width:640px) {
  .integration-settings-heading { align-items: stretch; flex-direction: column; }
  .integration-settings-heading .core-tag { align-self: flex-start; }
  .integration-settings-meta { grid-template-columns: minmax(0,1fr); }
  .integration-settings-meta > div + div { padding-left: 0; border-top: 1px solid var(--crm-line-soft); border-left: 0; }
  .integration-settings-actions .btn { width: 100%; }
}
@media (max-width:900px) {
  .company-provider-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-provider-list .provider-option { border-right: 0; border-bottom: 1px solid var(--crm-line-soft); }
  .company-provider-list .provider-option:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width:760px) {
  .company-provider-tools { grid-template-columns: minmax(0,1fr); }
  .product-catalog-heading { align-items: stretch; flex-direction: column; }
  .product-catalog-heading-actions { justify-content: space-between; }
}
@media (max-width:520px) {
  .company-provider-list { grid-template-columns: minmax(0,1fr); }
  .company-provider-list .provider-option:nth-last-child(-n+2) { border-bottom: 1px solid var(--crm-line-soft); }
  .company-provider-list .provider-option:last-child { border-bottom: 0; }
  .product-catalog-list .core-product-row { grid-template-columns: minmax(0,1fr); gap: 7px; }
  .product-state { min-width: 0; }
}
@media (max-width:420px) { .auth-page { padding: 12px; } .auth-content { padding: 20px; } .auth-brand { padding: 20px; } .core-form-actions { justify-content: stretch; } .core-form-actions .btn { flex: 1; } }
.core-import-rows { max-height: 400px; overflow: auto; font-size: 12px; }
.core-import-rows p { padding: 8px 0; border-bottom: 1px solid #e5e7eb; }
.core-inline-form { display: flex; gap: 12px; align-items: end; padding: 0 20px 16px; }
.core-inline-form label { display: grid; gap: 6px; flex: 1; min-width: 0; font-size: 12px; color: #526070; }
.core-inline-form select { width: 100%; height: 36px; border: 1px solid #dfe3e8; border-radius: 5px; background: white; padding: 0 10px; font: inherit; }
.core-outcome-hint { font-size: 12px; line-height: 1.6; margin: 0; color: #526070; }
.drawer-tabs.without-contracts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 420px) { .core-inline-form { flex-direction: column; align-items: stretch; } }

/* Compact, keyboard-friendly date and time selection for callbacks. */
.callback-schedule { position: relative; display: grid; min-width: 0; gap: 5px; }
.callback-schedule > strong,.dialer-callback-field > strong { color: var(--crm-secondary); font-size: 10px; font-weight: 700; }
.date-time-picker { position: relative; min-width: 0; }
.date-time-fields { display: grid; grid-template-columns: minmax(170px,1fr) 104px; gap: 8px; }
.date-time-fields.date-only-fields { grid-template-columns: minmax(0,1fr); }
.date-time-field { display: grid; min-width: 0; gap: 4px; }
.date-time-field > label { color: var(--crm-secondary); font-size: 9px; font-weight: 600; }
.date-time-field > input,.date-input-wrap > input { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid var(--crm-line); border-radius: 5px; background: var(--crm-inset); color: var(--crm-ink); font: inherit; font-size: 12px; font-variant-numeric: tabular-nums; outline: 0; }
.date-time-field > input:hover,.date-input-wrap > input:hover { border-color: #aeb7c3; }
.date-time-field > input:focus,.date-input-wrap > input:focus { z-index: 1; border-color: var(--crm-blue); background: white; box-shadow: 0 0 0 2px rgb(0 103 199 / .12); }
.date-time-field > input[aria-invalid='true'],.date-input-wrap > input[aria-invalid='true'] { border-color: var(--crm-danger); }
.date-input-wrap { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) 38px; }
.date-input-wrap > input { border-radius: 5px 0 0 5px; }
.date-input-wrap > button { display: inline-grid; min-height: 38px; place-items: center; padding: 0; border: 1px solid var(--crm-line); border-left: 0; border-radius: 0 5px 5px 0; background: white; color: var(--crm-secondary); }
.date-input-wrap > button:hover { background: var(--crm-selected); color: var(--crm-blue); }
.date-input-wrap .icon { width: 15px; height: 15px; }
.date-time-help,.date-time-error { margin: 4px 0 0; font-size: 9px; line-height: 1.5; }
.date-time-help { color: var(--crm-muted); }
.date-time-error { min-height: 14px; color: var(--crm-danger); }
.date-time-popover { position: absolute; z-index: 80; top: calc(100% - 6px); left: 0; width: min(360px,calc(100vw - 32px)); padding: 16px; border: 1px solid var(--crm-line); border-radius: 8px; background: white; box-shadow: 0 18px 42px rgb(20 30 45 / .16); }
.date-time-calendar-head { display: grid; grid-template-areas: 'month previous next'; grid-template-columns: minmax(0,1fr) 40px 40px; align-items: center; gap: 8px; margin-bottom: 12px; }
.date-time-calendar-head strong { grid-area: month; color: var(--crm-ink); font-size: 14px; text-align: left; text-transform: capitalize; }
.date-time-calendar-head button,.date-time-quick-actions button { min-height: 40px; padding: 7px 10px; border: 1px solid var(--crm-line); border-radius: 5px; background: white; color: var(--crm-secondary); font: inherit; font-size: 11px; }
.date-time-calendar-head button { display: inline-grid; width: 40px; height: 40px; place-items: center; padding: 0; }
.date-time-calendar-head button[data-datetime-prev] { grid-area: previous; }
.date-time-calendar-head button[data-datetime-next] { grid-area: next; }
.date-time-calendar-head button .icon { width: 17px; height: 17px; }
.date-time-calendar-head button[data-datetime-prev] .icon { transform: rotate(180deg); }
.date-time-calendar-head button:hover,.date-time-quick-actions button:hover { border-color: var(--crm-info); background: white; color: var(--crm-info); }
.date-time-weekdays,.date-time-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.date-time-weekdays { margin-bottom: 5px; color: var(--crm-muted); font-size: 10px; font-weight: 800; text-align: center; }
.date-time-weekdays span { padding: 5px 0; }
.date-time-days button { display: inline-grid; min-width: 0; min-height: 40px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--crm-ink); font: inherit; font-size: 12px; font-variant-numeric: tabular-nums; }
.date-time-days button:hover:not(:disabled) { background: var(--crm-selected); color: var(--crm-blue); }
.date-time-days button[data-outside='true'] { color: #aeb4bd; }
.date-time-days button[aria-current='date'] { border-color: #b7cde4; color: var(--crm-blue); }
.date-time-days button[aria-selected='true'] { border-color: var(--crm-blue); background: var(--crm-blue); color: white; }
.date-time-days button:disabled { cursor: not-allowed; color: #c7cbd1; text-decoration: line-through; }
.date-time-quick-actions { display: flex; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--crm-line-soft); }
.date-time-quick-actions button:last-child { border-color: var(--crm-info); background: transparent; color: var(--crm-info); font-weight: 700; }
.date-time-picker :is(button,input):focus-visible { outline: 2px solid var(--crm-blue); outline-offset: 2px; }
.date-time-picker[data-disabled='true'] { opacity: .55; }
.core-activity-date { min-width: 0; }

@media (max-width: 420px) {
  .date-time-fields { grid-template-columns: minmax(0,1fr) 92px; }
  .date-time-popover { width: calc(100vw - 24px); padding: 12px; }
  .date-time-calendar-head { grid-template-columns: minmax(0,1fr) 38px 38px; gap: 6px; }
  .date-time-calendar-head button { width: 38px; height: 38px; min-height: 38px; }
  .date-time-days button { min-height: 38px; }
}
@media (max-width: 480px) {
  .topbar { gap: 8px; }
  .topbar h1 { font-size: 13px; }
  .topbar-tools .btn { padding-inline: 8px; font-size: 10px; }
  .page-heading { flex-wrap: wrap; gap: 8px; padding-block: 10px; }
  .page-heading > div { min-width: 0; flex-wrap: wrap; gap: 4px 8px; }
  .page-heading .btn { font-size: 11px; }
  .core-product-row { gap: 8px; }
}
