.gek-rider-app{--rider-bg:#f5efe6;--rider-bg-accent:#e8dcc8;--rider-surface:#fff;--rider-surface-muted:#f1e6d6;--rider-text:#241c15;--rider-text-soft:#6f6255;--rider-line:rgba(92,72,49,0.16);--rider-gold:#b8924f;--rider-gold-deep:#8b6a2f;--rider-green:#2f5a43;--rider-green-deep:#1f4030;--rider-cream:#f6ead8;--rider-danger:#9f3f34;--rider-danger-soft:#f8e7e3;--rider-info-soft:#e8f2f8;--rider-shadow:0 8px 18px rgba(68,45,18,0.08);background:radial-gradient(circle at top left,rgba(255,255,255,0.95),transparent 28%),radial-gradient(circle at top right,rgba(184,146,79,0.12),transparent 24%),linear-gradient(180deg,#f8f3eb 0%,#efe5d7 52%,#eadfce 100%);color:var(--rider-text);font-family:"Avenir Next","Segoe UI",sans-serif;font-size:16px;line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative}.gek-rider-app,.gek-rider-app *{box-sizing:border-box}.gek-rider-standalone{background:var(--rider-bg,#f5efe6);margin:0;min-width:320px}.gek-rider-app::before{background:linear-gradient(rgba(255,255,255,0.14),rgba(255,255,255,0.14)),repeating-linear-gradient(90deg,rgba(139,106,47,0.025) 0,rgba(139,106,47,0.025) 1px,transparent 1px,transparent 120px);content:"";inset:0;pointer-events:none;position:absolute}.gek-rider-shell{min-height:100vh;min-height:100dvh;position:relative;width:100%;z-index:1}.gek-rider-header{align-items:center;background:linear-gradient(135deg,rgba(34,52,40,0.94),rgba(23,35,28,0.98)),linear-gradient(90deg,rgba(184,146,79,0.18),transparent);border-bottom:1px solid rgba(255,255,255,0.12);box-shadow:none;color:#f8f3eb;display:flex;height:calc(60px + env(safe-area-inset-top));justify-content:space-between;padding:env(safe-area-inset-top) 14px 0;position:sticky;top:0;width:100%;z-index:20}.gek-rider-brand{align-items:center;display:flex;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700;gap:8px;left:50%;letter-spacing:0.03em;position:absolute;top:calc(50% + (env(safe-area-inset-top) / 2));transform:translate(-50%,-50%);white-space:nowrap}.gek-rider-brand img{height:32px;object-fit:contain;width:auto}.gek-rider-header-spacer,.gek-rider-forget{flex:0 0 44px;height:44px;width:44px}.gek-rider-forget{align-items:center;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);border-radius:50%;color:#fff7ea;cursor:pointer;display:inline-flex;justify-content:center;margin:0;padding:0}.gek-rider-forget svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:22px}.gek-rider-content{margin:0 auto;max-width:780px;padding:22px 16px 40px}.gek-rider-intro{margin:0 0 18px;text-align:center}.gek-rider-eyebrow{color:var(--rider-gold-deep);font-size:11px;font-weight:800;letter-spacing:0.12em;margin:0 0 4px;text-transform:uppercase}.gek-rider-intro h1,.gek-rider-login-card h1,.gek-rider-empty h2,.gek-rider-dialog h2,.gek-rider-calendar h2{color:var(--rider-text);font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:0.02em}.gek-rider-intro h1{font-size:clamp(27px,6vw,34px);margin:0}@media not all and (prefers-color-scheme:dark){.gek-rider-app :is(h1,h2,h3,h4,h5,h6,[role=heading]){color:var(--rider-green-deep) !important}}.gek-rider-week-nav{align-items:center;background:transparent;border:1px solid var(--rider-line);border-radius:999px;display:flex;gap:4px;margin:0 auto;max-width:390px;padding:4px;width:100%}.gek-rider-week-nav button,.gek-rider-calendar-toolbar button{align-items:center;background:var(--rider-green-deep);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 44px;font:700 20px/1 "Avenir Next","Segoe UI",sans-serif;height:44px;justify-content:center;margin:0;padding:0;width:44px}.gek-rider-week-nav .gek-rider-period{flex:1 1 auto;font-size:14px;min-width:0;padding:0 8px;white-space:nowrap;width:auto}.gek-rider-lessons{display:grid;gap:22px}.gek-rider-day h2{color:var(--rider-gold-deep);font-size:12px;font-weight:800;letter-spacing:0.1em;margin:0 0 8px}.gek-rider-day-card{background:var(--rider-surface);border:1px solid var(--rider-line);border-radius:14px;box-shadow:none;overflow:hidden}.gek-rider-lesson + .gek-rider-lesson{border-top:1px solid var(--rider-line)}.gek-rider-lesson-summary{align-items:center;background:transparent;border:0;color:var(--rider-text);cursor:pointer;display:grid;font-family:"Avenir Next","Segoe UI",sans-serif;gap:20px;grid-template-columns:max-content minmax(0,1fr) auto;margin:0;min-height:76px;padding:13px 16px;text-align:left;width:100%}.gek-rider-lesson-summary:hover,.gek-rider-lesson-summary:active{background:rgba(47,90,67,0.06)}.gek-rider-lesson.has-absence .gek-rider-lesson-summary{background:rgba(159,63,52,0.055)}.gek-rider-lesson-time{color:var(--rider-green-deep);font-size:14px;font-weight:800;white-space:nowrap}.gek-rider-lesson-main{display:grid;min-width:0}.gek-rider-lesson-main h3{color:var(--rider-text);font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:600;line-height:1.25;margin:0}.gek-rider-lesson-main small{color:var(--rider-text-soft);font-size:13px;line-height:1.35;margin-top:3px;overflow-wrap:anywhere}.gek-rider-lesson-state{align-items:center;display:flex;gap:8px;justify-content:flex-end}.gek-rider-lesson-state small{align-items:center;color:var(--rider-danger);display:inline-flex;font-size:12px;font-weight:800;gap:5px}.gek-rider-lesson-state small i,.gek-rider-person>b i{background:currentColor;border-radius:50%;display:inline-block;height:7px;width:7px}.gek-rider-lesson-state>b{color:var(--rider-gold-deep);font-size:22px;font-weight:500}.gek-rider-lesson-details{background:transparent;border-top:1px solid var(--rider-line);padding:0 16px 16px}.gek-rider-fact{align-items:center;border-bottom:1px solid var(--rider-line);display:flex;gap:16px;justify-content:space-between;min-height:54px;padding:9px 0}.gek-rider-fact span{color:var(--rider-gold-deep);font-size:10px;font-weight:800;letter-spacing:0.1em}.gek-rider-fact strong{font-size:14px;text-align:right}.gek-rider-roster-toggle{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--rider-line);color:var(--rider-text);cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;margin:0;min-height:58px;padding:8px 0;text-align:left;width:100%}.gek-rider-roster-toggle>span{display:grid}.gek-rider-roster-toggle small{color:var(--rider-text-soft);font-size:12px;margin-top:2px}.gek-rider-roster-toggle>b{color:var(--rider-gold-deep);font-size:18px}.gek-rider-roster{list-style:none;margin:0;padding:0}.gek-rider-person{align-items:center;border-bottom:1px solid var(--rider-line);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:7px 8px}.gek-rider-person>span{display:grid}.gek-rider-person small{color:var(--rider-text-soft)}.gek-rider-person em{background:var(--rider-info-soft);border-radius:999px;color:#215d78;font-size:10px;font-style:normal;margin-left:4px;padding:3px 7px;text-transform:uppercase}.gek-rider-person>b{align-items:center;color:var(--rider-danger);display:inline-flex;font-size:12px;gap:5px}.gek-rider-person.is-self{background:rgba(47,90,67,0.07)}.gek-rider-person.is-absent>span{opacity:0.68}.gek-rider-lesson-details footer{align-items:stretch;display:grid;gap:11px;padding-top:15px}.gek-rider-lesson-details footer small{color:var(--rider-text-soft);font-size:12px}.gek-rider-primary,.gek-rider-secondary,.gek-rider-danger{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font:700 15px/1.25 "Avenir Next","Segoe UI",sans-serif;justify-content:center;margin:0;min-height:46px;padding:10px 18px}.gek-rider-primary{background:var(--rider-green-deep);border:1px solid transparent;color:#fff}.gek-rider-secondary{background:transparent;border:1px solid var(--rider-green);color:var(--rider-green-deep)}.gek-rider-danger{background:transparent;border:1px solid var(--rider-danger);color:var(--rider-danger)}.gek-rider-app button:disabled{cursor:wait;opacity:0.62}.gek-rider-app button:focus-visible,.gek-rider-app input:focus-visible,.gek-rider-app a:focus-visible{outline:3px solid rgba(184,146,79,0.58);outline-offset:2px}.gek-rider-alert,.gek-rider-receipt{border-radius:12px;margin:0 auto 18px;max-width:620px;padding:13px 15px}.gek-rider-alert{background:var(--rider-danger-soft);color:#7a2626}.gek-rider-receipt{background:var(--rider-info-soft);border:1px solid rgba(54,95,134,0.26);color:#234f6a;font-weight:700}.gek-rider-empty{background:var(--rider-surface);border:1px solid var(--rider-line);border-radius:14px;padding:28px 20px;text-align:center}.gek-rider-empty h2{font-size:22px;margin:0 0 8px}.gek-rider-empty p{color:var(--rider-text-soft);margin:0 auto 18px;max-width:520px}.gek-rider-empty p:last-child{margin-bottom:0}.gek-rider-privacy{color:var(--rider-text-soft);font-size:13px;margin:26px auto 0;text-align:center}.gek-rider-privacy a{color:var(--rider-green-deep)}.gek-rider-login-card{background:var(--rider-surface);border:1px solid var(--rider-line);border-radius:14px;box-shadow:none;margin:clamp(24px,7vh,64px) auto 0;width:calc(100% - 24px);max-width:480px;padding:28px}.gek-rider-login-card h1{font-size:30px;margin:0 0 8px}.gek-rider-login-card>p:not(.gek-rider-eyebrow):not(.gek-rider-privacy){color:var(--rider-text-soft);margin:0 0 22px}.gek-rider-login-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}.gek-rider-login-modes button{min-width:0;padding-inline:8px}.gek-rider-intro>.gek-rider-secondary{margin-top:16px}.gek-rider-login-card form{display:grid;gap:10px}.gek-rider-login-card label{color:var(--rider-gold-deep);font-size:11px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase}.gek-rider-login-card input{background:rgba(255,255,255,0.78);border:1px solid var(--rider-line);border-radius:12px;color:var(--rider-text);font:600 18px/1 "Avenir Next","Segoe UI",sans-serif;height:52px;letter-spacing:0.02em;padding:0 14px;text-transform:uppercase;width:100%}.gek-rider-dialog-backdrop{align-items:center;background:rgba(9,18,14,0.7);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:99999}.gek-rider-dialog,.gek-rider-calendar{background:var(--rider-surface);border:1px solid var(--rider-line);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,0.25);color:var(--rider-text);max-height:calc(100dvh - 24px);overflow-y:auto;padding:24px;position:relative;width:min(100%,390px)}.gek-rider-dialog h2,.gek-rider-calendar h2{font-size:25px;color:var(--rider-popup-title,var(--rider-green-deep));text-transform:none;margin:0 0 10px;text-align:center}.gek-rider-dialog>.gek-rider-eyebrow,.gek-rider-calendar>.gek-rider-eyebrow{text-align:center}@media (max-width:768px){.gek-rider-app :is(.gek-rider-dialog,.gek-rider-calendar)>:is(h2,.gek-rider-eyebrow){padding-inline:28px;overflow-wrap:anywhere}}.gek-rider-dialog>p:not(.gek-rider-eyebrow){color:var(--rider-text-soft);margin:0 0 24px;text-align:center}.gek-rider-dialog-close{align-items:center;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--rider-text-soft);cursor:pointer;display:inline-flex;font-size:26px;height:44px;justify-content:center;line-height:1;margin:0;padding:0;position:absolute;right:8px;top:8px;width:44px}.gek-rider-dialog-actions{display:flex;gap:10px;justify-content:center}.gek-rider-calendar-toolbar{align-items:center;display:grid;gap:8px;grid-template-columns:44px minmax(0,1fr) 44px;margin:18px 0 14px}.gek-rider-calendar-toolbar strong{color:var(--rider-green-deep);text-align:center}.gek-rider-calendar-weekdays,.gek-rider-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.gek-rider-calendar-weekdays span{color:var(--rider-gold-deep);font-size:10px;font-weight:800;padding:5px 0 7px;text-align:center;text-transform:uppercase}.gek-rider-calendar-days button{background:transparent;border:1px solid transparent;border-radius:50%;color:var(--rider-text);cursor:pointer;font:600 13px/1 "Avenir Next","Segoe UI",sans-serif;margin:0;min-height:44px;min-width:0;padding:0}.gek-rider-calendar-days button.is-outside{color:var(--rider-text-soft);opacity:0.48}.gek-rider-calendar-days button.is-in-week{background:rgba(47,90,67,0.13);border-color:rgba(47,90,67,0.2);color:var(--rider-green-deep);font-weight:800}.gek-rider-loading{align-items:center;display:flex;font-weight:700;justify-content:center;min-height:50vh;padding:60px 20px;text-align:center}@media (max-width:480px){.gek-rider-content{padding:19px 12px 32px}.gek-rider-week-nav{margin-bottom:0}.gek-rider-week-nav .gek-rider-period{font-size:13px}.gek-rider-lesson-summary{gap:16px;padding:12px}.gek-rider-lesson-time{font-size:12px}.gek-rider-lesson-main h3{font-size:16px}.gek-rider-lesson-state small{font-size:0}.gek-rider-lesson-state small i{height:9px;width:9px}.gek-rider-lesson-details{padding-inline:12px}.gek-rider-login-card{margin-top:24px;padding:24px 18px}.gek-rider-dialog-actions{flex-direction:column-reverse}.gek-rider-dialog-actions button{width:100%}}@media (max-width:360px){.gek-rider-dialog-backdrop:has(.gek-rider-calendar){padding:0}.gek-rider-calendar{border-radius:0;padding:18px 6px 14px;width:100%}}@media (prefers-color-scheme:dark){.gek-rider-app{--rider-popup-title:var(--rider-cream);--rider-bg:#0e1416;--rider-bg-accent:#1a2526;--rider-surface:#121a1c;--rider-surface-muted:#1a2426;--rider-text:#e0d8cc;--rider-text-soft:#a0988e;--rider-line:rgba(255,255,255,0.08);--rider-gold:#b0a592;--rider-gold-deep:#b0a592;--rider-green:#8fd0af;--rider-green-deep:#6fa88f;--rider-danger:#ef958b;--rider-danger-soft:#4a2928;--rider-info-soft:#234757;background:radial-gradient(circle at top left,rgba(63,91,79,0.24),transparent 28%),linear-gradient(180deg,#10191a 0%,#0e1416 100%)}.gek-rider-standalone{background:#0e1416}.gek-rider-header{background:linear-gradient(135deg,#17251f,#0c1512)}.gek-rider-day-card,.gek-rider-login-card,.gek-rider-empty,.gek-rider-dialog,.gek-rider-calendar{background:var(--rider-surface)}.gek-rider-lesson-details{background:rgba(5,14,10,0.16)}.gek-rider-lesson-summary:hover,.gek-rider-lesson-summary:active,.gek-rider-person.is-self{background:rgba(229,189,112,0.08)}.gek-rider-login-card input{background:var(--rider-surface-muted)}.gek-rider-primary{background:var(--rider-green);color:#000}.gek-rider-secondary,.gek-rider-privacy a,.gek-rider-lesson-time,.gek-rider-calendar-toolbar strong,.gek-rider-calendar-days button.is-in-week{color:var(--rider-green)}.gek-rider-secondary{border-color:var(--rider-line)}.gek-rider-receipt{color:#d6ebf5}.gek-rider-person em{color:#c8e8f7}}@media (prefers-reduced-motion:reduce){.gek-rider-app *,.gek-rider-app *::before,.gek-rider-app *::after{scroll-behavior:auto !important;transition:none !important}}.gek-rider-overview{background:var(--rider-surface);border:1px solid var(--rider-line);border-radius:14px;margin-bottom:24px;padding:20px 16px}.gek-rider-login-card>h1,.gek-rider-login-card>.gek-rider-eyebrow{text-align:center}.gek-rider-login-card>p:not(.gek-rider-eyebrow){text-align:center}.gek-rider-change{background:transparent;border:0;color:var(--rider-green-deep);cursor:pointer;font:600 14px/1.4 "Avenir Next","Segoe UI",sans-serif;min-height:44px;padding:8px 16px;text-decoration:underline;text-underline-offset:3px}.gek-rider-week-nav{border:0;padding:0;gap:8px}.gek-rider-roster-labels,.is-read-only .gek-rider-person>span{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.gek-rider-roster-labels{color:var(--rider-gold-deep);font-size:11px;font-weight:800;letter-spacing:.08em;padding:14px 0 8px;text-transform:uppercase}.is-read-only .gek-rider-person{flex-wrap:wrap;padding:12px 0;gap:4px}.is-read-only .gek-rider-person small{font-size:14px}.is-read-only .gek-rider-person>b{font-weight:600}.gek-rider-person strong,.gek-rider-person small,.gek-rider-intro h1{overflow-wrap:anywhere}@media (prefers-color-scheme:dark){.gek-rider-week-nav button,.gek-rider-calendar-toolbar button{background:var(--rider-green);color:#000}}.gek-rider-privacy button{background:transparent;border:0;color:var(--rider-green-deep);cursor:pointer;font:inherit;min-height:44px;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}.gek-rider-policy{background:var(--rider-surface);border:1px solid var(--rider-line);border-radius:14px;color:var(--rider-text);margin:auto;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:24px;width:min(640px,calc(100% - 24px))}.gek-rider-policy::backdrop{background:rgba(9,18,14,.7)}.gek-rider-policy>.gek-rider-eyebrow,.gek-rider-policy>h2{text-align:center;padding-inline:28px}.gek-rider-policy h2{color:var(--rider-popup-title,var(--rider-green-deep));font:600 25px/1.25 Georgia,"Times New Roman",serif;letter-spacing:.02em;text-transform:none;margin:0 0 20px;overflow-wrap:anywhere}.gek-rider-policy h3{font:600 18px/1.4 Georgia,"Times New Roman",serif;margin:22px 0 6px}.gek-rider-policy p{margin:0 0 12px}.gek-rider-policy-body{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.gek-rider-policy a{color:var(--rider-green-deep)}
