.institution-logo{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.auth-page{background:#f4f5f6;color:#202c36}
.auth-shell{width:min(490px,calc(100vw - 40px));padding:38px 0}
.auth-institution{background:transparent;padding:24px 25px 18px;border:0;border-bottom:3px solid #d0ae48;border-radius:0;margin-bottom:20px}
.auth-institution p{margin:14px 0 0;font-size:12px;font-weight:650;letter-spacing:.08em;color:#53616a}
.auth-card{border-radius:5px;background:#fff;box-shadow:0 8px 30px #17283908}
.auth-card .eyebrow{color:#4b5b68;letter-spacing:.1em}.auth-card h1{letter-spacing:-.02em;font-size:30px}
.auth-page button.primary{background:#243e52;border-color:#243e52}.auth-page button.primary:hover{background:#172d3e}
.auth-foot{color:#4b5963;font-size:14px;text-align:center}
.institution-brand{display:flex;flex-direction:column;gap:3px;width:218px;flex-shrink:0;padding:7px 10px;background:#fff;border-radius:3px;color:#243e52;text-decoration:none}
.institution-brand span{font-size:11px;letter-spacing:.05em;font-weight:650}
.help-institution{width:min(480px,100%);padding:0;background:transparent;margin-bottom:25px}
.projection-institution{display:flex;align-items:center;gap:26px}.projection-institution .institution-logo{width:280px;max-width:40vw;padding:8px}
.desk-header{flex-wrap:wrap}.desk-header .institution-brand+.role-label{margin-left:0}
@media(max-width:850px){.institution-brand{width:175px;padding:4px 8px}.projection-institution{gap:14px}.projection-institution .institution-logo{width:210px}.auth-shell{padding:24px 0}}
@media(max-width:550px){.projection header{flex-wrap:wrap}.projection-institution{width:100%;justify-content:space-between}.auth-institution{padding:18px}}

/* Gemeinsame Farbwelt des bereitgestellten Prüfungstimer-Logos. */
:root{--ink:#1c1c1c;--muted:#60605c;--line:#d9d9d4;--paper:#fff;--surface:#f5f5f2;--accent:#242424;--soft:#fff7df;--orange:#222;--brand:#f1c232;--navy:#191919;--blue:#292929;--red:#ba2029}
body,.auth-page,.projection{color:var(--ink);background:var(--surface)}
a,.desk a{color:#34342e;text-decoration-color:#b59427;text-underline-offset:3px}
a:hover,.desk a:hover{color:#b32129}
button.primary,.button.primary,.desk button.primary,.auth-page button.primary{background:#242424;border-color:#242424;color:#fff}
button.primary:hover,.button.primary:hover,.desk button.primary:hover,.auth-page button.primary:hover{background:#3b3b35;border-color:#3b3b35}
button:hover,.button:hover,.desk button:hover{background:#fff7df;border-color:#b29944}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.desk :focus-visible{outline:3px solid #bc9422;outline-offset:3px}
input[type=checkbox],.desk input[type=checkbox]{accent-color:#252525}
.desk-header{border-top:3px solid #252525;border-bottom-color:#d9d9d4}
.tabbar button[aria-selected=true]{border-bottom-color:#e5b520;background:#fff7df;color:#1d1d1b}
.subtabs button.active{background:#fff7df;border-color:#c8a133;color:#222}
.desk .hint{background:#fff7df;border-left-color:#d5ad30}
.quick-messages .call{border-left-color:#d4aa29}
.timer{border-left-color:#6b6b64}.timer.paused,.timer.break{border-left-color:#d3a51c}.timer.finished,.timer.ended{border-left-color:#b3282f}
.badge.warn{background:#fff4d5;color:#70530a;border-color:#d8bf76}.badge.bad{background:#fce9e9;color:#9b242a;border-color:#dbaeb1}
.desk button.danger{color:#b32129}
.auth-institution{border-color:#deded8;border-bottom-color:#e3b62a}
.auth-institution p,.auth-foot,.auth-card .eyebrow{color:#595951}
.auth-shell{padding:24px 0}.auth-institution{padding:8px 16px;margin-bottom:16px}
.auth-card{padding:26px 32px;box-shadow:0 8px 30px rgba(0,0,0,.06);border-color:#deded8}
.auth-foot{margin:18px 0 0}.version-footer{padding:16px 24px;color:var(--muted);font-size:13px;text-align:center}
.institution-brand{color:#242424}.help-page h1{color:#222}.help-page section{border-top-color:#d9d9d4}
.projection{background:#fff}.projection header{border-bottom:2px solid #e2ba38;padding-bottom:14px}
.projection .wc-occupied{background:#9a6d12;color:#fff}.projection .wc-locked{background:#a0252c;color:#fff}
.desk.dark{--paper:#252525;--surface:#181818;--line:#50504b;--ink:#f3f3eb;--muted:#c3c3b7;--accent:#f3cc59;--soft:#383323;--red:#ffb0b5;--green:#a0d0ac}
.desk.dark a{color:#f3cc59}.desk.dark button:hover,.desk.dark .subtabs button.active{background:#383323;color:#f3f3eb;border-color:#b29846}
.desk.dark .tabbar button[aria-selected=true]{color:#f3cc59;background:#383323;border-bottom-color:#f0c23e}
.desk.dark button.primary{background:#f0c23e;color:#181818;border-color:#f0c23e}.desk.dark button.primary:hover{background:#ffdb6b}
.desk.dark button.danger{color:#ffb0b5}.desk.dark .hint{background:#383323}.desk.dark .institution-brand{color:#222}

.auth-card select{width:100%;margin:6px 0 16px;padding:11px;border:1px solid #bdbdb5;border-radius:4px;background:#fff;color:#222;font:inherit}

/* Restzeit und Schlussphase: gleicher Hinweis in Arbeitsplatz und Projektion. */
.time-visuals{margin:10px 0 14px}
.time-progress-label{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin-bottom:6px}
.time-progress{--track:#e9e9e3;--fill:#aa8110;display:block;width:100%;height:12px;overflow:hidden;appearance:none;background:var(--track);border:1px solid #cdcdc5;border-radius:4px}
.time-progress::-webkit-progress-bar{background:var(--track)}
.time-progress::-webkit-progress-value{background:var(--fill)}
.time-progress::-moz-progress-bar{background:var(--fill)}
.time-alert{display:flex;align-items:center;gap:8px;width:fit-content;margin-bottom:10px;padding:5px 10px;background:#a51e28;color:white;border-radius:4px;font-size:13px;font-weight:700}
.time-alert[hidden]{display:none}
.time-alert>span{display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:18px;height:18px;font-size:13px}
.timer.time-critical{border-color:#ac202b;border-left-color:#ac202b;background:#fff5f4;box-shadow:inset 0 0 0 1px #ac202b}
.timer.time-critical .digits{color:#a51e28}
.timer.time-critical .time-progress{--fill:#ac202b}
.projection .time-progress{height:18px}
.projection .time-progress-label{font-size:clamp(13px,1.1vw,18px)}
.projection .time-alert{font-size:clamp(15px,1.2vw,22px);padding:6px 12px}
.desk.dark .time-progress{--track:#454541;--fill:#e7bd44;border-color:#767669}
.desk.dark .timer.time-critical{background:#3a2225;border-color:#ff919b;box-shadow:inset 0 0 0 1px #ff919b}
.desk.dark .timer.time-critical .digits{color:#ffb4ba}
.desk.dark .timer.time-critical .time-progress{--fill:#ff919b}

#message-alert{width:min(560px,calc(100vw - 36px))}
#message-alert-content{padding:18px 22px;max-height:50dvh;overflow:auto}
.incoming-message{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.incoming-message:last-child{border-bottom:0}
.incoming-message p{white-space:pre-wrap;margin:7px 0 0}
.desk tr.message-highlight td{background:var(--soft);border-top:2px solid #be9521;border-bottom:2px solid #be9521}

.tab-groups{display:flex;gap:6px;padding:10px 18px 0;flex-shrink:0;background:var(--paper);overflow-x:auto}.desk .tab-groups button{flex-shrink:0;padding:10px 15px;border-color:transparent;border-radius:5px 5px 0 0;color:var(--muted)}.desk .tab-groups button[aria-pressed=true]{background:var(--soft);color:var(--ink);border-color:var(--line);border-bottom:3px solid #e2ba38}.desk .tabbar{min-height:44px}.desk .tabbar button{padding:10px 12px}.desk-footer{flex-wrap:wrap;gap:4px 16px}@media(max-width:850px){.tab-groups{padding:8px 6px 0}.desk .tab-groups button{padding:9px 10px;font-size:13px}}@media print{.tab-groups{display:none!important}}
