:root{--ink:#102332;--teal:#12646b;--teal-dark:#084a51;--orange:#b96331;--muted:#607079;--border:#e6ebe9;--paper:#f8f9f7;--white:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.5;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0}button,input,select{font:inherit}a{color:var(--teal)}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);padding:26px 18px;display:flex;flex-direction:column;z-index:20;overflow:auto}.university-brand{display:flex;align-items:center;flex-direction:column;text-align:center;gap:10px;text-decoration:none;color:#064651;font:600 21px/1.12 Georgia,serif}.university-brand img{object-fit:contain;width:110px;height:110px}.product-brand{border-top:1px solid #d8b394;margin:20px 4px 22px;padding-top:17px;text-align:center;font-size:22px;letter-spacing:3px;font-weight:650;color:#084a51;white-space:nowrap}.product-brand small{display:block;font-size:11px;letter-spacing:.6px;font-weight:400;color:#a75124;margin-top:4px}.sidebar nav{display:grid;gap:10px}.sidebar nav a{display:flex;align-items:center;gap:17px;padding:15px 14px;min-height:52px;text-decoration:none;color:var(--ink);font-size:15px;border-radius:10px;transition:background .2s}.sidebar nav a .icon{color:var(--orange)}.sidebar nav a:hover{background:#f1f5ef}.sidebar nav a.active{background:#e1eddf;color:#084b52;font-weight:650}.sidebar nav a.active .icon{color:#084b52}.sidebar-foot{margin-top:auto;padding:40px 12px 0;color:#7e8a80;font-size:12px;display:flex;gap:12px;align-items:center}.sidebar-foot .icon{color:#9c623d}.page-header{margin-left:228px;padding:27px 30px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}h1,h2,h3{line-height:1.18;letter-spacing:-.5px;text-wrap:balance}h1{font-size:clamp(28px,3.1vw,47px);margin:0 0 5px;letter-spacing:-1.9px;font-weight:800}.page-header>div>p{margin:0;color:#606674;font-size:clamp(13px,1.45vw,20px)}.header-account{display:flex;align-items:center;gap:20px;flex-shrink:0}.campus-pill{border:1px solid #deebe6;background:#f4faf7;display:flex;align-items:center;gap:9px;border-radius:28px;padding:11px 15px;font-size:12px;white-space:nowrap}.campus-pill i,.live-label i{width:9px;height:9px;border-radius:50%;background:#0bab74;display:inline-block;flex-shrink:0}#account-link{display:flex;align-items:center;gap:9px;text-decoration:none;border-left:1px solid #dca888;padding-left:18px;font-size:12px;color:var(--ink);max-width:175px}#account-avatar{display:grid;place-items:center;width:41px;height:41px;border-radius:50%;background:#e3efec;color:var(--teal);border:3px solid white;box-shadow:0 0 0 1px #dae5e0;font-weight:700;flex-shrink:0}#account-name{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{margin-left:228px;padding:0 30px;max-width:1800px}p{margin:8px 0 16px}h2{font-size:20px;margin:0 0 17px}h3{font-size:15px;margin:8px 0 12px}.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin-bottom:22px}.campus-hero{position:relative;border-radius:15px;overflow:hidden;min-height:330px;isolation:isolate;background:#e4eeea}.campus-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.campus-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,#f3f8eee0 75%,#f3f8eef0);z-index:0}.hero-copy{position:relative;z-index:1;width:45%;margin-left:auto;padding:36px 22px 28px 6px;height:100%;display:flex;flex-direction:column;justify-content:center}.hero-copy h2{font-size:clamp(24px,2.7vw,39px);font-weight:800;color:#054c55;letter-spacing:-1.3px;margin:0 0 12px}.hero-copy>p:not(.eyebrow){font-size:13px;color:#1f5b5c;max-width:210px}.eyebrow{font-size:10px;font-weight:750;color:var(--orange);letter-spacing:1.7px;margin:0 0 12px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1px;color:#35605a}.image-caption{position:absolute;bottom:9px;left:12px;z-index:1;font-size:9px;color:#263e3e;background:#ffffffdb;padding:3px 7px;border-radius:4px}.hero-cta,button,.call{min-height:44px;border:1px solid transparent;border-radius:9px;padding:10px 17px;background:var(--teal);color:#fff;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:12px;transition:background .2s,box-shadow .2s;touch-action:manipulation}.hero-cta{margin-top:12px;align-self:flex-start}.hero-cta .icon{width:20px}button:hover,.hero-cta:hover,.call:hover{background:var(--teal-dark);box-shadow:0 3px 10px #12646b20}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#edf5f3;color:var(--teal);border-color:#cbded8}.secondary:hover{background:#deeeea}.quiet{background:white;color:var(--muted);border-color:#d4deda}.quiet:hover{background:#f1f5f3}.danger{background:#a83b37}.danger:hover{background:#882b27}.overview-metrics{display:grid;gap:13px}.metric-card{background:#fff;border:1px solid #eef0ed;border-radius:15px;box-shadow:0 4px 16px #253b3005;display:flex;align-items:center;gap:18px;padding:18px 22px;min-width:0}.metric-icon{display:grid;place-items:center;border:1px solid #cf9b78;border-radius:50%;width:61px;height:61px;flex-shrink:0;color:var(--orange);background:#fffcf9}.metric-icon .icon{width:28px;height:28px}.metric-card p{font-size:13px;margin:0 0 3px;color:var(--ink)}.metric-card strong{display:block;font-size:36px;line-height:1.1;letter-spacing:-1px}.metric-card .text-metric{font-size:20px;line-height:1.25;letter-spacing:-.4px}.metric-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:23px;margin-bottom:20px;box-shadow:0 4px 17px #1f383006;min-width:0;overflow-wrap:anywhere}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.muted{font-size:12px;color:var(--muted)}label{display:grid;gap:6px;font-size:12px;font-weight:600;margin:13px 0}input,select{width:100%;min-width:0;min-height:45px;padding:10px 12px;border:1px solid #b9c8c5;border-radius:8px;background:#fff;color:var(--ink);font-size:14px}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d99055;outline-offset:3px}.check{display:flex;gap:10px;align-items:center;min-height:44px}.check input{width:19px;min-height:19px;accent-color:var(--teal)}.list>article{border-top:1px solid var(--border);padding:15px 0;font-size:13px}.list>article:first-child{border-top:0}.list p{margin:5px 0 10px;color:var(--muted)}.list strong{font-size:14px}.list button{margin:4px 7px 4px 0}.badge{display:inline-block;background:#e9f4ed;color:#28624e;font-size:11px;border-radius:20px;padding:4px 10px;margin:5px 5px 5px 0}#message:not(:empty){padding:13px 17px;background:#edf6ee;border:1px solid #bad6c2;border-radius:10px;margin-bottom:20px;font-size:14px}#message.error{background:#fff1ee;color:#943a30;border-color:#e7bcb4}.auth-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 20px}.auth-heading h2{font-size:24px;margin:0}.auth-heading>p{font-size:12px;max-width:250px;color:var(--muted)}.auth-forms{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.auth-forms .card>p:not(.eyebrow){font-size:13px;color:var(--muted)}.auth-forms form>button{width:100%;margin-top:10px}#signup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}#signup>button,#driver-registration{grid-column:1/-1}#workspace>.toolbar{margin:22px 0 20px}#workspace>.toolbar h1{font-size:26px;letter-spacing:-.8px}#workspace>.toolbar .eyebrow{margin-bottom:5px}#workspace>.toolbar button{font-size:12px;min-height:40px}.student-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:20px;align-items:start}.map-card{padding:17px 12px 12px}.map-card .toolbar{padding:0 6px 13px;gap:8px}.map-card h2{font-size:18px;margin:0;display:flex;align-items:center;gap:9px}.map-card h2 .icon{color:var(--orange);width:22px}.live-label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.live-label i{width:6px;height:6px}#map{height:450px;background:#eef2e9;border:1px solid #dce5da;border-radius:10px;z-index:0}.map-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 7px 0}.map-list-heading h3{margin:0}#autos{padding:8px;font-size:12px;color:var(--muted)}.ride-column .card{padding:21px}.ride-card h2{padding-bottom:14px;border-bottom:1px solid var(--border)}#current-ride{font-size:13px;color:var(--muted);padding:4px 0 9px;line-height:1.7}#current-ride strong{color:var(--ink);font-size:16px;display:block}#current-ride>article>p:first-of-type{color:var(--teal);font-weight:600}#current-ride .call{margin-top:9px;width:100%}.booking-card .eyebrow{margin-bottom:8px}.booking-card h2{font-size:20px}.booking-card button{width:100%;margin-top:4px}#passenger-policy{font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.stats>div{border:1px solid var(--border);border-left:3px solid var(--orange);background:white;padding:20px;border-radius:12px}.stats strong{display:block;font-size:30px}.stats span{font-size:12px;color:var(--muted)}.compact-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}#admin-drivers input{max-width:85px;margin-right:10px}.emergency{background:#fffaf8;border-left:4px solid #b45b4b}.help-panel{margin-top:10px}summary{cursor:pointer;min-height:44px;align-content:center;font-size:14px;font-weight:650}summary .icon{color:var(--orange);margin-right:8px;width:20px}details[open]>summary{margin-bottom:15px}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.help-grid p{font-size:12px;color:var(--muted)}footer{margin-left:228px;padding:12px 30px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:10px}footer p{margin:0}footer strong{font-weight:500}footer span{margin:0 6px;color:var(--orange)}#connection{font-size:10px;color:var(--muted)}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;background:var(--teal);color:#fff;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.enter-view{animation:enter-view .45s ease-out both}@keyframes enter-view{from{opacity:.75;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1550px){.campus-hero{min-height:375px}.metric-card{padding:23px 27px}.hero-copy h2{font-size:43px}.hero-copy{padding-right:34px}#map{height:490px}}
@media(max-width:1200px){.sidebar{width:195px;padding:22px 12px}.page-header,main,footer{margin-left:195px}.page-header{padding:24px 22px 20px}main{padding:0 22px}.header-account{gap:10px}.campus-pill{display:none}.overview-grid{grid-template-columns:minmax(0,1.8fr) minmax(235px,1fr);gap:14px}.hero-copy{padding:25px 14px 25px 0;width:46%}.hero-copy h2{font-size:28px}.hero-copy .eyebrow{display:none}.campus-hero{min-height:310px}.metric-card{gap:12px;padding:16px}.metric-icon{width:48px;height:48px}.metric-card .text-metric{font-size:17px}.student-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.product-brand{font-size:20px}.university-brand{font-size:19px}.map-card h2{font-size:16px}.page-header h1{font-size:34px}}
@media(max-width:960px){.page-header h1{font-size:29px}.overview-grid{grid-template-columns:1fr}.campus-hero{min-height:300px}.hero-copy{width:43%;padding:30px}.hero-copy h2{font-size:35px}.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card{display:block;padding:15px}.metric-icon{width:35px;height:35px;margin-bottom:10px}.metric-icon .icon{width:20px}.metric-card strong{font-size:28px}.metric-card .text-metric{font-size:16px}.metric-card p{font-size:11px}.student-layout{grid-template-columns:1fr}#map{height:390px}.ride-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.auth-forms{grid-template-columns:1fr}.grid:not(.auth-forms){grid-template-columns:1fr;gap:0}.compact-form{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr;gap:0}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:700px){html{scroll-padding-top:18px}.sidebar{position:relative;inset:auto;width:auto;padding:14px 18px 0;overflow:visible;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;gap:0 14px}.university-brand{flex-direction:row;gap:8px;text-align:left;font-size:12px;line-height:1.2}.university-brand img{width:43px;height:47px}.product-brand{border:0;margin:0;padding:4px 0;text-align:right;font-size:18px;letter-spacing:2px}.product-brand small{font-size:8px;letter-spacing:.1px}.sidebar nav{grid-column:1/-1;display:flex;gap:5px;overflow-x:auto;margin:14px -18px 0;padding:0 14px 9px;scrollbar-width:thin}.sidebar nav a{flex-shrink:0;font-size:11px;padding:10px 11px;min-height:44px;gap:6px;border-radius:7px}.sidebar nav a .icon{width:17px;height:17px}.sidebar-foot{display:none}.page-header,main,footer{margin-left:0}.page-header{padding:21px 18px 17px;align-items:flex-start;gap:10px}.page-header h1{font-size:clamp(24px,5.6vw,34px);letter-spacing:-1px;max-width:450px}.page-header>div>p{font-size:11px;max-width:270px;line-height:1.5}.header-account{padding-top:2px}#account-link{padding-left:0;border:0;gap:0}#account-avatar{width:34px;height:34px}#account-avatar .icon{width:19px}#account-name{display:none}main{padding:0 16px}.overview-grid{gap:12px;margin-bottom:20px}.campus-hero{min-height:265px}.hero-copy{width:46%;padding:22px 13px 25px 4px}.hero-copy h2{font-size:26px;letter-spacing:-.8px}.hero-copy>p:not(.eyebrow){font-size:11px}.hero-cta{font-size:11px;padding:9px 10px;gap:6px;margin-top:8px;min-height:42px}.hero-cta .icon{width:16px}.campus-hero>img{object-position:42% center}.campus-hero:after{background:linear-gradient(90deg,transparent 20%,#f3f8eeab 62%,#f3f8eef5)}.image-caption{font-size:7px;left:8px;bottom:7px}.overview-metrics{gap:8px}.metric-card{padding:12px 10px;border-radius:11px}.metric-card .text-metric{font-size:13px;line-height:1.3}.metric-card p{font-size:10px}.metric-card small{font-size:9px;line-height:1.4}.metric-card strong{font-size:27px}.metric-icon{width:32px;height:32px;margin-bottom:8px}.metric-icon .icon{width:18px}.auth-heading{margin:25px 2px 18px;display:block}.auth-heading h2{font-size:22px}.auth-heading>p{margin-bottom:0;max-width:none;font-size:11px}.eyebrow{font-size:9px}.card{padding:20px;border-radius:12px}.auth-forms .card h2{font-size:22px}.ride-column{display:block}.student-layout{gap:0}#map{height:340px}.map-card{padding:14px 10px 10px}.map-card h2{font-size:15px}.map-card .toolbar{padding:0 2px 12px}.live-label{font-size:9px}.map-list-heading .muted{font-size:10px}.map-list-heading{padding-top:12px}.map-list-heading h3{font-size:13px}#workspace>.toolbar{margin:18px 2px}#workspace>.toolbar h1{font-size:24px}#workspace>.toolbar .actions{gap:7px}#workspace>.toolbar button{padding:8px 11px;font-size:11px;min-height:44px}.list button{font-size:12px}.compact-form{gap:0 12px}.help-panel{padding:12px 18px}footer{padding:8px 18px 22px;flex-direction:column;align-items:flex-start;gap:6px;font-size:9px}.stats{gap:12px}.stats>div{padding:15px}#connection{font-size:9px}#signup{gap:0 12px}.hero-copy h2 br{display:none}}
@media(max-width:360px){.university-brand{font-size:10px}.product-brand{font-size:15px}.product-brand small{font-size:7px}.hero-copy h2{font-size:23px}.hero-copy{width:47%}.campus-hero{min-height:245px}#signup,.compact-form{grid-template-columns:1fr}.metric-card{padding:10px 8px}.metric-card p{font-size:9px}.map-card .toolbar{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.map-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:0 0 12px}.map-controls label{flex:1;min-width:110px;margin:0}.map-controls select{margin-top:4px}.map-controls button{padding:10px 12px;min-height:44px}.map-status:empty{display:none}.map-status{font-size:.85rem;margin:8px 0}.leaflet-control-attribution{font-size:10px}

.google-signin{display:block;width:100%;max-width:430px;background:#fff;color:#163f45;border:1px solid #afc7c8;box-shadow:0 3px 12px #123e4510;min-height:48px;font-weight:650}.google-signin:hover{background:#eff7f5}
