/* Mobile landing only; activity and authentication layouts retain their own styles. */
body:has(#loginView.active) .phone-shell {width:100%;max-width:none;margin:0;padding:0;}
#loginView.login-view {padding:0;background:#33291f;}
#loginView::before,#loginView::after,#loginView .message-board,#loginView #homePathSteps {display:none;}
#loginView .mobile-cover {position:relative;isolation:isolate;box-sizing:border-box;min-height:100svh;width:100%;margin:0;padding:100px 22px 32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(25,28,20,.12),rgba(35,29,22,.25) 30%,rgba(40,29,22,.85) 75%,#33291f),url('../web/home-campus-v1/campus-friends-mobile-941.webp') center 30%/cover no-repeat;}
#loginView .cover-header {position:absolute;inset: max(20px,env(safe-area-inset-top)) 24px auto;display:flex;justify-content:space-between;align-items:center;}
#loginView .cover-logo {display:flex;align-items:center;gap:10px;color:#fffdf5;font-size:27px;font-weight:750;}
#loginView .cover-logo img {border-radius:9px;}
#loginView .cover-login {border:0;border-radius:30px;background:#fffdf5;color:#244b40;padding:10px 23px;min-height:44px;font:inherit;font-weight:650;}
#loginView .cover-content {width:min(100%,440px);margin-top:16svh;text-align:center;color:#fffdf5;}
#loginView .cover-kicker {font-size:13px;letter-spacing:.13em;margin:0 0 22px;color:#f1f4e9;}
#loginView .cover-title {font-size:clamp(32px,9vw,46px);line-height:1.3;letter-spacing:-.03em;color:#fffdf5;margin:0 0 22px;font-weight:750;}
#loginView .cover-description {font-size:clamp(12px,3.3vw,15px);line-height:1.9;margin:0 0 28px;color:#f3efe6;}
#loginView .hero-cta {display:flex;width:100%;min-height:58px;justify-content:center;gap:22px;margin:0;border:1px solid #dceedd;border-radius:40px;background:#dceedd;color:#21483b;font-size:17px;box-shadow:none;}
#loginView .open-schools-bar {display:flex;align-items:center;justify-content:center;gap:15px;min-height:44px;width:auto;margin:14px auto 0;padding:8px 16px;background:transparent;border:0;color:#fffdf5;box-shadow:none;font-size:14px;}
#loginView .cover-login:focus-visible,#loginView .open-schools-bar:focus-visible,#loginView .hero-cta:focus-visible {outline:3px solid #fff;outline-offset:4px;}
@media(max-height:650px){#loginView .cover-content{margin-top:5svh;}#loginView .mobile-cover{padding-top:95px;}#loginView .cover-kicker{margin-bottom:14px;}#loginView .cover-description{margin-bottom:20px;}}

/* Open-campus dialog: quiet list cards, consistent with the landing palette. */
#openSchoolsModal {padding:20px;background:rgba(25,35,28,.46);backdrop-filter:blur(5px);}
#openSchoolsModal .schools-modal {box-sizing:border-box;width:min(100%,420px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:32px 24px 24px;border:1px solid #d7e2d7;border-radius:28px;background:#fffdf6;backdrop-filter:none;box-shadow:0 18px 60px rgba(21,39,30,.2);text-align:left;}
#openSchoolsModal .modal-close {position:absolute;top:14px;right:14px;width:44px;height:44px;border:1px solid #dbe5da;border-radius:50%;background:#edf4ec;color:#2a5040;box-shadow:none;font-size:28px;display:grid;place-items:center;}
#openSchoolsModal h2 {margin:10px 48px 10px 0;color:#294d3e;font-size:24px;line-height:1.4;}
#openSchoolsModal .schools-sub {margin:0 0 24px;color:#647468;font-size:14px;line-height:1.7;text-align:left;}
#openSchoolsModal .schools-list {display:grid;gap:10px;margin:0;padding:0;}
#openSchoolsModal .schools-list li {display:flex;align-items:center;gap:12px;min-height:58px;box-sizing:border-box;padding:15px 18px;background:#f0f5ee;border:1px solid #dce6d9;border-radius:16px;color:#304f40;font-size:16px;font-weight:600;line-height:1.5;text-align:left;box-shadow:none;}
#openSchoolsModal .schools-list li::before {content:"";flex:0 0 8px;height:8px;border-radius:50%;background:#6c9276;}
#openSchoolsModal .modal-close:focus-visible {outline:3px solid #397f73;outline-offset:3px;}
#openSchoolsModal .modal-close:active {background:#dce9da;}
@media(max-width:360px){#openSchoolsModal{padding:14px;}#openSchoolsModal .schools-modal{padding:26px 18px 20px;border-radius:24px;}#openSchoolsModal h2{font-size:22px;}}

/* Login shares the campus dialog palette, with unchanged native form controls. */
#loginModal {padding:16px;background:rgba(25,35,28,.46);backdrop-filter:blur(5px);}
#loginModal .login-modal-card {box-sizing:border-box;width:min(100%,440px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:28px 22px 24px;border:1px solid var(--hz-line-strong,rgba(80,130,130,.24));border-radius:28px;background:#fffdf6;backdrop-filter:none;box-shadow:0 18px 60px rgba(21,39,30,.2);}
#loginModal #loginForm {padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;}
#loginModal .modal-close {top:14px;right:14px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--hz-line-strong,rgba(80,130,130,.24));border-radius:50%;background:var(--hz-accent-soft,#e6f3f1);color:var(--hz-accent-ink,#173c3c);font-size:28px;box-shadow:none;}
#loginModal .auth-card-head {padding-right:42px;margin-bottom:22px;}
#loginModal .auth-kicker {display:inline-block;padding:5px 10px;border-radius:10px;background:var(--hz-accent-soft,#e6f3f1);color:var(--hz-accent-ink,#173c3c);font-size:12px;letter-spacing:.08em;box-shadow:none;}
#loginModal .auth-card-head h2 {font-size:27px;line-height:1.35;color:#294d3e;margin:10px 0;}
#loginModal #authEntryDescription {font-size:13px;line-height:1.7;font-weight:400;color:#657368;}
#loginModal label {color:#304d3d;font-size:14px;line-height:1.6;}
#loginModal input:not([type=checkbox]):not([type=hidden]) {box-sizing:border-box;min-width:0;width:100%;height:48px;padding:12px 14px;border:1px solid var(--hz-line-strong,rgba(80,130,130,.24));border-radius:13px;background:#fff;color:#293e31;font-size:16px;box-shadow:none;}
#loginModal input::placeholder {color:#839086;}
#loginModal .login-campus-email-hint,#loginModal .password-login-help {font-size:12px;color:#718074;line-height:1.6;}
#loginModal .login-mode-toggle {display:flex;gap:4px;padding:4px;margin:18px 0;border:1px solid var(--hz-line-strong,rgba(80,130,130,.24));border-radius:14px;background:var(--hz-accent-soft,#e6f3f1);box-shadow:none;}
#loginModal .login-mode-btn {flex:1;min-width:0;min-height:42px;border:0;border-radius:10px;background:transparent;color:#6a776b;font-size:14px;box-shadow:none;}
#loginModal .login-mode-btn.active {background:#fffdf6;color:var(--hz-accent-ink,#173c3c);box-shadow:inset 0 0 0 1px var(--hz-accent,#57b7b7),0 2px 5px #294d3e0d;font-weight:650;}
#loginModal .inline-field {display:flex;gap:10px;}
#loginModal .inline-field input {flex:1;}
#loginModal .ghost-btn {flex:none;min-height:48px;padding:10px 16px;border:1px solid var(--hz-line-strong,rgba(80,130,130,.24));border-radius:13px;background:var(--hz-accent-soft,#e6f3f1);color:var(--hz-accent-ink,#173c3c);box-shadow:none;font-size:14px;}
#loginModal .primary-btn {min-height:50px;width:100%;border:1px solid var(--hz-accent,#57b7b7);border-radius:15px;background:var(--hz-accent,#57b7b7);color:var(--hz-accent-ink,#173c3c);font-size:16px;box-shadow:none;}
#loginModal .agree-row {align-items:flex-start;gap:9px;margin:20px 0 16px;font-size:12px;color:#69776b;}
#loginModal input[type=checkbox] {width:18px;height:18px;flex:none;accent-color:var(--hz-accent,#57b7b7);margin-top:2px;}
#loginModal .agree-link {color:var(--hz-accent-ink,#173c3c);font-size:inherit;}
#loginModal :is(button,input):focus-visible {outline:3px solid var(--hz-teal-700,var(--brand-deep,#2f7777));outline-offset:3px;}
#loginModal button:disabled {opacity:.55;cursor:not-allowed;}
@media(max-width:360px){#loginModal{padding:12px;}#loginModal .login-modal-card{padding:24px 18px 20px;}}
