
  #contact-modal { display:none; position:fixed; inset:0; background:rgba(15,23,42,0.72); z-index:86500; align-items:center; justify-content:center; }
  #contact-modal * { font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; box-sizing:border-box; }
  .ct-box { background:#fff; width:96vw; max-width:1240px; height:90vh; border-radius:20px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,0.35); }
  .ct-head { display:flex; align-items:center; gap:10px; padding:12px 18px 8px; }
  .ct-head .grow { flex:1; min-width:0; }
  .ct-head h2 { margin:0; font-size:18px; font-weight:800; color:#0f172a; letter-spacing:-0.2px; }
  .ct-head .sub { font-size:12px; color:#64748b; font-weight:600; margin-top:1px; }
  .ct-refresh { display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 12px 0 10px; border:1px solid #cbd5e1; border-radius:16px; background:#fff; color:#1e2a44; font-size:12px; font-weight:700; cursor:pointer; flex:0 0 auto; }
  .ct-refresh:hover { background:#f8fafc; } .ct-refresh svg { width:16px; height:16px; fill:currentColor; }
  .ct-refresh.busy svg { animation:ctSpin 0.8s linear infinite; }
  @keyframes ctSpin { to { transform:rotate(360deg); } }
  .ct-bar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:2px 18px 10px; border-bottom:1px solid #eef2f7; }
  .ct-chips { display:flex; gap:6px; flex-wrap:wrap; }
  .ct-chip { height:30px; padding:0 10px; border-radius:7px; border:1px solid #cbd5e1; background:#fff; color:#334155; font-size:12px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
  .ct-chip:hover { background:#f8fafc; }
  .ct-chip.on { background:#e0e7ff; border-color:#a5b4fc; color:#312e81; }
  .ct-chip .n { min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:#e2e8f0; color:#334155; font-size:10.5px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
  .ct-chip.on .n { background:#fff; }
  .ct-sep { width:1px; height:20px; background:#e2e8f0; margin:0 2px; }
  .ct-search { flex:1; min-width:160px; height:30px; border:1px solid #cbd5e1; border-radius:15px; padding:0 14px; font-size:12.5px; background:#f8fafc; outline:none; color:#0f172a; }
  .ct-search:focus { border-color:#6366f1; background:#fff; box-shadow:0 0 0 3px rgba(99,102,241,0.15); }
  .ct-main { flex:1; display:flex; min-height:0; position:relative; }
  .ct-list { flex:1; overflow:auto; padding:0 18px 6px; min-width:0; }
  table.ct-t { width:100%; border-collapse:separate; border-spacing:0; font-size:12px; }
  table.ct-t th { position:sticky; top:0; z-index:2; background:#f8fafc; color:#475569; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:0.4px; padding:7px 6px; border-bottom:1px solid #e2e8f0; text-align:left; white-space:nowrap; }
  table.ct-t td { padding:6px 6px; border-bottom:1px solid #f1f5f9; color:#334155; font-weight:600; white-space:nowrap; max-width:260px; overflow:hidden; text-overflow:ellipsis; }
  table.ct-t th:first-child, table.ct-t td:first-child { padding-left:10px; }
  table.ct-t tbody tr:nth-child(even) td { background:#fafbfd; }
  table.ct-t tbody tr { cursor:pointer; }
  table.ct-t tbody tr:hover td { background:#f5f7ff; }
  table.ct-t tbody tr.sel td { background:#eef2ff; }
  table.ct-t td.nm { color:#0f172a; font-weight:800; }
  table.ct-t .r { text-align:right; font-variant-numeric:tabular-nums; }
  table.ct-t td.muted { color:#94a3b8; }
  table.ct-t td.ph { font-variant-numeric:tabular-nums; }
  .ct-jn { display:inline-flex; min-width:22px; height:20px; padding:0 7px; border-radius:10px; background:#eff6ff; color:#1d4ed8; font-size:11px; font-weight:800; align-items:center; justify-content:center; }
  .ct-jn.z { background:#f1f5f9; color:#94a3b8; }
  .ct-empty { text-align:center; color:#94a3b8; padding:50px 0; font-size:13px; font-weight:600; }
  .ct-more { display:block; margin:10px auto; height:30px; padding:0 16px; border-radius:15px; border:1px solid #cbd5e1; background:#fff; font-size:12px; font-weight:700; color:#1e2a44; cursor:pointer; }
  .ct-foot { display:flex; align-items:center; gap:8px; padding:8px 18px 10px; border-top:1px solid #eef2f7; font-size:11.5px; color:#64748b; font-weight:600; }
  .ct-det { width:400px; flex:0 0 400px; border-left:1px solid #e2e8f0; overflow:auto; background:#fff; display:none; }
  .ct-main.has-det .ct-det { display:block; }
  .ct-dh { display:flex; align-items:flex-start; gap:8px; padding:12px 14px 6px; position:sticky; top:0; background:#fff; z-index:3; }
  .ct-dh .grow { flex:1; min-width:0; }
  .ct-back { display:none; width:30px; height:30px; border-radius:50%; border:1px solid #cbd5e1; background:#fff; cursor:pointer; align-items:center; justify-content:center; flex:0 0 auto; padding:0; }
  .ct-back svg { width:18px; height:18px; fill:#1e2a44; }
  .ct-dn { font-size:17px; font-weight:800; color:#0f172a; line-height:1.2; word-break:break-word; }
  .ct-ds { font-size:11.5px; color:#64748b; font-weight:600; margin-top:2px; }
  .ct-btn { height:30px; padding:0 12px; border-radius:15px; border:1px solid #cbd5e1; background:#fff; color:#1e2a44; font-size:12px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:5px; text-decoration:none; white-space:nowrap; }
  .ct-btn svg { width:15px; height:15px; fill:currentColor; }
  .ct-btn:hover { background:#f8fafc; }
  .ct-btn.pri { background:#1e2a44; border-color:#1e2a44; color:#fff; } .ct-btn.pri:hover { background:#283552; }
  .ct-btn.call { color:#047857; border-color:#a7f3d0; background:#ecfdf5; }
  .ct-btn.sms { color:#1d4ed8; border-color:#bfdbfe; background:#eff6ff; }
  .ct-btn.mail { color:#6b21a8; border-color:#e9d5ff; background:#faf5ff; }
  .ct-btn.map { color:#92400e; border-color:#fde68a; background:#fffbeb; }
  .ct-btn[disabled] { opacity:.5; cursor:default; }
  .ct-acts { display:flex; flex-wrap:wrap; gap:6px; padding:4px 14px 10px; }
  .ct-sec { padding:8px 14px; }
  .ct-sh { font-size:10px; font-weight:800; color:#475569; text-transform:uppercase; letter-spacing:.6px; margin-bottom:6px; display:flex; align-items:center; gap:6px; }
  .ct-sh .r { margin-left:auto; text-transform:none; letter-spacing:0; font-size:11px; color:#64748b; }
  .ct-info { display:grid; grid-template-columns:62px 1fr; gap:4px 8px; font-size:12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:11px; padding:8px 10px; }
  .ct-info .k { color:#64748b; font-weight:700; font-size:10.5px; text-transform:uppercase; padding-top:1px; }
  .ct-info .v { color:#0f172a; font-weight:600; word-break:break-word; }
  .ct-info .v.muted { color:#94a3b8; }
  .ct-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
  .ct-card { border:1px solid #e2e8f0; border-radius:11px; padding:7px 10px; }
  .ct-card .k { font-size:10px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.4px; }
  .ct-card .v { font-size:16px; font-weight:800; color:#0f172a; font-variant-numeric:tabular-nums; }
  .ct-card.blue { background:#eff6ff; border-color:#bfdbfe; } .ct-card.green { background:#ecfdf5; border-color:#a7f3d0; } .ct-card.purple { background:#faf5ff; border-color:#e9d5ff; }
  .ct-apps { display:flex; flex-wrap:wrap; gap:5px; }
  .ct-app { font-size:11px; font-weight:700; color:#334155; background:#f1f5f9; border-radius:8px; padding:4px 8px; }
  .ct-app small { color:#64748b; font-weight:600; }
  .ct-jobs { border:1px solid #e2e8f0; border-radius:11px; overflow:hidden; }
  .ct-job { padding:7px 10px; border-bottom:1px solid #f1f5f9; font-size:11.5px; }
  .ct-job:nth-child(even) { background:#fafbfd; }
  .ct-job:last-child { border-bottom:none; }
  .ct-job .t { display:flex; gap:8px; align-items:center; }
  .ct-job .d { font-weight:800; color:#0f172a; font-variant-numeric:tabular-nums; }
  .ct-job .tk { color:#64748b; font-weight:700; font-variant-numeric:tabular-nums; }
  .ct-job .st { margin-left:auto; font-size:10.5px; font-weight:800; padding:2px 7px; border-radius:9px; background:#f1f5f9; color:#475569; white-space:nowrap; }
  .ct-job .st.ok { background:#dcfce7; color:#166534; } .ct-job .st.dg { background:#fef3c7; color:#92400e; }
  .ct-job .m { color:#334155; font-weight:600; margin-top:2px; }
  .ct-tli { font-size:10.5px; font-weight:800; padding:2px 7px; border-radius:9px; background:#eff6ff; color:#1d4ed8; white-space:nowrap; } .ct-tli.out { background:#f5f3ff; color:#6d28d9; } .ct-tli.sms { background:#ecfdf5; color:#047857; }
  .ct-tlm { cursor:pointer; } .ct-tlm:hover { background:#f1f5f9 !important; }
  .ct-job .s { color:#64748b; font-weight:500; margin-top:2px; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ct-form { display:grid; gap:6px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:11px; padding:10px; }
  .ct-form label { font-size:10px; font-weight:800; color:#475569; text-transform:uppercase; letter-spacing:.4px; display:grid; gap:3px; }
  .ct-form input { height:32px; border:1px solid #cbd5e1; border-radius:8px; padding:0 10px; font-size:13px; font-weight:600; color:#0f172a; background:#fff; outline:none; text-transform:none; letter-spacing:0; }
  .ct-form input:focus { border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,0.15); }
  .ct-form .row { display:flex; gap:6px; justify-content:flex-end; margin-top:2px; }
  .ct-form .note { font-size:11px; color:#64748b; font-weight:600; }
  @media (max-width:640px) {
    .ct-box { width:100vw; height:100vh; height:100dvh; max-width:none; border-radius:0; }
    .ct-head { padding:10px 14px 6px; } .ct-head .sub { display:none; } .ct-head h2 { white-space:nowrap; font-size:17px; } .ct-head .ct-add { padding-left:10px; padding-right:10px; white-space:nowrap; }
    .ct-refresh span { display:none; } .ct-refresh { padding:0 8px; }
    .ct-bar { padding:2px 14px 8px; } .ct-sep { display:none; }
    .ct-search { flex:1 1 100%; }
    .ct-list { padding:0 10px 6px; }
    table.ct-t thead { display:none; }
    table.ct-t, table.ct-t tbody { display:block; }
    table.ct-t tbody tr { display:grid; grid-template-columns:1fr auto; gap:1px 8px; padding:8px 10px; border-bottom:1px solid #f1f5f9; }
    table.ct-t tbody tr:nth-child(even) { background:#fafbfd; }
    table.ct-t tbody tr td, table.ct-t tbody tr td:first-child { display:block; padding:0; border:none; max-width:none; background:transparent !important; }
    table.ct-t td.c-em, table.ct-t td.c-ad { grid-column:1 / -1; font-size:11px; color:#64748b; }
    table.ct-t td.c-em:empty, table.ct-t td.c-ad:empty { display:none; }
    table.ct-t td.c-ph { grid-column:1; }
    table.ct-t td.c-lv { grid-column:2; grid-row:2; text-align:right; font-size:11px; color:#64748b; }
    table.ct-t td.c-jn { grid-column:2; grid-row:1; text-align:right; }
    table.ct-t td.c-jn::after { content:" jobs"; font-size:10px; color:#94a3b8; font-weight:700; }
    .ct-det { position:absolute; inset:0; width:auto; border-left:none; z-index:6; }
    .ct-back { display:inline-flex; }
    .ct-cards { grid-template-columns:repeat(3,1fr); }
    .ct-foot { display:none; }
  }
  #contact-modal .ct-head { background:#1e2a44; border-bottom:3px solid #10b981; padding:12px 18px 11px; }
  #contact-modal .ct-head h2 { color:#ffffff; }
  #contact-modal .ct-head .sub { color:#cbd5e1; }
  #contact-modal .ct-refresh { background:rgba(255,255,255,0.10); border-color:rgba(255,255,255,0.28); color:#ffffff; }
  #contact-modal .ct-refresh:hover { background:rgba(255,255,255,0.18); }
  #contact-modal .ct-bar { padding-top:10px; }
  table.ct-dir tbody tr { cursor:default; }
  table.ct-dir tbody tr:nth-child(even) td { background:#f4f6fa; }
  table.ct-dir tbody tr:hover td { background:#eef2ff; }
  table.ct-dir td.nm { font-size:13px; }
  table.ct-dir td.ph { font-size:13px; font-weight:700; color:#0f172a; }
  table.ct-dir td.ph.none { color:#94a3b8; font-weight:600; }
  table.ct-dir td.ex { color:#475569; font-weight:500; white-space:normal; max-width:280px; word-break:break-word; }
  table.ct-dir td.acts { text-align:right; white-space:nowrap; width:1%; }
  .ct-dacts { display:inline-flex; gap:6px; justify-content:flex-end; }
  .ct-btn.copy { color:#334155; }
  .ct-btn.copied { color:#047857; border-color:#a7f3d0; background:#ecfdf5; }
  .ct-ex-k { display:none; font-size:10px; font-weight:800; color:#64748b; text-transform:uppercase; letter-spacing:.4px; margin-right:5px; }
  @media (max-width:640px) {
    table.ct-dir tbody tr { grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; padding:10px 10px; align-items:center; }
    table.ct-dir tbody tr:nth-child(even) { background:#f4f6fa; }
    table.ct-dir tbody tr td.c-nm { grid-column:1; grid-row:1; font-size:14px; white-space:normal; }
    table.ct-dir tbody tr td.c-ph { grid-column:1; grid-row:2; font-size:13px; }
    table.ct-dir tbody tr td.acts { grid-column:2; grid-row:1 / span 2; align-self:center; width:auto; }
    table.ct-dir tbody tr td.ex { grid-column:1 / -1; font-size:11.5px; }
    table.ct-dir tbody tr td.ex:empty { display:none; }
    .ct-ex-k { display:inline; }
    table.ct-dir .ct-btn { width:36px; height:34px; padding:0; justify-content:center; border-radius:10px; }
    table.ct-dir .ct-btn svg { width:17px; height:17px; }
    table.ct-dir .ct-btn .l { display:none; }
  }
