:root{--tcd-navy:#064c61;--tcd-navy-dark:#033845;--tcd-gold:#c7a63d;--tcd-ink:#172b32;--tcd-muted:#667b83;--tcd-bg:#f3f7f8;--tcd-line:#dce7ea;--tcd-white:#fff;--tcd-success:#15865b;--tcd-danger:#c13e45}
.tcd-shell{box-sizing:border-box;color:var(--tcd-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;margin:40px auto;max-width:1240px;padding:0 20px}.tcd-shell *{box-sizing:border-box}.tcd-shell a{color:var(--tcd-navy)}
.tcd-auth-shell{max-width:900px}.tcd-auth-card,.tcd-login-card{background:#fff;border:1px solid var(--tcd-line);border-radius:20px;box-shadow:0 18px 60px rgba(6,76,97,.12);overflow:hidden}.tcd-login-card{margin:auto;max-width:560px}.tcd-auth-intro{background:linear-gradient(135deg,var(--tcd-navy-dark),var(--tcd-navy));color:#fff;padding:34px 40px}.tcd-auth-intro h2{color:#fff;font-size:32px;line-height:1.2;margin:5px 0 8px}.tcd-auth-intro p{color:rgba(255,255,255,.8);margin:0;max-width:650px}.tcd-eyebrow{color:var(--tcd-gold);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.tcd-form{padding:34px 40px}.tcd-form h3{border-bottom:1px solid var(--tcd-line);font-size:18px;margin:5px 0 22px;padding-bottom:12px}.tcd-form h3:not(:first-of-type){margin-top:34px}.tcd-form-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.tcd-field{display:flex;flex-direction:column;gap:7px}.tcd-field--wide{grid-column:1/-1}.tcd-field>span{color:#354d56;font-size:13px;font-weight:700}.tcd-field small{color:var(--tcd-muted);display:block;font-weight:400;margin-top:2px}.tcd-field input,.tcd-field select{background:#fff;border:1px solid #c9d8dc;border-radius:9px;box-shadow:none;color:var(--tcd-ink);font:inherit;min-height:45px;padding:9px 12px;width:100%}.tcd-field input:focus{border-color:var(--tcd-gold);box-shadow:0 0 0 3px rgba(199,166,61,.16);outline:none}.tcd-check{align-items:center;display:flex;font-size:14px;gap:10px;margin:6px 0 20px}.tcd-check input{height:18px;width:18px}.tcd-form .tcd-button{margin-top:26px}.tcd-form-foot{color:var(--tcd-muted);font-size:14px;line-height:1.8;margin:20px 0 0;text-align:center}
.tcd-button{align-items:center;background:#fff;border:1px solid #bfd0d5;border-radius:9px;color:var(--tcd-navy)!important;cursor:pointer;display:inline-flex;font-size:14px;font-weight:750;justify-content:center;line-height:1.2;min-height:42px;padding:10px 17px;text-decoration:none!important;transition:.18s ease}.tcd-button:hover{border-color:var(--tcd-navy);transform:translateY(-1px)}.tcd-button--primary{background:var(--tcd-gold);border-color:var(--tcd-gold);color:#142b32!important}.tcd-button--ghost{background:transparent}.tcd-button--block{width:100%}.tcd-button:disabled,.is-loading{cursor:wait;opacity:.6}.tcd-alert{background:#eef6f8;border-left:4px solid var(--tcd-navy);border-radius:7px;margin-bottom:18px;padding:14px 17px}.tcd-alert--error{background:#fff0f0;border-color:var(--tcd-danger)}.tcd-alert--success{background:#eaf8f1;border-color:var(--tcd-success)}
.tcd-status-card{background:#fff;border:1px solid var(--tcd-line);border-radius:18px;margin:auto;max-width:600px;padding:50px;text-align:center}.tcd-status-card h2{margin:14px 0 8px}.tcd-status-icon{font-size:50px}.tcd-status-card .tcd-button{margin-top:15px}
.tcd-dashboard{max-width:1280px}.tcd-dashboard-header{align-items:center;background:linear-gradient(135deg,var(--tcd-navy-dark),var(--tcd-navy));border-radius:18px;color:#fff;display:flex;justify-content:space-between;margin-bottom:22px;padding:30px 34px}.tcd-dashboard-header h1{color:#fff;font-size:30px;margin:3px 0}.tcd-dashboard-header p{color:rgba(255,255,255,.75);margin:0}.tcd-header-actions{align-items:center;display:flex;gap:14px}.tcd-availability{align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;cursor:pointer;display:flex;gap:9px;padding:10px 15px}.tcd-availability span{background:#9aaeb4;border-radius:50%;height:9px;width:9px}.tcd-availability.is-online span{background:#40da93;box-shadow:0 0 0 4px rgba(64,218,147,.16)}.tcd-logout{color:rgba(255,255,255,.8)!important;font-size:13px}.tcd-live-status{background:#eaf8f1;border-radius:8px;color:#126f4d;height:0;margin:0;opacity:0;overflow:hidden;padding:0 15px;transition:.2s}.tcd-live-status:not(:empty){height:auto;margin-bottom:18px;opacity:1;padding:12px 15px}.tcd-live-status.is-error{background:#fff0f0;color:var(--tcd-danger)}
.tcd-dashboard-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 320px}.tcd-dashboard-grid main,.tcd-notification-panel{background:var(--tcd-bg);border:1px solid var(--tcd-line);border-radius:16px;padding:20px}.tcd-tabs{border-bottom:1px solid var(--tcd-line);display:flex;gap:5px;margin-bottom:20px}.tcd-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--tcd-muted);cursor:pointer;font:inherit;font-weight:700;margin-bottom:-1px;padding:11px 15px}.tcd-tabs button.is-active{border-color:var(--tcd-gold);color:var(--tcd-navy)}.tcd-tabs span{background:var(--tcd-navy);border-radius:999px;color:#fff;font-size:11px;margin-left:5px;padding:2px 7px}.tcd-tab-panel{display:none}.tcd-tab-panel.is-active{display:block}.tcd-request-list{display:grid;gap:15px}
.tcd-request-card{background:#fff;border:1px solid var(--tcd-line);border-radius:13px;padding:20px;position:relative}.tcd-request-card--accepted,.tcd-request-card--arrived,.tcd-request-card--in_progress{border-left:4px solid var(--tcd-gold)}.tcd-request-card--expired{filter:grayscale(.35);opacity:.72}.tcd-request-top{align-items:flex-start;display:flex;justify-content:space-between}.tcd-request-top>div{display:flex;flex-direction:column;gap:3px}.tcd-request-top strong{font-size:17px}.tcd-request-id{color:var(--tcd-muted);font-size:12px}.tcd-status-badge{background:#edf4f5;border-radius:999px;color:var(--tcd-navy);font-size:11px;font-weight:800;padding:6px 10px;text-transform:uppercase}.tcd-route{border-bottom:1px solid var(--tcd-line);border-top:1px solid var(--tcd-line);display:grid;gap:13px;margin:17px 0;padding:15px 0}.tcd-route>div{display:grid;gap:0 12px;grid-template-columns:10px 1fr}.tcd-route i{grid-row:1/3}.tcd-route span{color:var(--tcd-muted);font-size:11px;text-transform:uppercase}.tcd-route strong{font-size:14px;font-weight:650;line-height:1.4}.tcd-dot{border-radius:50%;height:9px;margin-top:6px;width:9px}.tcd-dot--start{background:var(--tcd-success)}.tcd-dot--end{background:var(--tcd-gold);border-radius:2px}.tcd-trip-meta{align-items:center;color:var(--tcd-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:14px}.tcd-trip-meta strong{color:var(--tcd-navy);font-size:19px;margin-left:auto}.tcd-passenger{align-items:center;background:#f4f8f9;border-radius:9px;display:flex;justify-content:space-between;margin-top:15px;padding:11px 13px}.tcd-passenger>div{display:flex;flex-direction:column}.tcd-passenger span{color:var(--tcd-muted);font-size:11px}.tcd-passenger a{font-size:13px;font-weight:700}.tcd-request-actions{display:flex;gap:9px;margin-top:16px}.tcd-request-actions:empty{display:none}.tcd-empty{padding:55px 20px;text-align:center}.tcd-empty>span{font-size:38px}.tcd-empty h3{font-size:18px;margin:9px 0 3px}.tcd-empty p{color:var(--tcd-muted);margin:0}.tcd-empty--small{padding:30px 10px}
.tcd-notification-panel{background:#fff}.tcd-panel-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.tcd-panel-title h2{font-size:18px;margin:0}.tcd-panel-title p{color:var(--tcd-muted);margin:4px 0}.tcd-panel-title button{background:none;border:0;color:var(--tcd-navy);cursor:pointer;font-size:12px}.tcd-notification{border-bottom:1px solid var(--tcd-line);display:flex;gap:10px;padding:14px 4px}.tcd-notification.is-unread{background:#f3f9fa;border-left:3px solid var(--tcd-gold);padding-left:9px}.tcd-notification-icon{font-size:16px}.tcd-notification strong{font-size:13px}.tcd-notification p{color:var(--tcd-muted);font-size:12px;line-height:1.45;margin:3px 0}.tcd-notification time{color:#93a3a8;font-size:10px}.tcd-profile-card{background:#fff;border-radius:13px;padding:24px}.tcd-profile-card .tcd-button{margin-top:20px}
@media(max-width:900px){.tcd-dashboard-grid{grid-template-columns:1fr}.tcd-notification-panel{order:-1}.tcd-dashboard-header{align-items:flex-start;gap:20px}.tcd-header-actions{align-items:flex-end;flex-direction:column}}
@media(max-width:640px){.tcd-shell{margin:24px auto;padding:0 12px}.tcd-auth-intro,.tcd-form{padding:25px 20px}.tcd-form-grid{grid-template-columns:1fr}.tcd-field--wide{grid-column:auto}.tcd-dashboard-header{flex-direction:column;padding:24px}.tcd-header-actions{align-items:center;flex-direction:row;width:100%}.tcd-dashboard-grid main,.tcd-notification-panel{padding:12px}.tcd-tabs{overflow-x:auto}.tcd-tabs button{padding:10px;white-space:nowrap}.tcd-request-card{padding:15px}.tcd-trip-meta{gap:8px}.tcd-trip-meta strong{width:100%}.tcd-passenger{align-items:flex-start;flex-direction:column;gap:7px}.tcd-request-actions{flex-direction:column}.tcd-button{width:100%}}

.tcd-push-message{border-radius:8px;color:#126f4d;font-size:13px;height:0;margin:0;opacity:0;overflow:hidden;padding:0 15px;transition:.2s}.tcd-push-message:not(:empty){background:#eaf8f1;height:auto;margin:-10px 0 18px;opacity:1;padding:10px 15px}.tcd-push-message.is-error{background:#fff0f0;color:#c13e45}
.tcd-request-card--focused{box-shadow:0 0 0 4px rgba(199,166,61,.28),0 16px 40px rgba(6,76,97,.16)}
@media(max-width:900px){.tcd-header-actions{align-items:stretch}}
@media(max-width:640px){.tcd-header-actions{align-items:stretch;flex-direction:column}}

/* Compact notification bell and dropdown. */
.tcd-dashboard-header{position:relative;z-index:20}.tcd-dashboard-grid{grid-template-columns:minmax(0,1fr)}.tcd-notification-menu{position:relative}.tcd-notification-bell{align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:19px;height:43px;justify-content:center;padding:0;position:relative;width:43px}.tcd-notification-bell:hover,.tcd-notification-bell[aria-expanded="true"]{background:var(--tcd-gold);border-color:#f0d56f;color:var(--tcd-navy-dark)}.tcd-notification-bell.has-unread{animation:tcd-bell-pulse 2.2s ease-in-out infinite}.tcd-notification-bell em{align-items:center;background:#e3484f;border:2px solid var(--tcd-navy);border-radius:999px;color:#fff;display:flex;font-size:9px;font-style:normal;font-weight:800;height:19px;justify-content:center;line-height:1;min-width:19px;padding:0 4px;position:absolute;right:-6px;top:-6px}.tcd-notification-bell em[hidden],.tcd-notification-panel[hidden]{display:none!important}.tcd-notification-panel{background:#fff;border:1px solid var(--tcd-line);border-radius:14px;box-shadow:0 22px 55px rgba(3,56,69,.25);color:var(--tcd-ink);padding:17px;position:absolute;right:0;top:calc(100% + 13px);width:min(370px,calc(100vw - 32px));z-index:100}.tcd-notification-panel::before{border-bottom:9px solid #fff;border-left:9px solid transparent;border-right:9px solid transparent;content:"";position:absolute;right:12px;top:-9px}.tcd-notification-scroll{max-height:390px;overflow:auto;overscroll-behavior:contain;padding-right:3px}.tcd-notification-panel .tcd-panel-title{border-bottom:1px solid var(--tcd-line);margin-bottom:2px;padding-bottom:11px}.tcd-notification-panel .tcd-panel-title h2{color:var(--tcd-gold);font-size:17px}.tcd-notification-panel .tcd-empty{padding:24px 8px}.tcd-notification-panel .tcd-notification:last-child{border-bottom:0}
@keyframes tcd-bell-pulse{0%,70%,100%{box-shadow:0 0 0 0 rgba(199,166,61,0)}80%{box-shadow:0 0 0 7px rgba(199,166,61,.22)}}
@media(max-width:640px){.tcd-header-actions{align-items:stretch;display:flex;flex-direction:column;width:100%}.tcd-availability{justify-content:center;width:100%}.tcd-logout{text-align:center}}

/* Site header notification button, inserted beside the call control. */
.tcd-driver-call-hidden{display:none!important}.tcd-global-notification-menu[hidden]{display:none!important}.tcd-global-notification-menu{float:right!important;margin:20px 6px 10px!important;overflow:visible!important;position:relative;z-index:999}.tcd-global-notification-menu .tcd-notification-bell{background:#cfab36;border:0;box-shadow:none;color:#fff;height:46px;width:46px}.tcd-global-notification-menu .tcd-notification-bell svg{fill:none;height:24px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:24px}.tcd-global-notification-menu .tcd-notification-bell:hover,.tcd-global-notification-menu .tcd-notification-bell[aria-expanded="true"]{background:#b99524;color:#fff}.tcd-global-notification-menu .tcd-notification-bell em{border-color:#fff;right:-5px;top:-6px}.tcd-global-notification-menu .tcd-notification-panel{left:auto;right:0;text-align:left;top:calc(100% + 12px);width:min(330px,calc(100vw - 32px))}.tcd-global-notification-menu .tcd-notification-panel::before{left:auto;right:13px}
@media(max-width:768px){.tcd-global-notification-menu{margin-left:5px!important;margin-right:5px!important}.tcd-global-notification-menu .tcd-notification-panel{position:fixed;right:16px;top:82px;width:min(320px,calc(100vw - 32px))}.tcd-global-notification-menu .tcd-notification-panel::before{display:none}}
