/* VitalCare 4.3.17 — unified public pages and responsive repair layer */
html{min-width:320px}
body.public-shell{min-width:320px;background:#f7fbfa;color:var(--vc-ink);font-family:var(--site-font-family,inherit);overflow-wrap:anywhere}
.public-shell button,.public-shell input,.public-shell select,.public-shell textarea{font-family:var(--site-font-family,inherit)}
.public-shell .meet-site-main{min-height:52vh;overflow:clip}
.public-shell img,.public-shell video,.public-shell iframe{max-width:100%;height:auto}
.public-shell code,.public-shell pre,.public-shell bdi,.public-shell [dir="ltr"]{overflow-wrap:anywhere}
.public-shell .row>*{min-width:0}
.public-shell .meet-home-trust{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
.public-shell .vc-about-values article:last-child:nth-child(odd){grid-column:1/-1}

/* Common inside-page hero */
.public-shell .page-hero,.public-shell .role-entry-hero{position:relative;isolation:isolate;overflow:hidden;padding:70px 0 64px;background:linear-gradient(135deg,#e5f6f3 0%,#f8fcfb 55%,#e8f3f5 100%);color:var(--vc-ink)}
.public-shell .page-hero:before,.public-shell .role-entry-hero:before{content:"";position:absolute;z-index:-1;width:320px;height:320px;inset:-155px auto auto -75px;border-radius:50%;background:color-mix(in srgb,var(--vc-primary) 10%,transparent)}
.public-shell .page-hero:after,.public-shell .role-entry-hero:after{content:"+";position:absolute;z-index:-1;left:8%;bottom:-88px;color:color-mix(in srgb,var(--vc-primary) 8%,transparent);font-size:13rem;font-weight:300;line-height:1}
.public-shell .page-hero .container,.public-shell .role-entry-hero .container{position:relative;z-index:1;max-width:920px}
.public-shell .page-hero-eyebrow{display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:5px 12px;border:1px solid color-mix(in srgb,var(--vc-primary) 38%,white);border-radius:999px;background:rgba(255,255,255,.72);color:var(--vc-primary-dark);font-size:.72rem;font-weight:850}
.public-shell .page-hero h1,.public-shell .role-entry-hero h1{margin:14px 0 9px;color:var(--vc-ink);font-size:clamp(2.1rem,4.5vw,3.75rem);font-weight:950;line-height:1.25;letter-spacing:-.045em}
.public-shell .page-hero p,.public-shell .role-entry-hero p{max-width:700px;margin:0 auto;color:#5e7477;font-size:.88rem;line-height:2}
.public-shell .page-hero-compact{padding:44px 0;background:linear-gradient(125deg,var(--vc-primary-dark),var(--vc-primary));color:#fff}
.public-shell .page-hero-compact:before,.public-shell .page-hero-compact:after{color:rgba(255,255,255,.08);background:rgba(255,255,255,.06)}
.public-shell .page-hero-compact h1,.public-shell .page-hero-compact p{color:#fff}

/* Common content surfaces */
.public-shell .page-shell{width:min(1160px,calc(100% - 40px));padding-top:54px;padding-bottom:86px}
.public-shell .page-shell.user-panel{padding-top:42px}
.public-shell .content-card,.public-shell .auth-card,.public-shell .receipt-card,.public-shell .detail-panel,.public-shell .panel-settings-card,.public-shell .sectioned-content-card,.public-shell .contact-modern-info,.public-shell .contact-modern-form,.public-shell .meet-site-main>.py-5 .card{border:1px solid var(--vc-line)!important;border-radius:20px!important;background:#fff;box-shadow:0 16px 42px rgba(7,48,51,.07)!important;overflow:hidden}
.public-shell .content-card-header,.public-shell .auth-card-brand{padding:23px 26px;border-bottom:1px solid var(--vc-line);background:linear-gradient(135deg,#f7fbfa,#ecf7f5)}
.public-shell .content-card-header h2,.public-shell .auth-card-brand h2{margin:0;color:var(--vc-ink);font-size:1.05rem;font-weight:900}
.public-shell .content-card-header p,.public-shell .auth-card-brand p{margin:5px 0 0;color:var(--vc-muted);font-size:.72rem}
.public-shell .content-card-body,.public-shell .auth-card-body{padding:26px}
.public-shell .auth-card-icon{background:var(--vc-primary);color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--vc-primary) 20%,transparent)}
.public-shell .auth-footer-link{margin:18px 0 0;text-align:center;font-size:.74rem}
.public-shell .auth-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:21px;padding:5px;border-radius:13px;background:#edf5f4}
.public-shell .auth-subtabs .nav-link{width:100%;border-radius:10px;color:#5d7073;font-size:.74rem;font-weight:800}
.public-shell .auth-subtabs .nav-link.active{background:#fff;color:var(--vc-primary-dark);box-shadow:0 4px 13px rgba(5,61,61,.08)}
.public-shell .card{border-color:var(--vc-line);border-radius:18px}
.public-shell .card-header{border-color:var(--vc-line);background:#f5faf9}
.public-shell .form-label{margin-bottom:6px;color:#233f42;font-size:.74rem;font-weight:800}
.public-shell .form-control,.public-shell .form-select{width:100%;min-width:0;min-height:47px;border:1px solid #ccdedd;border-radius:12px;background-color:#fff;color:var(--vc-ink);font-size:.82rem}
.public-shell textarea.form-control{min-height:112px;resize:vertical}
.public-shell .form-control:focus,.public-shell .form-select:focus{border-color:var(--vc-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--vc-primary) 11%,transparent)}
.public-shell .form-text{color:#7b8d90;font-size:.64rem}
.public-shell .input-group{min-width:0}.public-shell .input-group>*{min-width:0}
.public-shell .btn{border-radius:999px;font-size:.78rem;font-weight:850;white-space:normal}
.public-shell .btn-primary{border-color:var(--vc-primary);background:var(--vc-primary)}
.public-shell .btn-primary:hover,.public-shell .btn-primary:focus{border-color:var(--vc-primary-dark);background:var(--vc-primary-dark)}
.public-shell .btn-outline-primary{border-color:color-mix(in srgb,var(--vc-primary) 62%,white);color:var(--vc-primary-dark)}
.public-shell .alert{border-radius:13px;font-size:.76rem;line-height:1.8}
.public-shell .alert ul{padding-inline-start:19px}

/* CMS pages */
.public-shell .modern-page-hero{padding:70px 0 64px;background:linear-gradient(135deg,#e5f6f3,#fbfdfd 55%,#e8f3f5)}
.public-shell .sectioned-content-block{padding:62px 0;background:#fff}
.public-shell .sectioned-content-block+.sectioned-content-block{padding-top:0}
.public-shell .sectioned-content-card{padding:32px}
.public-shell .sectioned-content-card h2{margin:12px 0 8px;color:var(--vc-ink);font-size:1.65rem;line-height:1.45}
.public-shell .sectioned-content-lead{color:var(--vc-muted);font-size:.82rem;line-height:2}
.public-shell .cms-content{color:#405b5e;font-size:.86rem;line-height:2.1}
.public-shell .cms-content img{display:block;margin:22px auto;border-radius:16px}
.public-shell .cms-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;white-space:nowrap}
.public-shell .cms-content pre{max-width:100%;overflow:auto;padding:14px;border-radius:12px;background:#edf5f4}
.public-shell .sectioned-feature-section{padding:72px 0;background:#f1f8f7}
.public-shell .sectioned-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.public-shell .sectioned-feature-grid article{min-width:0;border-color:var(--vc-line);border-radius:17px;box-shadow:0 8px 24px rgba(6,55,56,.04)}
.public-shell .sectioned-feature-grid article>span{border-radius:50%;background:var(--vc-mint);color:var(--vc-primary-dark)}
.public-shell .contact-modern-shell{padding-top:54px;padding-bottom:86px}
.public-shell .contact-modern-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:18px}
.public-shell .contact-modern-info{background:linear-gradient(145deg,var(--vc-primary-dark),var(--vc-primary));color:#fff}
.public-shell .contact-modern-form{min-width:0}

/* Tracking, waiting, receipt and utility pages */
.public-shell .waitlist-banner{display:flex;align-items:flex-start;gap:11px;margin-bottom:20px;padding:14px;border:1px solid #cce3df;border-radius:13px;background:#eff8f6;color:#365d5d;font-size:.72rem}
.public-shell .waitlist-banner svg{flex:0 0 22px;color:var(--vc-primary)}
.public-shell .detail-panel{padding:20px;box-shadow:none!important;background:#f7fbfa}
.public-shell .detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.public-shell .detail-panel-head h3{margin:0;font-size:.92rem;font-weight:900}
.public-shell .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0}
.public-shell .detail-grid>div{min-width:0;padding:12px;border:1px solid #dce9e7;border-radius:12px;background:#fff}
.public-shell .detail-grid dt{color:#7c8e90;font-size:.62rem}.public-shell .detail-grid dd{margin:4px 0 0;color:#193b3d;font-size:.78rem;font-weight:800}
.public-shell .detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.public-shell .receipt-card-top{background:linear-gradient(130deg,var(--vc-primary-dark),var(--vc-primary))}
.public-shell .receipt-card-body{padding:27px}
.public-shell .receipt-code{max-width:100%;overflow-wrap:anywhere}
.public-shell .meet-site-main>.py-5{padding:64px 0 84px!important;background:linear-gradient(180deg,#f5faf9,#fff)}
.public-shell .meet-site-main>.py-5>.container{width:min(900px,calc(100% - 40px));max-width:900px!important}
.public-shell .meet-site-main>.py-5 .card-body{padding:34px!important}

/* Patient panel */
.public-shell .panel-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px}.public-shell .panel-welcome-user{min-width:0}.public-shell .panel-welcome-name,.public-shell .panel-welcome-meta{overflow-wrap:anywhere}
.public-shell .panel-quick-actions{display:flex;flex-wrap:wrap;gap:8px}
.public-shell .panel-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.public-shell .panel-stat-card{min-width:0;border-color:var(--vc-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(7,48,51,.05)}
.public-shell .user-panel-tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin}
.public-shell .user-panel-tab{flex:0 0 auto;white-space:nowrap}
.public-shell .panel-appointment-card{min-width:0;border-color:var(--vc-line);border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(7,48,51,.05)}
.public-shell .panel-appointment-content,.public-shell .panel-appointment-details,.public-shell .panel-detail-item{min-width:0}
.public-shell .panel-appointment-actions{display:flex;flex-wrap:wrap;gap:8px}
.public-shell .panel-action-btn{white-space:normal}
.public-shell .table-responsive{max-width:100%;border-radius:14px}.public-shell table{vertical-align:middle}.public-shell th,.public-shell td{overflow-wrap:normal}

/* Focused utility pages */
.public-shell.public-utility-page .meet-site-main{background:linear-gradient(180deg,#eef8f6,#f9fcfb)}
.public-shell .utility-page{padding:54px 0 88px}
.public-shell .utility-shell{width:min(680px,calc(100% - 32px));margin-inline:auto}
.public-shell .utility-card{border:1px solid var(--vc-line);border-radius:24px;background:#fff;box-shadow:0 20px 55px rgba(7,48,51,.09);overflow:hidden}
.public-shell .utility-card-head{display:grid;place-items:center;padding:32px 26px 24px;text-align:center;background:linear-gradient(145deg,#f7fcfb,#eaf7f4)}
.public-shell .utility-card-icon{display:grid;place-items:center;width:62px;height:62px;margin-bottom:13px;border-radius:20px;color:var(--vc-primary-dark);background:#fff;box-shadow:0 10px 25px rgba(7,66,65,.1)}
.public-shell .utility-card-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8}
.public-shell .utility-card-head span{color:var(--vc-primary-dark);font-size:.67rem;font-weight:900}
.public-shell .utility-card-head h1{margin:4px 0 6px;color:var(--vc-ink);font-size:1.45rem;font-weight:950;line-height:1.5}
.public-shell .utility-card-head p{max-width:520px;margin:0;color:var(--vc-muted);font-size:.72rem;line-height:1.9}
.public-shell .utility-card-body{padding:25px 27px 29px}
.public-shell .utility-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:20px}
.public-shell .utility-detail-grid>div{display:grid;gap:3px;padding:13px;border:1px solid #dfeceb;border-radius:13px;background:#f8fcfb}
.public-shell .utility-detail-grid span{color:var(--vc-muted);font-size:.58rem}.public-shell .utility-detail-grid strong{color:#244447;font-size:.72rem;overflow-wrap:anywhere}
.public-shell .utility-rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.public-shell .utility-rating-option{position:relative;display:grid;place-items:center;gap:2px;min-height:62px;padding:8px 4px;border:1px solid #e3ded0;border-radius:12px;color:#8a6a12;background:#fffcf1;font-size:.6rem;font-weight:850;cursor:pointer}
.public-shell .utility-rating-option input{position:absolute;opacity:0}.public-shell .utility-rating-option:has(input:checked){border-color:#d5a20e;background:#fff3bd;box-shadow:0 0 0 3px rgba(213,162,14,.12)}
.public-shell .utility-rating-option b{font-size:1rem;letter-spacing:.04em}.public-shell .utility-form-group{display:grid;gap:6px;margin-top:18px}
.public-shell .utility-actions{display:grid;gap:8px;margin-top:18px}.public-shell .utility-actions .btn{width:100%;min-height:47px;border-radius:13px}
.public-shell .utility-expired{margin:0;text-align:center}

/* Mobile and tablet */
@media(max-width:991px){
  .public-shell .page-hero,.public-shell .role-entry-hero{padding:58px 0 54px}
  .public-shell .page-shell{padding-top:44px;padding-bottom:90px}
  .public-shell .sectioned-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-shell .contact-modern-grid{grid-template-columns:1fr}
  .public-shell .panel-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-shell .panel-welcome{align-items:flex-start;flex-direction:column}
  .public-shell .panel-welcome>.btn{width:100%}
}
@media(max-width:767px){
  .public-shell .page-hero,.public-shell .role-entry-hero{padding:46px 0 42px}
  .public-shell .page-hero:after,.public-shell .role-entry-hero:after{left:-12%;bottom:-55px;font-size:9rem}
  .public-shell .page-hero h1,.public-shell .role-entry-hero h1{font-size:clamp(1.85rem,10vw,2.65rem);letter-spacing:-.035em}
  .public-shell .page-hero p,.public-shell .role-entry-hero p{font-size:.77rem;line-height:1.9}
  .public-shell .page-shell{width:calc(100% - 28px);padding-top:32px;padding-bottom:94px}
  .public-shell .content-card,.public-shell .auth-card,.public-shell .receipt-card,.public-shell .detail-panel,.public-shell .panel-settings-card,.public-shell .sectioned-content-card,.public-shell .contact-modern-info,.public-shell .contact-modern-form,.public-shell .meet-site-main>.py-5 .card{border-radius:16px!important}
  .public-shell .content-card-header,.public-shell .auth-card-brand{padding:19px 17px}
  .public-shell .content-card-body,.public-shell .auth-card-body,.public-shell .receipt-card-body{padding:19px 16px}
  .public-shell .sectioned-content-block{padding:45px 0}.public-shell .sectioned-content-card{padding:21px 17px}
  .public-shell .sectioned-feature-section{padding:52px 0}.public-shell .sectioned-feature-grid{grid-template-columns:1fr}
  .public-shell .contact-modern-shell{width:calc(100% - 28px);padding:36px 0 94px}.public-shell .contact-modern-info,.public-shell .contact-modern-form{padding:22px 17px}
  .public-shell .detail-grid{grid-template-columns:1fr}.public-shell .detail-actions{display:grid;grid-template-columns:1fr}.public-shell .detail-actions .btn{width:100%}
  .public-shell .panel-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.public-shell .panel-quick-actions{display:grid;grid-template-columns:1fr;width:100%}.public-shell .panel-quick-actions .btn{width:100%}
  .public-shell .panel-appointment-actions{display:grid;grid-template-columns:1fr}.public-shell .panel-action-btn{width:100%}
  .public-shell .meet-site-main>.py-5{padding:42px 0 96px!important}.public-shell .meet-site-main>.py-5>.container{width:calc(100% - 28px)}.public-shell .meet-site-main>.py-5 .card-body{padding:22px 17px!important}
  .public-shell .cta-banner-inner,.public-shell .cta-banner-actions,.public-shell .rules-actions{display:grid;grid-template-columns:1fr;gap:9px}.public-shell .cta-banner-actions .btn,.public-shell .rules-actions .btn{width:100%}
  .public-shell .d-flex.justify-content-between{column-gap:10px;row-gap:7px;flex-wrap:wrap}
  .public-shell .btn-lg{min-height:46px;padding-inline:16px;font-size:.79rem}
  .public-shell .utility-page{padding:30px 0 96px}.public-shell .utility-shell{width:calc(100% - 24px)}.public-shell .utility-card{border-radius:18px}.public-shell .utility-card-head{padding:24px 17px 19px}.public-shell .utility-card-body{padding:19px 15px 22px}.public-shell .utility-rating-options{grid-template-columns:repeat(5,minmax(52px,1fr));overflow-x:auto;padding-bottom:4px}.public-shell .utility-rating-option{min-width:52px}
}
@media(max-width:390px){
  .public-shell .panel-stats{grid-template-columns:1fr}
  .public-shell .auth-subtabs{grid-template-columns:1fr}
  .public-shell .input-group:has(> .btn){display:grid;grid-template-columns:1fr}.public-shell .input-group:has(> .btn)>*{width:100%;border-radius:11px!important;margin:0 0 7px!important}
  .public-shell .utility-detail-grid{grid-template-columns:1fr}.public-shell .utility-card-head h1{font-size:1.25rem}
}
@media print{
  body.public-shell{background:#fff!important}.public-shell .meet-site-header,.public-shell .meet-site-footer,.public-shell .meet-mobile-dock,.public-shell .no-print{display:none!important}.public-shell .receipt-print-wrap{width:100%;padding:0}.public-shell .receipt-card{border:0!important;box-shadow:none!important}
}
