/* Gate 2. Geography/measurements translated from fingerprinted A20 template. */
#app-main:has(#view-connect.active){height:100vh}
html.ck-env-banner-on #app-main:has(#view-connect.active){height:calc(100vh - var(--ck-env-bar-h))}
#page-content:has(#view-connect.active){overflow:hidden;min-height:0;padding:0;background-image:none;background:var(--dash-ground,#eef2f6);display:flex;flex-direction:column}
#view-connect{display:none;min-height:0;flex:1;background:var(--dash-ground,#eef2f6)}
#view-connect.active,#connect-root{display:flex;flex:1;min-height:0;flex-direction:column}
#connect-root{color:#0f172a;font-family:inherit}
#connect-root *{box-sizing:border-box}
#connect-root [hidden]{display:none!important}
#connect-root button,#connect-root input{font-family:inherit}
#connect-root button{cursor:pointer}
#connect-root button:focus-visible,#connect-root .cn-scroll:focus-visible{outline:2px solid #0d9488;outline-offset:-2px}
#connect-root .cn-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;flex:none;min-height:53px;padding:10px 20px;background:#fff;border-bottom:1px solid #e2e8f0}
#connect-root .cn-tabs{display:inline-grid;grid-auto-flow:column;grid-auto-columns:136px;gap:2px;padding:3px;background:#f1f5f9;border-radius:10px;max-width:100%;overflow-x:auto}
#connect-root .cn-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:5px 12px;border:none;border-radius:8px;font-size:12.5px;font-weight:600;line-height:18px;white-space:nowrap;background:transparent;color:#64748b}
#connect-root .cn-tabs button[aria-selected=true]{background:#fff;color:#0f172a;box-shadow:0 1px 3px rgba(15,23,42,.12)}
#connect-root .cn-tabs button:hover{color:#0f172a}
#connect-root .cn-tabs button:focus-visible{outline:2px solid #0d9488;outline-offset:1px}
#connect-root .cn-tabs button:disabled{cursor:default;color:#64748b;opacity:1}
#connect-root .cn-workspace{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 20px 20px}
#connect-root .cn-card{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e8ec;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(13,60,54,.04);position:relative}
#connect-root .cn-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:.5px solid #e2e8f0;position:relative;z-index:40}
#connect-root .cn-search{display:flex;align-items:center;gap:7px;flex:0 1 300px;min-width:200px;background:#f8fafc;border:.5px solid #e2e8f0;border-radius:8px;padding:7px 12px;margin:0}
#connect-root .cn-search:focus-within{background:#fff;border-color:#0d9488;box-shadow:0 0 0 3px rgba(13,148,136,.08)}
#connect-root .cn-search>i{font-size:14px;color:#94a3b8}
#connect-root .cn-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:13px;color:#0f172a;padding:0;width:100%}
#connect-root .cn-search input::-webkit-search-cancel-button{-webkit-appearance:none}
#connect-root .cn-search button{border:0;background:none;padding:0;color:#94a3b8;display:flex}
#connect-root .cn-filter-wrap{position:relative}
#connect-root .cn-filter{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 11px;border:.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;font-size:13px;font-weight:500;white-space:nowrap}
#connect-root .cn-filter i{color:#94a3b8;font-size:14px}
#connect-root .cn-filter.is-filtered{border-color:#99e3dc;background:#f0fdfa;color:#0f766e}
#connect-root .cn-direction{display:inline-flex;align-items:center;height:32px;padding:2px;background:#f1f5f9;border-radius:8px;gap:2px}
#connect-root .cn-direction button{height:28px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:12.5px;font-weight:500;white-space:nowrap}
#connect-root .cn-direction button[aria-pressed=true]{background:#fff;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,.08)}
#connect-root .cn-menu{position:absolute;top:calc(100% + 6px);left:0;width:300px;max-height:calc(100vh - 200px);overflow:auto;background:#fff;border:1px solid #e5e8ec;border-radius:10px;box-shadow:0 10px 28px rgba(15,23,42,.12);padding:6px;z-index:60}
#connect-root .cn-menu>button{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;text-align:left;font-size:13px;color:#0f172a}
#connect-root .cn-menu>button:hover{background:#f8fafc}
#connect-root .cn-menu>button[aria-pressed=true]{background:#f0fdfa}
#connect-root .cn-menu>button i{color:#0d9488;opacity:0}
#connect-root .cn-menu>button[aria-pressed=true] i{opacity:1}
#connect-root .cn-menu strong{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
#connect-root .cn-menu small{display:block;font-size:11.5px;color:#64748b}
#connect-root .cn-menu p{font-size:12px;color:#64748b;padding:4px 10px}
#connect-root .cn-released{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:#eef1f5;color:#718096}
#connect-root .cn-dates{width:240px}
#connect-root .cn-dates:has(.cn-custom:not([hidden])){width:272px}
#connect-root .cn-custom{border-top:1px solid #eef1f4;margin-top:6px;padding:10px 6px 4px;display:flex;flex-direction:column;gap:10px}
#connect-root .cn-custom .ckdp-panel{position:relative;top:0;max-width:100%}
#connect-root .cn-apply{height:32px;border:0;border-radius:8px;background:#0d9488;color:#fff;font-size:13px;font-weight:600}
#connect-root .cn-text{border:0;background:none;padding:0 4px;font-size:12.5px;font-weight:600;color:#0d9488}
#connect-root .cn-history{flex:1;min-height:0;position:relative}
#connect-root .cn-scroll{height:100%;overflow-y:auto;scrollbar-gutter:stable;overflow-x:hidden;overscroll-behavior:contain;position:relative}
#connect-root .cn-day{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:7px 20px;background:rgba(250,251,252,.96);backdrop-filter:blur(6px);border-bottom:.5px solid #e2e8f0;box-shadow:inset 0 .5px 0 #eef1f4;font-size:12px;font-weight:600;letter-spacing:-.005em;margin:0}
#connect-root .cn-day span{font-size:11.5px;font-weight:400;color:#94a3b8}
#connect-root .cn-row{display:grid;grid-template-columns:66px 30px minmax(140px,1.25fr) minmax(170px,1.6fr) 48px;align-items:center;column-gap:16px;padding:11px 20px;min-height:58px;border-bottom:.5px solid #f1f5f9;background:#fff}
#connect-root .cn-call-icon{width:30px;height:30px;border-radius:50%;background:#f0fdfa;color:#0d9488;display:flex;align-items:center;justify-content:center;font-size:15px}
#connect-root .cn-result-missed .cn-call-icon{background:#fef2f2;color:#dc2626}
#connect-root .cn-result-failed .cn-call-icon{background:#fef6e7;color:#b45309}
#connect-root .cn-result-unanswered .cn-call-icon{background:#f1f5f9;color:#94a3b8}
#connect-root .cn-identity{min-width:0;font-variant-numeric:tabular-nums}
#connect-root .cn-identity strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#connect-root .cn-identity-withheld .cn-identity strong{color:#475569}
#connect-root .cn-identity small{display:block;font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#connect-root .cn-facts{min-width:0;font-size:13px;font-weight:500;min-height:36px;display:flex;flex-direction:column;justify-content:center}
#connect-root .cn-result-missed .cn-facts>span:first-child{color:#dc2626}
#connect-root .cn-result-failed .cn-facts>span:first-child{color:#92400e}
#connect-root .cn-result-unanswered .cn-facts>span:first-child{color:#64748b}
#connect-root .cn-signals{display:flex;align-items:center;gap:12px;margin-top:1px;flex-wrap:wrap;font-size:12px;font-weight:400;color:#475569}
#connect-root .cn-signals .cn-signal-users{color:#b45309}
#connect-root .cn-signals .cn-signal-phone-x{color:#64748b}
#connect-root .cn-signals>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
#connect-root .cn-line{display:none;font-size:12px;color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}
#connect-root .cn-show-lines .cn-row{grid-template-columns:66px 30px minmax(140px,1.25fr) minmax(170px,1.6fr) 124px 48px}
#connect-root .cn-show-lines.cn-released-lines .cn-row{grid-template-columns:66px 30px minmax(140px,1.25fr) minmax(170px,1.6fr) 176px 48px}
#connect-root .cn-show-lines .cn-line{display:inline-flex;align-items:center;gap:4px}
#connect-root .cn-line i,#connect-root .cn-line>span{color:#94a3b8}
#connect-root .cn-duration,#connect-root time{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}
#connect-root .cn-duration{color:#475569}
#connect-root time{color:#0f172a;white-space:nowrap}
#connect-root .cn-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:110px 24px;text-align:center}
#connect-root .cn-state>i{font-size:24px;color:#94a3b8}
#connect-root .cn-state strong{font-size:14px;font-weight:600;margin-top:4px}
#connect-root .cn-state button:not(.cn-text){margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;font-size:13px;font-weight:600}
#connect-root .cn-footer{padding:18px 20px 28px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:12.5px;color:#94a3b8;min-height:64px}
#connect-root .cn-arrivals{position:absolute;top:44px;left:50%;transform:translateX(-50%);z-index:20;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 13px;border:0;border-radius:999px;background:#0d9488;color:#fff;font-size:12.5px;font-weight:600;box-shadow:0 6px 18px rgba(13,148,136,.28)}
#connect-root .cn-back{position:absolute;right:18px;bottom:18px;z-index:20;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#0f172a;font-size:12.5px;font-weight:600;box-shadow:0 6px 18px rgba(15,23,42,.1)}
#connect-root .cn-skeleton{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:.5px solid #f1f5f9}
#connect-root .cn-skeleton span{height:11px;flex:1;background:#eef1f4;border-radius:5px;animation:cn-pulse 1.3s ease-in-out infinite}
#connect-root .cn-skeleton span:first-child{width:30px;height:30px;flex:none;border-radius:50%}
@keyframes cn-pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){#connect-root .cn-skeleton span{animation:none}}
@media(max-width:1000px){#connect-root .cn-row,#connect-root .cn-show-lines .cn-row,#connect-root .cn-show-lines.cn-released-lines .cn-row{column-gap:10px;padding-left:12px;padding-right:12px;grid-template-columns:66px 30px minmax(110px,1.25fr) minmax(145px,1.6fr) 42px}#connect-root .cn-show-lines .cn-line{display:none}}

/* Gate 3 shared-detail action; row geometry and content remain frozen. */
.cn-row[role="button"] { cursor: pointer; }
.cn-row[role="button"]:focus { outline: none; }
.cn-row[role="button"]:focus-visible,
.cn-row[role="button"][data-cn-focus="keyboard"]:focus { outline: 2px solid #0d9488; outline-offset: -2px; }
.cn-row[role="button"][data-cn-focus="pointer"]:focus { outline: none; }

#connect-root .cn-operational[hidden] { display:none; }
#connect-root .cn-operational article { display:grid;grid-template-columns:66px 30px minmax(140px,1.25fr) minmax(170px,1.6fr) 124px 48px;align-items:center;column-gap:16px;padding:11px 20px;min-height:58px;border-bottom:.5px solid #f1f5f9;background:#f0fdfa; }
#connect-root .cn-operational.cn-released-lines article { grid-template-columns:66px 30px minmax(140px,1.25fr) minmax(170px,1.6fr) 176px 48px; }
#connect-root .cn-operational .cn-line { display:inline-flex;align-items:center;gap:4px; }
#connect-root .cn-operational article>span:nth-child(4) { font-size:12px;color:#42604e; }
@media(max-width:1000px){#connect-root .cn-operational article,#connect-root .cn-operational.cn-released-lines article{column-gap:10px;padding-left:12px;padding-right:12px;grid-template-columns:66px 30px minmax(110px,1.25fr) minmax(145px,1.6fr) 42px}#connect-root .cn-operational .cn-line{display:none}}
#connect-root .cn-now{text-align:right;font-size:13px;font-weight:600;color:#0f766e;white-space:nowrap}

/* Designer typography parity — Connect only. */
#connect-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
#connect-root .cn-identity small,#connect-root .cn-line,#connect-root .cn-duration,#connect-root time{font-weight:400}

/* Founder historical row guidance — background only; drawer owns current Call. */
#connect-root .cn-row{transition:background .1s}
#connect-root .cn-row:hover:not(.is-open-call){background:#FAFBFC}
#connect-root .cn-row.is-open-call{background:#F0FDFA}

/* Gate 7: canonical unseen indicators; fixed tab slots/nav geometry stay unchanged. */
#connect-root .cn-attention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:#0d9488;border-radius:10px;font-size:11px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.ck-nav-item[data-view="connect"]{position:relative}
.cn-attention-dot{position:absolute;right:12px;top:50%;margin-top:-3.5px;width:7px;height:7px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 0 3px rgba(45,212,191,.16);pointer-events:none}
body.ck-collapsed .cn-attention-dot{right:5px;top:5px;margin-top:0}

/* A18 Recordings uses the same Time-first row and segmented control geometry. */
#connect-root .cn-rec-subfilter[hidden]{display:none}
#connect-root .cn-recording-row .cn-call-icon{background:#f1f5f9;color:#94a3b8}
#connect-root .cn-recording--available .cn-call-icon{background:#f0fdfa;color:#0d9488}
#connect-root .cn-recording--processing .cn-call-icon{color:#64748b}
#connect-root .cn-recording-star{color:#a16207}
#connect-root .cn-recording-expiry--warning{color:#b45309}
#connect-root .cn-recording-expiry--urgent{color:#b91c1c}
#connect-root .cn-rec-subfilter{display:inline-flex;align-items:center;height:32px;padding:2px;background:#f1f5f9;border-radius:8px;gap:2px}
#connect-root .cn-rec-subfilter button{height:28px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:12.5px;font-weight:500;white-space:nowrap}
#connect-root .cn-rec-subfilter button[aria-pressed=true]{background:#fff;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,.08)}

/* A19: the existing compact row grid, with Voicemail-owned state. */
#connect-root .cn-voicemail-row .cn-call-icon { background:#f1f5f9;color:#94a3b8; }
#connect-root .cn-voicemail-row.is-unheard .cn-call-icon { background:#0d9488;color:#fff; }
#connect-root .cn-voicemail-row .cn-facts > span:first-child { color:#64748b; }
#connect-root .cn-voicemail-row.is-unheard .cn-facts > span:first-child { color:#0f766e; }
