.booking-kind {
    grid-template-columns: auto minmax(0, 1fr) !important;
}

.booking-kind > span {
    color: #a37d47;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
}

.booking-kind > button {
    width: 100%;
}

.booking-place.is-fixed {
    cursor: default;
    background: #fcfaf7;
}

.booking-place.is-fixed > strong {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #efe1cc;
    color: #8f672f;
    font-size: 11px;
}
/* Student dashboard: preserve the brand hero and use live account cards. */
#app-screen[data-role="student"][data-page="home"] .app-head{display:none!important}
.passenger-dashboard{gap:16px;padding-bottom:12px}
.student-focus-card,.student-schedule-card,.student-plan-card{margin:0 14px;background:#fff;border:1px solid #e9e3da;border-radius:22px;color:#22242a}
.student-focus-card{position:relative;z-index:3;margin-top:-36px;padding:20px;box-shadow:0 12px 28px #3023180c}
.student-focus-card header,.student-schedule-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.student-focus-card h3,.student-schedule-card h3,.student-plan-card h3{margin:0;font-size:14px;font-weight:800}
.student-focus-card .passenger-status{font-size:9px;max-width:55%;line-height:1.7}
.home-muted-tag{font-size:10px;color:#777;background:#f4f3ef;padding:5px 9px;border-radius:20px}
.home-departure{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 16px;border-bottom:1px solid #f0ece5}
.home-departure small,.home-route small{display:block;color:#87847d;font-size:10px;margin-bottom:5px}
.home-departure strong{font-size:30px;line-height:1.5;letter-spacing:-1px}
.home-departure>span{font-size:11px;color:#777;max-width:45%;line-height:1.8}
.home-route{display:grid;gap:20px;padding:20px 0}
.home-route>div{display:flex;align-items:center;gap:13px;position:relative}
.home-route i{width:10px;height:10px;flex:none;border:2px solid #b5915a;border-radius:50%}
.home-route>div:last-child i{background:#b5915a}
.home-route>div:first-child:after{content:'';position:absolute;right:5px;top:30px;height:26px;border-right:1px dashed #d4c5af}
.home-route b{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.home-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:10px;border:0;border-radius:13px;background:#d6b88a;color:#1c1914;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer}
.home-primary .app-icon{width:18px;height:18px}
.student-schedule-card{padding:18px 18px 8px}
.student-schedule-card header{padding-bottom:12px;border-bottom:1px solid #f0ece5}
.student-schedule-card header small{display:block;font-size:9px;color:#9b8059;margin-bottom:5px}
.student-schedule-card header>span{max-width:45%;font-size:10px;color:#827b70;line-height:1.8}
.home-leg{display:flex;align-items:center;gap:12px;width:100%;padding:15px 0;border:0;border-bottom:1px solid #f0ece5;background:transparent;color:inherit;font-family:inherit;text-align:right;cursor:pointer}
.home-leg>i,.student-plan-card>i{display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:12px;background:#f7f3ed;color:#a48453}
.home-leg .app-icon,.student-plan-card .app-icon{width:18px;height:18px}
.home-leg b{display:block;font-size:12px}.home-leg small{display:block;font-size:10px;color:#817d74;margin-top:4px}.home-leg time{margin-inline-start:auto;font-size:16px;font-weight:800;white-space:nowrap}
.home-text-action{display:block;width:100%;padding:14px 0 6px;border:0;background:transparent;color:#96703e;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}
.student-plan-card{display:flex;align-items:center;gap:10px;padding:17px 14px}.student-plan-card>div{flex:1;min-width:0}.student-plan-card h3{font-size:12px}.student-plan-card p{font-size:9px;color:#837c71;line-height:1.9;margin:6px 0 0}.student-plan-card button{border:0;background:none;color:#957240;font-family:inherit;font-size:10px;font-weight:800;white-space:nowrap;padding:8px 0;cursor:pointer}
.home-no-trip{text-align:center;padding:25px 0 20px}.home-no-trip>i{color:#b28f5b}.home-no-trip .app-icon{width:30px;height:30px}.home-no-trip h4{font-size:17px;margin:12px 0 8px}.home-no-trip p,.home-schedule-empty{font-size:12px;line-height:1.9;color:#827e76}.home-schedule-empty{padding:10px 0;text-align:center}
@media(max-width:360px){.student-focus-card{padding:16px}.home-departure strong{font-size:26px}.student-plan-card{flex-wrap:wrap}.student-plan-card p{font-size:10px}}

/* Cards slide over the stationary brand background. */
#app-screen[data-role="student"][data-page="home"]{position:fixed;inset:0;height:100vh;height:100dvh;min-height:0!important;padding-bottom:0!important;overflow:hidden}
#app-screen[data-role="student"][data-page="home"] #content{height:100%;padding-bottom:0;box-sizing:border-box;animation:none}
#app-screen[data-role="student"][data-page="home"] .passenger-dashboard{position:relative;height:100%;min-height:0;display:block;padding-bottom:0;--home-hero-height:245px}
.passenger-dashboard>.booking-brand-hero{position:absolute;inset:0 0 auto;min-height:var(--home-hero-height);box-sizing:border-box}
.student-home-scroll{position:absolute;inset:0;z-index:3;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-top:calc(var(--home-hero-height) - 36px);box-sizing:border-box;scroll-padding-bottom:92px;scrollbar-width:none}
.student-home-scroll::-webkit-scrollbar{display:none}
.student-home-sheet{display:flex;flex-direction:column;gap:16px;min-height:100vh;min-height:100dvh;box-sizing:border-box;padding:0 0 calc(112px + env(safe-area-inset-bottom));background:var(--canvas,#faf9f7);border-radius:24px 24px 0 0}
.student-home-sheet>section{flex:none}
.student-home-sheet>.student-focus-card{margin-top:0}
.student-home-scroll:focus-visible{outline:2px solid #b5915a;outline-offset:-2px}
@media(max-width:360px){#app-screen[data-role="student"][data-page="home"] .passenger-dashboard{--home-hero-height:225px}}
@media(max-height:500px) and (orientation:landscape){#app-screen[data-role="student"][data-page="home"] .passenger-dashboard{--home-hero-height:150px}.passenger-dashboard>.booking-brand-hero{padding-top:8px;padding-bottom:30px}.passenger-dashboard .booking-brand-copy{padding-top:0}.passenger-dashboard .booking-brand-copy img{height:43px}.passenger-dashboard .booking-brand-copy h2{font-size:18px}}
/* My trips: route summary, date selector and individual journey tickets. */
#app-screen[data-role="student"][data-page="trips"] .app-head{display:none!important}
#app-screen[data-role="student"][data-page="trips"] #content{padding-top:0!important}
.student-journeys{margin-inline:-14px;padding-bottom:16px}
.journeys-hero{background:linear-gradient(135deg,#111215,#29221b);color:#fff;padding:28px 22px 26px;border-radius:0 0 26px 26px}
.journeys-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.journeys-title small{font-size:10px;color:#d6b88a}.journeys-title h2{font-size:25px;margin:6px 0 0}.journeys-title>span{padding:7px 12px;border:1px solid #d6b88a40;border-radius:20px;color:#e2c79f;font-size:10px}
.journeys-hero-route{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:10px;align-items:center}.journeys-hero-route>div:last-child{text-align:left}.journeys-hero-route small{display:block;color:#b8aa97;font-size:10px;margin-bottom:7px}.journeys-hero-route b{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.journeys-hero-route>i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#d6b88a18;color:#d6b88a}.journeys-hero-route .app-icon{width:23px;height:23px}.journeys-hero-note{font-size:12px;color:#c8bba8;margin:0}
.journey-date-strip{display:flex;gap:9px;overflow-x:auto;padding:19px 14px 14px;scrollbar-width:none}.journey-date-strip::-webkit-scrollbar{display:none}.journey-date-strip button{flex:0 0 103px;min-height:70px;padding:11px 8px;border:1px solid #e8e1d6;border-radius:14px;background:#fff;color:#6b6256;font-family:inherit;cursor:pointer}.journey-date-strip small{display:block;font-size:10px;margin-bottom:8px}.journey-date-strip b{font-size:12px;white-space:nowrap}.journey-date-strip button.is-selected{background:#d6b88a;border-color:#d6b88a;color:#181818;box-shadow:0 5px 12px #b9976220}.journey-date-strip button:focus-visible{outline:2px solid #a07b40;outline-offset:2px}
.journeys-day-label{display:flex;align-items:center;justify-content:space-between;margin:7px 20px 15px}.journeys-day-label h3{font-size:14px;margin:0}.journeys-day-label>span{font-size:10px;color:#8a8072}
.journey-results{display:grid;gap:17px;margin:0 14px}.journey-ticket{overflow:hidden;border:1px solid #e9e3d9;border-radius:20px;background:#fff;box-shadow:0 6px 17px #27211908}.journey-ticket>header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:13px 14px;border-bottom:1px solid #f2eee8}.journey-direction{display:flex;align-items:center;gap:6px;color:#967344;font-size:10px;font-weight:800}.journey-direction .app-icon{width:15px;height:15px}.journey-ticket .passenger-status{font-size:8px!important;max-width:58%;line-height:1.6}
.journey-ticket-route{display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:7px;padding:21px 12px 18px;text-align:center;align-items:start}.journey-place>small{display:block;font-size:9px;color:#8a8277}.journey-place h3{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:12px;line-height:1.9;margin:6px 0 10px;overflow-wrap:anywhere}.journey-place time{display:block;color:#9e7841;font-size:18px;font-weight:800;line-height:28px;white-space:nowrap}.journey-place>small:last-child{margin-top:5px;font-size:8px}.journey-destination-icon{display:grid;place-items:center;height:28px;color:#a98857}.journey-destination-icon .app-icon{width:20px;height:20px}
.journey-connector{display:flex;flex-direction:column;align-items:center;gap:13px}.journey-connector>small{font-size:8px;color:#847b6e;white-space:nowrap}.journey-connector>i{color:#282725}.journey-connector .app-icon{width:25px;height:25px}.journey-line{position:relative;width:55px;height:2px;background:#d6b88a;margin:1px 0}.journey-line:before,.journey-line:after{content:'';position:absolute;top:-4px;width:10px;height:10px;border:2px solid #b89560;border-radius:50%;box-sizing:border-box}.journey-line:before{right:0;background:#b89560}.journey-line:after{left:0;background:#fff}.journey-connector>b{font-size:9px;color:#95826a;font-weight:500}
.journey-ticket footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 14px;padding:12px 0;border-top:1px dashed #e8dfd0}.journey-ticket footer>span{font-size:9px;color:#8b8174}.journey-ticket footer button,.journey-empty button,.journey-load-more{border:0;border-radius:9px;padding:10px 12px;background:#f5eee3;color:#896432;font-family:inherit;font-size:10px;font-weight:800;cursor:pointer}.journey-ticket footer button span{margin-inline-start:7px}.journey-empty{text-align:center;padding:35px 20px;background:#fff;border:1px solid #e9e3d9;border-radius:20px}.journey-empty>i{color:#b89560}.journey-empty h3{font-size:15px;margin:14px 0 8px}.journey-empty p{font-size:11px;color:#8b8174;line-height:1.8}.journey-load-more{display:block;margin:18px auto}.journey-load-more:disabled{opacity:.6}
@media(max-width:360px){.journey-ticket-route{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);padding-inline:9px}.journey-place h3{font-size:11px}.journey-place time{font-size:16px}.journeys-hero-route b{font-size:12px}}
/* Give the trips heading room below the phone status bar. */
.journeys-hero{padding:calc(max(28px, env(safe-area-inset-top, 0px)) + 24px) 22px 28px}
.journeys-title{align-items:center;margin-bottom:20px;gap:16px}
.journeys-title small{display:block;line-height:1.8}
.journeys-title h2{margin-top:7px;line-height:1.4}
.journeys-title>span{flex:none;line-height:1.8}
.journeys-hero-note{line-height:1.9}
.journey-date-strip{padding-top:20px;padding-bottom:17px}
.journeys-day-label{gap:12px;margin-top:5px;margin-bottom:17px;align-items:center}
.journeys-day-label>span{line-height:1.8;text-align:left}
.journey-empty>i{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;border-radius:14px;background:#f6f0e6}
.journey-empty>i .app-icon{width:24px;height:24px}
.journey-empty{padding:28px 18px}
.journey-empty h3{line-height:1.8;margin:0 0 8px}
.journey-empty p{margin:0 0 16px}
/* Keep the navigation stationary and avoid extra document scrolling. */
#app-screen[data-role="student"][data-page="trips"]{position:fixed;inset:0;height:100vh;height:100dvh;min-height:0!important;padding-bottom:0!important;overflow:hidden}
#app-screen[data-role="student"][data-page="trips"] #content{height:100%;min-height:0;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding-bottom:calc(88px + env(safe-area-inset-bottom));animation:none}
#app-screen[data-role="student"][data-page="trips"] .student-journeys{padding-bottom:0}
.journey-date-strip{overscroll-behavior-x:contain}
.subscription-stepper{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}
.subscription-stepper button{min-width:0;padding-inline:2px!important}.subscription-stepper button span{font-size:9px!important}
.subscription-vehicles{display:grid;gap:13px}.vehicle-slot{border:1px solid #e7ddce;border-radius:15px;padding:12px;background:#fff}.vehicle-slot>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.vehicle-slot header b{display:block;font-size:11px;line-height:1.8}.vehicle-slot header small{display:block;font-size:9px;color:#86765f;line-height:1.7}.vehicle-slot time{color:#99713b;font-size:12px;font-weight:800;white-space:nowrap}.vehicle-choice{display:flex;align-items:center;gap:9px;width:100%;padding:12px 9px;margin-top:8px;border:1px solid #e9e0d4;border-radius:12px;background:#faf9f7;color:#222;font-family:inherit;text-align:right;cursor:pointer}.vehicle-choice.selected{border-color:#af8851;background:#f4eadb;box-shadow:0 0 0 1px #af8851}.vehicle-choice>i{color:#a8834c;flex:none}.vehicle-choice .app-icon{width:24px;height:24px}.vehicle-choice>span{flex:1;min-width:0}.vehicle-choice span b{display:block;font-size:10px;line-height:1.9;overflow-wrap:anywhere}.vehicle-choice span small{display:block;font-size:8px;color:#857863;margin-top:4px;line-height:1.8}.vehicle-choice>strong{font-size:17px;text-align:center;color:#846131;flex:none}.vehicle-choice strong small{display:block;font-size:7px;font-weight:500;margin-top:3px}.vehicle-unavailable{font-size:11px;line-height:1.9;color:#9b512c;background:#fff5ed;border-radius:10px;padding:12px}.vehicle-review{margin:10px 0;padding:9px 12px;border:1px solid #e8ddcd;border-radius:13px}.vehicle-review p{display:flex;justify-content:space-between;gap:9px;font-size:9px;line-height:1.9;margin:7px 0}.vehicle-review b{color:#98733e}

.profile-basic-details{grid-column:1/-1;min-width:0}.profile-basic-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:3px 0;color:#1a1b1d}.profile-basic-details>summary::-webkit-details-marker{display:none}.profile-basic-details>summary b{display:block;font-size:13px}.profile-basic-details>summary small{display:block;margin-top:5px;font-size:10px;color:#857863}.profile-details-arrow{font-size:23px;color:#a8834c;transition:transform .2s}.profile-basic-details[open] .profile-details-arrow{transform:rotate(180deg)}.profile-basic-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;border-top:1px solid #e9e0d4;padding-top:14px}.profile-basic-fields .profile-location-fields,.profile-basic-fields .profile-save{grid-column:1/-1}@media(max-width:700px){.profile-basic-fields{grid-template-columns:1fr}}

/* Keep mobile navigation labels proportional to their icons. */
@media(max-width:700px){
#bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0!important;padding:6px 3px!important;font-size:10px!important;line-height:1.45!important;font-weight:500;letter-spacing:0;white-space:normal}
#bottom-nav button.active{font-weight:700}
#bottom-nav button>i{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;margin:0!important;font-size:22px!important;line-height:1;transform:none!important}
#bottom-nav button>i .app-icon{width:22px!important;height:22px!important}
#app-screen[data-role=supervisor] #bottom-nav button{font-size:9px!important}
#bottom-nav .nav-notification-badge{min-width:15px;height:15px;font-size:8px;top:-5px;right:-7px}
}
.profile-privacy-links{display:grid;gap:0;margin:16px 0;border:1px solid #e7dfd1;border-radius:12px;background:#fff;overflow:hidden}.profile-privacy-links a,.profile-privacy-links button{display:block;padding:14px;text-align:right;font-family:inherit;font-size:12px;background:transparent;border:0;color:#705b3c;text-decoration:none;cursor:pointer}.profile-privacy-links>*+*{border-top:1px solid #eee7dc}.profile-privacy-links button{color:#a63535}
