.tables-directory-page{padding-bottom:28px}.tables-directory-head{align-items:flex-end;margin-bottom:22px}.tables-directory-head h1{margin:0}.tables-directory-head p{margin:7px 0 0}
.campaign-directory-list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.campaign-directory-card{display:block;width:100%;padding:22px 26px;border:1px solid var(--line);border-radius:20px;background:var(--surface,#fff);color:var(--text,#20212a);text-align:left;box-shadow:0 8px 24px rgba(34,28,70,.035);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.campaign-directory-card:hover,.campaign-directory-card:focus-visible{border-color:var(--brand);box-shadow:0 12px 30px rgba(91,72,220,.11);transform:translateY(-1px);outline:none}
.campaign-directory-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:start;gap:18px}.campaign-directory-title{display:grid;gap:5px;min-width:0}.campaign-directory-title small{color:var(--muted);font-size:13px}.campaign-directory-title b{color:var(--text,#20212a);font-size:24px;line-height:1.2}.campaign-directory-status{display:inline-flex;align-items:center;gap:9px;margin-top:7px;padding:8px 12px;border-radius:999px;background:var(--surface-muted,#f1f1f5);color:var(--muted);font-size:14px;white-space:nowrap}.campaign-directory-status i{width:10px;height:10px;border-radius:50%;background:#999}.campaign-directory-status.active{background:#e8f8ef;color:#207a45}.campaign-directory-status.active i{background:#22a35a}.campaign-directory-status.paused,.campaign-directory-status.draft{background:#fff6df;color:#936a14}.campaign-directory-status.paused i,.campaign-directory-status.draft i{background:#dfa933}.campaign-directory-arrow{align-self:center;color:var(--brand);font-size:30px}
.campaign-directory-card-meta{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(220px,.95fr);align-items:center;gap:32px;margin-top:22px}.campaign-directory-team{display:flex;align-items:center;gap:16px;min-width:0}.campaign-directory-avatars{display:flex;align-items:center;padding-left:2px}.campaign-directory-avatars>span{display:grid;place-items:center;width:42px;height:42px;margin-left:-7px;overflow:hidden;border:2px solid var(--surface,#fff);border-radius:50%;background:var(--brand-soft);color:var(--brand)}.campaign-directory-avatars>span:first-child{margin-left:0}.campaign-directory-avatars .avatar,.campaign-directory-avatars .avatar-photo{width:100%;height:100%;flex:0 0 100%;border-radius:50%;font-size:14px}.campaign-directory-avatars .avatar-photo{object-fit:cover}.campaign-directory-extra,.campaign-directory-empty-avatar{font-size:14px}.campaign-directory-team-copy{display:grid;gap:4px;min-width:0}.campaign-directory-team-copy b{font-size:16px}.campaign-directory-team-copy small{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.campaign-directory-divider{width:1px;height:56px;background:var(--line)}.campaign-directory-contacts{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:18px}.campaign-detail-breadcrumb{display:flex;align-items:center;gap:11px;margin:0 0 13px;color:var(--muted);font-size:14px}.campaign-detail-breadcrumb button{padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer}.campaign-detail-breadcrumb span:last-child{color:var(--text,#20212a);font-weight:600}.campaign-detail-page .campaign-header{border:1px solid var(--line);border-radius:18px 18px 0 0;background:var(--surface,#fff);padding:18px 22px}.campaign-detail-page .campaign-tabs{margin-top:0}.campaign-detail-page .campaign-content{padding-top:20px}
@media(max-width:700px){.tables-directory-head{align-items:stretch;flex-direction:column}.tables-directory-head>.primary{width:100%}.campaign-directory-list{gap:12px}.campaign-directory-card{padding:17px}.campaign-directory-card-head{grid-template-columns:minmax(0,1fr) auto;gap:8px}.campaign-directory-title b{font-size:20px}.campaign-directory-status{grid-column:1;grid-row:2;justify-self:start;margin-top:0;font-size:12px}.campaign-directory-arrow{grid-column:2;grid-row:1/3}.campaign-directory-card-meta{grid-template-columns:1fr;gap:14px;margin-top:18px}.campaign-directory-divider{width:100%;height:1px}.campaign-directory-contacts{font-size:15px}.campaign-directory-avatars>span{width:36px;height:36px}.campaign-detail-page .campaign-header{align-items:flex-start;flex-direction:column;gap:12px;padding:15px}.campaign-detail-page .campaign-header .actions{width:100%;flex-wrap:wrap}}


.campaign-detail-page .campaign-header h2::before{content:"База: "}

/* Tables workspace: compact selector on the left, selected table stays open on the right. */
.tables-workspace-page{min-width:0}.tables-workspace-page .tables-directory-head{align-items:center}
.campaign-layout.tables-workspace-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:20px;align-items:start;min-width:0}
.tables-sidebar{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff);padding:14px;box-shadow:0 8px 24px rgba(34,28,70,.035)}
.tables-sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin:1px 2px 12px;color:var(--muted);font-size:14px;font-weight:650}
.tables-sidebar-heading span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:var(--brand-soft,#f0edff);color:var(--brand)}
.tables-sidebar .campaign-directory-list{display:flex;flex-direction:column;gap:8px}
.tables-sidebar .campaign-directory-card{padding:12px;border-radius:13px;box-shadow:none;transform:none}
.tables-sidebar .campaign-directory-card:hover,.tables-sidebar .campaign-directory-card:focus-visible{transform:none;box-shadow:0 4px 14px rgba(91,72,220,.09)}
.tables-sidebar .campaign-directory-card.is-selected{border-color:var(--brand);background:var(--brand-soft,#f7f5ff);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 14%,transparent)}
.tables-sidebar .campaign-directory-card-head{grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:7px}
.tables-sidebar .campaign-directory-title{gap:5px}
.tables-sidebar .campaign-directory-title b{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.tables-sidebar .campaign-directory-arrow{grid-column:2;grid-row:1/3;font-size:24px;line-height:1}
.campaign-sidebar-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.campaign-sidebar-status i{width:7px;height:7px;border-radius:50%;background:#999}
.campaign-sidebar-status.active{color:#207a45}.campaign-sidebar-status.active i{background:#22a35a}
.campaign-sidebar-status.paused,.campaign-sidebar-status.draft{color:#936a14}.campaign-sidebar-status.paused i,.campaign-sidebar-status.draft i{background:#dfa933}
.tables-sidebar .campaign-directory-card-meta{grid-template-columns:minmax(0,1fr);gap:9px;margin-top:11px}
.tables-sidebar .campaign-directory-team{gap:9px}
.tables-sidebar .campaign-directory-avatars>span{width:27px;height:27px;margin-left:-6px}
.tables-sidebar .campaign-directory-avatars .avatar,.tables-sidebar .campaign-directory-avatars .avatar-photo{font-size:10px}
.tables-sidebar .campaign-directory-team-copy{gap:2px}
.tables-sidebar .campaign-directory-team-copy b{font-size:12px}
.tables-sidebar .campaign-directory-team-copy small{font-size:11px}
.tables-sidebar .campaign-directory-empty-avatar,.tables-sidebar .campaign-directory-extra{font-size:11px}
.tables-sidebar .campaign-directory-contacts{gap:6px;font-size:12px}
.tables-main{min-width:0}
.tables-workspace-page .campaign-header{border:1px solid var(--line);border-radius:16px 16px 0 0;background:var(--surface,#fff);padding:18px 20px}
.tables-workspace-page .campaign-header h2::before{content:"База: "}
.tables-workspace-page .campaign-tabs{margin-top:0;max-width:100%;overflow-x:auto}
.tables-workspace-page .campaign-content{padding-top:20px}
.tables-workspace-page .campaign-detail-breadcrumb{margin:0 0 11px}
@media(max-width:900px){.campaign-layout.tables-workspace-layout{grid-template-columns:minmax(190px,28vw) minmax(0,1fr);gap:12px}.tables-sidebar{padding:10px}.tables-workspace-page .campaign-header{padding:15px}.tables-workspace-page .campaign-header .actions{gap:7px;flex-wrap:wrap}}
@media(max-width:620px){.campaign-layout.tables-workspace-layout{grid-template-columns:minmax(142px,34%) minmax(0,1fr);gap:8px}.tables-sidebar{padding:7px;border-radius:13px}.tables-sidebar-heading{font-size:12px}.tables-sidebar .campaign-directory-card{padding:9px 7px}.tables-sidebar .campaign-directory-title b{font-size:13px}.tables-sidebar .campaign-directory-team{gap:5px}.tables-sidebar .campaign-directory-avatars>span{width:22px;height:22px}.tables-sidebar .campaign-directory-team-copy b{font-size:10px}.tables-sidebar .campaign-directory-team-copy small{white-space:normal;line-height:1.25}.tables-sidebar .campaign-directory-contacts{font-size:10px}.tables-workspace-page .campaign-header{align-items:flex-start;flex-direction:column;gap:10px;padding:11px}.tables-workspace-page .campaign-header .actions{width:100%;flex-wrap:wrap}.tables-workspace-page .campaign-header h2{font-size:20px}}

/* Compact table selector and employee status overview inside each selected database. */
.campaign-layout.tables-workspace-layout{grid-template-columns:minmax(148px,174px) minmax(0,1fr);gap:16px}
.tables-sidebar{padding:10px}.tables-sidebar .campaign-directory-card{padding:10px 8px}
.tables-sidebar .campaign-directory-title b{font-size:14px}
.tables-sidebar .campaign-directory-card-meta{gap:7px;margin-top:8px}
.tables-sidebar .campaign-directory-team{gap:6px}.tables-sidebar .campaign-directory-avatars>span{width:23px;height:23px;margin-left:-5px}
.tables-sidebar .campaign-directory-team-copy b{font-size:11px}.tables-sidebar .campaign-directory-team-copy small{font-size:10px}
.tables-sidebar .campaign-directory-contacts{font-size:11px}
.campaign-roster{min-width:0}.roster-loading,.campaign-roster-error{display:grid;gap:7px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);color:var(--text,#20212a)}.roster-loading .muted{font-size:13px}.campaign-roster-error{color:var(--danger,#b42332)}
.campaign-roster-panel{display:grid;gap:16px;min-width:0}
.campaign-roster-toolbar{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(260px,1.6fr);gap:12px;align-items:center}
.campaign-roster-filters{display:flex;gap:3px;min-width:0;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff)}
.campaign-roster-filters button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;flex:1;padding:10px 9px;border:0;border-radius:9px;background:transparent;color:var(--text,#20212a);font:inherit;white-space:nowrap;cursor:pointer}
.campaign-roster-filters button b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--brand-soft,#f1edff);font-size:12px}
.campaign-roster-filters button.is-active{background:var(--brand);color:#fff}.campaign-roster-filters button.is-active b{background:rgba(255,255,255,.2);color:#fff}
.campaign-roster-search{display:flex;align-items:center;gap:11px;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface,#fff);color:var(--muted)}
.campaign-roster-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text,#20212a);font:inherit}
.campaign-roster-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.campaign-roster-metric{display:flex;align-items:center;gap:13px;min-width:0;min-height:94px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);box-shadow:0 5px 18px rgba(34,28,70,.025)}
.roster-metric-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--brand-soft,#f1edff);color:var(--brand)}
.campaign-roster-metric>div{display:grid;gap:2px;min-width:0}.campaign-roster-metric small{color:var(--muted);font-size:12px}.campaign-roster-metric b{font-size:23px;line-height:1.1}.campaign-roster-metric>div>span{color:var(--muted);font-size:11px}
.roster-metric-active .roster-metric-icon{background:#e7f8ef;color:#159653}.roster-metric-active>div>i,.roster-metric-inactive>div>i{display:block;width:100%;height:5px;margin-top:5px;overflow:hidden;border-radius:9px;background:#ececf3}.roster-metric-active>div>i em{display:block;height:100%;border-radius:inherit;background:#18a45a}
.roster-metric-inactive .roster-metric-icon{background:#f0f0f4;color:#77778a}.roster-metric-inactive>div>i em{display:block;height:100%;border-radius:inherit;background:#9999ad}
.roster-metric-contacts .roster-metric-icon{background:var(--brand-soft,#f1edff)}
.campaign-roster-table-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff)}
.campaign-roster-table-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 17px;border-bottom:1px solid var(--line)}
.campaign-roster-table-heading h3{margin:0;font-size:17px}.campaign-roster-table-heading h3 span,.campaign-roster-table-heading small{color:var(--muted)}
.campaign-roster-table-scroll{overflow-x:auto}.campaign-roster-table{min-width:900px}
.campaign-roster-row{display:grid;grid-template-columns:minmax(160px,1.45fr) minmax(125px,1.1fr) minmax(120px,1fr) minmax(138px,1.1fr) minmax(75px,.65fr) minmax(152px,1.15fr) minmax(90px,.75fr);align-items:center;gap:10px;min-height:48px;padding:6px 15px;border-bottom:1px solid var(--line);color:var(--text,#25233a);font-size:13px}
.campaign-roster-row:last-child{border-bottom:0}.campaign-roster-row[hidden]{display:none}
.campaign-roster-head{min-height:37px;background:var(--brand-soft,#f3f0ff);color:var(--muted);font-size:11px;font-weight:650}
.campaign-roster-identity{display:flex;align-items:center;gap:10px;min-width:0}.campaign-roster-identity .avatar,.campaign-roster-identity .avatar-photo{width:32px;height:32px;flex:0 0 32px;border-radius:50%;font-size:12px}.campaign-roster-identity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.campaign-roster-status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;background:#edf8f1;color:#226f42;font-style:normal;font-size:11px;white-space:nowrap}
.campaign-roster-status>i{width:7px;height:7px;border-radius:50%;background:#19a45a}
.campaign-roster-status.disabled{background:#f0f0f4;color:#77778a}.campaign-roster-status.disabled>i{background:#88889a}
.campaign-roster-status.enabled{background:#e6f7ed;color:#1f7847}
.campaign-roster-contacts{font-weight:600}.campaign-roster-row time{color:var(--muted);font-size:12px;white-space:nowrap}
.campaign-roster-open{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--brand);font:inherit;white-space:nowrap;cursor:pointer}
.campaign-roster-open span{padding-left:3px}.campaign-roster-empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1000px){.campaign-roster-toolbar{grid-template-columns:1fr}.campaign-roster-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.campaign-layout.tables-workspace-layout{grid-template-columns:minmax(132px,25vw) minmax(0,1fr);gap:10px}.tables-sidebar{padding:7px}.campaign-roster-metric{gap:8px;padding:10px}.roster-metric-icon{flex-basis:38px;width:38px;height:38px}.campaign-roster-metric b{font-size:19px}}
@media(max-width:560px){.campaign-layout.tables-workspace-layout{grid-template-columns:minmax(120px,32vw) minmax(0,1fr);gap:7px}.tables-sidebar .campaign-directory-card{padding:8px 6px}.tables-sidebar .campaign-directory-title b{font-size:12px}.campaign-roster-filters button{gap:4px;padding:8px 4px;font-size:11px}.campaign-roster-filters button b{min-width:18px;height:18px;font-size:10px}.campaign-roster-metrics{grid-template-columns:1fr 1fr;gap:7px}.campaign-roster-metric{min-height:76px;padding:8px}.roster-metric-icon{flex-basis:30px;width:30px;height:30px}.campaign-roster-table-heading{align-items:flex-start;flex-direction:column}}

.campaign-roster-table-heading>div{display:grid;gap:3px}.campaign-roster-add{flex:0 0 auto;padding:8px 13px;font-size:13px}
