:where(:root),:where(:host){--vaadin-app-layout-drawer-width: 256px}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section='navbar']){--vaadin-app-layout-navbar-padding-top: var(--aura-app-layout-inset);--vaadin-app-layout-navbar-padding-inline-start: var(--aura-app-layout-inset);--vaadin-app-layout-navbar-padding-inline-end: var(--aura-app-layout-inset);--vaadin-app-layout-navbar-padding-bottom: 0px;transition: padding-bottom var(--vaadin-app-layout-transition-duration),padding-inline-start var(--vaadin-app-layout-transition-duration),padding-inline-end var(--vaadin-app-layout-transition-duration)}vaadin-app-layout.jmix-main-view-app-layout[drawer-opened]:not([primary-section='navbar']){--vaadin-app-layout-navbar-padding-inline-start: 0px}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section='navbar'])::part(navbar){transition: inset-inline-start var(--vaadin-app-layout-transition-duration),padding var(--vaadin-app-layout-transition-duration)}vaadin-app-layout.jmix-main-view-app-layout[has-navbar]:not([primary-section='navbar'])>:nth-child(1 of :not([slot]):not(jmix-timer)):nth-last-child(1 of :not([slot]):not(jmix-timer)){border-top-width: 0;border-start-start-radius: 0;border-start-end-radius: 0}vaadin-app-layout.jmix-main-view-app-layout[has-navbar][has-drawer][drawer-opened]:not([overlay]):not([primary-section='navbar'])>:nth-child(1 of :not([slot]):not(jmix-timer)):nth-last-child(1 of :not([slot]):not(jmix-timer)){border-start-start-radius: 0}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section='navbar']) .jmix-main-view-header{background: linear-gradient(var(--aura-surface-color),var(--aura-surface-color)),var(--aura-app-background);background-clip: padding-box;background-origin: border-box;border: var(--aura-app-layout-border-width) solid var(--vaadin-border-color-secondary);border-top-width: min(var(--aura-app-layout-inset),var(--aura-app-layout-border-width));border-inline-width: min(var(--aura-app-layout-inset),var(--aura-app-layout-border-width));border-bottom-width: 1px;border-start-start-radius: var(--_app-layout-radius);border-start-end-radius: var(--_app-layout-radius);padding: var(--vaadin-padding-s) var(--vaadin-padding-m)}vaadin-app-layout.jmix-main-view-app-layout:not([primary-section='navbar'])::part(navbar-bottom){border-top: 1px solid var(--vaadin-border-color-secondary)}vaadin-app-layout.jmix-main-view-app-layout[has-drawer][drawer-opened]:not([overlay]):not([primary-section='navbar'])>.jmix-main-view-header{border-inline-start-width: var(--aura-app-layout-border-width)}.jmix-main-view-header{display: flex;align-items: center;width: 100%;box-sizing: border-box;gap: var(--vaadin-gap-m)}.jmix-main-view-title{font-size: var(--aura-font-size-xl)}.jmix-main-view-section{display: flex;flex-direction: column;align-items: stretch;max-height: 100%;min-height: 100%}.jmix-main-view-application-title{display: flex;align-items: center;margin: 0;padding: var(--vaadin-padding-m);font-size: var(--aura-font-size-l)}.jmix-main-view-application-title-base-link{color: var(--vaadin-text-color);text-decoration: none}.jmix-main-view-navigation{display: flex;flex-direction: column;flex-grow: 1;overflow: auto}.jmix-main-view-footer{display: flex;align-items: center;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m);padding-bottom: max(0px,var(--aura-app-layout-inset) - var(--vaadin-padding-m));border-top: 1px solid var(--vaadin-border-color-secondary)}.jmix-main-view-footer .jmix-user-indicator{flex-grow: 1}.jmix-main-view-user-menu{margin-inline-start: auto}.user-menu-button-content,.user-menu-header-content{display: grid;grid-template: "avatar text" "avatar subtext";grid-template-columns: auto 1fr;column-gap: var(--vaadin-gap-s);width: max-content;box-sizing: border-box;color: var(--vaadin-text-color);padding: var(--vaadin-padding-xs) var(--vaadin-padding-s)}.user-menu-header-content{width: 100%;padding-inline-end: var(--vaadin-padding-l)}.user-menu-button-content>.user-menu-avatar,.user-menu-header-content>.user-menu-avatar{grid-area: avatar;align-self: center}.user-menu-button-content>.user-menu-text{grid-row: text / subtext}.jmix-main-view-user-menu[theme~='substituted'] .user-menu-button-content>.user-menu-text{grid-row: text}.user-menu-header-content>.user-menu-text{grid-area: text;color: var(--vaadin-text-color);font-weight: 700;font-size: var(--aura-font-size-m)}.user-menu-header-content>.user-menu-text-subtext{grid-row: text / subtext}.user-menu-button-content>.user-menu-text,.user-menu-header-content>.user-menu-text{align-self: center;text-align: start;width: 100%;overflow: hidden;text-overflow: ellipsis}.user-menu-button-content>.user-menu-subtext,.user-menu-header-content>.user-menu-subtext{grid-area: subtext;align-self: center;text-align: start;color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-xs);width: 100%;overflow: hidden;text-overflow: ellipsis}.jmix-main-view-user-menu:not([theme~='substituted']) .user-menu-button-content>.user-menu-subtext{display: none}.jmix-initial-layout{width: 100%;height: 100%;align-items: center;justify-content: center;container-type: inline-size;container-name: jmix-initial-layout}.jmix-initial-layout-content{display: flex;justify-content: center;width: 100%;max-width: 50rem;padding: var(--vaadin-padding-xl);box-sizing: border-box}.jmix-initial-layout-logo{width: min(28rem,80vw);height: auto}.book-a-drive-header-mark{width: 2.25rem;height: 2.25rem;object-fit: contain}.jmix-main-view-navigation>.jmix-menu-filter-field{margin: var(--vaadin-padding-s) var(--vaadin-padding-m)}.jmix-main-view-navigation>.jmix-search-field{display: flex;margin: auto var(--vaadin-padding-m) var(--vaadin-padding-s) var(--vaadin-padding-m)}.jmix-main-view-header>.jmix-search-field{margin-inline-start: auto;margin-inline-end: var(--vaadin-padding-m)}.jmix-main-view-top-menu-app-layout{--vaadin-app-layout-navbar-padding-bottom: 0px}vaadin-app-layout.jmix-main-view-top-menu-app-layout::part(navbar){min-height: 0;border-bottom: 0}.jmix-main-view-top-menu-navigation-bar-box{padding: 0;width: 100%}.jmix-main-view-top-menu-view-header-box{width: 100%;border-top: 1px solid var(--vaadin-border-color-secondary)}.jmix-main-view-top-menu-navigation{display: flex;flex-grow: 1;overflow: auto}.jmix-main-view-top-menu-header{display: flex;align-items: center;width: 100%;box-sizing: border-box;gap: var(--vaadin-gap-m)}.jmix-main-view-top-menu-logo-container{display: flex;margin: 0 var(--vaadin-padding-m)}.jmix-main-view-top-menu-logo{--logo-size: round(var(--aura-base-size) * 2.5 * 1px,1px);width: var(--logo-size);height: var(--logo-size)}.jmix-main-view-top-menu-user-box{align-self: flex-end;align-items: center;margin: 0 var(--vaadin-padding-m);max-width: 20em}.jmix-main-view-top-menu-view-title{font-size: var(--aura-font-size-xl);margin: var(--vaadin-padding-s) var(--vaadin-padding-m)}.jmix-login-main-layout{min-height: 100dvh;height: auto;padding: 4rem 2rem;box-sizing: border-box;justify-content: center;align-items: center;background: #f3f8fc;color: #091321}.login-card{width: min(1240px,100%);min-height: 700px;flex-shrink: 0;border: 1px solid white;border-radius: 22px;overflow: hidden;box-shadow: 0 18px 45px #25496b1c;background: white;align-items: stretch}.login-brand-panel{position: relative;width: 47%;flex-shrink: 0;padding: 70px 54px 330px;box-sizing: border-box;background: #e8f4ff url('../../../public/images/login-road.svg') center bottom / 100% auto no-repeat}.book-a-drive-login-logo{width: 190px;height: auto;margin-bottom: 40px}.login-brand-headline,.login-brand-accent{margin: 0;font-size: clamp(32px,3.2vw,48px);font-weight: 800;line-height: 1.18;letter-spacing: -1.8px}.login-brand-accent{color: #269526;margin-top: 6px}.login-form-panel{position: relative;flex: 1;min-width: 0;padding: 120px 80px 58px;box-sizing: border-box}.login-welcome{font-size: 40px;font-weight: 800;letter-spacing: -1.4px;margin: 0 0 4px}.login-subtitle{font-size: 20px;color: #727e90;margin-bottom: 24px}.login-school-code{width: 100%}.login-form-panel jmix-login-form{width: 100%;max-width: none}.login-form-panel jmix-login-form::part(form){width: 100%;max-width: none;padding: 0;background: transparent;border: 0;box-shadow: none;box-sizing: border-box}.login-form-panel vaadin-login-form-wrapper::part(form){padding: 0;background: transparent;border: 0;box-shadow: none}.login-form-panel jmix-login-form::part(form-title){display: none}.login-form-panel vaadin-text-field,.login-form-panel vaadin-password-field{padding-top: 20px}.login-form-panel vaadin-text-field::part(input-field),.login-form-panel vaadin-password-field::part(input-field),.login-form-panel vaadin-select::part(input-field){min-height: 46px;border: 1px solid #cfd6e2;border-radius: 8px;background: white;box-shadow: none}.login-form-panel vaadin-text-field::part(label),.login-form-panel vaadin-password-field::part(label){color: #152238;font-weight: 600}.login-form-panel vaadin-text-field::part(helper-text){color: #7b8699;font-size: 12px;line-height: 1.5}.login-form-panel .jmix-login-form-additional-fields-container{padding-top: 20px}.login-form-panel .jmix-login-form-locales-select{position: absolute;top: 20px;right: 20px;width: 145px}.login-form-panel vaadin-button[slot='submit']{min-height: 48px;margin-top: 20px;border-radius: 8px;background: #2868ff;color: white;font-size: 18px}@media (max-width: 1000px){.login-brand-panel{padding-left: 32px;padding-right: 24px}.login-form-panel{padding-left: 40px;padding-right: 40px}}@media (max-width: 700px){.jmix-login-main-layout{padding: 20px 14px}.login-card{flex-direction: column;min-height: 0}.login-brand-panel{width: 100% !important;padding: 26px 28px;background-image: none}.book-a-drive-login-logo{width: 130px;margin-bottom: 18px}.login-brand-headline,.login-brand-accent{font-size: 30px;letter-spacing: -1px}.login-form-panel{width: 100% !important;padding: 82px 28px 32px}.login-welcome{font-size: 34px}.login-subtitle{font-size: 18px}}.drivebook-calendar{background: #ffffff;color: #102044;border-radius: 16px;padding: 24px}.drivebook-calendar h2{color: #091d43;font-weight: 700}.drivebook-calendar vaadin-button[theme~="primary"]{background: #0866e8;color: white}.drivebook-calendar .calendar-toolbar{box-sizing: border-box;gap: 0.75rem;margin: 1rem 0;padding: 0.85rem 1rem;border: 1px solid #dce7f6;border-radius: 14px;background: #f7faff}.drivebook-calendar .calendar-toolbar-row{align-items: center;justify-content: space-between;gap: 0.75rem}.drivebook-calendar .calendar-toolbar-controls{padding-top: 0.75rem;border-top: 1px solid #e1eaf7}.drivebook-calendar .calendar-navigation-buttons,.drivebook-calendar .calendar-toolbar-actions{align-items: center;gap: 0.5rem}.drivebook-calendar .calendar-toolbar-actions{margin-left: auto}.drivebook-calendar .calendar-date-range{display: inline-flex;align-items: center;min-height: 2.25rem;padding: 0.25rem 0.9rem;border: 1px solid #bdd7fa;border-radius: 10px;background: #eaf3ff;color: #123c73;font-weight: 700;letter-spacing: 0.01em}.drivebook-calendar .calendar-instructor-filter{width: 220px;max-width: 100%}.drivebook-calendar .calendar-view-switch{align-items: center;gap: 0.15rem;padding: 0.2rem;border: 1px solid #d5e3f5;border-radius: 11px;background: #eaf1fb}.drivebook-calendar vaadin-button.calendar-mode-button{min-width: 3.5rem;border: 0;border-radius: 8px;background: transparent;box-shadow: none;color: #28517c;font-weight: 600}.drivebook-calendar vaadin-button.calendar-mode-button:hover{background: #dbe9fb}.drivebook-calendar vaadin-button.calendar-mode-button.calendar-mode-active,.drivebook-calendar vaadin-button.calendar-mode-button.calendar-mode-active:hover{background: #0866e8;color: #ffffff;box-shadow: 0 2px 7px rgba(8,102,232,0.24)}@media (max-width: 680px){.drivebook-calendar .calendar-toolbar-actions{justify-content: flex-start;margin-left: 0}.drivebook-calendar .calendar-instructor-filter{width: 100%}}.jmix-main-view-app-layout::part(drawer){background: #102136;color: #e9f1ff}.jmix-main-view-navigation{background: #102136;color: #e9f1ff}.jmix-main-view-navigation a,.jmix-main-view-navigation button{color: #e9f1ff}.jmix-main-view-application-title{color: #0b2446;font-weight: 750}.jmix-main-view-app-layout .jmix-menu-item,.jmix-main-view-app-layout .jmix-menu-item .link-text{color: #e9f1ff}.jmix-menu-item:hover{background: #1a3657}.jmix-menu-item[aria-current="page"]{background: #0866e8;color: #ffffff}.jmix-main-view-app-layout .jmix-main-view-navigation a.jmix-menu-item{color: #e9f1ff}.jmix-main-view-app-layout .jmix-main-view-navigation a.jmix-menu-item[highlight]{color: #ffffff;background: #0866e8}.jmix-main-view-navigation .jmix-menubar-item::part(summary){color: #e9f1ff}.jmix-main-view-navigation vaadin-details-summary,.jmix-main-view-navigation .menubar-summary{color: #e9f1ff}.school-onboarding{overflow: auto;min-width: 0}.school-onboarding>vaadin-horizontal-layout{flex-wrap: wrap;align-items: end;width: 100%}.school-onboarding vaadin-text-field,.school-onboarding vaadin-combo-box{max-width: 100%}.school-onboarding>vaadin-grid{flex-shrink: 0}.school-onboarding>span{overflow-wrap: anywhere}.school-dashboard{background: #f7faff;color: #102044;padding: 20px;border-radius: 16px}.school-dashboard .dashboard-content{gap: 24px;box-sizing: border-box;padding: 22px 4px}.school-dashboard h2,.school-dashboard h3{margin: 0;color: #091d43;letter-spacing: -0.025em}.school-dashboard h2{font-size: 28px;line-height: 1.25}.school-dashboard h3{font-size: 21px}.school-dashboard .dashboard-muted{color: #60718c;font-size: 14px;line-height: 1.55}.school-dashboard .dashboard-header>vaadin-vertical-layout{width: auto;flex: 1;min-width: 0}.school-dashboard .dashboard-header>vaadin-horizontal-layout{width: auto;flex-shrink: 0}.school-dashboard .dashboard-header{justify-content: space-between;align-items: center;gap: 16px;flex-wrap: wrap}.school-dashboard .dashboard-stats{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 16px;width: 100%}.school-dashboard .dashboard-stat{background: #fff;border: 1px solid #dce7f6;border-radius: 12px;padding: 20px;gap: 8px;min-width: 0;box-sizing: border-box}.school-dashboard .dashboard-stat-title{color: #28517c;font-size: 14px;font-weight: 600}.school-dashboard .dashboard-status{font-weight: 650;font-size: 16px;display: flex;align-items: center;gap: 8px}.school-dashboard .dashboard-status::before{content: '';width: 9px;height: 9px;border-radius: 50%;background: currentColor;flex-shrink: 0}.school-dashboard .dashboard-status-ready{color: #247343}.school-dashboard .dashboard-status-attention{color: #a96608}.school-dashboard .dashboard-stat-number{font-size: 24px;font-weight: 700;color: #123c73}.school-dashboard .dashboard-columns{display: grid;grid-template-columns: minmax(0,1.6fr) minmax(340px,1fr);gap: 20px;width: 100%;align-items: start}.school-dashboard .dashboard-panel{box-sizing: border-box;width: 100%;border: 1px solid #dce7f6;border-radius: 14px;background: #fff;padding: 24px;gap: 14px;min-width: 0}.school-dashboard .dashboard-sidebar{gap: 16px;min-width: 0;width: 100%}.school-dashboard .dashboard-shortcuts{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px;width: 100%;margin-top: 12px}.school-dashboard vaadin-button.dashboard-shortcut{width: 100%;height: auto;min-height: 108px;margin: 0;padding: 20px 16px;border: 1px solid #dce7f6;border-radius: 12px;background: #fff;color: #102044;box-shadow: none;text-align: left;white-space: normal;transition: border-color .15s,background .15s}.school-dashboard vaadin-button.dashboard-shortcut::part(label){width: 100%}.school-dashboard vaadin-button.dashboard-shortcut::after{content: "›";color: #60718c;font-size: 26px;margin-left: 8px}.school-dashboard vaadin-button.dashboard-shortcut:hover{background: #f4f8ff;border-color: #89b6f5}.school-dashboard vaadin-button.dashboard-shortcut:focus-visible{outline: 3px solid #89b6f5;outline-offset: 2px}.school-dashboard .dashboard-shortcut vaadin-icon,.school-dashboard .dashboard-shortcut jmix-font-icon{background: #eaf3ff;color: #0866e8;border-radius: 10px;padding: 12px;width: 22px;height: 22px;box-sizing: content-box;margin-right: 12px}.school-dashboard .dashboard-shortcut-text{display: flex;flex-direction: column;gap: 6px}.school-dashboard .dashboard-shortcut-title{font-size: 16px;font-weight: 650}.school-dashboard .dashboard-shortcut-description{font-size: 13px;font-weight: 400;color: #60718c;line-height: 1.5}.school-dashboard .dashboard-shortcut[disabled]{opacity: .55}.school-dashboard .dashboard-link-row{align-items: end;gap: 8px;min-width: 0}.school-dashboard .dashboard-link-row vaadin-text-field{min-width: 0;flex: 1}.school-dashboard .dashboard-copy{width: 40px;min-width: 40px;height: 36px;padding: 8px;margin-bottom: 2px}.school-dashboard .dashboard-copy::part(label){display: none}.school-dashboard .dashboard-portal-link{display: inline-flex;align-items: center;padding: 10px 16px;border: 1px solid #89b6f5;border-radius: 8px;color: #0866e8;font-weight: 600;font-size: 14px;text-decoration: none;background: #fff}.school-dashboard .dashboard-portal-link:hover{background: #eaf3ff;text-decoration: underline}.school-dashboard .dashboard-payment-notice{background: #fff8e9;border: 1px solid #f3d89f;color: #885407;border-radius: 8px;padding: 12px;font-size: 13px;line-height: 1.5;box-sizing: border-box;width: 100%}.school-dashboard .dashboard-stripe-actions,.school-dashboard .dashboard-publication,.school-dashboard .dashboard-staff>vaadin-horizontal-layout{flex-wrap: wrap;gap: 8px;width: 100%}.school-dashboard .dashboard-stripe-actions{font-size: 13px}.school-dashboard .dashboard-publication{border-top: 1px solid #e1eaf7;padding-top: 16px}.school-dashboard #publish{background: #0866e8;color: #fff}.school-dashboard #unpublish{color: #b32638;border: 1px solid #e6a4ad;background: #fff}.school-dashboard .dashboard-result{overflow-wrap: anywhere}@media (max-width: 1150px){.school-dashboard .dashboard-columns{grid-template-columns: minmax(0,1fr)}.school-dashboard .dashboard-stats{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.school-dashboard{padding: 10px}.school-dashboard .dashboard-content{gap: 16px;padding: 16px 0}.school-dashboard h2{font-size: 23px}.school-dashboard .dashboard-header{flex-direction: column;align-items: start}.school-dashboard .dashboard-header>vaadin-vertical-layout{width: 100%}.school-dashboard .dashboard-stat{padding: 14px}.school-dashboard .dashboard-stats{gap: 10px}.school-dashboard .dashboard-panel{padding: 16px}.school-dashboard .dashboard-shortcuts{grid-template-columns: minmax(0,1fr);gap: 12px}.school-dashboard .dashboard-shortcut{min-height: 90px}.school-dashboard .dashboard-link-row{flex-wrap: wrap}.school-dashboard .dashboard-copy{max-width: none}}