/* Peiffer-Academy – gemeinsame Designsprache mit Mein Peiffer. */
:root{--navy:#102a43;--blue:#1769aa;--blue2:#eaf4fb;--blue-hover:#115b95;--accent:#1769aa;--accent-ink:#1769aa;--ink:#182838;--muted:#647485;--line:#dfe6ec;--paper:#f3f6f8;--mint:#eaf4fb;--teal:#16845b;--green:#16845b;--red:#c43d3d;--sidebar-width:260px}
html{font-size:16px}body{background:var(--paper);font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}button,input,textarea,select{font:inherit}button,.button{font-weight:700}button:focus-visible,a:focus-visible{outline:3px solid #459bd2;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1769aa18}h1,h2,h3{color:var(--ink);letter-spacing:-.025em}h1{font-size:32px;line-height:1.2}h2{font-size:23px}h3{font-size:16px}p{line-height:1.65}.eyebrow{color:var(--blue);font-size:10px;letter-spacing:.1em}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);box-shadow:0 4px 10px #1769aa12;border-radius:9px}.primary:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:9px}.secondary:hover{background:#f3f8fc;border-color:#c0d4e4}.quiet{color:var(--ink);border-radius:9px}.quiet:hover{background:var(--blue2)}.text-button{color:var(--blue)}.danger-text{color:#aa3030}.danger{border-radius:9px}.card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 2px 5px #102a4303;padding:25px}label{font-size:13px;color:var(--ink);gap:7px}input,textarea,select{background:#fff;border:1px solid #cfd9e2;border-radius:10px;min-height:48px;color:var(--ink)}.small{color:var(--muted)}.pill{font-size:11px;padding:5px 10px;background:#eaf0f5;border-radius:99px}.pill.live{color:#11764f;background:#e7f6ef}.pill.closed{color:#5b6d7c;background:#edf1f4}.avatar,.session-icon{color:var(--blue);background:var(--blue2)}.success-banner{background:#e7f6ef;color:#126447;border:1px solid #c7e5d6;border-radius:11px}.success-banner.neutral{background:var(--blue2);color:var(--navy);border-color:#d5e5f1}
/* Kopf und Navigation */
.topbar{height:88px;padding:0 32px;border-bottom:1px solid var(--line);background:#fff;gap:20px;position:sticky;top:0;z-index:100;box-shadow:none}.topbar>.brand .brand-logo{width:132px;max-height:70px}.top-label{font-size:13px;color:var(--muted);margin-left:auto}.academy-context{display:none;min-width:0}.academy-context strong{font-size:14px;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.academy-context span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.academy-online{display:none;align-items:center;gap:7px;color:var(--green);font-size:12px;font-weight:700;white-space:nowrap}.academy-online:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.academy-online.is-offline{color:var(--red)}#account{flex-shrink:0}#account button{border:1px solid var(--line);padding:9px 13px;min-height:40px;background:#fff;font-size:12px}.academy-menu-toggle{display:none;align-items:center;gap:7px;min-height:42px;font-size:12px;padding:9px 11px;flex-shrink:0}.academy-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;height:100dvh;z-index:1100;display:flex;flex-direction:column;background:#102a43;color:#c9d6e2;padding:26px 14px 16px;overflow-y:auto;overscroll-behavior:contain}.academy-sidebar-heading{position:relative;padding:0 8px 23px}.academy-sidebar-brand{display:block;background:#fff;border-radius:12px;padding:12px;max-width:206px}.academy-sidebar-brand img{display:block;width:100%;height:auto}.academy-sidebar-product{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#a8bdce;margin:14px 2px 0}.academy-sidebar-close{display:none;position:absolute;right:0;top:0;width:38px;height:38px;padding:0;border:1px solid #ffffff30;background:#102a43;color:#fff;border-radius:9px}.academy-nav-group{margin:19px 12px 8px;font-size:10px;letter-spacing:.07em;font-weight:800;color:#99b0c3}.academy-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:9px;background:transparent;text-align:left;color:#c9d6e2;font-size:13px;font-weight:650;line-height:1.4;min-height:44px;margin:3px 0;box-shadow:none}.academy-nav-item svg{flex-shrink:0}.academy-nav-item:hover{color:#fff;background:#ffffff10}.academy-nav-item.is-current{color:#fff;background:#1769aa;box-shadow:0 5px 16px #00000010}.academy-nav-item:focus-visible{outline-color:#9dd6ff;outline-offset:-2px}.academy-nav-session{padding:3px 13px 10px}.academy-nav-session strong{font-size:12px;color:#fff;display:block;overflow-wrap:anywhere;line-height:1.5}.academy-nav-session>span{display:flex;align-items:center;gap:6px;font-size:10px;margin-top:6px;color:#b5c9d9}.academy-session-dot{width:6px;height:6px;border-radius:50%;background:#a8bdce}.academy-session-dot.is-live{background:#59d5a1}.academy-nav-hint{font-size:12px;line-height:1.7;color:#a8bdce;padding:13px}.academy-sidebar-footer{margin-top:auto;padding:22px 10px 0;border-top:1px solid #ffffff20;display:grid;gap:9px;font-size:11px}.academy-sidebar-footer>span{font-size:9px;letter-spacing:.08em;color:#8ca6ba}.academy-sidebar-footer a{color:#c9d6e2;text-decoration:none}.academy-sidebar-footer a:hover{color:#fff;text-decoration:underline}.academy-sidebar-footer>div{display:flex;gap:16px;font-size:10px}.academy-nav-backdrop{position:fixed;inset:0;border:0;border-radius:0;background:#0b213b80;z-index:1050}.role-teacher .topbar{margin-left:var(--sidebar-width);height:76px;gap:24px}.role-teacher .topbar>.brand,.role-teacher .top-label{display:none}.role-teacher .academy-context{display:block;margin-right:auto}.role-teacher .academy-online{display:inline-flex}.role-teacher #app{margin:0 0 0 var(--sidebar-width);max-width:none;padding:30px 32px 60px;min-height:calc(100dvh - 146px)}.role-teacher>footer{margin-left:var(--sidebar-width);padding:23px 32px}.role-teacher .tabs{display:none}.role-teacher .back{margin-bottom:10px;font-size:12px}.page-heading{margin:0 0 26px;gap:20px}.page-heading h1,.compact h1{font-size:30px;margin:7px 0 10px;letter-spacing:-.035em}.page-heading p{font-size:14px}.compact{margin:0 0 25px}.compact p{font-size:12px}
/* Übersichten und Arbeitsflächen */
#app{padding-top:32px}.academy-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:25px}.academy-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 21px}.academy-stat>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);font-weight:600}.academy-stat svg{color:var(--blue);opacity:.8}.academy-stat>strong{display:block;font-size:29px;font-weight:800;letter-spacing:-.04em;color:var(--ink);line-height:1.2;margin-top:12px}.dashboard-grid{gap:25px;grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr)}.dashboard-grid>section>h2{font-size:20px}.session-list{gap:12px}.session-with-actions{border-radius:13px;padding:0;box-shadow:none}.session-open{padding:18px;gap:13px}.session-open:hover{background:#f7fafc}.session-item strong{font-size:14px;color:var(--ink)}.session-item small{font-size:11px;letter-spacing:.03em}.session-row-actions{padding:0 18px 14px}.session-row-actions button{font-size:11px}.workspace{grid-template-columns:minmax(0,1fr) 285px;gap:24px}.workspace>*,.workspace aside{min-width:0}.lesson-workspace{grid-template-columns:minmax(0,1fr) 310px}.lesson-workspace .lesson-setup{grid-column:1/-1}.workspace>aside{gap:20px}.join-card h2{font-size:20px}.presentation{padding:22px}.session-code{color:var(--navy);letter-spacing:4px}.participant{font-size:13px;border-bottom:1px solid #f0f3f6;padding:11px 0}.participant:last-child{border-bottom:0}.participant small{font-size:10px}.lesson-item{border-color:var(--line);border-radius:11px;background:#fff}.lesson-item.is-active{background:#eef6fc;border-color:#9ec6e3}.lesson-number{background:var(--blue2);color:var(--blue)}.lesson-description strong{color:var(--ink)}.lesson-actions button{font-size:11px;min-height:38px}.lesson-setup h2,.lesson-content-list h2{font-size:22px}.lesson-start{background:#eef6fc;border-radius:12px}.question-preview{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:13px}.question-preview h3{font-size:16px}.question-preview .lola-controls{border-radius:10px}.question-preview ol{font-size:14px}.question-scoring-card{background:#f2f7fb;border-color:#d8e7f2}.slide-library-item{border-radius:11px}.results-card .panel-heading{margin-bottom:24px}th{background:#f8fafc;font-size:10px;text-transform:uppercase;letter-spacing:.06em}td{font-size:13px}th,td{border-color:#e9eef3;padding:15px 17px}.answer{border-radius:11px;background:#fff;min-height:48px}.answer:has(input:checked){border-color:var(--blue);background:#eef6fc}input[type=radio],input[type=checkbox]{accent-color:var(--blue)}.exam fieldset{padding:26px 0}.exam .eyebrow{color:var(--blue)}.exam legend{color:var(--ink)}.slide-editor-dialog{border-radius:18px;background:var(--paper)}.slide-editor-heading{border-color:var(--line)}.slide-editor-heading h2{font-size:22px}.question-answer-row{border-color:var(--line)}.question-editor-preview{border-radius:14px}.slide-template-list button.selected{border-color:var(--blue);background:var(--blue2)}
/* Einstieg im Stil der gemeinsamen Peiffer-Anwendungen */
.role-guest .welcome{grid-template-columns:1fr 1fr;gap:0;align-items:stretch;max-width:1120px;margin:20px auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:580px;box-shadow:0 12px 38px #102a430b}.role-guest .intro{padding:48px 42px;background:linear-gradient(145deg,#102a43,#143954);display:flex;flex-direction:column;justify-content:center}.role-guest .intro h1{font-size:44px;line-height:1.1;color:#fff;margin:25px 0 22px;letter-spacing:-.04em}.role-guest .intro h1 span{color:#92c8ed}.role-guest .intro .eyebrow{color:#a9d0ec;letter-spacing:.1em}.role-guest .intro p{color:#cad8e5;font-size:15px;line-height:1.8}.role-guest .steps{gap:18px;margin-top:25px}.role-guest .steps span,.role-guest .intro-note{color:#b9c9d8;font-size:11px}.role-guest .steps b{color:#a9d0ec;font-size:14px}.role-guest .entry{border:0;border-radius:0;box-shadow:none;background:#fff;padding:46px 40px;align-self:center}.role-guest .entry h2{font-size:27px}.role-guest .entry .small{font-size:11px}.role-guest>footer{border-top:1px solid var(--line)}
/* Teilnehmer, Chat und Lola */
.role-participant #app{max-width:1440px;padding-top:28px}.role-participant .page-heading h1{font-size:28px}.role-participant .participant-view-toolbar{padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:0}.role-participant .participant-view-toolbar>span{color:var(--ink)}.chat-panel{border-color:var(--line);box-shadow:0 12px 48px #102a4330;border-radius:17px}.chat-history{background:#f7fafc}.chat-message{border-color:#e0e8ef;background:#edf5fb}.chat-message.chat-own{background:#dceefa;border-color:#d4e7f6}.chat-message strong{color:#466174}.chat-message time{color:#647485}.chat-thread{background:#f5f8fb;color:var(--ink)}.chat-thread.selected{border-color:var(--blue);background:var(--blue2)}.chat-thread small{color:var(--muted)}.chat-unread{background:var(--blue)}.chat-heading{color:var(--ink)}.chat-heading small{color:var(--muted)}.lola-controls{background:#f4f8fb;border-color:#d9e6f0}.lola-buttons label{color:var(--muted)}.participant-full-view .topbar,.participant-full-view #academy-sidebar,.participant-full-view>footer{display:none!important}.role-participant.participant-full-view #app{margin:0;max-width:none;padding:10px 16px;height:100vh;height:100dvh;min-height:0}.participant-full-view .participant-view-toolbar{padding:7px 12px;margin:0 0 10px;flex-shrink:0}.participant-full-view .presentation{background:transparent;border:0;box-shadow:none}.participant-full-view .academy-chat{z-index:1200}
@media(min-width:1600px){.role-teacher #app{padding-left:40px;padding-right:40px}.role-teacher .topbar{padding-left:40px;padding-right:40px}.role-teacher>footer{padding-left:40px;padding-right:40px}}
@media(min-width:961px) and (max-width:1250px){.workspace:not(.lesson-workspace){grid-template-columns:minmax(0,1fr)}.workspace:not(.lesson-workspace)>aside{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace:not(.lesson-workspace)>aside>.danger{align-self:start}.lesson-workspace{grid-template-columns:minmax(0,1fr)}.lesson-workspace>.lesson-editor{order:1}.lesson-workspace>.lesson-content-list{order:2}.dashboard-grid{grid-template-columns:1fr}.role-teacher .topbar{gap:16px}.role-teacher .academy-online{font-size:11px}}
@media(max-width:960px){.academy-sidebar{transform:translateX(-105%);transition:transform .18s ease;max-width:86vw;box-shadow:10px 0 40px #102a4320}.academy-nav-open .academy-sidebar{transform:translateX(0)}.academy-nav-open{overflow:hidden}.academy-sidebar-close{display:grid;place-items:center}.academy-sidebar-heading{padding-right:34px}.academy-sidebar-brand{max-width:180px}.role-teacher .academy-menu-toggle{display:inline-flex}.role-teacher .topbar{margin-left:0;padding:0 20px;gap:16px;height:74px}.role-teacher #app{margin-left:0;padding:26px 22px 50px}.role-teacher>footer{margin-left:0;padding:22px}.role-teacher .academy-online{display:none}.role-teacher .academy-context strong{font-size:13px}.role-teacher .academy-context span{font-size:11px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.lesson-workspace{grid-template-columns:minmax(0,1fr)}.lesson-workspace>.lesson-editor{order:1}.lesson-workspace>.lesson-content-list{order:2}.dashboard-grid{gap:22px}.academy-stats{gap:12px}.academy-stat{padding:17px}.topbar{padding:0 22px}.top-label{display:none}}
@media(max-width:760px){body{font-size:14px}.topbar{height:82px;padding:0 18px;gap:14px}.topbar>.brand .brand-logo{width:120px;max-height:66px}#app,.role-participant #app{padding:25px 18px 45px}.card{padding:20px;border-radius:14px}.workspace,.dashboard-grid{grid-template-columns:1fr}.page-heading h1,.compact h1{font-size:27px}.page-heading p{font-size:13px}.academy-stats{gap:8px;margin-bottom:22px}.academy-stat{padding:14px 11px;border-radius:12px}.academy-stat>div{font-size:10px;gap:4px;align-items:flex-start}.academy-stat svg{width:16px;height:16px;flex-shrink:0}.academy-stat>strong{font-size:26px;margin-top:9px}.role-guest .welcome{grid-template-columns:1fr;margin:0;min-height:0;border-radius:16px}.role-guest .intro{padding:28px}.role-guest .intro h1{font-size:34px;margin:18px 0 12px}.role-guest .intro p{font-size:14px;margin:0}.role-guest .intro .steps,.role-guest .intro-note{display:none}.role-guest .entry{padding:28px}.role-guest .entry h2{font-size:25px}.session-open{padding:16px}.session-row-actions{padding:0 16px 14px;gap:8px}.session-row-actions button{min-height:42px}.lesson-item{padding:15px 12px}.lesson-actions button{min-height:42px}.presentation{padding:16px}.question-preview{padding:17px}.role-participant .page-heading h1{font-size:25px}.role-participant .participant-view-toolbar{gap:10px;padding:10px 12px}.participant-view-toolbar button{min-height:42px}.role-participant.participant-full-view #app{padding:8px}.slide-editor-heading h2{font-size:20px}footer{padding:22px 18px}.topbar #account button{font-size:11px;padding:9px 10px}.role-teacher .topbar{padding:0 14px;gap:10px}.role-teacher #app{padding:24px 16px 45px}.role-teacher .academy-context strong{max-width:145px;font-size:12px}.role-teacher .academy-context span{max-width:145px;font-size:10px}}
@media(max-width:380px){.role-teacher .academy-context strong{max-width:100px}.role-teacher .academy-context span{max-width:100px}.academy-menu-toggle{font-size:11px;padding:8px}.academy-stat svg{display:none}.academy-stat>div{font-size:9px}.role-guest .intro{padding:24px}.role-guest .entry{padding:24px}}
@media(prefers-reduced-motion:reduce){.academy-sidebar{transition:none}}
