/* Shared mobile controls; page themes retain their own colors. */
:root{--mobile-bar-height:70px}*{box-sizing:border-box}body{overflow-wrap:anywhere}input,select,textarea{font-size:16px!important;max-width:100%}button,.button,[role="button"],summary{min-height:44px}button,.button{white-space:normal}button:disabled{cursor:wait}img,iframe,video{max-width:100%}fieldset{min-width:0}main,.main-content,.panel,.card,.row>*{min-width:0}.mobile-nav{display:none}.mobile-only{display:none}.step-progress{display:flex;gap:8px;list-style:none;padding:0;margin:20px 0}.step-progress li{flex:1;padding:8px;border-bottom:3px solid #dbe7e0;color:#5c746d}.step-progress [aria-current="step"]{border-color:#12645b;color:#12645b;font-weight:bold}.booking-summary{margin:20px 0}.booking-summary dt{font-weight:bold}.booking-summary dd{margin:0 0 12px}.focused-detail[hidden]{display:none!important}.detail-back{margin-bottom:16px}.provider-card{background:white;border:1px solid #d8e2e7;border-radius:12px;padding:18px;margin:12px 0}.provider-actions{display:flex;gap:8px;flex-wrap:wrap}.provider-notice{white-space:pre-line;color:#a1371d}.provider-date-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.provider-date-controls input{flex:1;min-width:130px}.provider-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.provider-tabs [aria-selected="true"]{background:#0277bd;color:white}.settings-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.settings-links a{padding:10px;color:#0277bd}.settings-group{margin-bottom:24px}body.provider-page{--theme:#0277bd}body.provider-page input,body.provider-page textarea{user-select:text}body.provider-page button{font:inherit;min-height:44px;border-radius:8px;padding:10px 14px;cursor:pointer}body.provider-page .settings-panel{max-width:100%}body.provider-page #settingsView{max-width:800px}body.provider-page .setting-group select,body.provider-page #settingsView input,body.provider-page #settingsView textarea,body.provider-page #settingsView select{width:100%;padding:10px;border:1px solid #bdcbd3;border-radius:8px}body.provider-page #settingsView input[type="checkbox"]{width:auto}body.provider-page .nav-item{min-height:44px}body.provider-page .main-content{min-width:0}body.provider-page .sidebar{overflow-y:auto}body.provider-page .header h1{overflow-wrap:anywhere}body.provider-page #requestsView{max-width:1000px}body.provider-page #providerBookingDetails{background:white;border-radius:12px;padding:18px}body.provider-page .agenda-card button{margin:4px}body.provider-page .time-input-group{flex-wrap:wrap}body.provider-page .time-box-input{flex:1;min-width:90px}body.provider-page .tabs{flex-shrink:0}body.provider-page .schedule-header{flex-wrap:wrap;gap:12px}body.provider-page #scheduleView{padding:16px}body.provider-page #scheduleView .calendar-body{padding:0}body.provider-page #dayHoursSection{margin:16px 0}body.provider-page .form-modal{box-sizing:border-box}body.provider-page .panel,body.provider-page .card{margin-bottom:16px;padding:16px;border:1px solid #d8e2e7;border-radius:12px;background:white}body.provider-page .actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}body.provider-page .secondary{background:#e9f4fa;color:#0277bd}body.provider-page .danger{background:#a1371d;color:white}body.provider-page .notice{background:#e9f4fa;padding:12px;border-radius:8px;white-space:pre-line}
body.provider-page #requestsView label{display:block;margin:12px 0 6px;font-weight:bold}body.provider-page #requestsView input,body.provider-page #requestsView textarea,body.provider-page #requestsView select{display:block;width:100%;padding:10px;border:1px solid #bdcbd3;border-radius:8px;font:inherit}body.provider-page #requestsView textarea{min-height:110px}
@media(max-width:700px){
 body.has-mobile-nav{padding-bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom) + 12px)}
 .mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:white;border-top:1px solid #dbe7e0;z-index:900;min-height:var(--mobile-bar-height);padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px}
 .mobile-nav a,.mobile-nav button{flex:1;min-width:0;min-height:52px;text-align:center;display:flex;align-items:center;justify-content:center;padding:8px 2px;text-decoration:none;color:var(--theme,#12645b);background:transparent;border:0;font-size:15px;border-radius:8px}
 .mobile-nav [aria-current="page"]{background:#eaf2ed;font-weight:800}.provider-page .mobile-nav [aria-current="page"]{background:#e1f5fe}
 body.mobile-input-active .mobile-nav{display:none}.mobile-only{display:block}.desktop-only{display:none!important}
 main{margin:20px auto;padding:0 16px}.grid{grid-template-columns:minmax(0,1fr)}.row{flex-direction:column}.row>*{min-width:0;width:100%}.card,.panel{padding:16px}.actions>*{flex:1;min-width:120px}header{padding:12px 16px;gap:12px}header nav{gap:8px;font-size:14px}header nav a{display:inline-flex;align-items:center;min-height:44px}.has-mobile-nav header nav>a[href="DeepReal_main.html"],.has-mobile-nav header nav>a[href="DeepReal_customer_panel.html"],.has-mobile-nav header nav>a[href="DeepReal_account.html"]{display:none}h2{font-size:21px}.hero{padding:12px 0}.step-progress{font-size:14px}.step-progress li{padding:6px 2px}td,th{padding:6px;font-size:14px}table{table-layout:fixed}.tabs{gap:6px}.tabs button{padding:10px;flex:1}input[type="checkbox"],input[type="radio"]{width:auto}.dev-banner{position:static!important}summary{padding:10px 0}
 body.provider-page{display:block;height:auto;min-height:100dvh;user-select:auto}.provider-page .sidebar{display:none}.provider-page .main-content{padding:16px;overflow:visible}.provider-page .header{margin-bottom:16px}.provider-page .header h1{font-size:24px}.provider-page .settings-panel{padding:16px;width:100%;max-width:100%}.provider-page #scheduleView{padding:12px}.provider-page .calendar-body{display:block;overflow-x:auto;max-width:100%;padding:0}.provider-page .schedule-header{display:flex;padding:8px 0}.provider-page .month-control{width:100%;gap:8px}.provider-page #calendarTitle{flex:1;font-size:16px!important}.provider-page .tabs{gap:0}.provider-page .tab{min-width:52px;min-height:44px;padding:10px 16px}.provider-page .day-grid{grid-template-columns:52px minmax(0,1fr)}.provider-page .modal-overlay{align-items:flex-start;padding:12px 8px;overflow-y:auto}.provider-page .form-modal{width:100%;max-width:100%;max-height:calc(100dvh - 24px);padding:16px}.provider-page .hours-grid{grid-template-columns:1fr}.provider-page .hours-table{table-layout:fixed}.provider-page .hours-table td,.provider-page .hours-table th{min-width:0}.provider-page .provider-actions>*{flex:1;min-width:100px}.provider-page .simple-day-head select{width:100%!important}.provider-page .hours-range input[type="time"]{width:110px!important}.provider-page .form-actions{flex-wrap:wrap}.provider-page .form-actions button{flex:1}.provider-page .tag-label,.provider-page .week-days label{min-height:44px;display:inline-flex;align-items:center}.provider-page .provider-tabs button{flex:1;min-width:70px;padding:10px 6px}.provider-page .settings-links a{min-height:44px}
}

/* Password controls keep the same input dimensions in either visibility state. */
.password-field{display:flex;align-items:stretch;gap:8px;min-width:0}.password-field input{flex:1;width:0!important;min-width:0;font:inherit;padding:12px;border:1px solid #adc4b9;border-radius:8px;box-sizing:border-box}.password-toggle{flex:none;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #adc4b9;border-radius:8px;background:#eaf2ed;color:#12645b;font:inherit;cursor:pointer}

.provider-page .header{flex-wrap:wrap;gap:12px}.provider-home{font-size:22px;font-weight:700;text-decoration:none;color:#246d99}.provider-page .header h1{margin:0;flex:1;min-width:120px}.end-of-day-label{display:flex!important;align-items:center;gap:6px;min-height:44px;font-size:14px;flex-basis:100%}.end-of-day-label input[type="checkbox"]{width:22px!important;min-width:22px;height:22px;min-height:22px}.hours-range{flex-wrap:wrap}.settings-session{display:flex;justify-content:flex-end;margin-bottom:12px}

.external-check{display:flex;align-items:flex-start;gap:8px}.external-check input[type="checkbox"]{width:20px;min-width:20px;height:20px;flex:none}.external-controls form{margin:12px 0}

.booking-thread{margin:20px 0;padding:16px;border:1px solid #cfded8;border-radius:12px}.thread-message{padding:12px 0;border-bottom:1px solid #dce5e1;overflow-wrap:anywhere}.thread-message strong{font-size:.9rem}.thread-form textarea,.thread-unsent textarea{display:block;width:100%;box-sizing:border-box}.thread-form button,.thread-refresh,.thread-older{margin-top:12px}.booking-contacts p,.thread-notice{overflow-wrap:anywhere}
.provider-photo{width:96px;height:96px;object-fit:cover;border-radius:50%;display:block;margin:12px 0}
.provider-photo-placeholder{display:flex;align-items:center;justify-content:center;background:#eaf2ed;font-size:48px}
.provider-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
#providerAvatarEditor canvas{display:block;width:min(100%,280px);height:auto;border-radius:8px;touch-action:pan-y}
#providerAvatarEditor input[type=range]{width:100%;max-width:360px}
.unread-badge{background:#fff0b8;color:#684500;margin:4px 6px;font-weight:700}

/* Static support contact remains available without page JavaScript. */
.support-footer{box-sizing:border-box;max-width:100%;margin:24px 0 0;padding:16px 12px;text-align:center;font-size:14px;line-height:1.6;color:#5c746d;user-select:text}.support-footer p{margin:0}.support-footer a{display:inline-block;max-width:100%;min-height:44px;padding:10px 0;color:#12645b;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.support-footer a:focus-visible{outline:3px solid #e4ac40;outline-offset:3px}
