/* Responsive layout. Shared appearance is in minimal.css. */
.ombc-shell{max-width:1120px;margin:34px auto;padding:0 14px}
.ombc-shell *{box-sizing:border-box}
.ombc-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.ombc-auth-info,.ombc-auth-card,.ombc-card,.ombc-portal-head{border:1px solid #e2e2e2;border-radius:8px}
.ombc-auth-info{padding:34px}
.ombc-auth-card{padding:26px}
.ombc-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.12em}
.ombc-auth-info h2,.ombc-auth-card h3,.ombc-card h3,.ombc-portal-head h2{margin:14px 0 8px!important;letter-spacing:-.02em}
.ombc-auth-info h2{font-size:38px!important;line-height:1.08!important}
.ombc-auth-info>p,.ombc-intro,.ombc-portal-head p,.ombc-card p{line-height:1.65}
.ombc-benefits{display:grid;gap:10px;margin-top:24px}
.ombc-benefits>div{display:flex;gap:13px;padding:14px;border:1px solid #e2e2e2;border-radius:8px}
.ombc-benefits b{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px}
.ombc-benefits span{display:flex;flex-direction:column;gap:3px}
.ombc-benefits small{line-height:1.45}
.ombc-auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:8px;padding:5px;margin-bottom:20px}
.ombc-auth-tabs a{text-align:center;padding:11px;border-radius:8px;text-decoration:none!important;font-weight:600}
.ombc-alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-size:14px}
.ombc-alert.success{border:1px solid #e2e2e2}
.ombc-alert.error{border:1px solid #e2e2e2}
.ombc-form{display:flex;flex-direction:column;gap:14px}
.ombc-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.ombc-form input{width:100%;min-height:50px;border:1px solid #e2e2e2;border-radius:8px;padding:12px 14px;font:inherit}
.ombc-form input:focus{border-color:#e2e2e2}
.ombc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ombc-password{position:relative}
.ombc-password input{padding-right:82px}
.ombc-password button{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:64px;height:36px;border:0;border-radius:8px;font-weight:600;cursor:pointer}
.ombc-form label small{font-weight:500}
.ombc-form-row{display:flex;justify-content:space-between;align-items:center;gap:14px}
.ombc-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}
.ombc-check input{width:18px!important;height:18px!important;min-height:0!important;padding:0!important}
.ombc-form-row a{font-size:13px;font-weight:600}
.ombc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:8px;padding:12px 18px;text-decoration:none!important;font-weight:600;cursor:pointer}
.ombc-btn-small{min-height:42px;padding:9px 14px;font-size:13px}
.ombc-verify-card{max-width:620px;margin:80px auto;padding:34px;border:1px solid #e2e2e2;border-radius:8px}
.ombc-portal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px}
.ombc-signout{text-decoration:none!important;border:1px solid #e2e2e2;padding:10px 14px;border-radius:999px;font-weight:600}
.ombc-tabs{display:flex;gap:8px;overflow:auto;padding:14px 0}
.ombc-tabs a{white-space:nowrap;padding:10px 15px;border:1px solid #e2e2e2;text-decoration:none!important;border-radius:999px;font-weight:600}
.ombc-main{min-width:0}
.ombc-main>#omb-booking{margin-top:8px}
.ombc-card{padding:24px}
.ombc-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.ombc-appointments{display:grid;gap:10px}
.ombc-appt{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e2e2e2;border-radius:8px}
.ombc-appt-date{width:58px;height:58px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 58px}
.ombc-appt-date strong{font-size:21px}
.ombc-appt-date span{font-size:11px;text-transform:uppercase}
.ombc-appt-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.ombc-appt-main span{font-size:13px}
.ombc-appt-side{margin-left:auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ombc-status{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:600}
.ombc-empty{padding:22px;text-align:center;border:1px dashed #e2e2e2;border-radius:8px}
.ombc-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.ombc-account-grid>div{padding:15px;border-radius:8px;display:flex;flex-direction:column;gap:4px}
.ombc-account-grid span{font-size:12px}
.ombc-note{margin-top:16px}
.omb-client-account-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border:1px solid #e2e2e2;border-radius:8px}
.omb-client-account-strip a{font-weight:600;text-decoration:none!important}
@media (max-width:780px){
.ombc-auth-grid{grid-template-columns:1fr}
.ombc-grid,.ombc-account-grid{grid-template-columns:1fr}
.ombc-auth-info,.ombc-auth-card,.ombc-card{padding:20px}
.ombc-auth-info h2{font-size:30px!important}
.ombc-portal-head,.ombc-section-head{align-items:flex-start;flex-direction:column}
.ombc-appt{align-items:flex-start}
.ombc-appt-side{margin-left:0;align-items:flex-start}
.ombc-form-row{align-items:flex-start;flex-direction:column}
.omb-client-account-strip{align-items:flex-start;flex-direction:column}
}
.ombc-main .omb-client-account-strip{display:none}
.ombc-appt-detailed{display:block!important;padding:18px!important}
.ombc-appt-top{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center}
.ombc-treatment-details{margin-top:14px;border-top:1px solid #e2e2e2;padding-top:12px}
.ombc-treatment-details>summary{cursor:pointer;font-size:13px;font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}
.ombc-treatment-details>summary::-webkit-details-marker{display:none}
.ombc-treatment-details>summary::after{content:"+";font-size:16px}
.ombc-treatment-details[open]>summary::after{content:"−"}
.ombc-treatment-detail-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.ombc-treatment-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 13px;border:1px solid #e2e2e2;border-radius:8px}
.ombc-treatment-detail>div{display:flex;gap:8px;align-items:center}
.ombc-treatment-detail>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}
.ombc-treatment-detail span{font-size:12px}
.ombc-treatment-detail p{grid-column:1/-1;margin:3px 0 0;font-size:13px;line-height:1.5}
.ombc-appt-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #e2e2e2}
.ombc-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:8px;text-decoration:none!important;font-size:12px;font-weight:600}
.ombc-action.danger{border:1px solid #e2e2e2}
.ombc-action-note{font-size:12px;font-weight:600}
.ombc-policy{font-size:11px}
.ombc-policy.cancelled{display:block;margin-top:12px;padding:10px 12px;border-radius:8px}
@media (max-width:700px){
.ombc-appt-top{grid-template-columns:52px minmax(0,1fr)}
.ombc-appt-side{grid-column:1/-1;margin-left:66px;align-items:flex-start!important}
.ombc-treatment-detail{grid-template-columns:1fr}
.ombc-treatment-detail>div:last-of-type{justify-content:space-between}
.ombc-appt-actions{align-items:stretch;flex-direction:column}
.ombc-action{width:100%}
.ombc-policy,.ombc-action-note{width:100%;line-height:1.45}
}
.ombc-shell{width:min(1180px,calc(100% - 20px));min-width:0}
.ombc-shell *{min-width:0}
.ombc-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ombc-tabs::-webkit-scrollbar{display:none}
.ombc-card,.ombc-auth-card,.ombc-auth-info,.ombc-portal-head{max-width:100%}
.ombc-form input,.ombc-form select,.ombc-form button{max-width:100%}
@media (max-width:1024px){
.ombc-shell{width:100%;padding:0 16px}
.ombc-auth-grid{grid-template-columns:.95fr 1.05fr;gap:18px}
.ombc-auth-info{padding:28px}
.ombc-auth-card{padding:24px}
.ombc-portal-head{padding:24px}
}
@media (max-width:820px){
.ombc-auth-grid{grid-template-columns:1fr}
.ombc-auth-info{padding:24px}
.ombc-auth-card{padding:22px}
.ombc-auth-info h2{font-size:32px!important}
.ombc-portal-head{align-items:flex-start;flex-direction:column}
.ombc-tabs{margin:0 -2px;padding:12px 2px;gap:7px}
.ombc-tabs a{min-height:42px;display:inline-flex;align-items:center}
.ombc-appt-top{grid-template-columns:54px minmax(0,1fr)}
.ombc-appt-side{grid-column:1/-1;margin-left:68px;align-items:flex-start;text-align:left}
}
@media (max-width:620px){
.ombc-shell{padding:0 9px;margin:18px auto 28px}
.ombc-auth-info,.ombc-auth-card,.ombc-card{padding:17px;border-radius:8px}
.ombc-auth-info h2{font-size:27px!important}
.ombc-grid,.ombc-account-grid{grid-template-columns:1fr}
.ombc-form-row{align-items:flex-start;flex-direction:column;gap:9px}
.ombc-form input{font-size:16px}
.ombc-password button{width:58px;height:34px}
.ombc-portal-head{padding:19px;border-radius:8px}
.ombc-portal-head h2{font-size:25px!important}
.ombc-signout{min-height:40px;display:inline-flex;align-items:center}
.ombc-appt-detailed{padding:14px!important}
.ombc-appt-top{grid-template-columns:48px minmax(0,1fr);gap:10px}
.ombc-appt-date{width:48px;height:48px;flex-basis:48px}
.ombc-appt-date strong{font-size:18px}
.ombc-appt-side{margin-left:58px}
.ombc-treatment-detail{grid-template-columns:1fr}
.ombc-treatment-detail>div:last-of-type{justify-content:space-between}
.ombc-appt-actions{flex-direction:column;align-items:stretch}
.ombc-action{width:100%;min-height:42px}
.omb-client-account-strip{align-items:flex-start;flex-direction:column;padding:11px 12px}
}
@media (max-width:390px){
.ombc-shell{padding:0 7px}
.ombc-auth-info,.ombc-auth-card,.ombc-card{padding:15px}
.ombc-auth-tabs a{padding:10px 7px;font-size:13px}
.ombc-appt-side{margin-left:0;grid-column:1/-1}
}
