.dentist-crm-head{margin:0 0 14px}.dentist-crm-head h1{margin:8px 0 6px}.dentist-crm-head p{color:var(--muted);margin:0}.back-link{border:0;background:transparent;color:var(--accent);padding:10px 0;font-weight:700;min-height:44px}
.dentist-crm-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;margin:12px 0;box-shadow:0 8px 24px rgba(22,46,58,.05)}.dentist-crm-card h2{margin:0 0 4px}.dentist-specialty-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.dentist-specialty-grid label{display:block}.dentist-specialty-grid input{position:absolute;opacity:0}.dentist-specialty-grid span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;border:1px solid var(--line);border-radius:13px;padding:8px;font-size:13px;font-weight:700;background:var(--bg)}.dentist-specialty-grid input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(9,168,166,.22)}
.consent-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.consent-row span{min-width:0}.consent-row b,.consent-row small{display:block}.consent-row small{color:var(--muted);margin-top:3px}.consent-row input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--accent)}.consent-note{display:block;color:var(--muted);margin-top:12px;line-height:1.45}
.dentist-admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.dentist-admin-kpis article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.dentist-admin-kpis small,.dentist-admin-kpis b{display:block}.dentist-admin-kpis small{color:var(--muted);font-size:11px}.dentist-admin-kpis b{font-size:22px;margin-top:5px}.dentist-admin-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin:12px 0}.dentist-admin-filters label{font-size:12px;color:var(--muted)}.dentist-admin-filters input,.dentist-admin-filters select{margin-top:5px}
.dentist-admin-list{display:grid;gap:10px}.dentist-admin-list>article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}.dentist-admin-person{display:flex;gap:10px;align-items:center}.dentist-admin-person>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:800}.dentist-admin-person b,.dentist-admin-person small{display:block}.dentist-admin-person small{color:var(--muted)}.dentist-admin-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.dentist-admin-tags em{font-style:normal;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.dentist-admin-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.dentist-admin-meta b{color:var(--text)}.dentist-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.dentist-directory{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:14px}.dentist-directory summary{cursor:pointer;font-weight:800;min-height:44px}.dentist-directory label{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.dentist-directory label b,.dentist-directory label small{display:block}.dentist-directory label small{color:var(--muted)}.dentist-directory form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:14px}
@media(max-width:680px){.dentist-admin-kpis{grid-template-columns:1fr 1fr}.dentist-admin-filters{grid-template-columns:1fr 1fr}.dentist-directory form{grid-template-columns:1fr}.dentist-specialty-grid{grid-template-columns:1fr 1fr}}@media(max-width:380px){.dentist-admin-filters{grid-template-columns:1fr}.dentist-specialty-grid{grid-template-columns:1fr}}
.dentist-crm-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:4px;margin:0 0 14px}.dentist-crm-tabs button{min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800}.dentist-crm-tabs button.on{background:var(--accent);color:#fff;box-shadow:0 5px 14px rgba(9,168,166,.2)}
.dentist-crm-tabs.three{grid-template-columns:repeat(3,1fr)}
.dentist-crm-tabs.single{grid-template-columns:1fr}
.segment-builder{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}.segment-builder-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.segment-builder-head h3,.segment-builder-head p{margin:0}.segment-builder-head p{color:var(--muted);margin-top:4px}.segment-builder>label{display:block;margin-top:12px}.segment-builder fieldset{border:1px solid var(--line);border-radius:14px;padding:12px;margin:12px 0}.segment-builder legend{padding:0 6px;font-size:12px;font-weight:800;color:var(--muted)}.segment-chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.segment-builder fieldset label{display:flex;align-items:center;gap:8px;min-height:40px;font-size:12px}.segment-builder fieldset input{width:19px;height:19px;accent-color:var(--accent)}.segment-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.segment-number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.segment-number-grid label{font-size:12px;color:var(--muted)}.segment-number-grid input{margin-top:5px}.segment-preview{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:12px;margin-top:14px}.segment-preview>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--line);color:var(--muted);font-weight:900}.segment-preview.ready{border-style:solid;border-color:var(--accent)}.segment-preview.ready>span{background:var(--accent);color:#fff}.segment-preview b,.segment-preview small{display:block}.segment-preview small{color:var(--muted);margin-top:2px}.segment-builder-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.segment-list{display:grid;gap:10px}.segment-list>article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}.segment-list>article>div:first-child{display:flex;gap:12px}.segment-count{display:grid;place-items:center;flex:0 0 50px;height:50px;background:var(--accent-soft);color:var(--accent);border-radius:15px;font-size:20px;font-weight:900}.segment-list b,.segment-list small{display:block}.segment-list p{margin:3px 0;color:var(--muted)}.segment-list small{color:var(--muted)}.segment-summary{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.segment-summary em{font-style:normal;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:11px}.segment-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px}
@media(max-width:680px){.segment-chip-grid{grid-template-columns:1fr 1fr}.segment-rule-grid{grid-template-columns:1fr}.segment-number-grid{grid-template-columns:1fr 1fr}}@media(max-width:380px){.segment-chip-grid,.segment-number-grid,.segment-builder-actions{grid-template-columns:1fr}.segment-actions{justify-content:stretch}.segment-actions button{flex:1}}
.campaign-builder,.campaign-list>article,.campaign-no-segments{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}.campaign-builder-head,.campaign-card-head,.campaign-no-segments{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.campaign-builder-head h3,.campaign-builder-head p{margin:0}.campaign-builder-head p,.campaign-card-head small,.campaign-list>article>p,.campaign-no-segments p{color:var(--muted)}.campaign-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.campaign-builder>label{display:block}.campaign-safety{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:14px;background:var(--accent-soft);color:var(--text)}.campaign-safety>span{font-size:24px}.campaign-safety b,.campaign-safety small{display:block}.campaign-safety small{color:var(--muted);margin-top:2px}.campaign-actions{display:flex;justify-content:flex-end;margin-top:12px}.campaign-list{display:grid;gap:10px}.campaign-list>article{margin:0}.campaign-card-head{align-items:center}.campaign-card-head>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:var(--accent-soft);color:var(--accent);font-weight:900}.campaign-card-head>div{min-width:0;flex:1}.campaign-card-head b,.campaign-card-head small{display:block}.campaign-card-head>em{font-style:normal;border-radius:999px;padding:6px 9px;background:var(--bg);color:var(--muted);font-size:11px;font-weight:800}.campaign-list>article.sent .campaign-card-head>em{background:rgba(48,177,105,.13);color:#239255}.campaign-list>article h3{margin:12px 0 4px}.campaign-list>article>p{margin:0;white-space:pre-line}.campaign-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.campaign-metrics span{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.campaign-metrics b,.campaign-metrics small{display:block}.campaign-metrics small{color:var(--muted)}.campaign-card-actions{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid var(--line);padding-top:11px}.campaign-no-segments{align-items:center}.campaign-no-segments>span{font-size:30px}.campaign-no-segments>div{flex:1}.campaign-no-segments h3,.campaign-no-segments p{margin:0}.campaign-no-segments p{margin-top:4px}
@media(max-width:560px){.campaign-grid{grid-template-columns:1fr}.campaign-builder,.campaign-list>article{padding:14px}.campaign-card-actions .btn{flex:1 1 calc(50% - 7px)}.campaign-no-segments{flex-wrap:wrap}.campaign-no-segments .btn{width:100%}}
.telegram-campaign-status{display:flex;align-items:center;gap:11px;padding:13px;margin:10px 0;border:1px solid var(--line);border-radius:16px;background:var(--card)}.telegram-campaign-status>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:900}.telegram-campaign-status.off>span{background:rgba(216,83,74,.12);color:var(--bad)}.telegram-campaign-status>div{min-width:0;flex:1}.telegram-campaign-status b,.telegram-campaign-status small{display:block}.telegram-campaign-status small{color:var(--muted);margin-top:2px}.telegram-campaign-status details{position:relative}.telegram-campaign-status summary{cursor:pointer;color:var(--accent);font-weight:800;min-height:40px;display:flex;align-items:center}.telegram-campaign-status details[open]{min-width:260px}.telegram-campaign-status details label{display:block;margin:8px 0;font-size:12px}.telegram-campaign-status details input[type="number"]{margin-top:4px}.campaign-list>article.queued .campaign-card-head>em,.campaign-list>article.sending .campaign-card-head>em{background:rgba(240,171,42,.14);color:#b97800}.campaign-list>article.partial .campaign-card-head>em,.campaign-list>article.failed .campaign-card-head>em{background:rgba(216,83,74,.12);color:var(--bad)}
@media(max-width:560px){.telegram-campaign-status{align-items:flex-start;flex-wrap:wrap}.telegram-campaign-status details{width:100%}.telegram-campaign-status details[open]{min-width:0}.dentist-crm-tabs.three button{font-size:11px;padding:4px}}
.campaign-builder .field-error{border-color:#d94b5b!important;box-shadow:0 0 0 3px rgba(217,75,91,.14)!important}
.service-message-list{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.service-message-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.service-message-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);font-size:20px}.service-message-title b,.service-message-title small{display:block}.service-message-title small{color:var(--muted);margin-top:2px}
.service-message-card{padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.service-message-card.unread{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.service-message-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.service-message-card time{color:var(--muted);font-size:11px;white-space:nowrap}.service-message-card p{margin:7px 0 0;line-height:1.45;overflow-wrap:anywhere}
.admin-consent-control{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.admin-consent-control summary{cursor:pointer;color:var(--accent);font-weight:800;min-height:40px;display:flex;align-items:center}.admin-consent-control>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-consent-control label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-radius:11px;background:var(--bg);font-size:12px}.admin-consent-control input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent)}.admin-consent-control>small{display:block;color:var(--muted);margin-top:8px}@media(max-width:480px){.admin-consent-control>div{grid-template-columns:1fr}}
