:root{--bg:#f7faf7;--bg-soft:#eef6ff;--surface:#ffffff;--surface-alt:#f7f5ff;--text:#1d2430;--muted:#5e6a78;--line:#d8e3eb;--accent:#2f7dbf;--accent-soft:#d9efff;--success:#2f8f67;--error:#b64242;--radius:14px;--shadow:0 12px 30px rgba(15,38,62,0.07)}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Satoshi,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at 10% 10%,#e4f4ff 0,transparent 35%),radial-gradient(circle at 90% 0,#ffe9f2 0,transparent 30%),var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{width:min(1200px,94vw);margin:0 auto;padding:1.5rem 0 4rem}.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--line)}.topbar-inner{width:min(1200px,94vw);margin:0 auto;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:700;letter-spacing:.02em;color:#0c3655}.navlinks{display:flex;gap:1rem}.navlinks a{color:#31506a;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:.6rem}.user-pill{background:var(--accent-soft);color:#0f4f7f;padding:.44rem .7rem;border-radius:999px;font-size:.88rem}.shell{display:grid;gap:1.4rem;animation:fadeIn .42s ease}.shell.compact{max-width:560px}.hero{background:linear-gradient(140deg,#fefefe,#f2fbff 42%,#fff2f8);border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);box-shadow:var(--shadow);padding:clamp(1.2rem,3vw,2.4rem)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:700;color:#4f7898}.hero h1{margin:.3rem 0 .8rem;line-height:1.1;font-size:clamp(1.6rem,4vw,2.6rem)}.hero p{color:var(--muted);max-width:76ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem}.feature-grid h3{margin-top:0}.slot-list{margin:0;padding-left:1rem;display:grid;gap:.28rem}.admin-section,.feature-grid article,.form-grid,.inline-form,.roomplan-shell,.table-wrapper{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.admin-section,.feature-grid article,.form-grid,.roomplan-shell{padding:1rem}.form-grid{display:grid;gap:.9rem}.inline-form{padding:.8rem;align-items:end;gap:.8rem}.chip-list,.inline-form{display:flex;flex-wrap:wrap}.chip-list{gap:.45rem;margin-top:.8rem}.chip-form{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #d6e4ef;border-radius:999px;background:#f6fbff;padding:.28rem .48rem}.chip-form .btn.subtle{padding:.2rem .42rem;border-radius:999px}label{display:grid;gap:.35rem;font-size:.92rem;color:#2b3b4a}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid #c8d7e2;border-radius:10px;padding:.58rem .64rem;background:white;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #b8dfff;border-color:#8bc5f6}.btn{border:none;border-radius:11px;background:linear-gradient(135deg,#3f9edd,#2f7dbf);color:white;padding:.62rem .9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn:hover{filter:brightness(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.subtle{background:#edf6ff;color:#245680;border:1px solid #c9e4fa}.msg{margin:0;padding:.74rem .86rem;border-radius:10px;font-size:.92rem}.msg.error{background:#ffe9e9;color:var(--error);border:1px solid #f2bbbb}.msg.success{background:#e8f8ef;color:var(--success);border:1px solid #b7dfc6}.msg.info{background:#edf7ff;color:#215b88;border:1px solid #c2dff5}.admin-section{display:grid;gap:.8rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}td,th{border-bottom:1px solid #e3edf4;padding:.66rem;vertical-align:top;text-align:left}th{color:#244a69;font-size:.92rem}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem}.permission-grid label{display:flex;gap:.45rem;align-items:flex-start;background:var(--surface-alt);border:1px solid #e0dcf4;border-radius:10px;padding:.45rem}.permission-grid small{display:block;color:#617088;font-size:.76rem}.user-role-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.check-row{display:flex;align-items:center;gap:.5rem}.roomplan-shell{display:grid;gap:1rem}.month-grid-wrap h2{margin:0}.month-controls{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.month-heading{display:grid;gap:.18rem}.month-heading p{margin:0;color:#456783;text-transform:capitalize;font-weight:600}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.month-day{border:1px solid #d6e4ef;background:#f8fcff;border-radius:10px;min-height:40px;cursor:pointer;color:#1b3f5c}.month-day.outside{opacity:.45}.month-day.active{background:#dff0ff;border-color:#9ecef2;font-weight:700}.week-controls{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.week-controls p{margin:0;color:#365675;font-weight:600}.room-table td,.room-table th{min-width:120px}.slot-time{background:#f4fbff;color:#2a5778;font-weight:600}.room-slot{background:#f9fcff;cursor:pointer}.room-slot.disabled{background:#f6f7fa;cursor:default}.room-slot.booked{background:#edf7ff}.booking-card,.booking-card-surface{display:grid;gap:.35rem}.booking-card-surface{padding:.55rem;border-radius:10px;border:1px solid rgba(33,57,79,.12)}.booking-card p{margin:0;white-space:pre-wrap}.booking-modal{position:sticky;bottom:1rem;z-index:15}.booking-modal h3{margin:0}.inline-actions{display:flex;gap:.6rem;flex-wrap:wrap}.messenger-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1rem}.messenger-main,.messenger-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.messenger-thread-list{display:grid;gap:.5rem}.messenger-thread-item{display:grid;gap:.24rem;border:1px solid #d8e6f1;background:#f8fcff;border-radius:10px;padding:.62rem}.messenger-thread-item.active{border-color:#89bce5;background:#e9f5ff}.messenger-messages{display:grid;gap:.6rem;margin-bottom:.8rem;max-height:460px;overflow:auto;padding-right:.2rem}.message-card{border:1px solid #d8e6f1;border-radius:10px;background:#f9fcff;padding:.6rem;display:grid;gap:.46rem}.message-card header{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.message-card p{margin:0;white-space:pre-wrap}.roomplan-toolbar{justify-content:space-between;align-items:flex-start;gap:.8rem}.legend,.roomplan-toolbar{display:flex;flex-wrap:wrap}.legend{gap:.4rem}.badge{border-radius:999px;padding:.35rem .62rem;font-size:.82rem}.badge.free{background:#e6f7ef;color:#1f6a48}.badge.busy{background:#fff2d9;color:#8e6118}.badge.blocked{background:#fde9eb;color:#8d3d44}.grid{display:grid;gap:.38rem}.cell{min-height:34px;border:1px solid #d7e5ef;border-radius:8px;font-size:.7rem;cursor:pointer;background:#f8fcff}.cell.frei{background:#eaf8f0;color:#195e40}.cell.belegt{background:#fff3de;color:#805310}.cell.gesperrt{background:#ffecef;color:#893943}.muted{color:var(--muted);font-size:.82rem}.color-chip{width:1.2rem;height:1.2rem;border-radius:999px;border:1px solid rgba(0,0,0,.18);display:inline-block}.quiz-podium{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;align-items:end}.quiz-podium-card{display:grid;gap:.35rem;padding:1rem;border-radius:14px;border:1px solid #d7e5ef;background:linear-gradient(160deg,#f8fcff,#eef7ff)}.quiz-podium-card.place-1{background:linear-gradient(160deg,#fff6d8,#ffeaa0)}.quiz-podium-card.place-2{background:linear-gradient(160deg,#f5f7fb,#dfe6ef)}.quiz-podium-card.place-3{background:linear-gradient(160deg,#fff0df,#f6d1ae)}.quiz-podium-rank{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:999px;background:rgba(12,54,85,.08);color:#0c3655;font-weight:700}.quiz-options{display:grid;gap:.6rem}.quiz-options label{display:flex;gap:.6rem;align-items:flex-start;background:var(--surface-alt);border:1px solid #e0dcf4;border-radius:10px;padding:.7rem .8rem}.push-prompt{position:sticky;top:76px;z-index:25;width:min(1200px,94vw);margin:.8rem auto 0;padding:.9rem 1rem;border:1px solid #c9e4fa;border-radius:14px;background:linear-gradient(135deg,#eef8ff,#fff4dd);box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.push-prompt-content{display:grid;gap:.25rem}.push-prompt-content p{margin:0;color:#365675}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:880px){.topbar-inner{flex-wrap:wrap;padding:.6rem 0}.navlinks{order:3;width:100%;overflow-x:auto;padding-bottom:.4rem}.inline-form{width:100%;display:grid}table{min-width:540px}.messenger-layout{grid-template-columns:1fr}}