/* Clinic template adaptations for the live university clinic application. */
:root{--clinic-blue:#175cdd;--clinic-navy:#112344;--clinic-ink:#3c4049;--clinic-soft:#f4f8ff;--clinic-line:#e4eaf4}
body{overflow-x:hidden}.header .topbar{height:38px}.header .topbar span,.header .topbar a{font-size:13px;color:#e2eaf0}.header .topbar a:hover{color:#fff}.header .logo{gap:10px}.header .logo .brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--accent-color);color:#fff;border-radius:11px;font-size:25px}.header .logo .brand-name{font-family:var(--heading-font);color:var(--heading-color);font-weight:700;font-size:18px;line-height:1.1;letter-spacing:-.03em}.navmenu>ul>li{padding-left:10px!important;padding-right:10px!important}.navmenu .dropdown ul li{min-width:320px}.navmenu .dropdown ul a{white-space:normal;line-height:1.4}.navmenu .dropdown-trigger{cursor:pointer}.hero{min-height:760px;padding-top:160px;padding-bottom:80px}.hero .hero-content h1{font-size:clamp(40px,4vw,58px)}.hero .hero-content .hero-description{font-size:17px}.hero .hero-visual .main-image img{max-height:590px;object-fit:cover}.hero .hero-content .hero-actions .btn{white-space:normal}.hero .hero-visual .rating-card i{color:var(--accent-color)}.hero .hero-content .emergency-contact a{color:var(--heading-color)}.hero .hero-content .emergency-contact a:hover{color:var(--accent-color)}.home-about .about-visual .main-image img{object-fit:cover}.section-eyebrow,.admin-kicker{color:var(--accent-color);font-size:12px;font-weight:800;letter-spacing:.14em}.home-about .about-content .section-heading{margin-top:12px}.home-about .about-content .cta-section .btn-primary{display:inline-flex;align-items:center}.care-card{position:relative;background:#fff;border:1px solid var(--clinic-line);box-shadow:0 12px 36px rgba(17,35,68,.05);border-radius:18px;padding:32px;min-height:225px;height:100%}.care-card>i{display:grid;place-items:center;width:58px;height:58px;color:var(--accent-color);background:#e9f1ff;border-radius:15px;font-size:27px;margin-bottom:23px}.care-number{position:absolute;right:28px;top:30px;color:#c9d8f1;font-weight:800}.care-card h3{font-size:18px;font-weight:700}.care-card p{font-size:14px;color:#667181;margin:0}.doctors-section .section-title,.care-section .section-title,.documents-section .section-title{text-align:center;margin-bottom:40px}.doctors-section .section-title h2,.care-section .section-title h2,.documents-section .section-title h2{font-size:34px;font-weight:700}.doctors-section .section-title p,.care-section .section-title p,.documents-section .section-title p{color:#667181}.clinic-doctor-card{background:#fff;border:1px solid var(--clinic-line);border-radius:18px;box-shadow:0 12px 35px rgba(17,35,68,.06);padding:27px;height:100%;display:flex;flex-direction:column;transition:.25s}.clinic-doctor-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(17,35,68,.11)}.clinic-doctor-avatar{display:grid;place-items:center;width:75px;height:75px;border-radius:18px;background:#e7f0ff;color:var(--accent-color);font-family:var(--heading-font);font-size:24px;font-weight:700;margin-bottom:22px}.clinic-doctor-card h3{font-size:19px;font-weight:700;margin:0 0 6px}.clinic-doctor-spec{color:var(--accent-color);font-weight:700;font-size:13px}.clinic-doctor-description{color:#667181;font-size:14px;flex:1;margin:15px 0 20px}.clinic-doctor-card button{background:var(--accent-color);border:0;border-radius:10px;color:white;padding:12px 18px;font-weight:700;align-self:flex-start}.clinic-doctor-card button:hover{background:#124bb3}.clinic-empty{border:1px dashed #bed0ec;background:#f8fbff;padding:38px;text-align:center;color:#667181;border-radius:16px}.clinic-empty i{font-size:38px;color:var(--accent-color)}.clinic-empty p{margin:12px 0 0}.appointmnet{background:#f4f8ff}.appointmnet .booking-wrapper{box-shadow:0 16px 50px rgba(17,35,68,.08)}.appointmnet .booking-header h2{font-size:34px}.appointmnet .appointment-form .form-label{font-size:13px;font-weight:700;color:var(--heading-color);margin-bottom:7px}.appointmnet .appointment-form .form-control,.appointmnet .appointment-form .form-select{padding:13px 15px;border:1px solid #dce4ef;border-radius:9px;min-height:50px}.appointmnet .appointment-form .form-control:focus,.appointmnet .appointment-form .form-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(23,92,221,.1)}.booking-note{color:#708092;font-size:12px;margin:0 0 15px}.appointmnet .appointment-form .btn-book{background:var(--accent-color);border:0;border-radius:9px;color:#fff;font-weight:700;padding:14px 24px}.appointmnet .appointment-form .btn-book:hover{background:#124bb3}.form-message{min-height:0;margin-top:12px;font-size:13px}.form-message.error{color:#b42335}.form-message.success{color:#16734a;background:#e9f8ef;border-radius:8px;padding:12px 15px}.footer-16 .footer-main{padding:60px 0 35px}.footer-16 .footer-bottom{padding:24px 0}.footer-16 .brand-section .brand-description{max-width:380px}.footer-16 .legal-links{justify-content:flex-end}.page-title .heading{padding:65px 0 55px}.page-title .heading h1{font-weight:700;font-size:clamp(34px,4vw,48px)}.page-title nav{padding:15px 0}.documents-section{min-height:45vh}.document-list{display:grid;gap:12px;max-width:1000px;margin:auto}.document-item{display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--clinic-line);border-radius:14px;background:#fff;color:var(--heading-color);box-shadow:0 8px 27px rgba(17,35,68,.04);transition:.2s}.document-item:hover{border-color:#b2cbf3;transform:translateY(-2px)}.document-icon{width:54px;height:54px;flex:none;display:grid;place-items:center;border-radius:12px;color:var(--accent-color);background:#e9f1ff;font-size:24px}.document-info{display:block;flex:1;min-width:0}.document-info strong,.document-info b{display:block;font-size:15px;line-height:1.35}.document-info small{display:block;color:#697588;font-size:12px;overflow-wrap:anywhere;margin-top:4px}.document-download{white-space:nowrap;font-size:13px;font-weight:700;color:var(--accent-color)}
.registrar-section{background:#f7f9fd}.auth-card{max-width:470px;margin:0 auto}.admin-card{background:#fff;border:1px solid var(--clinic-line);border-radius:17px;padding:28px;box-shadow:0 12px 38px rgba(17,35,68,.05)}.admin-card h2{font-size:25px;font-weight:700;margin:9px 0 8px}.admin-card h3{font-size:20px;font-weight:700;margin:2px 0 0}.admin-card p{color:#697588}.admin-card-head{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--clinic-line);padding-bottom:18px;margin-bottom:22px}.admin-card-head small{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--accent-color)}.admin-card-icon{width:45px;height:45px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--accent-color);background:#e9f1ff;font-size:22px}.admin-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.admin-intro h2{font-size:30px;font-weight:700;margin:6px 0}.admin-intro p{color:#697588;margin:0}.admin-card form label{display:block;font-size:13px;font-weight:700;color:var(--heading-color);margin-bottom:16px}.admin-card form label .form-control,.admin-card form label .form-select{display:block;width:100%;margin-top:7px;min-height:45px;border-color:#dce4ef;font-size:14px}.admin-card form label textarea.form-control{min-height:98px}.clinic-btn{background:var(--accent-color);border:1px solid var(--accent-color);color:white;border-radius:9px;padding:11px 19px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px}.clinic-btn:hover{background:#124bb3;color:#fff}.clinic-btn-outline{background:white;color:var(--accent-color)}.clinic-btn-outline:hover{color:#fff}.admin-card fieldset{border:0;padding:0;margin:0 0 15px}.admin-card legend{font-size:13px;font-weight:700;margin-bottom:10px}.weekdays{display:flex;flex-wrap:wrap;gap:6px}.weekdays label{font-size:12px!important;background:#f1f5fc;border-radius:6px;padding:6px 8px;margin:0!important}.weekdays input{vertical-align:middle}.count-pill{display:inline-block;background:#e9f1ff;color:var(--accent-color);font-size:11px;font-weight:700;border-radius:30px;padding:4px 9px;vertical-align:middle;margin-left:7px}.doctor-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.doctor-list-item{border:1px solid var(--clinic-line);border-radius:10px;padding:15px}.doctor-list-item h3{font-size:15px;margin:0 0 5px}.doctor-list-item p{font-size:12px;margin:0 0 10px}.doctor-list-item button,.admin-table button,.admin-documents button{border:0;background:#e9f1ff;color:var(--accent-color);font-size:12px;font-weight:700;border-radius:6px;padding:7px 10px}.doctor-list-item.inactive{opacity:.6}.admin-link{margin-left:auto;font-size:13px;font-weight:700}.admin-help{font-size:13px}.admin-documents{margin-top:22px;max-width:none}.admin-documents .document-item{box-shadow:none;padding:12px}.admin-documents .document-icon{width:42px;height:42px;font-size:19px}.admin-documents .document-item>a{font-size:12px;font-weight:700}.admin-documents button{background:#fff0f0;color:#aa2735}.filter-row{display:flex;justify-content:flex-end;margin-bottom:12px}.filter-row label{font-size:12px;color:#697588}.filter-row select{width:190px;font-size:13px;margin-top:4px}.admin-table{font-size:13px}.admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#697588}.admin-table td,.admin-table th{padding:12px 8px;vertical-align:middle}.admin-table td small{display:block;color:#697588}.admin-table button.danger{background:#fff0f0;color:#aa2735}.status{display:inline-block;border-radius:25px;padding:5px 9px;font-size:11px;font-weight:700}.status.booked{background:#e7f7ed;color:#157045}.status.free{background:#eef2f7;color:#687486}
@media(max-width:1199px){.header .logo .brand-name{font-size:17px}.hero{padding-top:145px}.navmenu .dropdown ul li{min-width:0}.footer-16 .legal-links{justify-content:flex-start}}
@media(min-width:1200px){.navmenu .dropdown>ul.dropdown-active{opacity:1;top:100%;visibility:visible}}
@media(max-width:767px){.header .topbar{display:none!important}.header .branding{min-height:72px}.header .logo .brand-mark{width:38px;height:38px}.header .logo .brand-name{font-size:15px}.hero{padding-top:105px;min-height:0}.hero .hero-content h1{font-size:38px}.hero .hero-visual{max-width:550px;margin:0 auto}.hero .hero-visual .main-image img{max-height:450px}.hero .hero-visual .main-image .floating-card.rating-card{display:none}.care-card{min-height:0}.doctor-list{grid-template-columns:1fr}.admin-intro{align-items:flex-start;flex-direction:column}.admin-card{padding:20px}.document-item{padding:13px;gap:10px}.document-icon{width:44px;height:44px}.document-download{font-size:0}.document-download i{font-size:18px}.page-title{padding-top:72px}.page-title .heading{padding:45px 0 35px}.footer-16 .footer-main{padding:50px 0 25px}}

.structure-section{background:linear-gradient(180deg,#fff 0%,#f6f9ff 100%)}
.structure-intro{max-width:760px;margin:0 0 38px}
.structure-intro h2{font-size:clamp(28px,3.3vw,42px);font-weight:700;line-height:1.2;margin:12px 0 14px}
.structure-intro p{color:#667181;font-size:16px;margin:0}
.structure-card{height:100%;display:flex;align-items:center;gap:22px;padding:26px 28px;background:#fff;border:1px solid var(--clinic-line);border-radius:18px;box-shadow:0 12px 35px rgba(17,35,68,.05);transition:transform .2s,border-color .2s,box-shadow .2s}
.structure-card:hover{transform:translateY(-3px);border-color:#c3d6f6;box-shadow:0 18px 42px rgba(17,35,68,.09)}
.structure-icon{flex:none;width:66px;height:66px;display:grid;place-items:center;border-radius:16px;color:var(--accent-color);background:#e9f1ff;font-size:29px}
.structure-card-text{min-width:0}.structure-number{display:block;color:var(--accent-color);font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:5px}
.structure-card h3{font-size:18px;font-weight:700;line-height:1.35;margin:0;overflow-wrap:anywhere}
@media(max-width:767px){.structure-intro{margin-bottom:28px}.structure-card{gap:15px;padding:19px}.structure-icon{width:52px;height:52px;font-size:23px}.structure-card h3{font-size:16px}}

.credential-card{border-color:#b9d0fa;background:#f7faff}.credential-card[hidden]{display:none}.credential-card>a{display:inline-block;margin-top:16px;font-size:13px;font-weight:700}.credential-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.credential-fields>div{border:1px solid #d2e0fa;border-radius:10px;background:#fff;padding:13px 16px}.credential-fields span{display:block;color:#697588;font-size:12px;margin-bottom:5px}.credential-fields code{font-size:17px;color:var(--heading-color);font-weight:700;overflow-wrap:anywhere}.doctor-actions,.visit-actions{display:flex;flex-wrap:wrap;gap:7px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:25px}.doctor-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-card{background:#f3f7ff;border:1px solid #dfe9fb;border-radius:12px;padding:18px}.stats-card strong{display:block;color:var(--accent-color);font-size:31px;font-family:var(--heading-font);line-height:1.1}.stats-card span{display:block;color:#5e6b7e;font-size:12px;margin-top:8px}.status.completed{background:#e6f6ec;color:#147145}.status.cancelled{background:#fff0f0;color:#a3293b}.visit-actions button{border:0;background:#e7f7ed;color:#147145;font-size:12px;font-weight:700;border-radius:6px;padding:7px 10px}.visit-actions button.danger{background:#fff0f0;color:#a3293b}
.registrar-page .stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.status.pending{background:#fff3d8;color:#8a5d00}
@media(max-width:767px){.stats-grid,.doctor-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credential-fields{grid-template-columns:1fr}}
@media(max-width:900px){.registrar-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.doctor-carousel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-12px 0 22px;color:#667181;font-size:13px}.doctor-carousel-toolbar>div{display:flex;gap:9px}.doctor-carousel-toolbar button{width:43px;height:43px;border:1px solid #d3e0f2;border-radius:50%;background:#fff;color:var(--accent-color);font-size:20px}.doctor-carousel-toolbar button:disabled{opacity:.35;cursor:default}.doctor-carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding:0 0 18px}.doctor-carousel .clinic-empty{width:100%}.doctor-slide{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;overflow:hidden;padding:0;min-width:0}.clinic-doctor-photo{display:block;width:100%;height:265px;object-fit:cover;object-position:center 25%;background:#e8f0fc}.clinic-doctor-photo-empty{display:grid;place-items:center;color:#9fb4d4;font-size:70px}.clinic-doctor-card-content{display:flex;flex:1;flex-direction:column;padding:24px}.clinic-doctor-card-content .clinic-doctor-description{margin-top:13px}.doctor-list{grid-template-columns:repeat(4,minmax(0,1fr))}.doctor-list-item{min-width:0}.doctor-admin-photo{height:165px;margin:-15px -15px 15px;background:#e8f0fc;display:grid;place-items:center;color:#9fb4d4;font-size:48px;border-radius:10px 10px 0 0;overflow:hidden}.doctor-admin-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.doctor-photo-form{border-top:1px solid #e4ebf5;margin-top:14px;padding-top:12px}.doctor-photo-form label{margin-bottom:8px!important}.doctor-photo-form input{display:block;width:100%;font-size:11px;margin-top:5px}.doctor-photo-form button{margin-top:5px}.registrar-tabs{display:flex;gap:10px;margin:0 0 22px;border-bottom:1px solid #dfe7f2}.registrar-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 20px;color:#61728a;font-weight:700}.registrar-tabs button.active{border-color:var(--accent-color);color:var(--accent-color)}.registrar-page [hidden]{display:none!important}
@media(max-width:991px){.doctor-slide{flex-basis:calc((100% - 18px)/2)}.doctor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.doctor-slide{flex-basis:86%}.doctor-carousel-toolbar{margin-top:0}.clinic-doctor-photo{height:235px}.doctor-list{grid-template-columns:1fr}.registrar-tabs button{flex:1}}

.doctor-list-item{display:flex;flex-direction:column}.doctor-list-item .doctor-actions{margin-bottom:14px}.doctor-list-item .doctor-actions .doctor-delete-button{background:#fff0f0;color:#a3293b}.doctor-description-form{border-top:1px solid #e4ebf5;padding-top:12px}.doctor-description-form label,.doctor-photo-form label{display:block;font-size:12px;font-weight:700;color:var(--heading-color)}.doctor-description-form textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #dce4ef;border-radius:8px;font-size:13px;resize:vertical}.doctor-description-form button,.doctor-photo-form button{align-self:flex-start}.doctor-open-count{font-size:12px!important;margin:12px 0 0!important;color:#60718a!important}.doctor-delete-dialog{width:min(92vw,540px);border:1px solid #dbe5f4;border-radius:17px;padding:28px;box-shadow:0 22px 70px rgba(17,35,68,.22)}.doctor-delete-dialog::backdrop{background:rgba(13,32,60,.55)}.doctor-delete-dialog h3{font-size:21px;font-weight:700}.doctor-delete-dialog p{color:#617084;font-size:14px}.doctor-delete-dialog label{display:block;font-size:13px;font-weight:700}.doctor-delete-dialog select{margin-top:8px}.doctor-delete-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:22px}.doctor-delete-actions .doctor-delete-confirm{background:#a3293b;border-color:#a3293b}.doctor-delete-actions .doctor-delete-confirm:hover{background:#842032}
.doctor-directions{font-size:12px;margin-bottom:12px}.doctor-directions .doctor-actions{margin:7px 0 0}.doctor-directions .doctor-actions span{display:inline-flex;align-items:center;gap:5px;padding:4px 5px 4px 9px;background:#eef4ff;border-radius:7px}.doctor-list-item .doctor-directions button.danger{background:#fff0f0;color:#a3293b;padding:2px 6px}

/* В обычном состоянии видны только портрет и специальность. */
.doctor-slide{position:relative;height:390px;min-height:390px;isolation:isolate;cursor:pointer}
.doctor-slide:hover{transform:none}
.doctor-slide:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}
.doctor-slide .clinic-doctor-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.doctor-slide .clinic-doctor-photo-empty{background:#e8f0fc}
.doctor-card-specialty{position:absolute;left:20px;bottom:20px;z-index:1;max-width:calc(100% - 40px);padding:9px 14px;border-radius:9px;background:rgba(255,255,255,.95);color:var(--accent-color);font-size:14px;font-weight:800;line-height:1.3;box-shadow:0 6px 20px rgba(17,35,68,.12);transition:opacity .25s,transform .25s}
.doctor-slide .clinic-doctor-card-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(180deg,rgba(10,29,55,.18) 0%,rgba(10,29,55,.84) 55%,rgba(10,29,55,.96) 100%);color:#fff;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility .25s}
.doctor-slide:focus-within .clinic-doctor-card-content,.doctor-slide.is-open .clinic-doctor-card-content{opacity:1;visibility:visible;transform:translateY(0)}
.doctor-slide:focus-within .doctor-card-specialty,.doctor-slide.is-open .doctor-card-specialty{opacity:0;transform:translateY(8px)}
@media(hover:hover){.doctor-slide:hover .clinic-doctor-card-content{opacity:1;visibility:visible;transform:translateY(0)}.doctor-slide:hover .doctor-card-specialty{opacity:0;transform:translateY(8px)}}
.doctor-slide .clinic-doctor-card-content h3{color:#fff;font-size:23px;line-height:1.25;margin:0 0 8px}
.doctor-slide .clinic-doctor-spec{color:#bdd5ff;font-size:13px}
.doctor-slide .clinic-doctor-description{color:#fff;font-size:14px;line-height:1.5;flex:none;max-height:180px;overflow-y:auto;margin:17px 0 22px}
.doctor-slide .clinic-doctor-card-content button{background:#fff;color:var(--accent-color)}
.doctor-slide .clinic-doctor-card-content button:hover{background:#e9f1ff;color:#124bb3}
@media(max-width:575px){.doctor-slide{height:350px;min-height:350px}.doctor-slide .clinic-doctor-card-content{padding:22px}.doctor-slide .clinic-doctor-card-content h3{font-size:20px}.doctor-slide .clinic-doctor-description{max-height:135px}}
@media(prefers-reduced-motion:reduce){.doctor-slide .clinic-doctor-card-content,.doctor-card-specialty{transition:none}}

.services-section{min-height:55vh;background:linear-gradient(180deg,#fff 0%,#f5f8fe 100%)}
.services-intro{max-width:710px;margin-bottom:32px}.services-intro h2{font-size:clamp(30px,3.5vw,44px);font-weight:700;margin:10px 0 12px}.services-intro p{color:#667181;margin:0}
.services-demo-notice{display:flex;align-items:flex-start;gap:12px;padding:17px 20px;margin:0 0 24px;border:1px solid #f0dba9;background:#fffaed;border-radius:12px;color:#765719;font-size:14px}.services-demo-notice i{font-size:20px;line-height:1}
.services-toolbar{display:flex;align-items:center;gap:16px;margin:0 0 18px}.services-toolbar label{font-size:13px;font-weight:700;color:var(--heading-color)}.services-toolbar>span{margin-left:auto;color:#667181;font-size:13px;white-space:nowrap}.services-search{position:relative;flex:1;max-width:430px}.services-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#7890af}.services-search input{padding:12px 15px 12px 43px;border-color:#dce4ef;border-radius:10px}
.services-table-wrap{background:#fff;border:1px solid #dfe7f2;border-radius:16px;box-shadow:0 14px 42px rgba(17,35,68,.06)}.services-table{margin:0;min-width:680px}.services-table thead{background:#eaf2ff}.services-table th{padding:17px 20px;color:#31527e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:0}.services-table td{padding:18px 20px;vertical-align:middle;border-color:#edf1f7;color:#526175;font-size:14px}.services-table tbody tr:last-child td{border-bottom:0}.services-table tbody tr:hover{background:#f7faff}.services-table td strong{color:var(--heading-color);font-weight:700}.service-code{white-space:nowrap;color:var(--accent-color)!important;font-weight:700}.service-price{white-space:nowrap;color:var(--heading-color)!important;font-size:16px!important;font-weight:800}.service-demo-tag{display:inline-block;margin-left:9px;padding:3px 7px;border-radius:5px;background:#fff3da;color:#8a5d00;font-size:10px;font-weight:700;vertical-align:middle}.services-page [hidden]{display:none!important}
.service-template-link{display:inline-flex;gap:7px;margin-top:17px;font-size:13px;font-weight:700}.service-replace-label{display:flex!important;align-items:center;gap:8px}.service-replace-label input{width:16px;height:16px}.services-admin-table code{color:var(--accent-color);font-size:12px}.service-admin-price{white-space:nowrap;font-weight:700}.services-admin-table .doctor-actions{flex-wrap:nowrap}.services-admin-table .doctor-actions button{white-space:nowrap}
@media(max-width:767px){.services-toolbar{align-items:stretch;flex-wrap:wrap}.services-toolbar label{width:100%}.services-search{max-width:none}.services-toolbar>span{margin-left:0;align-self:center}.services-table th,.services-table td{padding:14px}.services-demo-notice{font-size:13px}}
.service-clear-block{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e6edf7}.service-clear-block span{color:#7a8494;font-size:12px}.service-clear-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #e8b8bd;background:#fff7f7;color:#a3293b;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700}.service-clear-button:hover{background:#ffeded}.service-clear-button:disabled{opacity:.5}

.service-types-section{min-height:55vh;background:linear-gradient(180deg,#fff 0%,#f5f8fe 100%)}
.service-price-group{margin:0 0 18px;background:#fff;border:1px solid #dfe7f2;border-radius:16px;box-shadow:0 14px 42px rgba(17,35,68,.06);overflow:hidden}.service-price-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;color:var(--heading-color);font-weight:800;cursor:pointer;list-style:none}.service-price-group summary::-webkit-details-marker{display:none}.service-price-group summary span{display:flex;align-items:center;gap:9px}.service-price-group summary i{color:var(--accent-color);transition:transform .2s}.service-price-group[open] summary i{transform:rotate(90deg)}.service-price-group summary small{color:#697588;font-size:12px;font-weight:500}.service-price-group .services-toolbar{padding:0 20px}.service-price-group .services-table-wrap{border-radius:0;border-left:0;border-right:0;box-shadow:none}.service-price-group>.clinic-empty{margin:0 20px 18px}
.service-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-type-card{position:relative;isolation:isolate;min-height:380px;border-radius:18px;overflow:hidden;background:#e8f0fc;box-shadow:0 14px 35px rgba(17,35,68,.08);cursor:pointer}
.service-type-card:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}
.service-type-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.service-type-title{position:absolute;bottom:21px;left:21px;right:21px;z-index:1;width:max-content;max-width:calc(100% - 42px);padding:10px 14px;background:rgba(255,255,255,.96);border-radius:9px;color:var(--heading-color);font-size:18px;font-weight:800;line-height:1.3;box-shadow:0 6px 20px rgba(17,35,68,.13);transition:opacity .25s,transform .25s}
.service-type-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;background:linear-gradient(180deg,rgba(8,28,55,.2),rgba(8,28,55,.88) 58%,rgba(8,28,55,.96));opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility .25s}
.service-type-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;color:#bfd6ff;margin-bottom:10px}.service-type-overlay h3{color:#fff;font-size:24px;line-height:1.25;font-weight:700;margin:0 0 12px}.service-type-overlay p{color:#edf4ff;font-size:14px;line-height:1.55;max-height:165px;overflow-y:auto;margin:0 0 21px}.service-type-overlay a{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:9px;background:#fff;color:var(--accent-color);font-size:13px;font-weight:800}.service-type-overlay a:hover{background:#e8f1ff;color:#124bb3}
.service-type-card:focus-within .service-type-overlay,.service-type-card.is-open .service-type-overlay{opacity:1;visibility:visible;transform:translateY(0)}.service-type-card:focus-within .service-type-title,.service-type-card.is-open .service-type-title{opacity:0;transform:translateY(8px)}
@media(hover:hover){.service-type-card:hover .service-type-overlay{opacity:1;visibility:visible;transform:translateY(0)}.service-type-card:hover .service-type-title{opacity:0;transform:translateY(8px)}}
.service-type-editor{position:sticky;top:110px}.service-type-form-actions{display:flex;gap:10px;flex-wrap:wrap}.service-type-admin-list{display:grid;gap:14px}.service-type-admin-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:16px;padding:13px;border:1px solid #e0e8f3;border-radius:12px;background:#fbfcff}.service-type-admin-item>img{width:155px;height:125px;object-fit:cover;border-radius:9px}.service-type-admin-item h4{font-size:16px;font-weight:700;margin:2px 0 7px}.service-type-admin-item p{font-size:12px;color:#667181;margin:8px 0 12px;line-height:1.45}.service-type-demo{display:inline-block;color:#8a5d00;background:#fff3da;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700}.registrar-tabs{overflow-x:auto;scrollbar-width:thin}.registrar-tabs button{white-space:nowrap;flex:none}
@media(max-width:991px){.service-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-type-editor{position:static}}
@media(max-width:575px){.service-types-grid{grid-template-columns:1fr}.service-type-card{min-height:345px}.service-type-overlay{padding:23px}.service-type-overlay h3{font-size:21px}.service-type-admin-item{grid-template-columns:1fr}.service-type-admin-item>img{width:100%;height:170px}.registrar-tabs button{flex:none}}
@media(prefers-reduced-motion:reduce){.service-type-overlay,.service-type-title{transition:none}}
.clinic-contacts-section{background:linear-gradient(180deg,#f6f9ff 0%,#fff 100%)}
.schedule-doctor-groups{display:grid;gap:12px}.schedule-doctor-group{border:1px solid #dfe7f2;border-radius:12px;background:#fff;overflow:hidden}.schedule-doctor-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;color:var(--heading-color);font-weight:700;cursor:pointer;list-style:none}.schedule-doctor-group summary::-webkit-details-marker{display:none}.schedule-doctor-group summary:before{content:'+';display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eaf2ff;color:var(--accent-color);font-size:18px;line-height:1;flex:none}.schedule-doctor-group[open] summary:before{content:'−'}.schedule-doctor-group summary span{margin-right:auto}.schedule-doctor-group summary small{color:#697588;font-size:12px;font-weight:500}.schedule-doctor-group .table-responsive{border-top:1px solid #e8eef7}.schedule-empty{margin:0;padding:18px}
.schedule-date-groups{display:grid;gap:8px;padding:0 12px 12px;background:#f8faff}.schedule-date-group{border:1px solid #e1e9f5;border-radius:9px;background:#fff;overflow:hidden}.schedule-date-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;color:#31527e;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.schedule-date-group summary::-webkit-details-marker{display:none}.schedule-date-group summary:before{content:'+';width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:var(--accent-color);font-size:15px;line-height:1;flex:none}.schedule-date-group[open] summary:before{content:'−'}.schedule-date-group summary span{margin-right:auto}.schedule-date-group summary small{color:#7a8798;font-size:11px;font-weight:500}.schedule-date-group .admin-table{margin:0}.schedule-date-group .admin-table td,.schedule-date-group .admin-table th{padding:10px 8px}
.schedule-cleanup-settings{margin-left:auto;position:relative;z-index:1}.schedule-cleanup-settings[open]{z-index:50}.schedule-cleanup-settings summary{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #d3e0f2;border-radius:8px;color:var(--accent-color);font-size:12px;font-weight:700;cursor:pointer;list-style:none}.schedule-cleanup-settings summary::-webkit-details-marker{display:none}.schedule-cleanup-settings[open] summary{border-radius:8px 8px 0 0;background:#f4f8ff}.schedule-cleanup-settings form{position:fixed!important;z-index:2000;right:auto!important;top:auto;left:auto;transform:none!important;width:min(360px,calc(100vw - 42px));padding:16px;background:#fff;border:1px solid #d3e0f2;border-radius:8px;box-shadow:0 18px 45px rgba(17,35,68,.2)}.schedule-cleanup-settings form label{display:block;margin-bottom:10px}.schedule-cleanup-settings form .service-replace-label{display:flex!important;align-items:center;gap:8px}.schedule-cleanup-settings form .clinic-btn{margin:4px 5px 0 0}
.clinic-contacts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.clinic-contact-card{display:flex;align-items:flex-start;gap:16px;padding:24px;background:#fff;border:1px solid #dfe7f2;border-radius:16px;box-shadow:0 12px 30px rgba(17,35,68,.06)}.clinic-address-card{cursor:pointer}.clinic-map-hint{color:var(--accent-color)!important;font-size:12px!important}.clinic-contacts-section{position:relative}.clinic-map-popup{position:absolute;z-index:10;left:50%;top:50%;width:min(680px,calc(100% - 32px));padding:10px;background:#fff;border:1px solid #cddcf2;border-radius:16px;box-shadow:0 22px 65px rgba(17,35,68,.25);opacity:0;visibility:hidden;transform:translate(-50%,-46%);transition:opacity .2s,transform .2s,visibility .2s}.clinic-contacts-section.is-map-open .clinic-map-popup{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.clinic-map-popup iframe{display:block;width:100%;height:340px;border:0;border-radius:10px}.clinic-map-popup>a{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 4px 2px;color:var(--accent-color);font-size:12px;font-weight:700}.clinic-map-close{position:absolute;z-index:1;top:18px;right:18px;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#253c60;box-shadow:0 4px 14px rgba(17,35,68,.2)}
.clinic-contact-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:#e9f1ff;color:var(--accent-color);font-size:22px}
.clinic-contact-card small{display:block;margin-bottom:7px;color:#697588;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.clinic-contact-card strong{display:block;color:var(--heading-color);font-size:17px;line-height:1.35}.clinic-contact-card strong a{color:inherit}.clinic-contact-card span{display:block;margin-top:8px;color:#667181;font-size:13px;line-height:1.45}.registrar-contact-editor{margin-top:24px}
@media(max-width:767px){.clinic-contacts-grid{grid-template-columns:1fr}.clinic-contact-card{padding:19px}}
/* Keep the email confirmation step visible after a patient submits a booking. */
.filter-row{align-items:end;gap:12px;flex-wrap:wrap}.filter-row .booking-search-label{flex:1 1 260px;max-width:420px;margin:0 auto 0 0}.filter-row .booking-search-label .form-control{width:100%;margin-top:4px;font-size:14px}
.booking-note{padding:16px 18px;border:1px solid #bfd3f6;border-left:5px solid #175cdd;border-radius:10px;background:#f0f6ff;color:#304460;font-size:14px;line-height:1.5}
.booking-note strong{display:block;margin-bottom:5px;color:#112344;font-size:16px}
.booking-awaiting-email{display:flex;align-items:flex-start;gap:18px;margin-top:22px;padding:22px 24px;border:2px solid #d9941b;border-radius:14px;background:#fff7e7;box-shadow:0 12px 30px rgba(112,75,14,.12);color:#4d3105;font-size:15px;line-height:1.55}
.booking-awaiting-email .booking-awaiting-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:#ffe2a6;color:#764b00;font-size:27px}
.booking-awaiting-email strong{display:block;margin-bottom:8px;color:#392600;font-size:20px;line-height:1.3}
.booking-awaiting-email p{margin:0 0 10px}.booking-awaiting-email small{display:block;color:#624b26;font-size:13px}
@media(max-width:575px){.booking-awaiting-email{padding:18px;gap:12px}.booking-awaiting-email .booking-awaiting-icon{width:40px;height:40px;font-size:22px}.booking-awaiting-email strong{font-size:18px}}
@media(max-width:575px){.schedule-card-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.schedule-card-head>div{min-width:0;flex:1 1 calc(100% - 58px)}.schedule-cleanup-settings{flex:1 0 100%;margin-left:0}.schedule-cleanup-settings summary{justify-content:center}.schedule-cleanup-settings form{max-height:calc(100vh - 24px);overflow-y:auto}.registrar-tabs{margin-right:-20px;padding-right:20px}.clinic-map-popup{width:calc(100% - 24px);padding:8px}.clinic-map-popup iframe{height:min(340px,52vh);min-height:220px}.clinic-map-close{top:15px;right:15px}}
