/* Aqua glass theme. Layout and application behavior live in styles.css/app.js. */
:root{--ink:#091b28;--teal:#007d7b;--teal-dark:#005d64;--orange:#e76b16;--muted:#536c7c;--border:#ffffffd9;--paper:#eef9f9;--glass-shadow:0 9px 25px #195d6812,0 2px 5px #fff9 inset;color:var(--ink);background:#edf8f8}
body{background:radial-gradient(ellipse at 2% 10%,#bfe5df96,transparent 36%),radial-gradient(ellipse at 98% 28%,#d5f2ffb0,transparent 43%),radial-gradient(ellipse at 20% 75%,#dbf3ec96,transparent 40%),linear-gradient(135deg,#f5fbfc,#e8f6f5 55%,#f8fcff);min-height:100vh}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 5% 0,#07999924,transparent 30%)}
.sidebar{background:#faffffba;border-right:1px solid #fff;box-shadow:7px 0 30px #176b6c08;backdrop-filter:blur(16px)}
.sidebar nav a{border:1px solid transparent;border-radius:20px;color:#152e3a;min-height:48px}.sidebar nav a .icon{color:#f47714;filter:drop-shadow(0 3px 2px #d56c1c20)}
.sidebar nav a.active{background:linear-gradient(140deg,#009b8d,#007376 70%,#00b694);color:#fff;border-color:#7bf9de;box-shadow:0 5px 14px #02887930,inset 0 0 10px #12eed266}.sidebar nav a.active .icon{color:#fff;filter:drop-shadow(0 2px 1px #005a7650)}
.sidebar nav a:hover{background-color:#e0f4ef}.product-brand{color:#07595f;border-color:#b7dbd7}.product-brand small{color:#ae642e}.sidebar-foot{color:#597e74}
.page-header h1 span,.hero-copy h2 span{color:#00777b}.page-header>div>p{color:#536a7d}.campus-pill{background:#ffffffad;border-color:#fff;box-shadow:var(--glass-shadow)}
#account-avatar{background:linear-gradient(135deg,#fff,#d6f3f5);border:2px solid #fff;box-shadow:0 6px 16px #078c951b;font-weight:700;color:#06777b}#account-link{border-color:#add4d2}
.card,.metric-card,.stats>div{background:linear-gradient(135deg,#ffffffed,#f7fcffde);border:2px solid #fff;border-radius:24px;box-shadow:var(--glass-shadow)}
.card{padding:23px}.card h2{font-weight:750;color:#0a1f2c}.card summary{font-weight:650}.card:focus-within{border-color:#a7dbd8}.list article{border-color:#e0eeed}.list article:last-child{border-bottom:0}
.campus-hero{border:2px solid #fff;border-radius:25px;box-shadow:0 10px 28px #146b751c;min-height:355px;background:#edf9ee}.campus-hero:after{background:linear-gradient(90deg,transparent 38%,#f5fcf0bf 69%,#f8fff7f2)}.campus-hero>img{object-position:center}.hero-copy{width:45%;padding:32px 24px 32px 8px;z-index:2}.hero-copy h2{font-size:clamp(28px,3vw,43px);font-weight:800;letter-spacing:-1.1px;line-height:1.12;text-wrap:initial}.hero-copy h2 span{display:inline}.hero-copy>p:not(.eyebrow){color:#183a42;font-size:14px;line-height:1.5}.hero-copy:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(132deg,transparent 0 55px,#b1ddc32b 55px 80px,transparent 80px 130px)}
button,.hero-cta,.call{border-radius:15px;background:linear-gradient(140deg,#009e94,#006d77 70%,#008c7c);border:1px solid #16bdb1;color:#fff;box-shadow:0 5px 11px #086d7620,inset 0 1px 3px #ffffff66;transition:background .18s,box-shadow .18s,transform .18s}button:hover,.hero-cta:hover{box-shadow:0 7px 15px #086d7630;filter:brightness(1.03)}button:active,.hero-cta:active{transform:translateY(1px)}button:disabled{opacity:.55;filter:saturate(.5);box-shadow:none}.secondary,.quiet{background:linear-gradient(140deg,#fff,#edf9f8);color:#067c75;border-color:#c1e1de}.danger{background:linear-gradient(140deg,#ed575c,#bd263b);border-color:#f0a3a8}.hero-cta{font-weight:700;gap:12px;padding:14px 20px;min-height:50px}.image-caption{background:#ffffffb8;color:#48606d;border:1px solid #ffffffd9;backdrop-filter:blur(5px);border-radius:18px}
.metric-card:nth-child(1){background:linear-gradient(135deg,#fffcf8,#fff2e8db)}.metric-card:nth-child(2){background:linear-gradient(135deg,#f9fdff,#e2f2ffdc)}.metric-card:nth-child(3){background:linear-gradient(135deg,#fefaff,#efe8ffdc)}.metric-card .metric-icon{border:2px solid #fff;border-radius:20px;background:linear-gradient(145deg,#fff8ee,#ffe3c8);color:#c85900;box-shadow:0 5px 10px #d66a2526}.metric-card:nth-child(2) .metric-icon{background:linear-gradient(145deg,#f5fcff,#ccecff);color:#0075d6;box-shadow:0 5px 10px #2e90d126}.metric-card:nth-child(3) .metric-icon{background:linear-gradient(145deg,#fdf8ff,#e5cfff);color:#8e20c3;box-shadow:0 5px 10px #b258d126}.metric-card strong{color:#071522;font-weight:800}.metric-card p{color:#142838}.metric-card small{color:#536c7c}
#workspace>.toolbar{margin:25px 3px 22px;position:relative;gap:14px}#workspace>.toolbar:before{content:'';position:absolute;right:0;top:-28px;bottom:0;width:270px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#eef9f9,transparent),url('/assets/campus-auto.webp') right 40%/auto 180px no-repeat;opacity:.12;mask-image:linear-gradient(0deg,transparent,#000,transparent)}
#workspace>.toolbar h1{font-size:clamp(27px,3.4vw,42px);font-weight:800;letter-spacing:-1px}.eyebrow{color:#dc650c;font-weight:750;letter-spacing:2px}#workspace>.toolbar .actions{gap:10px}#workspace>.toolbar button{font-size:12px;font-weight:650;border:2px solid white;min-height:46px;border-radius:17px}#refresh{color:#008a71;background:linear-gradient(140deg,#f8fffc,#d9f5e8)}#push{color:#0070d1;background:linear-gradient(140deg,#fff,#e3f4ff)}#logout{color:#d7293d;background:linear-gradient(140deg,#fff,#ffeded)}
#refresh:before{content:'↻';font-size:23px;line-height:1;vertical-align:-2px;margin-right:7px}#logout:before{content:'⇥';font-size:22px;line-height:1;vertical-align:-2px;margin-right:7px}
input:not([type=checkbox]),select{background:linear-gradient(145deg,#fff,#f7fbfd);border:1px solid #d7e6e9;border-radius:12px;box-shadow:0 3px 7px #3156650a;min-height:46px;color:#112534}input:not([type=checkbox]):focus,select:focus{outline:3px solid #30b8b32e;border-color:#37a5a2}.consent-check input[type=checkbox]{width:1em;height:1em;min-height:0;min-width:0}.google-auth-card{background:linear-gradient(140deg,#ffffffed,#eaf8f5eb)}.google-signin{background:linear-gradient(140deg,#fff,#f5fbff);color:#135c65;border:1px solid #b8deda;border-radius:14px;box-shadow:0 5px 12px #075b6b12}.auth-heading h2{font-weight:800}.auth-heading p{color:#526f7a}.subscription-card{background:linear-gradient(125deg,#edfff6,#f2f3ff 80%);border-color:#fff}.subscription-price{color:#007e7c}.emergency{background:linear-gradient(140deg,#fff,#fff4f1)}
#message:not(:empty){border-radius:17px;background:#eefff7e8;border:1px solid #c1e6d5;box-shadow:0 6px 17px #376d6b0a;color:#1d685b}#message.error{background:#fff2f0eb;border-color:#efc4ba;color:#9d3c31}.badge{background:#e2f6f0;color:#086f60;border-radius:9px}.stats>div{background:linear-gradient(140deg,#fff,#e8f8f4)}
.map-card>.toolbar h2 .icon{color:#f57a11;filter:drop-shadow(0 3px 3px #dd6a2726)}.map-card .live-label i,.campus-pill i{box-shadow:0 2px 5px #05bf8b45}.map-controls{background:linear-gradient(130deg,#f0f7f5e8,#e5f2f3bb);border-color:#e1efea;border-radius:17px;padding:11px}.map-controls select{background:linear-gradient(140deg,#fff,#f7fcff);border:1px solid #dfeaed;box-shadow:0 4px 9px #38647512;border-radius:12px}.map-controls button{background:linear-gradient(140deg,#fff,#eff8fa);border:1px solid #b9dbdb;border-radius:12px;box-shadow:0 4px 10px #347b7b12;color:#007778;font-weight:650}.map-controls button:last-child{color:#0077df}#map{border-radius:19px;border-color:#dbe5df}.stop-pin{background:linear-gradient(145deg,#ff921b,#c54c00);border:3px solid #fff;box-shadow:0 4px 8px #a64b2a44,inset 0 1px 3px #fff8}.map-stops .map-stop-chip{border-radius:12px;background:linear-gradient(140deg,#fff,#f5fbfd);border-color:#e0ebec;box-shadow:0 3px 8px #29696d09}.map-stop-count{background:linear-gradient(140deg,#f5fffb,#e2f4ed);color:#066e63;border-color:#d3ece3}.leaflet-control-zoom{border:2px solid #fff!important}.map-legend{color:#597180}
.install-banner,.update-banner{border:2px solid #fff;background:linear-gradient(135deg,#fffffff5,#e6f8f5f2);box-shadow:0 10px 40px #0e687c25;border-radius:22px;backdrop-filter:blur(14px)}.update-banner{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:1200;display:flex;align-items:center;gap:12px;padding:14px 16px;width:min(560px,calc(100% - 28px))}.update-banner[hidden]{display:none}.update-banner>div{flex:1}.update-banner strong{font-size:13px}.update-banner p{font-size:11px;color:#536c7c;margin:5px 0 0}.update-banner button{font-size:11px;min-height:42px;white-space:nowrap}.update-banner .quiet{font-size:20px;padding:5px 9px}
footer{color:#58757c}.legal-page{background:#ffffffd9;border:2px solid #fff;border-radius:25px;box-shadow:var(--glass-shadow);padding:30px}.legal-page h1{color:#096d70}body>main:not([id]){padding:28px}
@supports not (backdrop-filter:blur(1px)){.sidebar{background:#f4fcfc}.install-banner,.update-banner{background:#f2fcfa}}
@media(min-width:1550px){.campus-hero{min-height:395px}}
@media(max-width:960px){.campus-hero{min-height:320px}.hero-copy{padding:25px 22px 25px 5px;width:45%}.hero-copy h2{font-size:32px}.metric-card{padding:17px 14px}.metric-card .metric-icon{width:42px;height:39px}.overview-grid{gap:14px}}
@media(max-width:700px){body{background:radial-gradient(ellipse at 0 6%,#bce4e288,transparent 35%),radial-gradient(ellipse at 100% 25%,#cff0f3c9,transparent 45%),linear-gradient(150deg,#f7fbff,#e9f7f2 55%,#f4fbff)}.sidebar{background:transparent;border:0;backdrop-filter:none;padding:12px 16px 0;gap:0 12px;box-shadow:none}.university-brand{font-size:11px}.university-brand img{width:37px;height:40px}.product-brand{font-size:17px;padding-top:4px}.sidebar nav{margin:13px 0 0;grid-column:1/-1;border:2px solid #fff;border-radius:35px;background:#ffffffdc;box-shadow:0 6px 16px #24758219;padding:5px;gap:2px;scrollbar-width:none;backdrop-filter:blur(10px)}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav a{border-radius:28px;min-height:42px;padding:10px 13px;font-size:12px;gap:8px}.sidebar nav a .icon{width:21px;height:21px}.page-header{padding:21px 22px 17px;align-items:center}.page-header h1{font-size:clamp(25px,6.2vw,34px);letter-spacing:-.8px}.page-header>div>p{font-size:12px;line-height:1.5;max-width:280px;margin-top:6px}.header-account{padding:0}#account-avatar{width:39px;height:39px}main{padding:0 16px}.card{border-radius:22px;padding:20px 17px;margin-bottom:17px}.campus-hero{min-height:237px;border-radius:23px}.campus-hero>img{object-position:center}.campus-hero:after{background:linear-gradient(90deg,transparent 38%,#f1faedc9 66%,#f8fff7ef)}.hero-copy{width:47%;padding:23px 14px 24px 4px}.hero-copy h2{font-size:24px;line-height:1.13;letter-spacing:-.7px}.hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.4;margin-top:12px}.hero-cta{min-height:42px;font-size:11px;padding:10px 11px;gap:8px;border-radius:13px;margin-top:10px}.image-caption{font-size:7px;padding:3px 8px}.overview-metrics{gap:9px}.metric-card{border-radius:20px;padding:13px 10px 14px;border-width:2px}.metric-card .metric-icon{width:38px;height:33px;border-radius:13px;margin-bottom:10px}.metric-card .metric-icon .icon{width:21px;height:21px;stroke-width:2.2}.metric-card p{font-size:10px;line-height:1.4}.metric-card strong{font-size:30px;margin-top:2px}.metric-card .text-metric{font-size:13px;line-height:1.35}.metric-card small{font-size:10px;line-height:1.45}.overview-grid{gap:10px;margin-bottom:22px}#workspace>.toolbar{display:block;margin:22px 6px 18px}#workspace>.toolbar h1{font-size:29px}.eyebrow{font-size:10px}#workspace>.toolbar .actions{display:grid;grid-template-columns:.9fr 1.5fr .9fr;gap:8px;margin-top:15px}#workspace>.toolbar button{font-size:10px;min-height:45px;padding:9px 7px;border-radius:15px;white-space:normal}#refresh:before,#logout:before{font-size:19px;margin-right:4px}#workspace>.toolbar:before{width:215px;top:-35px;opacity:.1}.map-card{padding:16px 11px 11px}.map-card .toolbar{padding:0 1px 12px;gap:6px}.map-card h2{font-size:16px}.map-card .live-label{font-size:8px;gap:5px;white-space:nowrap}.map-card .toolbar h2 .icon{width:23px;height:23px}.map-controls{padding:9px;gap:7px;border-radius:15px}.map-controls select{min-height:42px;font-size:12px}.map-controls button{min-height:40px;font-size:11px}#map{height:350px;border-radius:16px}.map-legend{margin-top:12px}.map-list-heading{margin-top:3px}.list article strong{font-size:13px}.list article p{font-size:12px}.auth-heading{margin-top:24px}.auth-heading h2{font-size:25px}.auth-heading>p{font-size:12px}.google-auth-card h2{font-size:23px}.consent-check{font-size:12px}.legal-page{margin:20px 12px;padding:22px;font-size:14px}.legal-page h1{font-size:28px}.update-banner{gap:8px;padding:11px}.update-banner p{font-size:10px}.update-banner button{padding:9px;font-size:10px}footer{font-size:10px;line-height:1.5}}
@media(max-width:360px){.sidebar{padding:10px 12px 0}.sidebar nav a{font-size:11px;padding:9px 11px}.page-header{padding:18px 17px}.page-header h1{font-size:24px}.page-header>div>p{font-size:11px}.hero-copy h2{font-size:21px}.campus-hero{min-height:224px}.hero-copy{width:47%;padding-right:9px}.hero-cta{font-size:10px;padding:9px 8px}.metric-card{padding:11px 8px}.metric-card p{font-size:9px}.metric-card small{font-size:9px}.map-card h2{font-size:14px}#workspace>.toolbar .actions{gap:5px}}
@media(prefers-reduced-motion:reduce){button,.hero-cta{transition:none}button:active,.hero-cta:active{transform:none}}
#push:before{content:'';display:inline-block;width:18px;height:18px;vertical-align:-4px;margin-right:6px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 17h14l-2-3V9a5 5 0 0 0-10 0v5ZM10 21h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
body>main.legal-page{max-width:780px;margin:40px auto;padding:30px}@media(max-width:700px){body>main.legal-page{margin:20px 12px;padding:22px}}
.hero-copy h2 span{display:block}.hero-copy h2 .hero-last{color:var(--ink)}@media(max-width:700px){.hero-copy h2{font-size:22px;line-height:1.15}#workspace>.toolbar .actions{grid-template-columns:.95fr 1.65fr .9fr}#workspace>.toolbar button{white-space:nowrap;font-size:10px;padding:9px 5px}#push:before{width:16px;height:16px;margin-right:5px}#refresh:before,#logout:before{font-size:18px;margin-right:4px}}@media(max-width:360px){.hero-copy h2{font-size:20px}#workspace>.toolbar button{font-size:9px}}
