/* 905 hub theme for Bookings (Easy!Appointments 1.6), injected by the add-on gateway (/srv/addon-gateway).
   Colours, font and shapes copied from the hub (assistant static/home.css). The app's code is untouched. */
:root,[data-bs-theme=light]{
 --bs-primary:var(--hb);--bs-primary-rgb:224,3,3;--bs-primary-text-emphasis:var(--hbd);--bs-primary-bg-subtle:var(--hbs);--bs-primary-border-subtle:#fbb4b4;
 --bs-link-color:var(--hb);--bs-link-color-rgb:224,3,3;--bs-link-hover-color:var(--hbd);--bs-link-hover-color-rgb:184,2,2;
 --bs-body-font-family:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--bs-body-color:#1e293b;--bs-body-color-rgb:30,41,59;
 --bs-emphasis-color:#1e293b;--bs-secondary-color:#475569;--bs-tertiary-color:#94a3b8;--bs-heading-color:#1e293b;
 --bs-border-color:#e2e8f0;--bs-border-radius:10px;--bs-border-radius-sm:8px;--bs-border-radius-lg:16px;--bs-border-radius-xl:16px;
 --bs-focus-ring-color:rgb(var(--hbr) / .25);--bs-dark:#1e293b;--bs-dark-rgb:30,41,59;--bs-secondary-bg:#f1f5f9;--bs-tertiary-bg:#f6f7f9;
 --bs-box-shadow-sm:0 10px 30px rgba(15,23,42,.06)}
