/* Quiet typography and restrained surfaces for the sign-in gateway. */
:root{--navy:#526e88;--navy-deep:#293a4a;--burgundy:#526e88;--gold:#71859a;--ink:#293a4a;--muted:#6c7883;--paper:#fff;--cream:#f6f7f8;--line:#dde2e6;--soft:#eef1f4;--success:#587769;--shadow:none}
html[data-theme=warm]{--navy:#766650;--navy-deep:#36372f;--burgundy:#766650;--gold:#9b8a70;--ink:#36372f;--muted:#79786c;--paper:#fffdf8;--cream:#f6f3ec;--line:#e1ddd1;--soft:#eeebe2;--success:#61765d}
html[data-theme=dark]{color-scheme:dark;--navy:#acc6c3;--navy-deep:#e0e6e5;--burgundy:#acc6c3;--gold:#acc6c3;--ink:#e0e6e5;--muted:#a0afae;--paper:#1d282b;--cream:#182225;--line:#364346;--soft:#243135;--success:#a0bdad}
html,body{background:var(--cream);color:var(--ink)}body{background:var(--cream);font:400 14px/1.6 "Segoe UI",system-ui,sans-serif}body:before{display:none}
.auth-shell{max-width:1110px;min-height:100svh;padding:28px 44px 36px;margin:auto}.topbar{height:60px;margin:0 0 54px;padding:0;gap:16px}.mark{color:var(--ink);font-size:13px;font-weight:650;letter-spacing:.025em}.mark img{height:36px;width:36px;filter:none}.language-area{display:flex;align-items:center;gap:12px}.language-select select,#loginTheme{height:35px;background:transparent;color:var(--muted);font-size:12px;border:0;border-radius:4px;box-shadow:none;padding:0 8px;cursor:pointer}.language-select select{min-width:116px;padding-right:24px}.language-select:after{right:7px;color:var(--muted)}
.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) 410px;grid-template-areas:"welcome auth";gap:72px;align-items:center;padding:10px 0 48px}
.login-introduction{grid-area:welcome;min-width:0;padding:10px 0;max-width:420px}.login-overline{color:var(--muted);font-size:10px;letter-spacing:.18em;font-weight:600}.login-introduction h1{font-family:Cambria,"Times New Roman",serif;font-size:46px;letter-spacing:-.035em;line-height:1.17;font-weight:400;margin:25px 0 20px;color:var(--ink)}.login-introduction>p{font-size:14px;color:var(--muted);line-height:1.9;max-width:355px;margin:0}.login-outline{margin-top:35px;display:grid;gap:20px}.login-outline>div{display:flex;gap:17px;align-items:flex-start}.login-outline>div>span{color:var(--muted);font-size:10px;padding-top:4px;font-variant-numeric:tabular-nums}.login-outline p{margin:0;display:grid;gap:3px}.login-outline strong{font-size:13px;color:var(--ink);font-weight:600}.login-outline small{font-size:12px;color:var(--muted);line-height:1.7}
.auth-side{grid-area:auth;position:static;padding:0;min-width:0}.card{border:1px solid var(--line);border-radius:8px;padding:32px;background:var(--paper);box-shadow:none;overflow:hidden;isolation:auto}.card:before,.card:after,.passport-band,.passport-serial,.card-meta{display:none}.card h2{font-family:inherit;font-size:23px;line-height:1.4;font-weight:600;letter-spacing:-.025em;color:var(--ink);margin:0}.sub{color:var(--muted);font-size:12px;line-height:1.8;min-height:0;margin:8px 0 23px}.tabs{display:flex;gap:24px;margin:0 0 24px;padding:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}.tabs button{height:40px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 0 9px;background:transparent;color:var(--muted);font-size:12px;font-weight:500;box-shadow:none;cursor:pointer}.tabs button.active{border-bottom-color:var(--navy);background:transparent;color:var(--ink);box-shadow:none;font-weight:600}
.card form{display:grid;gap:16px}.card label{font-size:12px;font-weight:500;color:var(--ink);gap:7px}.card input{height:45px;border:1px solid var(--line);border-radius:5px;padding:0 12px;background:var(--paper);color:var(--ink);font-size:14px;box-shadow:none}.card input:focus{border-color:var(--navy);background:var(--paper);box-shadow:0 0 0 2px color-mix(in srgb,var(--navy) 12%,transparent)}.primary{height:44px;margin-top:3px;background:var(--navy);color:#fff;border:0;border-radius:5px;box-shadow:none;font-size:13px;font-weight:600;transition:filter .15s;cursor:pointer}.primary:hover{filter:brightness(.94);translate:none}.primary:active{filter:brightness(.85)}html[data-theme=dark] .primary{color:#182225}.links{margin-top:10px}.link{font-size:11px;color:var(--navy);font-weight:500;min-height:32px}.divider{font-size:9px;margin:17px 0;color:var(--muted)}.divider:before,.divider:after{background:var(--line)}.legal{border:0;color:var(--muted);font-size:10px;font-weight:400;line-height:1.8;margin-top:19px;padding:0}.message{font-size:12px;line-height:1.7}.message:empty{display:none}#googleArea:has(#googleWrap:empty){display:none}
.password-field{display:block;position:relative}.card .password-field input{padding-right:44px}.password-toggle{position:absolute;right:4px;top:4px;width:37px;height:37px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{background:var(--soft);color:var(--ink)}.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.gateway-two-factor-note{font-size:12px;color:var(--muted);background:var(--soft);border-color:var(--line)}
.intro{grid-area:auto;width:100%;min-width:0;margin:0}.login-map-details{border-top:1px solid var(--line);background:transparent}.login-map-details>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;list-style:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:500}.login-map-details>summary::-webkit-details-marker{display:none}.login-map-hint{display:flex;align-items:center;gap:18px;font-size:10px;font-weight:400}.login-map-hint b{font-size:19px;font-weight:400}.login-map-details[open] .login-map-hint b{transform:rotate(45deg)}.map-card{background:var(--paper);border-color:var(--line);border-radius:8px;box-shadow:none;backdrop-filter:none}.map-title h2{font-family:inherit;font-size:19px}.intro .map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;height:540px}.intro .map-viewport{height:540px;min-height:0}.intro .map-side-rail{height:540px;max-height:none;grid-template-columns:1fr;overflow:auto}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
@media(max-width:950px){.auth-shell{padding:22px 30px 30px}.auth-grid{gap:35px;grid-template-columns:minmax(0,1fr) 365px}.card{padding:28px}.login-introduction h1{font-size:39px}}
@media(max-width:740px){.auth-shell{padding:16px 22px 25px;max-width:490px}.topbar{margin-bottom:26px;height:44px}.mark span{display:none}.mark img{height:32px;width:32px}.language-area{gap:5px}.auth-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"welcome" "auth";gap:23px;padding:0 0 24px}.login-introduction{padding:0;max-width:none}.login-overline{font-size:9px;letter-spacing:.12em}.login-introduction h1{font-size:30px;line-height:1.25;margin:12px 0 10px}.login-introduction h1 br{display:none}.login-introduction>p{font-size:12px;max-width:none;line-height:1.8}.login-outline{display:none}.card{padding:25px;border-radius:7px}.card h2{font-size:22px}.intro .map-workspace{display:block;height:auto}.intro .map-viewport{height:400px}.intro .map-side-rail{height:auto;max-height:none}.login-map-hint{font-size:0}.login-map-hint b{font-size:19px}.map-controls{display:grid;grid-template-columns:minmax(0,1fr)}.map-mode,.map-search{width:100%}.map-side-rail{grid-template-columns:1fr}}
@media(max-width:360px){.auth-shell{padding-inline:16px}.card{padding:21px}.language-select select{min-width:100px}.login-introduction h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Warm photography, deep ink and a restrained brass accent. */
:root{--navy:#345d73;--burgundy:#345d73;--gold:#bc965f;--ink:#253c49;--muted:#657582;--cream:#eef3f5;--line:#d9e3e8;--soft:#f3f7f9}
html[data-theme=warm]{--navy:#405b58;--burgundy:#405b58;--gold:#b38d55;--ink:#303e3c;--muted:#707973;--cream:#f3efe7;--line:#e2ded4;--soft:#f6f4ed;--paper:#fffdf8}
html[data-theme=dark]{--navy:#aacfc7;--burgundy:#aacfc7;--gold:#d4b887;--ink:#e5eeec;--muted:#a7b8b3;--cream:#152225;--line:#33474a;--soft:#233638;--paper:#1c2c2f}
.auth-shell{max-width:1210px;padding:28px 42px 32px}.topbar{margin-bottom:29px}.mark{letter-spacing:.02em;font-size:14px}.mark img{width:40px;height:40px}.language-select select,#loginTheme{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding-inline:10px;height:37px}.language-select select{padding-right:28px}.language-area{gap:8px}
.auth-grid{grid-template-columns:minmax(0,1fr) 460px;gap:0;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:17px;overflow:hidden;align-items:stretch;box-shadow:0 16px 45px #253a4910;min-height:590px}
.login-introduction{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:44px;max-width:none;min-height:590px;background:linear-gradient(180deg,rgba(15,29,34,.05) 20%,rgba(15,29,34,.58) 56%,rgba(15,29,34,.94) 100%),url('/assets/auth/german-academy-hero.png') 16% center/auto 100% no-repeat;color:#fff}
.login-introduction:before{content:'';position:absolute;top:30px;left:34px;width:38px;height:2px;background:#d6b67e}.login-overline{color:#ead4ad;font-size:10px;letter-spacing:.17em}.login-introduction h1{font-size:43px;color:#fff7e9;line-height:1.2;letter-spacing:-.025em;margin:19px 0 16px}.login-introduction>p{font-size:13px;color:#e4e6df;max-width:385px;line-height:1.85}.login-outline{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;border-top:1px solid #ffffff30;padding-top:22px;margin-top:25px}.login-outline>div{display:block}.login-outline>div>span{display:none}.login-outline strong{font-size:11px;font-weight:500;color:#ead4ad}.login-outline small{display:none}
.auth-side{padding:38px;background:var(--paper);display:flex;align-items:center}.card{width:100%;border:0;box-shadow:none;padding:0;border-radius:0;background:transparent}.card h2{font-size:25px;font-weight:600}.sub{font-size:13px;margin:10px 0 26px}.tabs{gap:27px;margin-bottom:24px}.tabs button{font-size:13px}.card input{height:47px;border-radius:7px;background:var(--soft);border-color:var(--line)}.card input:focus{background:var(--paper)}.card label{font-size:12px}.primary{height:47px;border-radius:7px;margin-top:6px;background:var(--navy);box-shadow:0 4px 10px color-mix(in srgb,var(--navy) 12%,transparent);font-size:13px}.password-toggle{top:5px}.legal{font-size:10px;padding-top:16px;border-top:1px solid var(--line);margin-top:19px}.intro{margin-top:23px}.login-map-details{border:1px solid var(--line);background:var(--paper);border-radius:9px}.login-map-details>summary{padding:17px 22px;color:var(--ink)}.login-map-hint{color:var(--muted)}.login-map-hint b{color:var(--gold)}
@media(max-width:1000px){.auth-shell{padding-inline:28px}.auth-grid{grid-template-columns:minmax(0,1fr) 400px}.login-introduction{padding:32px}.login-introduction h1{font-size:36px}.auth-side{padding:30px}.login-outline{grid-template-columns:1fr;gap:8px}}
@media(max-width:740px){.auth-shell{max-width:500px;padding:16px 18px 25px}.topbar{margin-bottom:21px}.auth-grid{grid-template-columns:1fr;grid-template-areas:"welcome" "auth";min-height:0;border-radius:13px}.login-introduction{min-height:230px;padding:27px 25px;background-position:15% center;background-size:auto 185%;justify-content:flex-end}.login-introduction:before{top:22px;left:25px;width:25px}.login-overline{font-size:9px}.login-introduction h1{font-size:30px;margin:12px 0 10px}.login-introduction h1 br{display:none}.login-introduction>p{font-size:12px;line-height:1.7}.login-outline{display:none}.auth-side{padding:29px 25px}.card h2{font-size:23px}.intro{margin-top:18px}.login-map-details>summary{padding:16px 19px}.language-select select,#loginTheme{font-size:11px;height:35px}.mark img{width:34px;height:34px}}
@media(max-width:360px){.auth-shell{padding-inline:12px}.auth-side{padding:25px 22px}.login-introduction{padding-inline:22px}.login-introduction h1{font-size:28px}}
