/* Additions to the Codex design for the API-backed workspace. */
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--ink)}
th.sortable[aria-sort=ascending]::after{content:" ▲";font-size:8px}
th.sortable[aria-sort=descending]::after{content:" ▼";font-size:8px}
.filters label.check{display:flex;align-items:center;gap:6px;font-size:10px;color:#738097}
.pager{display:flex;gap:8px;align-items:center}
.pager .btn{padding:6px 10px;font-size:10px}
.badge{display:inline-flex;font-size:9px;padding:3px 6px;border-radius:4px;font-weight:600;letter-spacing:.2px}
.badge.verified{background:#eaf6f0;color:#348265}
.badge.unverified{background:#fff4dd;color:#9f792a}
.badge.status-new{background:#eff2f8;color:#7483a2}
.badge.status-in_progress{background:#edf2fb;color:#5479b8}
.badge.status-done{background:#eaf6f0;color:#348265}
.verif{font-size:10px;color:#9aa4b4}
dialog.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;max-width:620px;width:100%;border-radius:0}
dialog.drawer .drawer-body{padding:20px 27px;overflow:auto}
.fact{display:grid;grid-template-columns:130px 1fr;gap:4px 14px;padding:12px 0;border-bottom:1px solid #f0f2f6;font-size:12px}
.fact dt{color:#8b94a5;font-size:11px}
.fact dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.fact .src{grid-column:2;font-size:10px;color:#8b94a5;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fact .src a{color:#5975bd}
.section-title{font-size:13px;font-weight:650;margin:22px 0 6px}
.section-title:first-child{margin-top:0}
.form-panel{padding:22px 23px}
.form-panel .form-grid{padding:0}
.checks{display:flex;flex-wrap:wrap;gap:8px 16px}
.checks label{display:flex;align-items:center;gap:6px;font-size:12px;color:#43506a;font-weight:500}
.report-list{font-size:11px;line-height:1.7;color:#718097;margin:6px 0 0;padding-left:18px}
.counts{display:flex;gap:12px;margin:12px 0}
.counts div{background:#f8f9fb;border:1px solid var(--line);border-radius:8px;padding:12px 16px;min-width:110px}
.counts strong{display:block;font-size:22px}
.counts small{color:#8b94a5;font-size:10px}
.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--navy)}
.login-card{background:white;border-radius:13px;width:min(420px,calc(100% - 28px));box-shadow:0 25px 100px #0005}
.login-card form{display:flex;flex-direction:column;gap:16px;padding:24px 27px}
.form-error{color:#9b4141;font-size:12px;min-height:16px}
.login-body{display:flex;flex-direction:column;gap:14px;padding:24px 27px 4px}
.google-btn{justify-content:center;text-align:center;text-decoration:none}
.login-note{font-size:11px;color:#8b94a5;margin:0}
.login-card form{border-top:1px solid var(--line)}
.login-links{font-size:11px;color:#8b94a5;padding:0 27px 20px;margin:0}
.muted{color:#9aa4b5}
.hidden{display:none!important}
/* columns menu + filter builder */
.columns-menu{border:1px solid var(--line);border-radius:10px;background:#fff;margin:0 23px 12px;padding:12px 16px;max-height:420px;overflow:auto}
.columns-head{display:flex;gap:12px;align-items:center;font-size:12px}
.columns-head span{color:#8b94a5;font-size:11px;margin-right:auto}
.columns-head .btn{padding:6px 10px;font-size:10px}
.columns-list ul{list-style:none;margin:0;padding:0;columns:3 220px}
.columns-list li{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0;break-inside:avoid}
.columns-list li small{color:#9aa4b5;font-size:9px;margin-left:4px}
.mini{border:1px solid var(--line);background:#fff;border-radius:4px;font-size:10px;padding:2px 6px;margin-left:3px}
.filter-builder{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 23px 12px;font-size:11px}
.filter-builder select,.filter-builder input{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:11px;background:#fff}
.filter-builder .btn{padding:6px 10px;font-size:10px}
.fb-label{color:#8b94a5;font-weight:600;letter-spacing:.5px}
.filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:4px;background:#eff2f8;color:#43506a;border-radius:12px;padding:4px 4px 4px 10px;font-size:11px}
.chip button{border:0;background:none;font-size:13px;line-height:1;padding:0 4px;color:#7483a2}
.table-footer select{border:1px solid var(--line);border-radius:6px;padding:5px;font-size:10px}
/* drawer tabs + history */
.drawer-tabs{display:flex;gap:4px;padding:0 27px;border-bottom:1px solid var(--line)}
.drawer-tab{border:0;background:none;padding:10px 12px;font-size:12px;color:#738097;border-bottom:2px solid transparent}
.drawer-tab.active{color:var(--ink);border-bottom-color:var(--gold);font-weight:600}
.history{list-style:none;margin:6px 0 0;padding:0}
.history li{border-bottom:1px solid #f0f2f6;padding:10px 0;font-size:12px}
.history li p{margin:6px 0 0;white-space:pre-wrap;color:#43506a}
.history .by{color:#5975bd;font-weight:600}
.row-actions{margin-top:6px}
.fact.note dd{color:#43506a}
.badge.call-called,.badge.call-spoke-interested,.badge.call-meeting-set{background:#eaf6f0;color:#348265}
.badge.call-do-not-call,.badge.call-spoke-not-interested,.badge.call-wrong-number{background:#fbeaea;color:#9b4141}
.badge.call-not-called{background:#eff2f8;color:#7483a2}
.badge.call-no-answer,.badge.call-left-voicemail,.badge.call-call-back-later,.badge.call-other{background:#fff4dd;color:#9f792a}
.badge.person-active{background:#eaf6f0;color:#348265}
.badge.person-pending{background:#fff4dd;color:#9f792a}
.badge.person-disabled,.badge.person-revoked{background:#fbeaea;color:#9b4141}
td.who{color:#5975bd;font-weight:600}
#invite-form input,#invite-form select{border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:260px}
#invite-form select{min-width:0}
.footer a{color:inherit}
/* public pages */
body.public{background:#fff}
.public-head{display:flex;justify-content:space-between;align-items:center;padding:22px 42px;border-bottom:1px solid var(--line)}
.public-brand{font-size:20px;font-weight:700;text-decoration:none;letter-spacing:-.5px}
.public-brand span{color:var(--gold)}
.public-head nav{display:flex;gap:18px;align-items:center;font-size:13px}
.public-head nav a:not(.btn){color:#586277;text-decoration:none}
.public-main{max-width:720px;margin:48px auto;padding:0 24px;line-height:1.65;font-size:15px}
.public-main h1{font-size:30px;letter-spacing:-.5px}
.public-main h2{font-size:17px;margin-top:30px}
.public-main a:not(.btn){color:#5975bd}
.public-foot{max-width:720px;margin:0 auto 40px;padding:20px 24px;border-top:1px solid var(--line);font-size:12px;color:#8b94a5}
.public-foot a{color:#5975bd}
