*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 0,#59329a,transparent 70%),#101d3e;color:#f7f8ff;font:15px/1.5 Arial,sans-serif;min-height:100dvh}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible{outline:3px solid #ffe5a0;outline-offset:3px}[hidden]{display:none!important}.ct-shell{max-width:600px;margin:auto;padding:22px 16px}.ct-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.ct-person{display:flex;align-items:center;gap:12px;min-width:0}.ct-person>div{min-width:0}.ct-photo{width:54px;height:54px;object-fit:cover;border-radius:19px;border:2px solid #ffe6ac;flex-shrink:0}.ct-avatar{display:grid;place-items:center;background:#edbf65;color:#172647;font-size:25px;font-weight:bold}.ct-kicker{font-size:9px;letter-spacing:1.5px;color:#f4d793;margin:0 0 5px}h1{font-size:22px;line-height:1.2;margin:0;overflow-wrap:anywhere}h2{font-size:20px;margin:24px 0 16px}.ct-signout,.ct-outline{border:1px solid #ffffff40;background:#ffffff0a;color:#fff;padding:10px 12px;border-radius:12px;min-height:44px}.ct-signout{font-size:12px;white-space:nowrap}.ct-journey,.ct-panel{background:#ffffff0b;border:1px solid #ffffff24;padding:20px;border-radius:24px}.ct-journey-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.ct-journey-meta strong{font-size:22px;color:#ffe2a0}.ct-journey-meta span{font-size:14px}label{display:block;font-size:12px;color:#c4cee6;margin-top:16px}input,select{display:block;width:100%;min-width:0;min-height:48px;padding:12px;margin:6px 0 0;background:#122649;color:white;border:1px solid #8e9eb650;border-radius:12px;font-size:16px;color-scheme:dark}.ct-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ct-card{border:1px solid #ffffff40;border-radius:24px;text-align:left;padding:20px 16px;min-height:205px;color:white;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 24px #0002}.ct-boarding{background:linear-gradient(145deg,#159ca3,#096b8c)}.ct-payments{background:linear-gradient(145deg,#aa50ce,#663caf)}.ct-card strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.ct-card small{font-size:11px;color:#fff;opacity:.85}.ct-card-icon{width:46px;height:46px;background:#ffffff26;border:1px solid #ffffff40;border-radius:15px;display:grid;place-items:center;font-weight:bold;font-size:24px}.ct-payments .ct-card-icon{font-size:20px}.ct-list-heading{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.ct-progress{background:#ffffff0d;border:1px solid #ffffff22;border-radius:16px;padding:14px;margin-bottom:16px}.ct-progress.is-complete{color:#b7ffe6;background:#15785b55;border-color:#59d5ac}.ct-passenger{background:#f6f8ff;color:#182b4d;border:1px solid #dce3f0;border-radius:18px;padding:14px;display:grid;grid-template-columns:45px minmax(0,1fr) 62px;align-items:center;gap:12px;margin-bottom:10px}.ct-seat{font-weight:bold;font-size:20px;background:#e6eaff;border-radius:12px;min-height:46px;display:grid;place-items:center}.ct-passenger-name{font-weight:bold;overflow-wrap:anywhere}.ct-phone{font-size:13px;color:#67728a}.ct-ok{min-height:48px;border:0;border-radius:12px;background:#197dcc;color:white;font-weight:bold}.ct-passenger.is-boarded .ct-ok{background:#0b7a59;font-size:12px}.ct-error{color:#ffdfeb;background:#7b244a;border-radius:12px;padding:14px}.ct-primary{width:100%;padding:14px;margin-top:22px;min-height:48px;background:linear-gradient(120deg,#ffe1a0,#d1a257);color:#172647;border:0;border-radius:14px;font-weight:bold}.ct-logo{width:100%;max-width:320px;margin-bottom:24px}.ct-login{margin-top:7vh}footer{text-align:center;font-size:9px;color:#9daecc;letter-spacing:1.5px;margin:30px 0 12px}@media(max-width:350px){.ct-shell{padding:18px 12px}.ct-card{padding:16px 12px;min-height:195px}.ct-card strong{font-size:16px}.ct-passenger{gap:8px;padding:12px;grid-template-columns:38px minmax(0,1fr) 60px}.ct-photo{width:46px;height:46px}.ct-kicker{font-size:8px}h1{font-size:19px}.ct-journey{padding:16px}}
#ct-pin{cursor:pointer}#ct-login-submit:disabled,#ct-pin-done:disabled{opacity:.5}#ct-pin-dialog{width:360px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:26px 20px 20px;border:1px solid #d6b875;border-radius:24px;background:#fff;color:#172647;box-shadow:0 24px 70px #0008}#ct-pin-dialog::backdrop{background:#08132bbd;backdrop-filter:blur(6px)}#ct-pin-dialog h2{font-size:22px;line-height:1.25;margin:12px 20px 16px 0}#ct-pin-dialog .ct-kicker{color:#74528c}#ct-pin-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#edf0f9;color:#172647;font-size:25px}#ct-pin-dots{text-align:center;font-size:32px;letter-spacing:10px;margin-bottom:18px;color:#43358e}.ct-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ct-keypad button{min-height:54px;border:1px solid #dce3f2;border-radius:14px;background:#f0f3ff;color:#283a75;font-size:24px;font-weight:bold}.ct-keypad button[data-pin-key=Clear],.ct-keypad button[data-pin-key=Delete]{font-size:14px;background:#f6ecfa;color:#823f87}.ct-keypad button:active{background:#d5e3ff}#ct-pin-done{margin-top:16px}
.ct-overview{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;margin:16px 0 20px;border:1px solid #ffe49c;border-radius:16px;background:linear-gradient(110deg,#ffe698,#e4b347);color:#15264a;font-size:18px;font-weight:700;text-align:center}.ct-card{min-height:0;padding:12px 14px 14px;gap:7px;border-radius:21px}.ct-card-art{width:100%;height:63px;object-fit:contain;display:block}.ct-card strong{font-size:17px}.ct-card small{font-size:11px}.ct-passenger{grid-template-columns:40px minmax(0,1fr) 52px 64px;gap:10px;padding:14px 12px;background:#28385f;border-color:#6174ab;color:#fff;min-height:78px}.ct-passenger:nth-child(even){background:#393064;border-color:#8370b6}.ct-seat{background:#ffffff17;color:#fff;font-size:20px;min-height:44px}.ct-passenger-name,.ct-phone{font-size:20px;font-weight:700;line-height:1.3;color:#fff}.ct-phone{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center}.ct-ok{background:#258bdd;min-height:48px}.ct-passenger.is-boarded .ct-ok{background:#12896b;border:1px solid #6bd7ae;color:#fff}@media(max-width:350px){.ct-card{min-height:0;padding:10px 12px 12px}.ct-card-art{height:56px}.ct-card strong{font-size:16px}.ct-passenger{grid-template-columns:32px minmax(0,1fr) 46px 52px;gap:7px;padding:12px 9px}.ct-passenger-name,.ct-phone,.ct-seat{font-size:18px}.ct-passenger.is-boarded .ct-ok{font-size:10px}.ct-ok{font-size:15px}.ct-overview{font-size:17px}}
.ct-login-page .ct-shell{width:100%;max-width:470px;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:28px 16px}.ct-login-page .ct-login{margin:0;width:100%;padding:26px}.ct-login-page footer{margin:18px 0 0}.ct-login-page .ct-logo{display:block;max-width:280px;margin:0 auto 22px}.ct-login-page #ct-username{cursor:pointer}#ct-name-dialog{width:520px;max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);overflow:auto;padding:24px 14px 16px;border:1px solid #d6b875;border-radius:22px;background:white;color:#172647;box-shadow:0 24px 70px #0008}#ct-name-dialog::backdrop{background:#08132bbd;backdrop-filter:blur(6px)}#ct-name-dialog .ct-kicker{color:#74528c}#ct-name-dialog h2{font-size:22px;margin:12px 26px 16px 0}.ct-keyboard-close{position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:#edf0f9;color:#172647;font-size:25px}#ct-name-display{min-height:48px;padding:10px 12px;border:1px solid #ccd5ed;background:#f4f6fc;border-radius:12px;margin-bottom:14px;font-size:20px;font-weight:700;overflow-wrap:anywhere}.ct-letter-row{display:flex;justify-content:center;gap:4px;margin:5px 0}.ct-letter-row button{flex:0 1 43px;min-width:0;padding:0;min-height:46px;border:1px solid #d6dff2;border-radius:8px;background:#edf2ff;color:#253d78;font-size:18px;font-weight:700;touch-action:manipulation}.ct-name-actions{display:flex;gap:5px;margin-top:10px}.ct-name-actions button{flex:1;min-width:0;padding:4px 2px;min-height:44px;border:1px solid #e0cde7;border-radius:9px;background:#f5ebfa;color:#723778;font-weight:bold;font-size:12px}.ct-name-actions button[aria-pressed=true]{background:#723778;color:white}#ct-name-dialog .ct-primary{margin-top:14px}#ct-name-done:disabled{opacity:.5}@media(max-height:650px){.ct-login-page .ct-shell{padding:14px 16px}.ct-login-page .ct-login{padding:20px}.ct-login-page .ct-logo{max-width:210px;margin-bottom:14px}.ct-login-page h1{font-size:21px}.ct-login-page label{margin-top:10px}.ct-login-page .ct-primary{margin-top:16px}.ct-login-page footer{margin-top:12px}}@media(max-width:350px){#ct-name-dialog{padding:22px 10px 14px}.ct-letter-row{gap:3px}.ct-letter-row button{font-size:16px}}

#ct-journey{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;padding-right:12px}#ct-back{background:linear-gradient(120deg,#7952bd,#57349c);border-color:#ac8bdf;color:#fff}#ct-refresh{background:linear-gradient(120deg,#159c9b,#087382);border-color:#60ccc6;color:#fff}.ct-overview{gap:12px}.ct-passenger-icon{width:32px;height:32px;flex:0 0 32px;color:#142950}#ct-overview-text{min-width:0}@media(max-width:350px){.ct-overview{gap:8px}.ct-passenger-icon{width:28px;height:28px;flex-basis:28px}}

.ct-passenger.is-female,.ct-passenger.is-female:nth-child(even){background:#672e59;border-color:#bc6da1;color:#fff}.ct-passenger{grid-template-columns:40px minmax(0,1fr) 68px 64px}.ct-phone{display:flex;align-items:center;justify-content:center;gap:4px}.ct-gender-icon{font-size:16px;font-weight:700;line-height:1;color:#dbe8ff}.is-female .ct-gender-icon{color:#ffd0ec}.ct-passenger.is-boarded .ct-ok{background:transparent;border:0;color:#8ff0bc;font-size:28px;box-shadow:none}.ct-passenger.is-boarded .ct-ok:disabled{opacity:1}@media(max-width:350px){.ct-passenger{grid-template-columns:32px minmax(0,1fr) 62px 48px}.ct-phone{gap:3px}.ct-gender-icon{font-size:14px}.ct-passenger.is-boarded .ct-ok{font-size:26px}}
.ct-calls{background:linear-gradient(135deg,#447bc9,#4e45a7)}.ct-call-row{text-decoration:none;cursor:pointer}.ct-call-row:focus-visible{outline:3px solid #ffe3a0;outline-offset:3px}.ct-call-row[aria-disabled=true]{cursor:default;opacity:.65}.ct-call-icon{display:grid;place-items:center;min-height:48px;border:1px solid #d5e3ff55;border-radius:12px;background:#448bd2;color:white;font-size:25px}.ct-call-row.ct-last-called{outline:2px solid #e7ca82;outline-offset:1px}.ct-call-help{font-size:13px;color:#c6d6ef;margin-top:-4px;margin-bottom:18px}
.ct-dial-screen{margin-top:22px;padding:30px 22px;background:linear-gradient(145deg,#343565,#172d4e);border:1px solid #dab76b66;border-radius:26px;text-align:center;box-shadow:0 16px 44px #0003}.ct-dial-avatar{display:grid;place-items:center;width:90px;height:90px;margin:24px auto;border-radius:50%;background:#ffffff12;border:1px solid #ad9de0;color:#f4d898;font-size:45px}.ct-dial-screen h2{font-size:28px;margin:18px 0 10px;overflow-wrap:anywhere}#ct-dial-details{font-size:18px;color:#e6d5f5}.ct-dial-note{font-size:13px;color:#bfcee4;max-width:300px;margin:24px auto}.ct-dial-call{display:flex;align-items:center;justify-content:center;padding:16px 14px;min-height:56px;border:1px solid #8ee2c0;background:linear-gradient(120deg,#169d7b,#087451);border-radius:16px;color:#fff;text-decoration:none;font-weight:700;margin:20px 0 12px}.ct-dial-screen .ct-outline{width:100%}
.ct-call-icon{width:48px;height:48px;min-height:48px;justify-self:end;border-radius:50%;background:linear-gradient(140deg,#1aab81,#087653);border:1px solid #75ddb7;box-shadow:0 4px 12px #001f2733}.ct-call-icon img{display:block;width:24px;height:24px}.ct-dial-active .ct-journey,.ct-dial-active .ct-overview{display:none}.ct-dial-screen{padding:24px 20px;background:radial-gradient(circle at 50% 0,#69479855,transparent 62%),linear-gradient(155deg,#28335b,#102741);border-color:#9981c86b}.ct-dial-avatar{width:82px;height:82px;margin:18px auto;background:linear-gradient(145deg,#6153ac,#3a568f);border:1px solid #bba5e3;box-shadow:0 8px 32px #0002}.ct-dial-avatar img{width:37px;height:37px}.ct-dial-call{gap:12px}.ct-dial-call img{width:22px;height:22px}.ct-dial-screen .ct-dial-note{margin:20px auto}@media(max-height:650px){.ct-dial-screen{margin-top:10px;padding:20px 16px}.ct-dial-avatar{width:64px;height:64px;margin:12px auto}.ct-dial-screen h2{font-size:24px;margin:12px 0 8px}.ct-dial-screen .ct-dial-note{margin:14px auto}.ct-dial-call{margin-top:14px;min-height:52px}}@media(max-width:350px){.ct-call-icon{width:44px;height:44px;min-height:44px}.ct-call-icon img{width:22px;height:22px}}
@media(max-height:650px){.ct-dial-screen{padding:16px}.ct-dial-avatar{width:52px;height:52px;margin:9px auto}.ct-dial-avatar img{width:28px;height:28px}.ct-dial-screen h2{font-size:22px;margin:10px 0 8px}#ct-dial-details{font-size:16px;margin:8px 0}.ct-dial-screen .ct-dial-note{font-size:12px;line-height:1.4;margin:12px auto}.ct-dial-call{min-height:48px;padding:12px;margin:12px 0}.ct-dial-active .ct-header{margin-bottom:12px}}
.ct-confirm-button{display:block;width:100%;min-height:50px;border:1px solid #ffe2a2;border-radius:14px;background:linear-gradient(120deg,#f4d995,#d7ac59);color:#1d2c48;font-size:17px;font-weight:bold;margin:0 0 12px}.ct-confirm-status{color:#ffc7d1;font-weight:bold;font-size:14px;margin:10px 0 16px;overflow-wrap:anywhere}.ct-confirmed-tick{display:inline-block;color:#ff596b;margin-left:6px;font-size:22px;vertical-align:middle;text-shadow:0 1px 1px #341e36}.ct-passenger{grid-template-columns:40px minmax(0,1fr) 76px 64px}.ct-gender-icon{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:22px;line-height:1.2}#ct-pickup-dialog{width:410px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:28px 20px 22px;border:1px solid #dec47d;border-radius:24px;background:linear-gradient(145deg,#28335b,#172d4e);color:#fff;box-shadow:0 24px 70px #0008}#ct-pickup-dialog::backdrop{background:#08132bbd;backdrop-filter:blur(6px)}#ct-pickup-dialog h2{font-size:23px;margin:12px 26px 16px 0}#ct-pickup-dialog .ct-keyboard-close{background:#ffffff15;color:#fff}#ct-pickup-save:disabled{opacity:.5}@media(max-width:350px){.ct-passenger{grid-template-columns:32px minmax(0,1fr) 68px 48px}.ct-gender-icon{font-size:19px}.ct-confirmed-tick{font-size:20px;margin-left:4px}}
.ct-gender-icon{display:inline-block;width:22px;height:26px;flex:0 0 22px;font-size:0;line-height:0;background-size:contain;background-repeat:no-repeat;background-position:center}.ct-gender-icon[aria-label="Female passenger"]{background-image:url('crew-woman.svg')}.ct-gender-icon[aria-label="Male passenger"]{background-image:url('crew-man.svg')}@media(max-width:350px){.ct-gender-icon{width:19px;height:23px;flex-basis:19px;font-size:0}}

#ct-dial-back{background:#861f32;border-color:#c96073;color:#fff}#ct-dial-back:hover{background:#9c2840}

#ct-back{background:#123568;border-color:#557db0;color:#fff}#ct-back:hover{background:#19457e}

.ct-has-pickup{height:78px;min-height:78px}.ct-has-pickup .ct-passenger-name{min-width:0;overflow:hidden;line-height:1.25}.ct-has-pickup .ct-name-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-pickup-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8e6f7;font-size:12px;line-height:16px;font-weight:500;margin-top:3px}.is-female .ct-pickup-line{color:#ffe1f0}@media(max-width:350px){.ct-pickup-line{font-size:11px;line-height:15px;margin-top:2px}}

.ct-has-pickup .ct-name-line{display:flex;align-items:center;gap:0}.ct-has-pickup .ct-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-has-pickup .ct-confirmed-tick{flex-shrink:0}.ct-pickup-line{font-size:13px}@media(max-width:350px){.ct-pickup-line{font-size:12px}}
.ct-bookings{background:linear-gradient(135deg,#af6d32,#84529e)}.ct-future-booking-form{margin-top:22px;padding:20px;background:#ffffff0b;border:1px solid #c0b0df44;border-radius:22px}.ct-booking-options .ct-card{min-height:150px}.ct-card:disabled{opacity:.55}.ct-card.ct-payments:disabled{opacity:1}.ct-login-field{display:block;width:100%;min-height:48px;padding:12px;margin:6px 0 0;background:#122649;color:#9eafca;border:1px solid #8e9eb650;border-radius:12px;font:16px/1.4 Arial,sans-serif;text-align:left;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation}.ct-login-field.has-value{color:#fff}.ct-login-field:focus-visible{outline:2px solid #ffe3a5;outline-offset:3px}

/* Compact mobile home cards; journey panel retains its original dimensions. */
@media(max-width:767px){#ct-home .ct-card{min-height:145px;padding:14px 12px;gap:7px;border-radius:20px}#ct-home .ct-card-art{height:56px}#ct-home .ct-card strong{font-size:16px}#ct-home .ct-card small{font-size:10px}}

.ct-journey-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ct-bus-roots{border:1px solid #d9bc79;border-radius:8px;padding:5px 10px;background:#e9c87a;color:#172647;font-size:11px;font-weight:700;opacity:1;min-height:30px}

.ct-future-booking-form{min-width:0}.ct-future-booking-form input,.ct-future-booking-form select{box-sizing:border-box;max-width:100%;width:100%;min-width:0}.ct-future-dialog{box-sizing:border-box;width:420px;max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);overflow:auto;padding:22px 18px;border:1px solid #d8bf82;border-radius:24px;background:#fff;color:#16294e;box-shadow:0 24px 70px #0008}.ct-future-dialog::backdrop{background:#07152dcc;backdrop-filter:blur(6px)}.ct-future-dialog h2{font-size:23px;margin:0 0 18px}.ct-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.ct-calendar-nav strong{font-size:20px;white-space:nowrap}.ct-future-dialog button{border:0;min-height:42px;border-radius:10px;background:#182e58;color:#fff;font-weight:700;touch-action:manipulation}.ct-calendar-nav button{width:42px;font-size:25px}.ct-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.ct-calendar-grid small{padding:5px 0;color:#6a6581}.ct-calendar-grid button{padding:4px;min-width:0;background:#eef1fa;color:#233b6e}.ct-calendar-grid button:disabled{background:transparent;color:#adb3c0;opacity:1;cursor:default}.ct-future-dialog button:focus-visible{outline:3px solid #b586d7;outline-offset:2px}.ct-future-dialog .ct-future-back{display:block;width:100%;margin-top:18px;background:#edf0f8;color:#263e70}.ct-future-dialog .ct-route-choice{display:block;width:100%;margin:12px 0;padding:16px 10px;background:linear-gradient(110deg,#273e78,#653987);font-size:17px}.ct-future-dialog p{color:#675680;margin:0 0 18px}

@media(max-width:767px){#ct-home .ct-card strong{font-size:clamp(13px,3.6vw,16px);min-height:2.5em;line-height:1.25}}
.cp-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 10px;margin:18px 0;background:linear-gradient(110deg,#ffe698,#e4b347);border-radius:16px;color:#16294b;font-size:11px;text-align:center}.cp-totals strong{display:block;font-size:18px;overflow-wrap:anywhere}.cp-passenger{display:grid;grid-template-columns:38px minmax(0,1fr) 82px;gap:10px;align-items:center;padding:12px 10px;margin-bottom:10px;border:1px solid #677da8;background:#28385f;border-radius:16px}.cp-female{background:#672e59;border-color:#bc6da1}.cp-passenger strong{font-size:18px;overflow-wrap:anywhere}.cp-passenger small{display:block;font-size:11px;line-height:1.5;color:#e5dff5}.cp-passenger button{font-size:12px;padding:8px}.cp-passenger button:disabled{background:#12896b;opacity:1}.cp-passenger .ct-seat{font-size:18px}#cp-dialog input{max-width:100%;box-sizing:border-box;background:#eef1fa;color:#16294b;color-scheme:light}#cp-dialog .ct-primary{background:linear-gradient(110deg,#ffe1a0,#d1a257);color:#172647}

#ct-payments-panel .cp-passenger{grid-template-columns:40px minmax(0,1fr) 52px 76px;gap:8px}#cp-back{background:#123568;border-color:#557db0}#cp-refresh{background:#087382;border-color:#60ccc6}#ct-payments-panel .cp-passenger .ct-phone{font-size:18px}@media(max-width:350px){#ct-payments-panel .cp-passenger{grid-template-columns:30px minmax(0,1fr) 42px 64px;gap:6px}#ct-payments-panel .cp-passenger strong{font-size:16px}#ct-payments-panel .cp-passenger .ct-phone{font-size:16px}}

/* Dashboard cards: larger illustrations and title only. */
#ct-home .ct-card-art{height:68px}#ct-home .ct-card{justify-content:center}@media(max-width:767px){#ct-home .ct-card-art{height:68px}}

#ct-home{margin-top:20px}#ct-home .ct-card{min-height:170px;padding:18px 14px;gap:10px}@media(max-width:767px){#ct-home .ct-card{min-height:170px;padding:18px 14px;gap:10px}}

.cp-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #dce2f0;border-radius:14px;overflow:hidden}.cp-details-grid>div{padding:10px 12px;border-bottom:1px solid #e1e6f0;background:#f5f7fc;min-width:0}.cp-details-grid dt{font-size:11px;color:#63718c}.cp-details-grid dd{margin:3px 0 0;font-size:14px;font-weight:700;color:#213858;overflow-wrap:anywhere}.cp-details-dialog .ct-future-back{min-height:48px;background:#182e58;color:white}.cp-passenger{cursor:pointer}.cp-passenger:focus-visible{outline:3px solid #ffe1a0;outline-offset:2px}

/* Compact passenger-details popup. */
.cp-details-dialog{width:360px;max-width:calc(100% - 40px);padding:16px 14px;border-radius:20px;max-height:calc(100dvh - 40px)}.cp-details-dialog h2{font-size:20px;margin:0 0 12px}.cp-details-dialog .cp-details-grid>div{padding:7px 9px}.cp-details-dialog .cp-details-grid dt{font-size:10px;line-height:1.3}.cp-details-dialog .cp-details-grid dd{font-size:13px;line-height:1.3;margin:2px 0 0}.cp-details-dialog .ct-future-back{min-height:42px;margin-top:12px}

.cp-details-dialog .cp-detail-pay{display:block;width:100%;margin-top:12px;min-height:42px;padding:10px;background:linear-gradient(110deg,#ffe1a0,#d1a257);color:#172647}.cp-details-dialog .cp-detail-pay:disabled{background:#e4f3eb;color:#167453;opacity:1;cursor:default}

.cp-details-grid .cp-detail-status{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center}.cp-detail-status dt,.cp-detail-status dd{grid-column:1}.cp-details-dialog .cp-detail-status .cp-detail-pay{grid-column:2;grid-row:1/3;width:auto;min-width:96px;margin:0;padding:10px 14px}

.ct-passenger.ct-boarding-choice-row{grid-template-columns:40px minmax(0,1fr) 52px 92px;gap:8px}.ct-boarding-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px}.ct-boarding-choices .ct-ok{min-width:0;min-height:44px;padding:6px 2px;font-size:13px}.ct-boarding-choices .ct-no{background:#9e304a;border:1px solid #ef8ba4;color:#fff}.ct-boarding-choices .ct-ok:disabled{opacity:1;background:#12896b;color:#fff;font-size:22px}.ct-boarding-choices .ct-no:disabled{background:#9e304a;color:#fff;font-size:22px}@media(max-width:350px){.ct-passenger.ct-boarding-choice-row{grid-template-columns:30px minmax(0,1fr) 42px 82px;gap:6px}.ct-boarding-choices{gap:4px}.ct-boarding-choices .ct-ok{font-size:12px}}

#ct-home .ct-card small{display:block;font-size:11px;line-height:1.4;color:#fff;opacity:.9}@media(max-width:350px){#ct-home .ct-card small{font-size:10px}}

/* Spaced boarding decisions; only the selected result remains afterwards. */
.ct-passenger.ct-boarding-choice-row{grid-template-columns:40px minmax(0,1fr) 52px 104px}.ct-boarding-choices{gap:12px}.ct-boarding-choices .ct-ok{min-height:46px}.ct-boarding-choices.is-decided{grid-template-columns:1fr;justify-items:end}.ct-boarding-choices.is-decided .ct-ok{width:46px;min-height:46px}@media(max-width:350px){.ct-passenger.ct-boarding-choice-row{grid-template-columns:30px minmax(0,1fr) 42px 100px}.ct-boarding-choices{gap:12px}}

.ct-passenger.ct-boarding-yes-row{grid-template-columns:40px minmax(0,1fr) 52px 64px;gap:10px}.ct-boarding-yes-row .ct-ok{min-height:46px}.ct-boarding-yes-row.is-boarded .ct-ok{font-size:24px}@media(max-width:350px){.ct-passenger.ct-boarding-yes-row{grid-template-columns:32px minmax(0,1fr) 46px 52px;gap:7px}}
