:root { --bg:#f2f6f5; --card:#fff; --text:#092a48; --muted:#637487; --line:#c4d4d0; --line-strong:#9fb9b1; --navy:#092a48; --green:#07845f; --green-dark:#05694d; --mint:#eaf8f2; --purple:#7164a9; }
* { box-sizing: border-box; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial; background:radial-gradient(circle at 8% 0%,#e8f5f0 0,transparent 27%),var(--bg); color:var(--text); }
.wrap { max-width: 1200px; margin: 0 auto; padding: 18px; }
.topbar { background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); box-shadow:0 4px 18px rgba(9,42,72,.055); position:sticky; top:0; z-index:10; backdrop-filter:blur(10px); }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; }
.brand { font-weight:850; color:var(--navy); letter-spacing:-.02em; }
.nav { display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.nav a { width:36px; height:36px; margin:0; border-radius:9px; text-decoration:none; color:#6b7c8f; display:inline-flex; align-items:center; justify-content:center; line-height:1; transition:background .15s,color .15s,transform .15s; }
.nav a:hover, .nav a.active { color:var(--green); background:var(--mint); transform:translateY(-1px); }

/* Contact directory and mobile call workflow */
.contact-card { border:1px solid var(--line); border-radius:11px; padding:12px; overflow:hidden; scroll-margin-top:82px; }
.contact-card-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
.contact-card-info { min-width:0; }
.contact-card-name { margin-bottom:4px; color:var(--navy); font-size:15px; font-weight:750; line-height:1.3; overflow-wrap:anywhere; }
.contact-card-meta { display:flex; flex-wrap:wrap; gap:8px 12px; margin-top:8px; font-size:13px; }
.contact-card-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; align-items:center; flex-shrink:0; }
.contact-call-button { min-width:70px; background:var(--green); }
.contact-navigate-button { min-width:98px; }
.contact-navigate-button[aria-disabled="true"],.contact-navigate-button:disabled { border-style:dashed; background:#f2f5f4; color:#879891; cursor:not-allowed; filter:none; opacity:.78; pointer-events:none; }
.contact-navigation-detail { margin:5px 0 2px; color:#49625a; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.contact-navigation-detail strong { color:var(--navy); }
.contact-navigation-detail.is-unavailable { color:#7b8792; }
.contact-navigation-picker { display:grid; grid-template-columns:minmax(150px,300px) minmax(0,1fr); align-items:center; gap:5px 10px; margin:7px 0 3px; }
.contact-navigation-picker label { margin:0; color:#4d625a; font-size:12px; font-weight:800; }
.contact-navigation-picker select { min-width:0; padding:7px 9px; font-size:13px; }
.contact-navigation-picker .contact-navigation-detail { grid-column:1/-1; margin:0; }
.contact-temperature,.contact-callback { padding:3px 8px; border-radius:999px; background:#fff; color:#334155; font-size:12px; font-weight:800; }
.temperature-hot { background:#fee2e2; color:#991b1b; }.temperature-warm { background:#ffedd5; color:#9a3412; }.temperature-cool { background:#dbeafe; color:#1d4ed8; }.temperature-cold { background:#e0f2fe; color:#075985; }
.contact-callback { background:#ede9fe; color:#5b21b6; }
.contact-call-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; margin-top:10px; border-top:1px solid rgba(9,42,72,.14); padding-top:10px; }
.contact-call-update { min-width:0; }
.contact-call-update[open] { flex:1 1 100%; }
.contact-call-update summary { display:inline-flex; align-items:center; min-height:40px; padding:9px 14px; border-radius:9px; background:#092a48; color:#fff; font-weight:800; cursor:pointer; list-style:none; user-select:none; }
.contact-call-update summary::-webkit-details-marker { display:none; }
.contact-call-update[open] summary { background:#e9f5f1; color:#075f47; }
.contact-call-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; padding:13px; border:1px solid #b9cec7; border-radius:11px; background:rgba(255,255,255,.9); }
.contact-call-form label { margin:0; min-width:0; }
.contact-call-form label > span { display:block; margin-bottom:5px; color:#4d625a; font-size:12px; font-weight:800; }
.contact-call-wide { grid-column:1/-1; }
.contact-call-form-actions { display:flex; gap:8px; }
.contact-call-stat { display:inline-flex; align-items:baseline; gap:6px; margin-top:8px; padding:5px 11px; border:1px solid #b9cec7; border-radius:999px; background:var(--mint); color:#075f47; font-size:13px; font-weight:750; }
.contact-call-stat strong { font-size:17px; color:var(--navy); }
.contact-demo-pill,.contact-outcome-pill { padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; }
.contact-demo-pill { background:#dcfce7; color:#166534; }
.contact-outcome-pill { background:#fff; color:#334155; }
.contact-call-saved { margin-top:9px; padding:8px 10px; border-radius:8px; background:var(--mint); color:#075f47; font-size:13px; font-weight:750; }
.contact-previous-notes { padding:9px 10px; border-radius:9px; background:#f4f8f7; font-size:13px; overflow-wrap:anywhere; }
.contact-previous-notes > span,.contact-demo-fieldset legend { display:block; margin-bottom:5px; color:#4d625a; font-size:12px; font-weight:800; }
.contact-history-panel summary { background:#fff; color:var(--navy); border:1px solid #9fb9b1; }
.contact-call-history-body { display:grid; gap:10px; margin-top:12px; padding:13px; border:1px solid #b9cec7; border-radius:11px; background:rgba(255,255,255,.95); font-size:13px; overflow-wrap:anywhere; }
.call-history-heading { display:block; margin-bottom:6px; color:#4d625a; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.call-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; margin:0; }
.call-summary-grid dt { color:var(--muted); font-size:11px; font-weight:700; }
.call-summary-grid dd { margin:0; color:var(--navy); font-weight:650; }
.call-next-actions,.call-event-list { margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.call-event { padding:9px 10px; border-left:3px solid var(--green); border-radius:7px; background:#f4f8f7; }
.call-event.is-launch { border-left-color:#9fb9b1; background:#fff; }
.call-event-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:2px 10px; }
.call-event-head small,.call-event-facts { color:var(--muted); font-size:12px; }
.call-event-notes { margin-top:5px; white-space:normal; }
.call-event-detail { margin-top:4px; color:#4d625a; font-size:12px; }
.contact-call-count { flex-basis:100%; font-size:12px; font-weight:700; color:var(--navy); }

.contact-demo-fieldset { margin:0; min-width:0; padding:10px 12px 12px; border:1px solid #b9cec7; border-radius:10px; display:grid; gap:8px; }
.contact-demo-fieldset legend { padding:0 4px; margin:0; }
.contact-demo-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contact-demo-current { color:#166534; font-size:13px; }
.contact-demo-clear { display:flex; align-items:center; gap:8px; font-size:14px; }
.contact-demo-clear input { width:20px; height:20px; min-height:0 !important; accent-color:var(--green); }
.contact-call-form input[type="date"],.contact-call-form input[type="time"],.contact-call-form input[type="datetime-local"] { display:block; min-width:0; -webkit-appearance:none; appearance:none; }
.contact-call-form .is-suggested { outline:3px solid rgba(7,132,95,.35); outline-offset:3px; border-radius:10px; }
.contact-workflow-warning { margin-top:9px; padding:8px 10px; border-radius:8px; background:#fff7ed; color:#9a3412; font-size:12px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:0 12px 30px rgba(9,42,72,.07); }
.h1 { font-size: 22px; margin: 0 0 10px; }
.muted { color: var(--muted); }
.field { margin: 12px 0; }
label { display:block; font-weight:600; margin-bottom:6px; }
input, select, textarea { width:100%; padding:10px 12px; border:1px solid var(--line-strong); border-radius:10px; font:inherit; background:#fff; color:var(--text); }
input:focus, select:focus, textarea:focus { outline:3px solid rgba(7,132,95,.13); border-color:var(--green); }
button { padding:10px 14px; border:0; border-radius:10px; font-weight:700; cursor:pointer; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:9px 14px; border:1px solid transparent; border-radius:9px; background:#111827; color:#fff; font-weight:700; line-height:1.15; text-decoration:none; cursor:pointer; white-space:nowrap; }
.btn:hover { filter:brightness(.96); text-decoration:none; }
.btn:focus-visible { outline:3px solid rgba(37,99,235,.22); outline-offset:2px; }
.btn-primary { background:var(--green); color:#fff; box-shadow:0 5px 14px rgba(7,132,95,.18); }
.btn-primary:hover { background:var(--green-dark); }
.btn-secondary { background:#fff; color:var(--navy); border-color:#cbd8d4; }
.btn-secondary:hover { background:#f2faf7; border-color:#95bfb1; }
.btn-danger { background:#fff; color:#b42318; border-color:#fecaca; }
.btn-danger:hover { background:#fff5f5; }
.btn-success { background:var(--green); color:#fff; }
.btn-ghost { background:transparent; color:#374151; border-color:transparent; }
.btn-ghost:hover { background:#f3f4f6; }
.btn-sm { min-height:32px; padding:6px 10px; border-radius:8px; font-size:13px; }
.btn-icon { width:34px; padding:6px; }
.btn svg { width:16px; height:16px; flex:0 0 auto; }
.alert { padding:10px 12px; border-radius:10px; margin: 12px 0; }
.alert.err { background:#fee2e2; border:1px solid #fecaca; }
.alert.ok { background:#dcfce7; border:1px solid #bbf7d0; }
.footer { padding: 22px 0; color: var(--muted); }
.footer-inner { border-top:1px solid var(--line); padding-top:14px; }

/* ── CRM Data Tables ── */
.crm-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.crm-table th { padding:10px; border-bottom:1px solid var(--line-strong); background:#f2f8f6; color:#52675f; text-align:left; white-space:nowrap; font-weight:750; font-size:12px; letter-spacing:.025em; }
.crm-table td { padding:10px; border-bottom:1px solid #d5e1de; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:top; font-size:14px; }

/* Multi-line cells (stacked email+phone, company+title) */
.crm-table td.cell-wrap { white-space:normal; }
.crm-table td.cell-wrap > div { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Action cells - never truncate */
.crm-table td.cell-actions { white-space:nowrap; overflow:visible; text-overflow:clip; }

/* Hover: expand to show full content */
.crm-table tbody td:hover { overflow:visible; white-space:normal; word-break:break-word; background:var(--card); position:relative; z-index:5; }
.crm-table tbody td.cell-actions:hover { word-break:normal; }

/* ── Sortable column headers ── */
.crm-table th.sortable { cursor:pointer; user-select:none; }
.crm-table th.sortable a.sort-link { color:inherit; text-decoration:none; display:inline-flex; align-items:center; gap:3px; }
.crm-table th.sortable:hover { background:rgba(0,0,0,.02); }
.crm-table th.sortable a.sort-link:hover { color:#2563eb; }
.crm-table th.sortable .caret { opacity:0.25; font-size:11px; line-height:1; }
.crm-table th.sorted { background:rgba(37,99,235,.05); }
.crm-table th.sorted .caret { opacity:1; color:#2563eb; }

.clinic-import-filters { display:grid; grid-template-columns:minmax(220px,1fr) 180px auto; gap:12px; align-items:end; margin-top:20px; }
@media (max-width:700px) { .clinic-import-filters { grid-template-columns:1fr; } }

@media (max-width:700px) {
  .topbar .wrap { padding:8px 7px; }
  .topbar-inner-sales { gap:2px; }
  .topbar-inner-sales .brand { flex:0 0 72px; max-width:72px; font-size:11px; line-height:1.08; }
  .nav-sales { flex:1 1 auto; min-width:0; flex-wrap:nowrap; gap:0; justify-content:space-between; }
  .nav-sales a { flex:1 1 0; width:auto; min-width:0; height:36px; border-radius:7px; }
  .nav-sales a svg { width:19px; height:19px; }

  .contacts-page { padding:10px; border-radius:12px; }
  .contacts-page > div:first-child { align-items:stretch !important; }
  .contacts-page > div:first-child form { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:7px !important; }
  .contacts-page > div:first-child form input[name="q"],.contacts-page > div:first-child form .contact-method-filter { grid-column:1/-1; min-width:0 !important; }
  .contacts-page > div:first-child form input,.contacts-page > div:first-child form select { min-height:44px; font-size:16px !important; }
  .contact-demo-inputs { grid-template-columns:1fr; }
  .contacts-page > div:first-child form input[name="title_filter"] { min-width:0 !important; }
  .contacts-page > div:first-child form button { width:100%; }
  .contacts-page > .card { padding:9px; margin-top:10px !important; }
  .contact-email-legend { display:none !important; }
  .contact-list { max-height:none !important; overflow:visible !important; padding-right:0 !important; }
  .contact-card { padding:12px; border-radius:13px; }
  .contact-card-grid { grid-template-columns:1fr; gap:10px; }
  .contact-card-name { font-size:17px; line-height:1.25; }
  .contact-card-meta { gap:7px; }
  .contact-card-actions { width:100%; justify-content:flex-start; }
  .contact-call-button,.contact-navigate-button { flex:1 1 calc(50% - 3px); min-width:0; min-height:46px; font-size:15px; }
  .contact-navigation-picker { grid-template-columns:1fr; }
  .contact-navigation-picker select { min-height:44px; font-size:16px; }
  .contact-navigation-picker .contact-navigation-detail { grid-column:auto; }
  .role-sales .contact-secondary-action { display:none !important; }
  .contact-call-update { flex:1 1 100%; }
  .contact-call-update summary { display:flex; width:100%; min-height:46px; justify-content:center; font-size:15px; }
  .call-summary-grid { grid-template-columns:1fr 1fr; }
  .contact-history-close,[data-history-more] { width:100%; min-height:46px; }
  .contact-call-form { grid-template-columns:1fr; padding:12px; }
  .contact-call-wide { grid-column:auto; }
  .contact-call-form input,.contact-call-form select,.contact-call-form textarea { min-height:46px; font-size:16px; }
  .contact-call-form-actions { flex-direction:column; }
  .contact-call-form-actions .btn { width:100%; min-height:46px; }
}

/* Contact ownership and first-call claiming */
.contact-owner-line{display:inline-flex;align-items:center;gap:3px;margin:5px 0 2px;padding:4px 9px;border:1px solid #b7c9c2;border-radius:999px;background:#f4f7f6;color:#42564f;font-size:12px;font-weight:850}.contact-owner-line small{font-size:11px;font-weight:650}.contact-owner-line.is-my{border-color:#76b79f;background:#dcf7ec;color:#075f46}.contact-owner-line.is-assigned{border-color:#9db7d4;background:#eaf2fb;color:#244d78}.contact-owner-line.is-unassigned{border-color:#d5bd79;background:#fff6d9;color:#72510a}
.contact-company-owner-warning{max-width:760px;margin:7px 0;padding:8px 10px;border-left:4px solid #d08a22;border-radius:7px;background:#fff6e5;color:#70450b;font-size:12px;line-height:1.4}
.contact-owner-manager{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:10px;padding:10px;border-top:1px solid var(--line);background:rgba(255,255,255,.45)}.contact-owner-manager label{display:grid;gap:3px;color:var(--muted);font-size:11px;font-weight:750}.contact-owner-manager select,.contact-owner-manager input{min-height:35px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}
.call-event.is-ownership{border-left-color:#5b65b7;background:#f3f3ff}.call-event.is-ownership .call-event-title{color:#3c438c}
[data-call-launch][aria-busy="true"]{opacity:.65;pointer-events:none}
.contact-call-feedback{margin:8px 0;padding:7px 9px;border-radius:7px;background:#eaf2fb;color:#244d78;font-size:12px;font-weight:700}.contact-call-feedback[hidden]{display:none}
@media(max-width:700px){.contact-owner-manager{align-items:stretch;flex-direction:column}.contact-owner-manager label,.contact-owner-manager select,.contact-owner-manager input,.contact-owner-manager .btn{width:100%}.contact-company-owner-warning{max-width:none}}

/* Demo scheduling and management */
.demo-page{display:grid;gap:16px}.demo-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:25px 28px;border:1px solid var(--line-strong);border-top:4px solid var(--green);border-radius:18px;background:linear-gradient(125deg,#fff,#effaf6);box-shadow:0 14px 34px rgba(9,42,72,.08)}.demo-hero h1{margin:4px 0 5px;color:var(--navy);font-size:29px;letter-spacing:-.03em}.demo-hero p{margin:0;color:var(--muted)}
.demo-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none}.demo-steps li{padding:10px;border-radius:10px;background:#eaf0ee;color:#62766f;font-size:12px;font-weight:850;text-align:center}.demo-steps li.active{background:var(--green);color:#fff}.demo-booking{padding:0;overflow:hidden}.demo-step-panel{display:none;padding:25px}.demo-step-panel.active{display:block}.demo-step-panel h2{margin-top:0;color:var(--navy)}.demo-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:17px 25px;border-top:1px solid var(--line);background:#f8fbfa}.demo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.demo-wide{grid-column:1/-1}.demo-feature-field{padding:14px;border:1px solid var(--line);border-radius:11px}.demo-feature-field legend{padding:0 5px;font-weight:800}.demo-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.demo-check-grid label{display:flex;gap:8px;font-size:13px}.demo-check-grid input{width:auto}.demo-search-results{display:grid;position:relative;z-index:4;max-height:310px;overflow:auto;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(9,42,72,.14)}.demo-search-results button{display:flex;flex-direction:column;gap:2px;padding:12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.demo-search-results button:hover{background:var(--mint)}.demo-search-results span{color:var(--muted);font-size:12px}.demo-selection{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:14px;border:1px solid #8bc7b3;border-radius:11px;background:#f2fbf7}.demo-selection span{color:var(--muted)}.demo-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;margin-top:15px}.demo-slot{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);text-align:left;cursor:pointer}.demo-slot span{color:var(--muted);font-size:11px}.demo-slot:hover,.demo-slot.selected{border-color:var(--green);background:var(--mint);box-shadow:0 0 0 2px rgba(8,117,83,.1)}.demo-review dl,.demo-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.demo-review dl>div,.demo-dl>div{padding:11px;border-bottom:1px solid var(--line)}.demo-review dt,.demo-dl dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.demo-review dd,.demo-dl dd{margin:4px 0 0;overflow-wrap:anywhere;color:var(--navy);font-weight:650}.demo-dl .wide{grid-column:1/-1}
.demo-calendar-shell{padding:0;overflow:hidden}.demo-calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.demo-calendar-toolbar h2{margin:0;color:var(--navy);font-size:18px;text-align:center}.demo-nav,.demo-view-tabs{display:flex;gap:5px;align-items:center}.demo-nav input{width:135px;padding:8px}.demo-view-tabs{justify-content:flex-end}.demo-view-tabs button{padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.demo-view-tabs button.active{background:var(--green);color:#fff}.demo-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--line);background:#f8fbfa}.demo-filters select,.demo-filters input{min-width:140px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.demo-filters label{display:grid;gap:3px;color:var(--muted);font-size:11px;font-weight:800}.demo-grid-view{display:grid;min-height:560px;overflow-x:auto}.demo-grid-view.cols-7,.demo-grid-view.cols-42{grid-template-columns:repeat(7,minmax(145px,1fr))}.demo-grid-view.cols-1{grid-template-columns:1fr}.demo-day{min-height:170px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cols-42 .demo-day{min-height:135px}.demo-day>header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#f8fbfa;color:var(--muted);font-size:11px}.demo-day.today>header{background:var(--mint);color:var(--green)}.demo-day>div{display:grid;gap:5px;padding:6px}.demo-event{display:flex;min-width:0;flex-direction:column;gap:1px;padding:7px;border-left:4px solid #3a80b9;border-radius:7px;background:#edf5ff;color:var(--navy);font-size:11px;text-decoration:none}.demo-event strong,.demo-event span,.demo-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-event time{font-weight:850}.demo-event small{color:var(--muted)}.demo-event.status-completed{border-color:#07845f;background:#e6f8f1}.demo-event.status-cancelled,.demo-event.status-no_show{border-color:#b92d22;background:#fff0ee}.demo-event.status-pending_assignment{border-color:#d78a00;background:#fff7df}.demo-event.status-in_progress{border-color:#7348ad;background:#f2ecfb}.demo-no-events{display:block;padding:12px;color:#9aaca6;font-size:11px;text-align:center}.demo-list-view{display:grid;gap:7px;padding:12px}.demo-list-view .demo-event{padding:12px}.demo-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#e9f1ef;color:#526b63;font-size:11px;font-weight:850}.demo-status.status-completed{background:#ddf8ed;color:#087553}.demo-status.status-cancelled,.demo-status.status-no_show{background:#fde8e8;color:#a52c2c}.demo-status.status-pending_assignment{background:#fff3d9;color:#8b5b00}.demo-status.status-in_progress{background:#eee7f8;color:#67408f}
.demo-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.demo-detail-grid main,.demo-detail-grid aside{display:grid;gap:16px}.demo-detail-grid aside{position:sticky;top:88px}.demo-detail-grid h2{margin-top:0;color:var(--navy)}.demo-stack{display:grid;gap:9px;margin-top:10px}.demo-stack input,.demo-stack select,.demo-stack textarea,.demo-inline-form input,.demo-inline-form select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.demo-stack label{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:750}.demo-full{width:100%}.demo-note{padding:11px 0;border-top:1px solid var(--line)}.demo-note strong,.demo-note time{display:block}.demo-note time{color:var(--muted);font-size:11px}.demo-note p{margin-bottom:0;font-size:13px}.demo-outcome summary{cursor:pointer;color:var(--navy);font-size:18px;font-weight:850}.demo-inline-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.demo-inline-form>*{flex:1 1 125px}.demo-inline-form .btn{flex:0 0 auto}.demo-rule-list{display:grid;margin-top:12px}.demo-rule-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border-top:1px solid var(--line)}.demo-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.demo-metrics>div{display:flex;min-height:90px;flex-direction:column;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.demo-metrics span{color:var(--muted);font-size:11px;font-weight:800}.demo-metrics strong{color:var(--navy);font-size:24px}.demo-public{max-width:680px;margin:8vh auto;padding:30px}.demo-public h1{color:var(--navy)}.demo-public form{display:grid;gap:12px;margin-top:22px}.demo-public input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}
@media(max-width:900px){.demo-detail-grid{grid-template-columns:1fr}.demo-detail-grid aside{position:static}.demo-calendar-toolbar{grid-template-columns:1fr}.demo-calendar-toolbar h2{text-align:left}.demo-view-tabs{justify-content:flex-start}.demo-grid-view.cols-7,.demo-grid-view.cols-42{grid-template-columns:repeat(7,minmax(125px,1fr))}}
@media(max-width:650px){.demo-hero{align-items:flex-start;flex-direction:column;padding:20px}.demo-steps{display:flex;overflow:auto}.demo-steps li{min-width:105px}.demo-step-panel{padding:18px}.demo-form-grid,.demo-check-grid,.demo-review dl,.demo-dl{grid-template-columns:1fr}.demo-wide,.demo-dl .wide{grid-column:auto}.demo-form-actions{position:sticky;bottom:0}.demo-nav{flex-wrap:wrap}.demo-filters>*{width:100%}.demo-inline-form{display:grid}.demo-rule-list article{align-items:flex-start;flex-direction:column}.demo-metrics{grid-template-columns:repeat(2,1fr)}}

/* Demo status overrides: proposals must be visually distinct and never imply confirmation. */
.demo-event.status-proposed{border-color:#d18a00;background:#fff4d8}.demo-event.status-pending_assignment{border-color:#e56d16;background:#fff0df}.demo-event.status-scheduled{border-color:#3a80b9;background:#edf5ff}.demo-event.status-confirmed{border-color:#07845f;background:#e4f8ef}.demo-event.status-completed{border-color:#5f8679;background:#edf4f1}.demo-event.status-cancelled,.demo-event.status-canceled{border-color:#89958f;background:#f0f2f1}.demo-event.status-no_show{border-color:#b92d22;background:#fff0ee}.demo-status.status-proposed{background:#fff1cc;color:#8b5b00}.demo-status.status-pending_assignment{background:#ffe9d5;color:#99500e}.demo-status.status-cancelled,.demo-status.status-canceled{background:#ecefed;color:#53645e}.demo-status.status-no_show{background:#fde8e8;color:#a52c2c}

/* Company workspace */
.company-page-head,.companies-layout { width:min(1500px,calc(100vw - 36px)); margin-left:50%; transform:translateX(-50%); }
.company-page-head { border-top:4px solid var(--green); }
.companies-layout { display:flex; flex-wrap:nowrap; gap:18px; margin-top:18px; align-items:flex-start; }
.company-directory-card { padding:14px; }
.company-directory-card { flex:0 0 360px; min-width:0; }
.company-directory-filters { display:grid; grid-template-columns:minmax(0,1fr) 108px; gap:8px; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.company-directory-filters input,.company-directory-filters select { min-width:0; height:42px; }
.company-directory-filters input[type="search"] { padding-left:38px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23637487' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 12px center; }
.company-editor-card { flex:1 1 auto; min-width:0; }
.company-directory-list { display:flex; flex-direction:column; gap:7px; max-height:680px; overflow:auto; padding:2px 5px 2px 2px; }
.company-directory-row { display:flex; justify-content:space-between; gap:10px; align-items:center; flex:0 0 auto; min-height:88px; padding:12px 11px; border:1px solid var(--line); border-radius:11px; background:#fff; transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.company-directory-details { flex:1 1 auto; min-width:0; }
.company-directory-row:hover { border-color:#a9cfc2; box-shadow:0 7px 18px rgba(9,42,72,.07); transform:translateY(-1px); }
.company-directory-row strong { color:var(--navy); }.company-directory-name { display:block; line-height:1.22; }
.company-directory-contact-line { display:flex; align-items:baseline; gap:7px; min-width:0; margin-top:5px; font-size:13px; line-height:1.25; }
.company-directory-phone { flex:0 0 auto; }.company-directory-contact { min-width:0; overflow:hidden; color:#52687b; text-overflow:ellipsis; white-space:nowrap; }.company-directory-contact::before { content:"· "; color:#9aaba5; }
.company-directory-domain,.company-directory-meta { margin-top:3px; font-size:12px; line-height:1.25; }
.company-directory-actions { display:flex; align-items:center; gap:5px; flex:0 0 auto; }
.btn-voip:disabled { border-style:dashed; background:#f2f5f4; color:#9aa9a4; cursor:not-allowed; filter:none; opacity:.72; }
.company-editor-backdrop,.company-editor-close { display:none; }
.company-editor-card > h2 { color:var(--navy); font-size:24px; }
.company-edit-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.company-edit-form > input[type="hidden"] { display:none; }
.company-edit-form .company-form-wide, .company-form-actions { grid-column:1/-1; }
.company-edit-form textarea { min-height:104px; resize:vertical; line-height:1.45; }
.field-hint { display:block; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.35; }
.company-form-actions { display:flex; align-items:center; gap:8px; margin-top:4px; }
.company-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0 18px; }
.company-summary-item { padding:11px 12px; border:1px solid #dce9e5; border-radius:11px; background:linear-gradient(145deg,#f5fbf8,#fff); min-width:0; }
.company-summary-item span { display:block; color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.company-summary-item strong { display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; }
.location-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.location-section-head h3 { color:var(--navy); }
.location-table-wrap { max-height:620px; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.location-data-table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; table-layout:fixed; background:#fff; }
.location-data-table th { position:sticky; top:0; z-index:2; padding:10px 12px; border-bottom:1px solid #d9e5e1; background:#f2f8f6; color:#617268; font-size:11px; letter-spacing:.055em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.location-data-table td { padding:11px 10px; border-bottom:1px solid #e6eeeb; color:#263b4e; font-size:13px; line-height:1.35; vertical-align:middle; overflow:hidden; text-overflow:ellipsis; }
.location-data-table tbody tr:last-child td { border-bottom:0; }
.location-data-table tbody tr:hover td { background:#f8fcfa; }
.location-data-table tr.is-inactive td { background:#fafafa; color:#7b8792; }
.location-data-table th:nth-child(1) { width:32%; }
.location-data-table th:nth-child(2) { width:16%; }
.location-data-table th:nth-child(3) { width:14%; }
.location-data-table th:nth-child(4) { width:10%; }
.location-data-table th:nth-child(5) { width:28%; }
.location-data-table td:nth-child(3) { white-space:nowrap; }
.location-data-table strong { display:inline; color:var(--navy); }
.location-data-table .status-primary { margin-left:7px; }
.location-table-primary,.location-table-secondary { display:block; color:var(--muted); margin-top:3px; }
.location-table-secondary { margin-top:1px; }
.location-table-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; white-space:nowrap; overflow:visible !important; }
.location-table-actions form { margin:0; }
.location-navigate-button:disabled { border-style:dashed; background:#f2f5f4; color:#879891; cursor:not-allowed; filter:none; opacity:.78; }
.location-action-heading { text-align:right !important; }
.location-empty { padding:28px !important; color:var(--muted) !important; text-align:center; }
.status-badge { display:inline-flex; align-items:center; padding:2px 7px; border-radius:999px; font-size:11px; font-weight:750; }
.status-primary { background:#dcfce7; color:#166534; }
.status-inactive { background:#e5e7eb; color:#4b5563; }
.status-active { background:#ddf8ed; color:#087553; }

/* Lightweight CRM modal */
body.modal-open { overflow:hidden; }
.crm-modal[hidden] { display:none; }
.crm-modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; }
.crm-modal-backdrop { position:absolute; inset:0; background:rgba(17,24,39,.56); }
.crm-modal-dialog { position:relative; display:flex; flex-direction:column; width:min(820px,100%); max-height:calc(100vh - 40px); background:#fff; border-radius:16px; box-shadow:0 24px 70px rgba(0,0,0,.28); overflow:hidden; }
.crm-modal-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:18px 20px; border-bottom:1px solid var(--line); }
.crm-modal-header h2 { margin:0; font-size:21px; }
.crm-modal-close { width:36px; height:36px; padding:0; border:0; border-radius:9px; background:transparent; color:#4b5563; font-size:24px; line-height:1; }
.crm-modal-close:hover { background:#f3f4f6; }
.crm-modal-body { overflow:auto; padding:18px 20px; }
.crm-modal-footer { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px; border-top:1px solid var(--line); background:#fff; }
.modal-section { margin-bottom:18px; }
.modal-section:last-child { margin-bottom:0; }
.modal-section-title { margin:0 0 10px; color:#4b5563; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.form-grid .field { margin:0; }
.form-span-2 { grid-column:1/-1; }
.check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.check-control { display:flex; align-items:center; gap:8px; padding:9px 10px; border:1px solid var(--line); border-radius:9px; }
.check-control input { width:auto; margin:0; }
.check-control label { margin:0; font-weight:650; }

@media (max-width:760px) {
  .company-page-head { width:calc(100vw - 24px); }
  .companies-layout { width:calc(100vw - 24px); margin-left:auto; margin-right:auto; transform:none; }
  .companies-layout { flex-direction:column; }
  .company-directory-card,.company-editor-card { width:100%; flex-basis:auto; }
  .company-summary, .company-edit-form, .form-grid, .check-grid { grid-template-columns:1fr; }
  .company-edit-form .company-form-wide, .company-form-actions { grid-column:auto; }
  .company-directory-list { min-height:0; max-height:none; overflow:visible; }
  .company-directory-filters { grid-template-columns:minmax(0,1fr) 108px; }
  .company-directory-row { min-height:104px; padding:13px 11px; }
  .company-directory-actions { align-self:stretch; align-items:center; }
  .company-editor-card:not(.is-editing) { display:none; }
  .company-editor-backdrop { display:block; position:fixed; inset:0; z-index:70; background:rgba(8,28,45,.62); backdrop-filter:blur(2px); }
  .company-editor-card.is-editing { position:fixed; inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)); z-index:80; width:auto; max-height:none; padding:18px 16px 24px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line-strong); border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.32); }
  .company-editor-close { display:grid; place-items:center; position:sticky; top:0; z-index:4; float:right; width:38px; height:38px; margin:-4px -2px 0 10px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#465b6c; font-size:26px; line-height:1; text-decoration:none; box-shadow:0 4px 12px rgba(9,42,72,.08); }
  body.company-editor-open { overflow:hidden; }
  .form-span-2 { grid-column:auto; }
  .crm-modal { padding:0; align-items:end; }
  .crm-modal-dialog { max-height:94vh; border-radius:16px 16px 0 0; }
}

@media (min-width:761px) and (max-width:1100px) {
  .company-directory-card { flex-basis:290px; }
  .company-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Dashboard */
.dashboard-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:27px 30px; border:1px solid var(--line-strong); border-top:4px solid var(--green); border-radius:18px; background:linear-gradient(125deg,#fff 0%,#f0faf6 100%); box-shadow:0 14px 34px rgba(9,42,72,.08); }
.dashboard-hero h1,.import-hub-hero h1 { margin:3px 0 5px; color:var(--navy); font-size:29px; letter-spacing:-.03em; }
.dashboard-hero p,.import-hub-hero p { margin:0; color:var(--muted); }
.eyebrow { color:var(--green); font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.dashboard-date { padding:9px 13px; border:1px solid #b8d5cc; border-radius:999px; background:#fff; color:#49625a; font-size:13px; font-weight:750; white-space:nowrap; }
.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:16px 0; }
.stat-card { position:relative; display:flex; flex-direction:column; min-height:130px; padding:18px 19px; overflow:hidden; border:1px solid var(--line-strong); border-radius:15px; background:#fff; box-shadow:0 9px 24px rgba(9,42,72,.06); color:inherit; text-decoration:none; transition:transform .16s,box-shadow .16s,border-color .16s; }
.stat-card::after { content:""; position:absolute; width:80px; height:80px; right:-28px; top:-30px; border-radius:50%; background:var(--mint); }
.stat-card:hover { transform:translateY(-2px); border-color:#7eb5a4; box-shadow:0 14px 32px rgba(9,42,72,.1); }
.stat-card strong { position:relative; z-index:1; margin:6px 0; color:var(--navy); font-size:31px; line-height:1; }
.stat-label { position:relative; z-index:1; color:#607568; font-size:13px; font-weight:750; }
.stat-link { margin-top:auto; color:var(--green); font-size:12px; font-weight:750; }
.dashboard-panels,.import-accordions { display:grid; gap:13px; }
.dashboard-panel,.import-accordion { overflow:hidden; border:1px solid var(--line-strong); border-radius:15px; background:#fff; box-shadow:0 8px 22px rgba(9,42,72,.055); }
.dashboard-panel > summary,.import-accordion > summary { display:flex; align-items:center; gap:13px; padding:16px 18px; cursor:pointer; list-style:none; user-select:none; }
.dashboard-panel > summary::-webkit-details-marker,.import-accordion > summary::-webkit-details-marker { display:none; }
.dashboard-panel[open] > summary,.import-accordion[open] > summary { border-bottom:1px solid var(--line); background:linear-gradient(90deg,#f7fbfa,#fff); }
.panel-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; font-size:18px; font-weight:850; }
.panel-icon-task { background:#e7f8f1; color:#087553; }.panel-icon-location { background:#e8f2ff;color:#315f91; }.panel-icon-web { background:#f0eefe;color:#65569e; }.panel-icon-contact { background:#fff2df;color:#a2630c; }
.panel-title { display:flex; flex:1; min-width:0; flex-direction:column; gap:2px; }.panel-title strong { color:var(--navy); font-size:16px; }.panel-title small { color:var(--muted); font-size:12px; }
.panel-count { display:grid; place-items:center; min-width:31px; height:27px; padding:0 8px; border-radius:999px; background:#eef4f2; color:#50675f; font-size:12px; font-weight:850; }
.panel-chevron { color:#6f817b; font-size:20px; transition:transform .18s; }.dashboard-panel[open] .panel-chevron,.import-accordion[open] .panel-chevron { transform:rotate(180deg); }
.dashboard-panel-body { padding:0 18px 17px; }
.panel-toolbar { display:flex; justify-content:space-between; gap:12px; padding:12px 1px; color:var(--muted); font-size:12px; }.panel-toolbar a { color:var(--green); font-weight:800; text-decoration:none; }
.dashboard-list { display:grid; gap:8px; }
.dashboard-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 13px; border:1px solid #cfded9; border-radius:11px; background:#fff; }.dashboard-row.is-urgent { border-left:4px solid #cf3f3f; }
.dashboard-row-main { display:flex; min-width:0; flex-direction:column; gap:2px; }.dashboard-row-main strong { color:var(--navy); }.dashboard-row-main span,.dashboard-row-main small { color:var(--muted); }.dashboard-row-main small { font-size:12px; }.dashboard-row-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }.dashboard-row-actions form { margin:0; }
.text-danger { color:#b42318 !important; font-weight:750; }
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:94px; border:1px dashed #b9cbc5; border-radius:11px; background:#f8fbfa; color:var(--muted); text-align:center; }.empty-state strong { color:#415a51; }

/* Combined import center */
.import-hub-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:16px; padding:25px 28px; border:1px solid var(--line-strong); border-top:4px solid var(--purple); border-radius:18px; background:linear-gradient(125deg,#fff,#f4f2fb); box-shadow:0 14px 34px rgba(9,42,72,.08); }
.import-hub-badge { padding:8px 12px; border-radius:999px; background:#eeeafb; color:#5e5291; font-size:12px; font-weight:850; }
.import-accordion > summary { padding:18px 20px; }
.import-number { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:11px; background:#eeeafb; color:#62559a; font-size:12px; font-weight:900; }
.import-accordion summary > span:nth-child(2) { display:flex; flex:1; flex-direction:column; gap:3px; }.import-accordion summary strong { color:var(--navy); font-size:16px; }.import-accordion summary small { color:var(--muted); }
.import-frame-shell { padding:14px; background:#f4f7f6; }.import-frame-shell iframe { display:block; width:100%; height:850px; border:1px solid var(--line); border-radius:12px; background:#fff; }
body.import-embedded { background:#fff; }.import-embedded .topbar,.import-embedded .footer { display:none; }.import-embedded > main.wrap { max-width:none; padding:12px; }.import-embedded .card { box-shadow:none; }

/* Stronger shared visual hierarchy */
.card > h1:first-child,.card > h2:first-child { color:var(--navy); letter-spacing:-.02em; }
.alert { border-width:1px !important; box-shadow:0 4px 12px rgba(9,42,72,.04); }
a { color:#08755a; }.footer-inner { border-color:var(--line-strong); }

@media (max-width:800px) {
  .dashboard-hero,.import-hub-hero { align-items:flex-start; flex-direction:column; }
  .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-row { align-items:flex-start; flex-direction:column; }
  .dashboard-row-actions { width:100%; }
  .panel-title small { display:none; }
  .import-frame-shell { padding:6px; }.import-frame-shell iframe { height:760px; }
}
@media (max-width:520px) { .stat-grid { grid-template-columns:1fr; }.dashboard-date,.import-hub-badge { display:none; }.panel-icon { flex-basis:34px;width:34px;height:34px; } }

/* Contracts & Agreements */
.contract-page{display:grid;gap:16px}.contract-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:27px 30px;border:1px solid var(--line-strong);border-top:4px solid var(--green);border-radius:18px;background:linear-gradient(125deg,#fff,#effaf6);box-shadow:0 14px 34px rgba(9,42,72,.08)}.contract-hero h1{margin:3px 0 5px;color:var(--navy);font-size:29px;letter-spacing:-.03em}.contract-hero p{margin:0;color:var(--muted)}
.contract-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.contract-stat-grid>a,.contract-stat-grid>div{display:flex;min-height:102px;flex-direction:column;justify-content:space-between;padding:17px;border:1px solid var(--line-strong);border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 20px rgba(9,42,72,.05)}.contract-stat-grid span{color:var(--muted);font-size:12px;font-weight:750}.contract-stat-grid strong{color:var(--navy);font-size:25px}
.contract-subnav{display:flex;gap:7px;overflow-x:auto;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff}.contract-subnav a{flex:0 0 auto;padding:8px 11px;border-radius:8px;color:#45625a;font-size:12px;font-weight:800;text-decoration:none}.contract-subnav a:hover,.contract-subnav a.is-active{background:var(--mint);color:var(--green)}
.contract-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px}.contract-filters label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:750}.contract-filters input,.contract-filters select,.contract-builder-form select,.contract-builder-form input,.contract-builder-form textarea,.template-card input,.template-card textarea,.catalog-layout input,.catalog-layout select,.catalog-layout textarea,.signature-section input,.countersign-form input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.contract-table-wrap{overflow-x:auto}.contract-table{width:100%;border-collapse:collapse}.contract-table th,.contract-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.contract-table th{color:#667b73;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.contract-table td>strong,.contract-table td>small{display:block}.contract-table td>small{margin-top:3px;color:var(--muted)}
.contract-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#edf2f0;color:#526b63;font-size:11px;font-weight:850;white-space:nowrap}.status-draft,.status-pending_legal_approval{background:#fff3d9;color:#8b5b00}.status-pending_client_signature,.status-pending_countersignature,.status-queued,.status-sending{background:#e7f0ff;color:#315f91}.status-executed,.status-approved,.status-sent,.status-delivered{background:#ddf8ed;color:#087553}.status-voided,.status-declined,.status-expired,.status-retired,.status-failed{background:#fde8e8;color:#a52c2c}
.contract-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:0;padding:0;list-style:none}.contract-progress li{padding:9px 7px;border-radius:8px;background:#eaf0ee;color:#62766f;font-size:11px;font-weight:800;text-align:center}.contract-progress li.is-active{background:var(--green);color:#fff}.contract-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.contract-builder-form{display:grid;gap:0;padding:0;overflow:hidden}.builder-step{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:24px;border-bottom:1px solid var(--line)}.builder-step h2{margin:0 0 12px;color:var(--navy);font-size:20px}.step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--green);font-weight:900}.package-choice,.location-choice,.service-choice{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.package-choice{justify-content:space-between;flex-wrap:wrap}.package-choice p{width:100%;margin:0;color:var(--muted)}.package-choice.is-selected{border-color:#6fb69f;background:#f3fbf8}.location-choice-grid,.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.location-choice input,.service-choice input{flex:0 0 auto;width:auto;margin-top:3px}.location-choice span,.service-choice span{display:flex;min-width:0;flex-direction:column;gap:3px}.location-choice small,.service-choice small{color:var(--muted)}.service-choice em{color:var(--green);font-size:12px;font-style:normal;font-weight:800}.service-choice.is-disabled{opacity:.58}.contract-create-button{margin:20px 24px;min-height:48px}.contract-live-summary{position:sticky;top:88px}.contract-live-summary h2{margin-top:5px}.contract-live-summary dl,.pricing-totals{display:grid;gap:0}.contract-live-summary dl>div,.pricing-totals>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.contract-live-summary dt,.pricing-totals dt{color:var(--muted)}.contract-live-summary dd,.pricing-totals dd{margin:0;color:var(--navy);font-weight:850}.contract-live-summary .summary-total{font-size:17px}.contract-live-summary p{color:var(--muted);font-size:12px;line-height:1.5}
.contract-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.contract-detail-grid main{display:grid;gap:16px}.contract-detail-grid aside{display:grid;gap:16px;position:sticky;top:88px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading h2{margin:3px 0}.contract-document-preview{max-width:850px;margin:18px auto;padding:42px;border:1px solid #cbd8d3;background:#fff;color:#1f2937;box-shadow:0 12px 34px rgba(9,42,72,.07);font-family:Georgia,'Times New Roman',serif;line-height:1.65}.contract-document-preview h1,.contract-document-preview h2,.contract-document-preview h3{color:#082a4a;font-family:Arial,sans-serif}.contract-document-preview h1{text-align:center}.contract-document-preview h2{margin-top:28px;font-size:19px}.contract-document-preview h3{margin-top:22px;font-size:16px}.contract-document-preview table{width:100%;border-collapse:collapse}.contract-document-preview th,.contract-document-preview td{padding:9px;border:1px solid #ccd8d4;text-align:left}.legal-warning{padding:12px;border:2px solid #c74735;background:#fff0ed;color:#8b2115;text-align:center}.document-kicker{text-align:center;text-transform:uppercase;letter-spacing:.12em}.document-hash{overflow-wrap:anywhere;color:var(--muted);font-size:12px}.signing-link-card>div{display:flex;gap:8px}.signing-link-card input{flex:1;padding:10px;border:1px solid var(--line);border-radius:9px}.signer-record,.delivery-record{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.signer-record{align-items:flex-start;flex-direction:column;gap:3px}.signer-record span,.signer-record small,.delivery-record span{color:var(--muted)}.delivery-record>div{display:flex;flex-direction:column;gap:3px}.delivery-record form{margin:0}.audit-timeline{display:grid}.audit-timeline article{display:grid;grid-template-columns:1fr 180px 160px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.audit-timeline span,.audit-timeline time{color:var(--muted);font-size:12px}.contract-sidebar-card h3{margin-bottom:5px}.contract-sidebar-card h4{margin:20px 0 5px}.danger-zone{display:grid;gap:12px;border-color:#efb0aa;background:#fff8f7}.btn-danger{background:#b92d22!important;color:#fff!important}.template-grid{display:grid;gap:16px}.template-card details{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:11px}.template-card summary{cursor:pointer;font-weight:800}.template-card details form{display:grid;gap:10px;margin-top:14px}.template-versions article{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.template-versions article>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.template-versions small{color:var(--muted);overflow-wrap:anywhere}.legal-confirm{display:flex;gap:7px;align-items:flex-start;color:#7d3d14;font-size:12px}.legal-confirm input{width:auto}.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;align-items:start}.catalog-layout aside{display:grid;gap:16px}.catalog-layout form{display:grid;gap:10px}.company-contract-history{display:grid;gap:7px;margin-top:10px}.company-contract-history>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px;color:inherit;text-decoration:none}.company-contract-history>a>span:first-child{display:flex;flex-direction:column;gap:2px}.company-contract-history small{color:var(--muted)}
.signing-body{background:#eef5f2}.signing-shell{width:min(1000px,calc(100% - 28px));margin:28px auto;display:grid;gap:16px}.signing-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.signing-header h1{margin:4px 0;color:var(--navy)}.signing-header p{margin:0;color:var(--muted)}.document-jump{display:flex;gap:8px;position:sticky;top:0;padding:10px;background:#fff;border-bottom:1px solid var(--line);z-index:2}.document-jump a{padding:7px 10px;border-radius:7px;background:var(--mint);font-weight:800;text-decoration:none}.signature-section form,.countersign-form{display:grid;gap:14px}.signature-pad-label{font-weight:800}.signature-pad{display:block;width:100%;height:220px;touch-action:none;border:2px solid #8fa9a0;border-radius:12px;background:#fff;cursor:crosshair}.signature-pad:focus{outline:3px solid rgba(8,117,83,.2)}.signature-actions{display:flex;align-items:center;gap:12px}.signature-consents{display:grid;gap:9px}.signature-consents label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px}.signature-consents input{width:auto;margin-top:3px}.signature-submit{min-height:52px;font-size:16px}.signing-success,.signing-error{max-width:650px;margin:10vh auto;text-align:center}.success-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#dff8ed;color:var(--green);font-size:34px;font-weight:900}
@media(max-width:1000px){.contract-stat-grid{grid-template-columns:repeat(3,1fr)}.contract-builder-layout,.contract-detail-grid,.catalog-layout{grid-template-columns:1fr}.contract-live-summary,.contract-detail-grid aside{position:static}.contract-detail-grid aside{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-progress{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.contract-hero,.signing-header{align-items:flex-start;flex-direction:column}.contract-stat-grid{grid-template-columns:repeat(2,1fr)}.contract-filters,.location-choice-grid,.service-choice-grid,.form-grid{grid-template-columns:1fr}.builder-step{grid-template-columns:1fr;padding:18px}.contract-detail-grid aside{grid-template-columns:1fr}.contract-document-preview{padding:23px 17px;margin-inline:-8px}.audit-timeline article{grid-template-columns:1fr;gap:3px}.template-versions article,.delivery-record{align-items:flex-start;flex-direction:column}.contract-progress{display:flex;overflow-x:auto}.contract-progress li{min-width:95px}.signing-shell{width:min(100% - 16px,1000px);margin:8px auto}.signature-pad{height:190px}}

/* National Clinic Import: three-step workflow */
.alert.warn { background:#fff7e6; border:1px solid #f6d89a; color:#7a4b00; }
.ci-shell { display:grid; gap:14px; }
.ci-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap; }
.ci-head p { margin:0; max-width:760px; }
.ci-steps { display:flex; gap:8px; margin:0; padding:0; list-style:none; flex-wrap:wrap; }
.ci-steps li { display:flex; align-items:center; gap:8px; padding:7px 12px 7px 7px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font-weight:700; font-size:13px; }
.ci-steps li span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#eef3f2; font-size:12px; }
.ci-steps li.is-current { border-color:var(--green); color:var(--navy); box-shadow:0 0 0 3px rgba(7,132,95,.1); }
.ci-steps li.is-current span { background:var(--green); color:#fff; }
.ci-steps li.is-done span { background:var(--mint); color:var(--green-dark); }
.ci-card { display:grid; gap:14px; }
.ci-card h2 { margin:0 0 3px; color:var(--navy); font-size:19px; }
.ci-card p { margin:0; }
.ci-card-title { display:flex; gap:12px; align-items:flex-start; }
.ci-step-number { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:10px; background:var(--mint); color:var(--green-dark); font-weight:900; }
.ci-source { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:14px; border:1px dashed var(--line-strong); border-radius:12px; background:#f8fbfa; }
.ci-source-file { display:grid; gap:2px; flex:1 1 260px; min-width:0; }
.ci-source-file strong { overflow-wrap:anywhere; color:var(--navy); }
.ci-label { color:var(--muted); font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.ci-file-input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.ci-file-btn { cursor:pointer; }
.ci-upload:focus-within .ci-file-btn { outline:3px solid rgba(37,99,235,.22); outline-offset:2px; }
.ci-analyze { display:grid; gap:12px; max-width:620px; }
.ci-analyze small { display:block; margin-top:4px; }
.ci-primary { justify-self:start; min-height:44px; padding:11px 20px; }
.ci-primary:disabled, .btn:disabled { opacity:.55; cursor:not-allowed; filter:none; }
.ci-advanced { border:1px solid var(--line); border-radius:10px; padding:10px 12px; }
.ci-advanced summary { cursor:pointer; font-weight:750; color:var(--navy); }
.ci-advanced-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:10px 0; }
.ci-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.ci-tile { display:grid; gap:2px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fbfdfc; }
.ci-tile strong { color:var(--navy); font-size:22px; letter-spacing:-.02em; }
.ci-tile span { color:var(--muted); font-size:13px; }
.ci-note { padding:10px 12px; border-radius:10px; background:#f1f6ff; color:#21406b; }
.ci-filter { display:flex; gap:6px; flex-wrap:wrap; }
.ci-filter a { padding:6px 10px; border:1px solid var(--line); border-radius:999px; color:var(--navy); font-size:13px; font-weight:700; text-decoration:none; background:#fff; }
.ci-filter a span { color:var(--muted); font-weight:600; }
.ci-filter a.is-active { border-color:var(--navy); background:var(--navy); color:#fff; }
.ci-filter a.is-active span { color:#dbe7f3; }
.ci-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:12px; }
.ci-table { min-width:980px; }
.ci-table td.cell-wrap { white-space:normal; }
.ci-detail td { background:#f8fbfa; white-space:normal; }
.ci-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px 16px; margin:0; }
.ci-detail-grid dt { color:var(--muted); font-size:12px; font-weight:750; }
.ci-detail-grid dd { margin:0; overflow-wrap:anywhere; }
.ci-detail-grid .ci-wide { grid-column:1/-1; }
.ci-small { font-size:12px; }
.ci-badge { display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; background:#eef3f2; color:var(--navy); }
.ci-badge.ci-cat-new { background:#dcfce7; color:#14532d; }
.ci-badge.ci-cat-enrichment { background:#e0f2fe; color:#0c4a6e; }
.ci-badge.ci-cat-matched { background:#eef3f2; color:#42564f; }
.ci-badge.ci-cat-review { background:#fff3d6; color:#7a4b00; }
.ci-badge.ci-cat-duplicate { background:#ede9fe; color:#4c1d95; }
.ci-badge.ci-cat-invalid, .ci-badge.ci-cat-error { background:#fee2e2; color:#991b1b; }
.ci-pager { display:flex; align-items:center; gap:10px; }
.ci-more { border-top:1px solid var(--line); padding-top:10px; }
.ci-more summary { cursor:pointer; font-weight:750; color:var(--navy); }
.ci-map { max-width:640px; margin:10px 0; }
.ci-issues, .ci-reasons { margin:8px 0 0; padding-left:18px; display:grid; gap:4px; }
.ci-h3 { margin:4px 0 0; color:var(--navy); font-size:16px; }
.ci-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ci-progress { height:12px; overflow:hidden; border-radius:999px; background:#e6eeec; }
.ci-progress span { display:block; height:100%; background:var(--green); transition:width .3s ease; }
.ci-tiles-compact .ci-tile strong { font-size:19px; }
.ci-history-head { display:flex; justify-content:space-between; align-items:center; }
.ci-history .crm-table { min-width:1100px; }
.ci-history tr.is-current td { background:#f2faf7; }
.ci-status { display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; background:#eef3f2; color:var(--navy); }
.ci-status-completed { background:#dcfce7; color:#14532d; }
.ci-status-completed_warnings, .ci-status-paused { background:#fff3d6; color:#7a4b00; }
.ci-status-failed { background:#fee2e2; color:#991b1b; }
.ci-status-importing, .ci-status-analyzing, .ci-status-processing, .ci-status-ready { background:#e0f2fe; color:#0c4a6e; }
@media (max-width:700px) {
  .ci-head { align-items:flex-start; }
  .ci-advanced-grid { grid-template-columns:1fr; }
  .ci-primary { justify-self:stretch; width:100%; }
  .ci-actions > *, .ci-actions form, .ci-actions .btn { width:100%; }
  .ci-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