html body{background:#f6f7f9 !important;color:#1e293b;font-family:var(--bs-body-font-family)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Manrope","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1e293b}
::selection{background:rgb(var(--hbr) / .18)}
/* buttons: hub shapes and colours */
.btn{background-image:none;--bs-btn-border-radius:10px;--bs-btn-font-weight:700;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-sm,.btn-group-sm>.btn{min-height:36px;--bs-btn-border-radius:8px}
.btn-primary,#book-appointment-wizard .btn-dark{--bs-btn-color:#fff;--bs-btn-bg:var(--hb);--bs-btn-border-color:var(--hb);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--hbd);--bs-btn-hover-border-color:var(--hbd);
 --bs-btn-focus-shadow-rgb:224,3,3;--bs-btn-active-color:#fff;--bs-btn-active-bg:var(--hbd);--bs-btn-active-border-color:var(--hbd);--bs-btn-disabled-color:#94a3b8;--bs-btn-disabled-bg:#e2e8f0;--bs-btn-disabled-border-color:#e2e8f0;--bs-btn-disabled-opacity:1}
html body .btn-primary,html body #book-appointment-wizard .btn-dark{background:var(--bs-btn-bg);border:1px solid var(--bs-btn-border-color);box-shadow:none}
html body .btn-primary:hover,html body #book-appointment-wizard .btn-dark:hover{background:var(--bs-btn-hover-bg);box-shadow:none}
html body .btn-primary:active,html body .btn-primary.active{background:var(--bs-btn-active-bg)}
html body .btn-primary:disabled,html body .btn-primary.disabled{background:var(--bs-btn-disabled-bg);color:var(--bs-btn-disabled-color)}
.btn-outline-primary{--bs-btn-color:var(--hb);--bs-btn-border-color:var(--hb);--bs-btn-hover-color:var(--hb);--bs-btn-hover-bg:var(--hbs);--bs-btn-hover-border-color:var(--hb);--bs-btn-active-color:#fff;--bs-btn-active-bg:var(--hb);--bs-btn-active-border-color:var(--hb);--bs-btn-disabled-color:var(--hb);--bs-btn-disabled-border-color:var(--hb)}
.btn-outline-secondary,.btn-light{--bs-btn-color:#1e293b;--bs-btn-bg:#fff;--bs-btn-border-color:#e2e8f0;--bs-btn-hover-color:#1e293b;--bs-btn-hover-bg:#f1f5f9;--bs-btn-hover-border-color:#cbd5e1;--bs-btn-active-bg:#e2e8f0;--bs-btn-active-color:#1e293b;--bs-btn-active-border-color:#cbd5e1}
.btn-danger{--bs-btn-bg:#7f1d1d;--bs-btn-border-color:#7f1d1d;--bs-btn-hover-bg:var(--hbx);--bs-btn-hover-border-color:var(--hbx);--bs-btn-active-bg:var(--hbx);--bs-btn-active-border-color:var(--hbx)}
/* forms */
.form-control,.form-select{border-color:#cbd5e1 !important;border-radius:10px;color:#1e293b;min-height:44px}
textarea.form-control{min-height:88px}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--hb);box-shadow:0 0 0 3px rgb(var(--hbr) / .18)}
.form-check-input:checked,.form-check-input[type=checkbox]:indeterminate{background-color:var(--hb);border-color:var(--hb)}
.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23E00303'/%3e%3c/svg%3e")}
.form-range::-webkit-slider-thumb{background-color:var(--hb)}.form-range::-moz-range-thumb{background-color:var(--hb)}
.input-group-text{background:#fff !important;border-color:#cbd5e1 !important;border-radius:10px;color:#475569}
.input-group>.form-control:focus{z-index:5}
.form-label,label{color:#1e293b}
/* other Bootstrap parts that had the green baked in */
.dropdown-menu{--bs-dropdown-link-active-bg:var(--hb);--bs-dropdown-border-radius:12px;--bs-dropdown-border-color:#e2e8f0}
.nav-pills{--bs-nav-pills-link-active-bg:var(--hb);--bs-nav-pills-border-radius:8px}
.navbar{--bs-navbar-active-color:var(--hb);--bs-navbar-brand-color:var(--hb);--bs-navbar-brand-hover-color:var(--hb)}
.pagination{--bs-pagination-active-bg:var(--hb);--bs-pagination-active-border-color:var(--hb);--bs-pagination-color:var(--hb);--bs-pagination-hover-color:var(--hbd)}
.progress,.progress-stacked{--bs-progress-bar-bg:var(--hb)}
.list-group{--bs-list-group-active-bg:var(--hb);--bs-list-group-active-border-color:var(--hb)}
.card{--bs-card-border-color:#e2e8f0;--bs-card-border-radius:16px;--bs-card-inner-border-radius:15px}
.modal{--bs-modal-border-radius:16px}
.badge.bg-secondary{background:#f1f5f9 !important;color:#475569 !important}
.text-primary{color:var(--hb) !important}
.text-muted{color:#475569 !important}
/* swap the Easy!Appointments mark for the 905 logo (only the default logo; a logo set in the app's settings is kept) */
img[src*="assets/img/logo.png"]{content:url(/__hub/logo.webp);width:auto !important;height:44px !important;max-width:100%;object-fit:contain;box-shadow:none !important;border-radius:0}

/* ---- booking page (customers) ---- */
#book-appointment-wizard{border:1px solid #e2e8f0}
@media (min-width:768px){#book-appointment-wizard{border-radius:16px !important}}
#book-appointment-wizard #header.bg-primary{background:#fff !important;border-bottom:1px solid #e2e8f0}
#book-appointment-wizard #company-name{color:#1e293b !important}
#book-appointment-wizard #company-name > span:first-of-type{display:none}
#book-appointment-wizard #company-logo{height:48px !important;max-height:48px !important}
#book-appointment-wizard .display-booking-selection{color:#475569 !important;font-size:14px}
#book-appointment-wizard .book-step:not(.active-step){background:#f1f5f9 !important}
#book-appointment-wizard .book-step:not(.active-step) strong{color:#94a3b8 !important}
#book-appointment-wizard .book-step.active-step{background:var(--hb) !important;border-radius:12px !important}
#book-appointment-wizard .book-step.active-step strong{color:#fff !important}
#book-appointment-wizard .frame-title{color:#1e293b !important;font-weight:800 !important;font-size:26px}
#book-appointment-wizard #available-hours .available-hour{border-radius:10px;border-color:#e2e8f0;color:#1e293b;min-height:44px}
#book-appointment-wizard #available-hours .available-hour:hover{border-color:var(--hb);background:var(--hbs)}
#book-appointment-wizard .flatpickr-calendar{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}
#book-appointment-wizard .flatpickr-calendar .flatpickr-months{border-radius:0}
.flatpickr-calendar .flatpickr-day.today{border-color:var(--hb)}
.flatpickr-calendar .flatpickr-day:hover:not(.flatpickr-disabled){background:var(--hbs);border-color:var(--hbs)}
/* footer: keep the required credit, quiet */
#frame-footer{background:#fff}
#frame-footer .footer-powered-by,#frame-footer .footer-powered-by a{color:#64748b !important;font-size:11px}
#frame-footer #select-language{background:#f1f5f9 !important;color:#475569 !important;border-radius:8px}
#frame-footer .backend-link{background:#fff !important;color:var(--hb) !important;border:1px solid var(--hb);border-radius:8px}
#frame-footer .backend-link:hover{background:var(--hbs) !important}

/* ---- sign-in page ---- */
.card .card-footer{background:#fff;border-top-color:#e2e8f0}
.card .card-footer small,.card .card-footer a{color:#64748b !important;font-size:11px}
.card .card-body h4.text-primary{color:#1e293b !important;font-weight:800}
.card .card-body img[src*="assets/img/logo.png"]{height:52px !important}

/* ---- staff area (calendar, customers, settings) ---- */
#header.navbar.bg-primary{background:#fff !important;border-bottom:1px solid #e2e8f0;--bs-navbar-color:#475569;--bs-navbar-hover-color:#1e293b;--bs-navbar-active-color:var(--hb);
 --bs-navbar-toggler-border-color:#e2e8f0;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231e293b' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
#header #header-logo{display:flex;align-items:center;padding:8px 14px !important}
#header #header-logo h6,#header #header-logo small{display:none !important}
#header #header-logo img{height:36px !important;width:auto !important;margin:0 !important}
html body #header #header-menu .nav-link{color:#475569 !important;font-weight:600;border-radius:8px}
html body #header #header-menu .nav-item:hover{background:#f1f5f9}
html body #header #header-menu .nav-item.active{background:var(--hbs);border-radius:8px}
html body #header #header-menu .nav-item.active .nav-link,html body #header #header-menu .nav-link:hover,html body #header #header-menu .nav-link:focus,html body #header #header-menu .show>.nav-link{color:var(--hb) !important}
body .modal-header{background:#fff;border-bottom:1px solid #e2e8f0}
body .modal .modal-title,body .modal-header h3{color:#1e293b;font-weight:800}
body .modal-header .btn-close{filter:none}
#footer{color:#64748b;background:#fff !important}
#footer a{color:#64748b}
#footer img{display:none}
#footer #select-language{background:#f1f5f9 !important;color:#475569}
#footer #footer-user-display-name{color:#475569}
.form-control:focus,.form-select:focus{border-color:var(--hb) !important}
@media (min-width:768px){#book-appointment-wizard #company-name{display:flex !important;align-items:center;gap:6px;flex-wrap:wrap}}
