/* BET-15 (11.11.2026): Kontoseiten im Stil der Website kreativWERK: Elfenbein/Papier, Petrol, Kupferakzente, Jost lokal. */
@font-face{font-family:Jost;src:url(/student/fonts/jost.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.pilotLogin{--kp-paper:#faf5ec;--kp-card:#fffcf7;--kp-ink:#183f46;--kp-ink-hover:#28545a;--kp-muted:#576867;--kp-line:#dcdace;--kp-soft:#eeeade;--kp-copper:#a9562f;--kp-error:#8c352a;margin:0;min-height:100vh;display:grid;place-items:center;background:var(--kp-paper);color:var(--kp-ink);font:16px/1.55 Jost,system-ui,-apple-system,"Segoe UI",sans-serif;padding:24px;box-sizing:border-box;overflow-x:hidden}
.pilotLogin *,.pilotLogin *::before,.pilotLogin *::after{box-sizing:border-box}
.pilotLogin main{width:100%;max-width:440px;background:var(--kp-card);padding:40px 36px;border:1px solid var(--kp-line);border-radius:4px;min-width:0}
.pilotLogin h1{font-size:40px;line-height:1.1;font-weight:500;letter-spacing:-1.2px;margin:8px 0 18px}
.pilotLogin .eyebrow,.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--kp-copper,#a9562f);font-weight:600;margin:0}
.pilotLogin label{display:block;margin:18px 0 6px;font-weight:500}
.pilotLogin input,.pilotLogin select{width:100%;padding:12px;border:1px solid #b9bfb4;border-radius:3px;font:inherit;background:#fff;color:var(--kp-ink)}
.pilotLogin input:focus,.pilotLogin select:focus{border-color:var(--kp-ink)}
.pilotLogin button,#studentAccess button,.pilotUpload{display:inline-block;background:var(--kp-ink,#183f46);color:#fff;border:0;border-radius:3px;padding:12px 16px;font:inherit;font-weight:500;cursor:pointer;margin:8px 6px 0 0}
.pilotLogin button:hover{background:var(--kp-ink-hover)}
.pilotLogin button{width:100%;margin-top:24px}
.pilotHint{font-size:13px;line-height:1.5;color:var(--kp-muted,#576867)}
#status{min-height:24px;color:var(--kp-error,#8c352a)}
#studentAccess{position:fixed;right:16px;top:12px;z-index:8000;max-width:min(360px,calc(100vw - 32px));background:#fffcf7;color:#183f46;box-shadow:0 3px 18px #0002;border:1px solid #bbb;font:13px/1.45 system-ui}#studentAccess summary{padding:12px;cursor:pointer}#studentAccess>div{padding:0 16px 12px;max-height:65vh;overflow:auto}#studentAccess p{margin:8px 0}.pilotUpload{position:relative;overflow:hidden}.pilotUpload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}#studentAccess button:disabled{opacity:.5;cursor:wait}:is(.pilotLogin,#studentAccess) :focus-visible{outline:3px solid #a9562f;outline-offset:3px}#studentAccess summary:focus-visible{outline-offset:-3px}body.eye-view #studentAccess{display:none}@media(max-width:600px){#studentAccess{top:auto;bottom:78px}}@media print{#studentAccess{display:none}}

.hud .right{padding-top:52px}@media(max-width:600px){.hud .right{padding-top:0}}

/* Konto-Seiten (Phase 1) */
.pilotLogin main a{color:var(--kp-ink);text-underline-offset:3px}.pilotLogin main a:hover{color:var(--kp-copper)}
.pilotLogin h2{font-size:21px;font-weight:500;margin:0 0 8px}.pilotLogin hr{border:0;border-top:1px solid var(--kp-line);margin:26px 0}
.pilotLogin table.konto{border-collapse:collapse;width:100%;margin:16px 0}.pilotLogin table.konto th{text-align:left;font-weight:500;padding:8px 12px 8px 0;color:var(--kp-muted);width:34%;vertical-align:top}.pilotLogin table.konto td{padding:8px 0;overflow-wrap:anywhere}.pilotLogin table.konto tr+tr>*{border-top:1px solid var(--kp-soft)}
.pilotLogin .pilotButton,.pilotLogin a.pilotButton{display:inline-block;background:var(--kp-ink);color:#fff;padding:12px 16px;border-radius:3px;text-decoration:none;margin-top:8px}.pilotLogin a.pilotButton:hover{background:var(--kp-ink-hover);color:#fff}
.pilotLogin button.secondary{background:transparent;color:var(--kp-ink);border:1px solid var(--kp-ink)}.pilotLogin button.secondary:hover{background:var(--kp-soft)}
.pilotLogin [role="status"]{min-height:24px;color:var(--kp-error)}.pilotLogin [role="status"] a{margin-top:12px}.pilotLogin code{font-size:13px}
.loginLinks{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;font-size:14px;margin-top:16px}
#studentAccess a.pilotKonto{display:block;margin-top:10px;color:#183f46}

/* Phase 2: Kaufknöpfe und Zahlungsmeldung auf der Kontoseite */
.pilotLogin form.offer{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;align-items:center;margin:.75rem 0;padding:.75rem;border:1px solid var(--kp-line)}
.pilotLogin form.offer strong{grid-column:1}.pilotLogin form.offer span{grid-column:1;font-size:.9em;opacity:.8}.pilotLogin form.offer button{grid-column:2;grid-row:1/3;margin:0}.pilotLogin form.offer p{grid-column:1/3;margin:0}
.pilotLogin .pilotPaid{padding:.75rem;border:1px solid var(--kp-line);background:rgba(0,0,0,.03)}
.pilotLogin main.wide{max-width:900px}
.pilotLogin .apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:26px 0}
.pilotLogin .appTile{display:flex;flex-direction:column;gap:6px;min-height:170px;padding:22px;border:1px solid var(--kp-line);border-radius:4px;background:var(--kp-card);color:var(--kp-ink);text-decoration:none;min-width:0}
.pilotLogin a.appTile{border-top:3px solid var(--kp-copper)}.pilotLogin a.appTile:hover{border-color:var(--kp-ink);border-top-color:var(--kp-copper);background:var(--kp-paper);color:var(--kp-ink)}
.pilotLogin .appTile strong{font-size:23px;font-weight:500;letter-spacing:-.3px}.pilotLogin .appTile span{font-size:14px;color:var(--kp-muted)}
.pilotLogin .appTile small.appLaufzeit{font-size:13px;color:var(--kp-ink);font-weight:500}
.pilotLogin .appTile em{margin-top:auto;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--kp-copper);font-weight:600}
.pilotLogin .appTile.off{color:#8d9592;background:#f6f3ec;border-style:dashed}.pilotLogin .appTile.off span,.pilotLogin .appTile.off small.appLaufzeit{color:#8a918d}.pilotLogin .appTile.off em{color:#7d8582}
.pilotLogin .appLinks{margin:4px 0 0}
.pilotLogin main.wide>form button.secondary,.pilotLogin.kpKunden main form[data-api="/api/logout"] button{width:auto;min-width:160px}

/* Kontofeld, 02.11.2026: einheitliche Ränder, gleich grosse Knöpfe in zwei Spalten. */
#studentAccess{border:1px solid #dcdace;border-radius:10px;box-shadow:0 3px 18px #183f4614;overflow:hidden}
#studentAccess summary{padding:12px 16px;font-weight:600}
#studentAccess>div{padding:4px 16px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
#studentAccess>div>:not(button):not(.pilotUpload){grid-column:1/-1}
#studentAccess>div>hr{border:0;border-top:1px solid #dcdace;margin:8px 0;width:100%}
#studentAccess button,#studentAccess .pilotUpload{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin:0;padding:10px 12px;border-radius:8px;text-align:center;line-height:1.25;width:100%}
#studentAccess #pilotLogout{background:#fff;color:#183f46;border:1px solid #183f46}
#studentAccess a{display:block}
.pilotLogin .kpNotfall{font:600 20px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.06em;word-spacing:.2em;background:var(--kp-paper);border:1px solid var(--kp-ink);padding:14px;margin:12px 0;word-break:break-word}.pilotLogin .kpWarnung{color:var(--kp-error)}

/* BET-15 Verwaltung (nur 127.0.0.1): Listen, Formulare, Einladungslink. */
.kpVerwaltung{place-items:start center}
.kpVerwaltung main.wide{max-width:1180px}
.kpVerwaltung .kopf{display:flex;justify-content:space-between;align-items:center;gap:12px}.kpVerwaltung .kopf form button{width:auto;margin:0}
.kpVerwaltung section{margin-top:34px}
.kpVerwaltung .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--kp-line);border-radius:4px}
.kpVerwaltung table.liste{border-collapse:collapse;width:100%;font-size:14px;background:#fff}
.kpVerwaltung table.liste th{text-align:left;font-weight:600;color:var(--kp-muted);background:var(--kp-soft);padding:9px 12px;white-space:nowrap}
.kpVerwaltung table.liste td{padding:10px 12px;border-top:1px solid var(--kp-soft);vertical-align:top}
.kpVerwaltung table.konten td:last-child{min-width:260px}
.kpVerwaltung ul.laufzeiten{margin:0;padding:0;list-style:none}.kpVerwaltung ul.laufzeiten li+li{margin-top:4px}
.kpVerwaltung .tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid var(--kp-line);white-space:nowrap}.kpVerwaltung .tag.ok{border-color:#9fb8a9;color:#2f5d46}.kpVerwaltung .tag.warn{border-color:var(--kp-copper);color:var(--kp-copper)}
.kpVerwaltung details summary{cursor:pointer;color:var(--kp-ink);font-weight:500}
.kpVerwaltung details form{margin:12px 0;padding:12px;border:1px solid var(--kp-soft);border-radius:4px;background:var(--kp-paper)}
.kpVerwaltung details form.inline{display:inline-block;padding:0;border:0;background:none;margin:6px 8px 0 0}
.kpVerwaltung details form label{margin:8px 0 4px;font-size:13px}.kpVerwaltung details button{width:auto;margin-top:10px;padding:9px 14px;font-size:14px}
.kpVerwaltung form [role="status"]{min-height:0;margin:8px 0 0}.kpVerwaltung form [role="status"]:empty{display:none}.kpVerwaltung details .actions{margin-top:6px}
.kpVerwaltung .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kpVerwaltung form.narrow{max-width:440px}
.kpVerwaltung .einladung{margin-top:16px;padding:14px;border:1px solid var(--kp-copper);border-radius:4px;background:#fff}.kpVerwaltung .einladung p{margin:0 0 8px;color:var(--kp-ink)}
.kpVerwaltung .einladung button{width:auto;margin:10px 8px 0 0}.kpVerwaltung input.kpLink{font:13px/1.4 ui-monospace,Consolas,monospace}

@media(max-width:600px){.pilotLogin{padding:16px;place-items:start center}.pilotLogin main{padding:26px 20px}.pilotLogin h1{font-size:33px}.pilotLogin table.konto th{width:40%}.kpVerwaltung .row{grid-template-columns:1fr}}
@media print{.pilotLogin{background:#fff;display:block}.pilotLogin main{border:0;max-width:none}.pilotLogin button,.pilotLogin a.pilotButton,#einrichtenHinweis{display:none}}
