:root{--navy:#10243f;--navy2:#193657;--ink:#162a41;--muted:#73839a;--teal:#12bea9;--tealbg:#d7f7ee;--sky:#eaf4fa;--bg:#f6f8fa;--line:#e7edf3;--paper:#fff;--shadow:0 14px 40px rgba(20,53,77,.10)}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{overscroll-behavior-y:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #559eed;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.app{height:100dvh;min-height:490px;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
.app-header{display:flex;align-items:center;gap:11px;flex:0 0 auto;background:var(--navy);color:#fff;padding:10px 18px;height:72px;padding-top:max(10px,env(safe-area-inset-top));height:calc(65px + env(safe-area-inset-top));position:relative;z-index:5}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:#203d60;border:1px solid #345474;border-radius:13px}.brand-mark svg{width:29px;height:29px}.brand-text{display:flex;flex-direction:column;gap:3px}.brand-text strong{font-size:17px;font-weight:850;letter-spacing:-.65px}.brand-text span{font-size:9px;letter-spacing:1.15px;color:#c5d2e2;font-weight:750}.header-icon{margin-left:auto;width:42px;height:42px;border-radius:14px;background:#223d5b;color:#e8f4fa;border:1px solid #385375;font-size:22px;display:grid;place-items:center}
.main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain}.view{display:none;min-height:100%}.view.active{display:block}.hero{background:linear-gradient(134deg,#102843,#183c5d 73%,#156064);padding:29px 22px 25px;color:white;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:240px;height:240px;right:-130px;top:-70px;border:42px solid rgba(44,211,186,.13);border-radius:50%;pointer-events:none}.hero-sup{font-size:10px;font-weight:850;letter-spacing:1.7px;color:#bce8e2;display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:#30e5bf;box-shadow:0 0 0 4px rgba(59,231,190,.14)}.hero h1{font-size:35px;line-height:1.08;letter-spacing:-1.6px;margin:16px 0 11px;font-weight:850;position:relative}.hero h1 em{font-style:normal;color:#60e3ca}.hero p{color:#cfdfed;font-size:13px;line-height:1.55;max-width:355px;margin:0 0 19px;position:relative}.hero-buttons{display:flex;gap:10px;position:relative}.btn{min-height:44px;padding:12px 16px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-size:13px;font-weight:800;text-align:center}.btn-aqua{background:#58e4c7;color:#103942}.btn-aqua:hover{background:#82edda}.btn-glass{color:#f8ffff;background:rgba(255,255,255,.09);border-color:rgba(229,247,255,.25)}.btn-dark{background:var(--navy);color:#fff}.btn-outline{background:white;border-color:#d8e3ed;color:#26415c}.btn-icon{font-size:20px;font-weight:500;line-height:0}.wrap{padding:17px 17px 32px;max-width:800px;margin:auto}.location-status{border-radius:15px;border:1px solid #dbeaf0;background:#ecf7fb;display:flex;align-items:flex-start;gap:11px;padding:12px 13px;margin:0 0 24px}.location-symbol{font-size:25px;color:#158899;line-height:1;flex:none}.location-status strong{display:block;font-size:12px;color:#214961;margin-bottom:3px}.location-status small{display:block;color:#52758a;font-size:11px;line-height:1.45}.location-status.success{background:#edf9f3;border-color:#c4eadb}.location-status.success .location-symbol{color:#0b8a6e}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 0 13px}.eyebrow{display:block;color:#21869a;letter-spacing:1.5px;font-weight:850;font-size:10px;margin-bottom:6px}.section-head h2{font-weight:850;letter-spacing:-.65px;font-size:24px;margin:0;line-height:1.2}.section-head h2 small{font-size:11px;color:#426881;background:#e5f0f6;border-radius:99px;vertical-align:middle;padding:5px 9px;margin-left:5px;letter-spacing:0}.tiny-button{border:0;background:#e8f0f7;border-radius:10px;padding:9px 12px;color:#315875;font-size:11px;font-weight:800;white-space:nowrap}.searchbox{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;background:white;border:1px solid #dfe7ef;border-radius:14px;box-shadow:0 4px 20px rgba(22,47,76,.04)}.searchbox svg{width:21px;height:21px;fill:none;stroke:#8ba1b0;stroke-width:1.8;stroke-linecap:round}.searchbox input{border:0;outline:none;min-width:0;flex:1;color:var(--ink);font-size:14px;background:transparent}.searchbox input:focus-visible{outline:0}.chip-scroll{display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;margin:14px -17px 0;padding:0 17px 2px}.chip-scroll::-webkit-scrollbar{display:none}.level-chip{flex:none;border:1px solid #dfebf1;background:#fff;color:#547086;font-size:12px;font-weight:750;border-radius:25px;padding:9px 13px;min-height:37px}.level-chip.active{background:var(--navy);color:white;border-color:var(--navy)}.controls-row{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:16px 0 12px}.sort-box{display:flex;align-items:center;gap:8px;font-size:11px;color:#657b90;font-weight:750}.sort-box select{border:0;appearance:none;background:#edf2f7;border-radius:9px;padding:10px 28px 10px 11px;font-size:11px;max-width:165px;color:#294962;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%235d7692' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 11px) center}.filter-button{border:1px solid #dae6ed;background:#fff;border-radius:11px;padding:10px 13px;color:#5a7691;font-size:11px;font-weight:800}.filter-button.active{background:#fff5db;color:#95700f;border-color:#f1dea5}
.campus-list{display:grid;gap:10px}.campus-card{border:1px solid #e2eaf1;background:white;border-radius:17px;padding:14px 14px 13px;box-shadow:0 5px 18px rgba(22,51,81,.035);min-width:0}.campus-card:active{background:#f8fbff}.card-top{display:flex;align-items:flex-start;gap:10px}.level-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:850;font-size:18px;flex:none;background:color-mix(in srgb,var(--typecolor) 13%,white);color:var(--typecolor)}.card-info{min-width:0;flex:1}.card-info h3{font-size:15px;line-height:1.22;font-weight:850;margin:1px 0 5px;letter-spacing:-.35px}.card-info p{font-size:11px;color:#73869a;margin:0;line-height:1.3}.grade{min-width:40px;min-height:40px;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:11px;font-size:20px;font-weight:900;line-height:1}.grade small{font-size:8px;letter-spacing:.2px;margin-top:3px;font-weight:750}.grade-A{background:#e4f8ee;color:#148151}.grade-B{background:#e6f1ff;color:#2462af}.grade-C{background:#fff2d9;color:#a7791f}.grade-D,.grade-F{background:#ffebeb;color:#ad4545}.grade-NR{background:#f0f2f5;color:#687e91;font-size:12px}.card-facts{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 12px}.fact-tag{background:#f3f7fa;border:1px solid #edf2f5;border-radius:8px;padding:7px 8px;font-size:10px;color:#4e6880;font-weight:750}.fact-tag b{color:#1e425f;font-size:11px}.card-actions{display:flex;align-items:center;gap:8px;border-top:1px solid #eff3f6;padding-top:11px}.card-actions button,.card-actions a{border-radius:9px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:850;border:0}.card-view{flex:1;background:#e8f3f7;color:#1b667a}.card-directions{flex:1;background:var(--navy);color:white}.card-save{width:39px;background:#f4f7fa;color:#55718a;font-size:21px!important}.card-save.saved{color:#d39317;background:#fff7df}.empty-state{border:1px dashed #cadbe4;background:white;border-radius:15px;padding:28px 20px;text-align:center;color:#607889;font-size:13px;line-height:1.6}.empty-state strong{display:block;color:#294962;font-size:17px;margin:0 0 7px}.data-footnote,.helper,.micro-note{font-size:11px;color:#7f91a2;line-height:1.65;margin:17px 2px 0}
.bottom-nav{background:#fff;flex:0 0 auto;border-top:1px solid #e4ecf2;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 7px max(8px, env(safe-area-inset-bottom));box-shadow:0 -7px 25px rgba(35,65,90,.045);position:relative;z-index:6}.nav-item{border:0;background:none;min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#8395a5;font-size:10px;font-weight:800;letter-spacing:.05px}.nav-ico{font-size:25px;line-height:1;display:grid;place-items:center;width:40px;height:31px;border-radius:10px;font-weight:600}.nav-item.active{color:#117e81}.nav-item.active .nav-ico{background:#daf8f0;color:#0b8785}
.inner-page{max-width:800px;margin:auto;padding:25px 18px 32px}.inner-page>h1,.page-top h1{font-weight:900;letter-spacing:-1.3px;font-size:31px;margin:0 0 6px;line-height:1.18}.page-lead{font-size:13px;line-height:1.55;color:#71869a;margin:0 0 20px}.page-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.round-add{width:49px;height:49px;background:var(--navy);color:white;border-radius:16px;border:0;font-size:28px;flex:none}.map-card{border:1px solid #dce9f0;border-radius:19px;background:white;overflow:hidden}.map-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;font-size:11px;font-weight:750;color:#476e82;border-bottom:1px solid #e6eff5}.vector-map{height:440px;background:linear-gradient(145deg,#eaf2f7,#f0f6f7);position:relative;overflow:hidden}.vector-map svg{display:block;width:100%;height:100%;touch-action:pan-y}.map-empty{position:absolute;bottom:20px;left:13px;right:13px;background:rgba(255,255,255,.94);padding:12px;border-radius:11px;color:#536f83;font-size:12px;line-height:1.5;box-shadow:0 3px 15px #0001}.map-pin{cursor:pointer}.map-legend{display:flex;flex-wrap:wrap;gap:7px 14px;padding:12px;color:#718197;font-size:10px}.map-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%}.map-pick{margin-top:19px}.map-pick select{border:1px solid #d9e7f0;border-radius:12px;width:100%;padding:14px;background:#fff;color:var(--ink);font-size:13px}.map-actions{display:flex;gap:9px;margin-top:11px}.map-actions>*{flex:1}.map-pin-circle{filter:drop-shadow(0 2px 3px #264e6c55)}.map-svg-label{font-size:12px;fill:#5c7c90;font-weight:700}.map-svg-road{font-size:10px;fill:#829aaa;letter-spacing:.2px}.map-street{stroke:#fff;stroke-width:10;opacity:.95}.map-street-line{stroke:#b4cbd8;stroke-width:1.5}.map-highway{stroke:#eed7ad;stroke-width:11}.map-highway-line{stroke:#dbaf69;stroke-width:2}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:19px 0 10px}.stat-panel{border:1px solid #e5ebf2;padding:14px 11px;background:white;border-radius:15px;min-width:0}.stat-panel span{font-size:10px;color:#72879a;display:block;line-height:1.3;min-height:26px}.stat-panel strong{display:block;color:#1e4865;font-size:22px;letter-spacing:-1px;margin-top:6px;white-space:nowrap}.stats-grid + .micro-note{margin:8px 0 26px}.job-list{display:grid;gap:10px}.job-card{padding:15px;border-radius:16px;background:#fff;border:1px solid #e0eaf1}.job-card h3{font-size:14px;margin:0 0 5px}.job-card .job-datetime{font-size:12px;color:#71899a}.job-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.job-tags span{font-size:10px;padding:6px 8px;background:#f1f5f8;color:#4f7187;border-radius:8px}.job-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eaf0f5;padding-top:12px;gap:10px}.job-bottom strong{font-size:17px}.job-bottom .job-buttons{display:flex;gap:6px}.job-buttons button{border:0;background:#eff4f8;padding:9px;border-radius:9px;font-size:11px;color:#40627b;font-weight:800}.job-buttons button.complete{background:#dbf7eb;color:#167659}.inline-guide{border-radius:15px;border:1px solid #dce9f3;background:#eff7fa;padding:14px 16px;font-size:12px;color:#5c7b8c;line-height:1.6;margin-top:20px}
.tool-feature{display:flex;align-items:center;gap:12px;background:#10304f;color:#fff;padding:16px;border-radius:16px;margin-bottom:10px}.tool-feature-icon{background:#55dfc0;color:#12403f;display:grid;place-items:center;width:45px;height:45px;flex:none;border-radius:13px;font-size:25px;font-weight:900}.tool-feature strong{font-size:14px}.tool-feature p{color:#b8d1e0;font-size:11px;margin:4px 0 0}.tool-feature>span{margin-left:auto;white-space:nowrap;font-size:12px;color:#70e7cd;font-weight:850}.checklist{background:white;border-radius:17px;border:1px solid #e2ebf2;overflow:hidden}.check-item{display:flex;align-items:flex-start;gap:13px;padding:15px;border-bottom:1px solid #edf1f5;font-size:12px;line-height:1.45;cursor:pointer}.check-item:last-child{border-bottom:0}.check-item input{width:21px;height:21px;accent-color:#0da88e;margin:0;flex:none}.check-item strong{font-size:13px;color:#23445d}.check-item small{color:#7990a1;font-size:11px;display:block;margin-top:3px}.check-item.done strong{text-decoration:line-through;color:#788a95}.text-link{background:none;border:0;color:#35839b;text-decoration:underline;padding:14px 2px;font-size:11px;font-weight:700}.space-top{margin-top:21px}.resource-list{overflow:hidden;border-radius:17px;border:1px solid #e3ebf2;background:white}.resource-list>a{min-height:72px;padding:12px 14px;display:flex;gap:13px;align-items:center;border-bottom:1px solid #eaf0f4}.resource-list>a:last-child{border:0}.resource-icon{width:40px;height:40px;border-radius:12px;background:#eff7fa;display:grid;place-items:center;font-size:19px;color:#25718a;flex:none}.resource-list strong{font-size:13px;display:block;margin-bottom:4px}.resource-list small{font-size:11px;color:#7c90a1}.resource-list b{margin-left:auto;color:#a4b4c2;font-size:22px;font-weight:400}.script-card{margin-top:20px;padding:18px;border-radius:18px;background:#e5f7f1;border:1px solid #c9eada}.script-card h2{font-size:20px;letter-spacing:-.5px;margin:0 0 6px}.script-card p{font-size:12px;line-height:1.6;color:#54746b}.script-card button{min-width:100%}.safety-note{padding:17px;border:1px solid #efdfbd;background:#fff9ed;border-radius:16px;margin-top:15px}.safety-note strong{font-size:13px;color:#806220}.safety-note p{font-size:11px;color:#8a7853;line-height:1.65;margin:5px 0 0}
.backdrop{position:fixed;inset:0;background:rgba(8,24,42,.58);z-index:20;opacity:0;transition:opacity .22s}.backdrop.visible{opacity:1}.bottom-sheet{position:fixed;z-index:21;bottom:0;left:0;right:0;max-height:91dvh;border-radius:24px 24px 0 0;background:#fff;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -20px 50px rgba(7,30,50,.22);padding-bottom:max(23px,env(safe-area-inset-bottom));animation:sheetIn .2s ease-out}.bottom-sheet[hidden],.backdrop[hidden]{display:none!important}@keyframes sheetIn{from{transform:translateY(25px);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet-handle{position:sticky;top:0;margin:9px auto 7px;width:41px;height:5px;border-radius:5px;background:#dce4eb;z-index:2}.sheet-content{padding:0 20px 10px}.sheet-heading{padding:8px 20px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-heading h2{font-size:22px;letter-spacing:-.8px;margin:0}.icon-close{width:37px;height:37px;border:0;border-radius:12px;background:#edf3f6;color:#406177;font-size:15px}.sheet-title-row{display:flex;gap:12px;align-items:flex-start}.sheet-title-row>div:first-child{flex:1;min-width:0}.sheet-eyebrow{color:#188b8e;font-size:10px;letter-spacing:1.4px;font-weight:850;text-transform:uppercase}.sheet-title{font-size:27px;letter-spacing:-1.1px;font-weight:900;line-height:1.1;margin:7px 0}.sheet-address{font-size:12px;line-height:1.5;color:#758d9f;margin:0}.sheet-close{flex:none}.sheet-bell{padding:17px;margin:20px 0 13px;border-radius:16px;background:linear-gradient(110deg,#e5f7f3,#eff8f9);border:1px solid #d4ebe6;display:flex;justify-content:space-between;gap:12px}.sheet-bell span{font-size:10px;text-transform:uppercase;color:#608f8b;letter-spacing:1px;font-weight:850}.sheet-bell strong{display:block;font-size:20px;letter-spacing:-.6px;margin-top:6px}.sheet-bell small{font-size:11px;color:#4e7880}.sheet-alert{font-size:11px;line-height:1.55;color:#947338;background:#fff8e9;border:1px solid #f2e5c6;padding:11px 12px;border-radius:12px;margin-bottom:15px}.sheet-fast-actions{display:flex;gap:9px}.sheet-fast-actions>*{flex:1}.sheet-section{margin-top:22px}.sheet-section h3{font-size:15px;font-weight:850;margin:0 0 12px}.sheet-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.sheet-stat{background:#f4f7fa;border:1px solid #edf1f4;padding:11px;border-radius:12px}.sheet-stat small{display:block;color:#7b8fa0;font-size:10px;line-height:1.4}.sheet-stat strong{display:block;font-size:17px;margin-top:5px}.sheet-stat em{font-size:10px;color:#7c91a3;font-style:normal}.sheet-context{font-size:11px;color:#738798;line-height:1.6;margin:11px 0}.sheet-links{display:flex;flex-wrap:wrap;gap:12px}.sheet-links a{font-size:11px;color:#197b94;text-decoration:underline}.rating-row{display:flex;align-items:center;gap:5px}.rate-star{font-size:32px;background:none;border:0;padding:0 3px;color:#c9d2d9}.rate-star.on{color:#f0ae3c}.sheet-section textarea{width:100%;border:1px solid #dae5eb;border-radius:11px;padding:12px;background:#fbfdff;font-size:13px;line-height:1.5;resize:vertical;min-height:83px}.toggle-check{display:flex;align-items:center;gap:10px;margin-top:11px;font-size:12px;font-weight:750}.toggle-check input{width:19px;height:19px;accent-color:#16a788}.sheet-saved{margin-top:9px;color:#8495a2;font-size:10px}.form-sheet form{padding:0 20px 10px}.form-sheet label{display:flex;flex-direction:column;gap:7px;color:#58728b;font-size:11px;font-weight:800;margin-bottom:15px}.form-sheet input,.form-sheet select,.form-sheet textarea{background:#f8fafc;border:1px solid #dfe7ef;border-radius:12px;padding:12px;width:100%;min-height:45px;color:var(--ink);font-size:13px}.form-sheet textarea{min-height:85px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sheet-actions{display:flex;gap:10px}.sheet-actions>*{flex:1}.settings-content{padding:0 20px}.settings-card{background:#f1f7fa;padding:14px;border-radius:14px;border:1px solid #dfebf0;margin-bottom:15px}.settings-card strong{font-size:13px}.settings-card p{font-size:11px;line-height:1.6;color:#71869b;margin:6px 0 0}.settings-button-list{border:1px solid #e1e8f0;border-radius:14px;overflow:hidden}.settings-row{display:flex;width:100%;align-items:center;justify-content:space-between;padding:16px;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;color:#314f6b;font-size:13px;font-weight:750}.settings-row:last-child{border:0}.settings-row span{font-size:21px;color:#9cb0be}.small-link{font-size:12px;color:#19778b;text-decoration:underline;display:block;margin:13px 0 18px}.toast{position:fixed;z-index:40;bottom:calc(81px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-width:min(280px,calc(100% - 40px));max-width:480px;border-radius:13px;padding:12px 18px;background:#173653;color:#fff;text-align:center;font-size:12px;font-weight:700;box-shadow:0 12px 30px #14334b66}.update-banner{position:fixed;z-index:35;bottom:calc(74px + env(safe-area-inset-bottom));left:14px;right:14px;background:#0d3344;border-radius:14px;color:white;padding:12px;box-shadow:0 10px 35px #10344655;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800}.update-banner[hidden],.toast[hidden]{display:none}.update-banner button{border:0;padding:9px;border-radius:9px;color:#123c3d;background:#75edd1;font-weight:850}.update-banner button:last-child{margin-left:auto;background:transparent;color:white;font-size:17px}
@media(min-width:700px){.app{max-width:1120px;margin:auto;height:100vh;box-shadow:0 0 70px #a5b5c433}.app-header{padding-left:30px;padding-right:30px}.bottom-nav{display:flex;justify-content:center;gap:40px}.nav-item{min-width:100px}.wrap{max-width:840px;padding:20px}.hero{padding:35px max(30px,calc((100% - 850px)/2)) 30px}.hero h1{font-size:41px}.campus-list{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-page{max-width:840px}.map-card{max-width:660px}.bottom-sheet{max-width:570px;left:50%;transform:translateX(-50%);border-radius:22px 22px 0 0}.stats-grid{gap:15px}.stat-panel strong{font-size:28px}}
@media(max-width:360px){.hero h1{font-size:30px}.hero-buttons .btn{padding:10px;font-size:11px}.card-facts{gap:5px}.fact-tag{font-size:9px}.sheet-content{padding-left:15px;padding-right:15px}.sheet-stat-grid{gap:6px}.form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v3 iPhone-first refinements */
[hidden]{display:none!important}
.hero{padding:18px 18px 17px}.hero h1{font-size:27px;line-height:1.12;margin:9px 0 6px}.hero p{font-size:12px;margin-bottom:12px}.hero-buttons .btn{min-height:42px}.wrap{padding-top:13px}.location-status{margin-bottom:14px;padding:10px 12px}.section-head{margin-bottom:10px}.card-top{align-items:center}.compact-campus-card{padding:14px 13px 12px}.compact-campus-card .card-info h3{font-size:15px;line-height:1.26}.compact-campus-card .card-info p{font-size:10.5px}.compact-campus-card .grade{min-width:54px;padding:6px 7px}.campus-mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 7px;padding:9px 0;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4;gap:4px}.campus-mini-metrics span{padding:0 8px;border-right:1px solid #e8eef3;text-align:center;min-width:0}.campus-mini-metrics span:last-child{border:0}.campus-mini-metrics b{font-size:15px;color:#163c52;white-space:nowrap}.campus-mini-metrics small{display:block;font-size:9px;line-height:1.2;color:#71849a;margin-top:3px}.campus-brief{display:flex;align-items:center;gap:5px 12px;flex-wrap:wrap;font-size:10px;line-height:1.25;color:#536d81;padding:2px 0 10px}.campus-brief b{font-weight:780;color:#29465d}.compact-campus-card .card-actions{margin-top:0}.compact-campus-card .card-view,.compact-campus-card .card-directions{min-height:40px}.sub-day-chip{margin:10px 0 14px;background:#eef5f8;border:1px solid #dfe9f0;border-radius:12px;padding:10px 12px;color:#34596b;font-size:12px;line-height:1.5}.sub-day-chip span{display:block;color:#778b9c;font-size:10px}.sheet-fast-actions{margin-top:10px}.classsize-stat{grid-column:span 2}.sheet-context{line-height:1.55}.sub-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.sub-review-fields label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#486176}.sub-review-fields select{width:100%;background:#f8fafc;border:1px solid #dde5ed;border-radius:11px;padding:11px 7px;font-size:12px;min-height:43px;color:#1c3a54}
.map-top-pick{margin-bottom:14px}.mini-label{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:1px;color:#597184;display:block;margin-bottom:7px}.map-top-pick select{border:1px solid #d8e3ed;border-radius:12px;background:#fff;width:100%;min-height:47px;padding:10px 12px;font-weight:750;color:#243d55}.map-top-pick .map-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.map-switch{display:flex;background:#e7eff4;border-radius:13px;padding:4px;margin-bottom:12px;gap:4px}.map-switch button{flex:1;border:0;border-radius:10px;background:transparent;color:#49697c;font-size:13px;font-weight:800;padding:12px 6px}.map-switch button.selected{background:#fff;color:#16364f;box-shadow:0 2px 7px #1634481a}.real-map-card{border:1px solid #d6e5eb;border-radius:17px;overflow:hidden;background:#dae8ee}.real-map-card iframe{width:100%;height:420px;border:0;display:block;background:#e9f0f5}.map-overlay-note{padding:10px 12px;background:#f2f8fa;font-size:11px;line-height:1.4;color:#517184}.map-nearby{margin-top:22px}.quick-school{border:1px solid #e2eaf0;width:100%;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:13px 14px;margin:0 0 7px;color:#274357;min-height:58px}.quick-school.active{border-color:#25c5aa;background:#edfbf7}.quick-school strong,.quick-school small{display:block}.quick-school strong{font-size:13px}.quick-school small{font-size:10.5px;color:#688294;margin-top:3px}.quick-school b{font-size:24px;font-weight:400;color:#6a8a9c}.map-empty{display:block;position:absolute;left:20px;right:20px;bottom:20px;border:1px solid #d3e0e7;border-radius:12px;padding:14px;line-height:1.5;color:#436479;background:#fff;box-shadow:0 4px 18px #1b34481c}.vector-map{height:360px}
@media(max-width:375px){.campus-brief{gap:5px 8px}.campus-mini-metrics b{font-size:14px}.sub-review-fields{grid-template-columns:1fr}.real-map-card iframe{height:340px}.hero h1{font-size:24px}}
@media(min-width:700px){.hero{padding-top:25px;padding-bottom:22px}.hero h1{font-size:33px}.real-map-card iframe{height:440px}}

/* v3.1 polish: first campus visible sooner on iPhone */
.hero{padding:14px 17px 13px}.hero-sup{font-size:9px;letter-spacing:1px}.hero h1{font-size:25px;line-height:1.13;letter-spacing:-.85px;margin:7px 0 5px}.hero p{font-size:11px;line-height:1.4;margin:0 0 11px}.hero-buttons .btn{min-height:40px;padding:9px 12px}.location-status{padding:9px 12px;margin:0 0 11px}.location-status small{font-size:10px}.wrap{padding-top:12px}.map-live-header{background:#f6fafc;color:#39586c;border-bottom:1px solid #d9e6ed;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800}.map-live-header a{background:#dbf5ec;color:#11795e;padding:7px 9px;border-radius:8px;font-size:11px}.map-live-header a:focus-visible{outline:3px solid #559eed}
@media(min-width:700px){.hero{padding-top:22px;padding-bottom:20px}.hero h1{font-size:32px}}

.map-overlay-note a{color:#007a91;text-decoration:underline;font-weight:800}
