:root{
  --primary:#7e9a86;--primary-dark:#50695a;--primary-soft:#97af9e;--secondary:#d8c7ae;--beige:#f4eee5;--sand:#e7dbc9;--brown:#77685c;--ink:#243039;--muted:#7b858b;--line:#e7e1d8;--paper:#fffdfa;--soft:#f8f5ef;--danger:#b46c63;--shadow:0 18px 45px rgba(62,52,44,.12);--radius:24px;--sidebar:286px;--sidebar-mini:86px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Inter,Arial,sans-serif
}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f9f7f2,#eef4ee 56%,#f4eadb);color:var(--ink);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}a{color:inherit}.muted{color:var(--muted)}
body.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f9f7f2,#eef4ee 56%,#f4eadb)}.auth-shell{width:min(960px,100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:34px;background:rgba(255,253,250,.86);box-shadow:var(--shadow);border:1px solid var(--line)}.auth-hero{padding:34px;background:linear-gradient(145deg,#f6efe5,#e8f0e9);display:flex;flex-direction:column;justify-content:space-between;min-height:580px}.auth-logo-box{background:#fff;border-radius:24px;min-height:270px;display:grid;place-items:center;padding:28px}.auth-logo-box img{width:100%;max-width:340px}.auth-hero h1{font-size:38px;line-height:1.18;letter-spacing:-.05em;margin:28px 0 14px}.auth-hero p{color:var(--muted);line-height:1.55}.auth-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.mini-tag{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;color:var(--brown)}.auth-panel{padding:34px}.tabs{display:flex;background:var(--soft);padding:4px;border-radius:18px;margin-bottom:28px}.tabs a,.tabs span{flex:1;text-align:center;padding:11px;border-radius:14px;text-decoration:none;color:var(--ink)}.tabs .active{background:white;box-shadow:0 6px 16px rgba(36,48,57,.08)}.auth-panel h2{font-size:25px;letter-spacing:-.04em;margin:0 0 24px}.notice{padding:12px 14px;border-radius:16px;margin:10px 0}.error{background:#f9e4e2;color:#853b35}.success{background:#e4f3eb;color:#365c49}
.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr;transition:.22s ease}.app.collapsed{grid-template-columns:var(--sidebar-mini) 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:18px;background:rgba(255,253,250,.78);backdrop-filter:blur(22px);border-right:1px solid rgba(126,154,134,.20);display:flex;flex-direction:column;gap:16px;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:10px;border-radius:24px}.brand img{width:54px;height:54px;object-fit:cover;border-radius:17px;box-shadow:0 8px 20px rgba(36,48,57,.12)}.brand strong{font-size:23px;letter-spacing:-.04em;white-space:nowrap}.brand span{display:block;color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-top:2px}.user-chip{background:linear-gradient(135deg,rgba(126,154,134,.15),rgba(216,199,174,.20));border:1px solid rgba(126,154,134,.18);border-radius:22px;padding:12px 14px;display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:var(--primary);color:white;display:grid;place-items:center;font-weight:800}.user-chip small{display:block;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:7px}.nav button{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:18px;background:transparent;color:var(--ink);text-align:left}.nav button .ico{font-size:20px;width:24px;text-align:center}.nav button.active,.nav button:hover{background:#fff;box-shadow:0 8px 22px rgba(36,48,57,.08)}.nav button.highlight{background:linear-gradient(135deg,var(--primary),var(--primary-soft));color:white;box-shadow:0 14px 30px rgba(126,154,134,.32)}.collapse-toggle{margin-top:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;color:var(--brown)}.app.collapsed .label,.app.collapsed .brand-text,.app.collapsed .user-chip div{display:none}.app.collapsed .sidebar{align-items:center}.app.collapsed .nav button{justify-content:center}.app.collapsed .brand img{width:48px;height:48px}.app.collapsed .user-chip{padding:10px}.app.collapsed .collapse-toggle{width:48px}.main{min-width:0;padding:22px 24px 34px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.title h1{margin:0;font-size:32px;letter-spacing:-.04em}.title p{margin:5px 0 0;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:8px}.mobile-menu{display:none}.pill{border:1px solid var(--line);background:rgba(255,253,250,.72);border-radius:999px;padding:10px 14px;color:var(--brown);display:inline-flex;align-items:center;gap:8px}.btn,.primary-btn,.ghost-btn{border-radius:16px;padding:11px 14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary,.primary-btn{background:var(--primary);color:white;box-shadow:0 10px 24px rgba(126,154,134,.24)}.ghost,.ghost-btn{background:#fff;border:1px solid var(--line);color:var(--ink)}.soft{background:#eee9df;color:var(--brown);border:1px solid var(--line)}.danger{background:var(--danger)!important;color:#fff!important}.iconbtn{width:42px;height:42px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--brown);display:inline-grid;place-items:center}.view{display:none}.view.active{display:block}.grid{display:grid;gap:16px}.grid.cols-2,.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1/-1}.card{background:rgba(255,253,250,.82);border:1px solid rgba(231,225,216,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card h2,.card h3{margin:0 0 12px;letter-spacing:-.03em}.form{display:grid;gap:12px}.field,label{display:grid;gap:7px}.field label,label{font-size:13px;font-weight:700;color:var(--brown)}.input,.select,.textarea,input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 13px;outline:none;min-height:46px}textarea,.textarea{min-height:98px;resize:vertical}.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(126,154,134,.14)}.is-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(180,108,99,.15)!important}.field-error{font-size:12px;color:#9a3f38;font-weight:700;margin-top:2px}.row-actions,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.swatch,.dot{width:28px;height:28px;border-radius:10px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);display:inline-block;vertical-align:middle}.dot{width:16px;height:16px;margin-right:8px;border-radius:50%}.color-control{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center}.color-control input[type=color]{height:48px;padding:4px;border-radius:16px}.color-preview{height:48px;border-radius:16px;border:1px solid var(--line);box-shadow:inset 0 0 0 4px #fff;background:var(--primary)}.tag,.chip{display:inline-flex;border-radius:999px;background:var(--soft);border:1px solid var(--line);padding:5px 9px;margin:2px;font-size:12px;align-items:center;gap:6px}.chip form{display:inline}.chip button{background:transparent;color:inherit}.list{display:grid;gap:12px}.list-row{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;display:grid;grid-template-columns:32px minmax(120px,1fr) minmax(160px,2fr) auto;gap:12px;align-items:center}.drag-handle{cursor:grab;color:var(--muted);font-size:18px}.sortable .dragging{opacity:.55;transform:scale(.995)}.formline{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.formline input,.formline select{max-width:260px}.material-list{display:grid;grid-template-columns:1fr;gap:10px}.material-row{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(220px,2.3fr) minmax(220px,1.5fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px}.search{margin:0 0 16px;max-width:520px}.inline{display:inline-flex;align-items:center;margin:6px 12px 6px 0;gap:6px}.inline input{width:auto;min-height:auto}
.calendar-wrap{background:rgba(255,253,250,.78);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);gap:10px}.week-grid{display:grid;overflow:auto;max-height:calc(100vh - 205px);grid-template-columns:60px repeat(var(--day-count,5),minmax(132px,1fr))}.corner,.day-head{position:sticky;top:0;z-index:3;background:#fffdfa;border-bottom:1px solid var(--line)}.corner{left:0;z-index:4}.day-head{padding:10px;text-align:center;font-weight:800}.day-head small{display:block;color:var(--muted);font-weight:500}.day-head.weekend,.slot.weekend{background:#f1f1ef}.time{position:sticky;left:0;background:#fffdfa;z-index:2;color:var(--muted);font-size:12px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:58px}.slot{height:58px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.5);position:relative}.slot:hover{background:rgba(126,154,134,.08)}.slot.break{background:repeating-linear-gradient(-45deg,#f0efec,#f0efec 8px,#e7e3dd 8px,#e7e3dd 16px);color:var(--muted)}.slot.break::after{content:attr(data-break);position:absolute;left:8px;right:8px;top:8px;font-size:11px;font-weight:700;color:#8b8279}.event{position:absolute;left:6px;right:6px;top:6px;border-radius:14px;padding:8px;color:white;font-size:12px;box-shadow:0 8px 18px rgba(36,48,57,.18);overflow:hidden;touch-action:none;user-select:none;cursor:grab;z-index:1}.event strong{display:block;font-size:13px}.event small{opacity:.94;color:white}.slot.drag-over{outline:2px dashed var(--primary);outline-offset:-6px;background:rgba(126,154,134,.12)}.notes-list{display:grid;gap:12px}.note-item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px}.note-item header{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.note-item strong{color:var(--primary-dark)}
.modal{position:fixed;inset:0;background:rgba(36,48,57,.32);display:none;align-items:flex-end;justify-content:center;z-index:50;padding:20px}.modal.show,.modal.open{display:flex}.modal-card{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fffdfa;border-radius:30px;padding:22px;box-shadow:0 30px 80px rgba(36,48,57,.25)}.modal-card.small{width:min(440px,92vw);text-align:center}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.x,.close-round{width:42px;height:42px;border-radius:50%;background:var(--soft)}.right{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.bigcheck,.check{display:inline-block;width:42px;height:42px;border-radius:50%;border:3px solid var(--primary);position:relative}.check{width:22px;height:22px;margin-right:10px;vertical-align:middle}.bigcheck:after,.check:after{content:'';position:absolute;left:30%;top:48%;width:35%;height:18%;border-left:3px solid var(--primary);border-bottom:3px solid var(--primary);transform:rotate(-45deg);animation:draw .35s ease-out}@keyframes draw{from{opacity:0;transform:scale(.5) rotate(-45deg)}to{opacity:1}}
.mobile-bar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:20;background:rgba(255,253,250,.9);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:8px;grid-template-columns:repeat(5,1fr);gap:4px}.mobile-bar button{background:transparent;border-radius:18px;padding:9px 4px;font-size:19px}.mobile-bar button.active{background:var(--primary);color:#fff}body.fullscreen .sidebar,body.fullscreen .topbar{display:none}body.fullscreen .app{grid-template-columns:1fr}body.fullscreen .main{padding:18px}.fullscreen-exit{display:none;position:fixed;right:18px;top:18px;z-index:60}body.fullscreen .fullscreen-exit{display:grid}.app.collapsed .collapse-toggle .label{display:none}.mobile-open .sidebar{display:flex;position:fixed;left:0;top:0;width:286px}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px 14px 90px}.topbar{align-items:flex-start}.mobile-menu{display:inline-grid}.grid.cols-2,.grid2{grid-template-columns:1fr}.material-row,.list-row{grid-template-columns:32px 1fr auto}.material-row span,.material-row small,.list-row span{grid-column:2/-1}.week-grid{max-height:calc(100vh - 230px);grid-template-columns:52px repeat(var(--day-count,5),minmax(118px,1fr))}.mobile-bar{display:grid}.title h1{font-size:26px}.calendar-head{align-items:flex-start;flex-direction:column}.formline{display:grid}.formline input,.formline select{max-width:none}}

/* TafelTakt update v3 */
:root{--primary:#7e9a86;--primary-dark:#50695a;--primary-soft:#97af9e}
.topbar{align-items:flex-start}.topbar .title{margin-right:auto;text-align:left}.title h1,.title p{text-align:left}.head-actions{margin-left:auto}.user-chip-button{width:100%;text-align:left}.user-chip-button:hover{background:linear-gradient(135deg,rgba(126,154,134,.22),rgba(216,199,174,.26));box-shadow:0 10px 24px rgba(36,48,57,.08)}.nav button.secondary-item{margin-left:18px;width:calc(100% - 18px);padding-top:11px;padding-bottom:11px;font-size:14px}.nav button.secondary-item .ico{font-size:16px}.nav button.secondary-item.active{background:#fff;color:var(--ink);box-shadow:0 8px 22px rgba(36,48,57,.08)}.app.collapsed .nav button.secondary-item{margin-left:0;width:100%;font-size:inherit}.toast-stack{position:fixed;right:22px;top:22px;display:grid;gap:10px;z-index:1200;pointer-events:none}.toast{min-width:min(380px,calc(100vw - 44px));max-width:460px;border-radius:18px;padding:14px 16px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px rgba(36,48,57,.16);font-weight:800;display:flex;gap:10px;align-items:center;animation:toastIn .28s ease-out,toastOut .36s ease-in 4.3s forwards}.toast.success{background:#edf6f0;color:#365c49;border-color:rgba(126,154,134,.28)}.toast.error{background:#fff0ee;color:#8e3f39;border-color:rgba(180,108,99,.25)}@keyframes toastIn{from{opacity:0;transform:translateX(35px) translateY(-4px)}to{opacity:1;transform:translateX(0) translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translateX(35px) translateY(-4px);visibility:hidden}}.calendar-head .primary-btn{background:var(--primary)}.primary-btn{background:var(--primary)}.nav button.highlight{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 78%,white))!important}.avatar{background:var(--primary)}.modal-card h2,.card h2,.card h3{text-align:left}.view>h2,.view .card>h2{text-align:left}select.select[name="start_time"],select.select[name="end_time"]{cursor:pointer;background:#fff}

/* Update v4: kompaktere Eingaben in Stufen und stabilere Listen-/Toast-Darstellung */
#stufen .form .field,
#stufen .form label{display:grid;gap:7px}
#stufen .form .input,
#stufen .form input{height:46px;min-height:46px;padding:12px 13px;font-size:15px;border-radius:16px;line-height:1.2}
#stufen .form .primary-btn{width:auto;min-height:46px;padding:11px 18px;justify-self:start;align-self:start}
#stufen .card.form{align-content:start;gap:12px}
.list-row form{margin:0}.row-actions form{display:inline-flex}.iconbtn.danger{background:#fff!important;color:var(--danger)!important}.iconbtn.danger:hover{background:#fff0ee!important}
.toast.leaving{animation:toastOut .36s ease-in forwards}

/* Update v5 */
#stufen .form .primary-btn.wide-action{width:100%;max-width:260px;min-height:46px;padding:11px 22px;justify-self:start;}
.primary-btn,.calendar-head .primary-btn{background:var(--primary)!important;color:#fff!important;}
.nav button.highlight{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 76%,white))!important;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 30%,transparent)!important;}
.avatar{background:var(--primary)!important;}
.user-chip{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 15%,transparent),color-mix(in srgb,var(--secondary) 22%,transparent));border-color:color-mix(in srgb,var(--primary) 18%,transparent);}
.sidebar{border-right-color:color-mix(in srgb,var(--primary) 20%,transparent);}
.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent);}
.slot:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);}
.slot.drag-over{outline-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);}
.toast.success{background:color-mix(in srgb,var(--primary) 12%,white);color:color-mix(in srgb,var(--primary) 60%,#243039);border-color:color-mix(in srgb,var(--primary) 28%,transparent);}
.bigcheck,.check{border-color:var(--primary)}.bigcheck:after,.check:after{border-left-color:var(--primary);border-bottom-color:var(--primary)}
.check-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.pretty-check{position:relative;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px 9px 10px;cursor:pointer;user-select:none;transition:.16s ease}.pretty-check:hover{box-shadow:0 8px 18px rgba(36,48,57,.08);transform:translateY(-1px)}.pretty-check input{position:absolute;opacity:0;pointer-events:none}.pretty-check span{width:23px;height:23px;border-radius:9px;border:1px solid var(--line);background:var(--soft);display:inline-grid;place-items:center;transition:.16s ease}.pretty-check span:after{content:'';width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(.2);opacity:0;transition:.16s ease}.pretty-check input:checked+span{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent)}.pretty-check input:checked+span:after{opacity:1;transform:rotate(-45deg) scale(1)}.pretty-check strong{font-size:13px;color:var(--brown)}.pretty-check input:checked~strong{color:var(--ink)}
.color-control input[type=color]{cursor:pointer}.color-preview{transition:.18s ease;box-shadow:inset 0 0 0 4px #fff,0 8px 18px rgba(36,48,57,.08)}


/* Update v7: settings layout, compact weekdays, stronger tenant theme usage */
.settings-form{align-items:start;gap:18px 20px;}
.settings-form .full{grid-column:1/-1;}
.settings-form .weekday-field{margin-top:2px;}
.settings-form .check-grid.compact{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;margin-top:10px!important;width:100%!important;}
.settings-form .pretty-check{display:inline-flex!important;grid-template-columns:none!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;min-height:42px!important;padding:8px 12px 8px 10px!important;border-radius:999px!important;gap:8px!important;background:#fff!important;border:1px solid var(--line)!important;}
.settings-form .pretty-check input[type=checkbox]{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;appearance:none!important;-webkit-appearance:none!important;}
.settings-form .pretty-check span{width:23px!important;height:23px!important;min-width:23px!important;border-radius:9px!important;border:1px solid var(--line)!important;background:var(--soft)!important;display:inline-grid!important;place-items:center!important;}
.settings-form .pretty-check span:after{content:'';width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(.2);opacity:0;transition:.16s ease;}
.settings-form .pretty-check input[type=checkbox]:checked + span{background:var(--primary)!important;border-color:var(--primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent)!important;}
.settings-form .pretty-check input[type=checkbox]:checked + span:after{opacity:1;transform:rotate(-45deg) scale(1);}
.settings-form .pretty-check strong{font-size:13px!important;color:var(--brown)!important;line-height:1!important;}
.settings-form .pretty-check input[type=checkbox]:checked ~ strong{color:var(--ink)!important;}
.settings-form .upload-field .file-input{height:auto!important;min-height:46px!important;padding:11px 13px!important;max-width:520px!important;background:#fff!important;}
.settings-form .break-field{margin-top:4px;}
.settings-form .breakline{display:grid!important;grid-template-columns:minmax(160px,1fr) 150px 150px;gap:10px!important;align-items:center!important;margin:10px 0!important;max-width:620px!important;}
.settings-form .breakline input{max-width:none!important;}
.empty-hint{font-size:14px;font-style:italic;color:var(--muted);margin:8px 0 0;line-height:1.45;}
.primary-btn,.btn.primary,.nav button.highlight,.avatar,.mobile-bar button.active{background:var(--primary)!important;}
.pill:hover,.ghost-btn:hover,.iconbtn:hover{border-color:color-mix(in srgb,var(--primary) 32%,var(--line));}
.user-chip{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,white),color-mix(in srgb,var(--secondary) 28%,white))!important;}
.color-preview{background:var(--primary);}
@media(max-width:980px){.settings-form .breakline{grid-template-columns:1fr!important}.settings-form .check-grid.compact{gap:8px!important}.settings-form .pretty-check{min-width:70px!important}}

/* Update v8: Slug availability and profile verification status */
.slug-status{font-size:13px;font-weight:800;margin-top:6px;min-height:18px;display:flex;align-items:center;gap:6px}
.slug-status.ok{color:#3f765e}.slug-status.bad{color:#a7473f}.slug-status.checking{color:var(--muted)}
.slug-status::before{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:12px;line-height:1}
.slug-status.ok::before{content:'✓';background:#e4f3eb;color:#3f765e}.slug-status.bad::before{content:'×';background:#f9e4e2;color:#a7473f}.slug-status.checking::before{content:'…';background:var(--soft);color:var(--muted)}
.verification-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:22px;padding:14px 16px;background:#fff;margin-bottom:4px}
.verification-card .verify-icon{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff}
.verification-card.verified{background:linear-gradient(135deg,rgba(126,154,134,.12),rgba(255,255,255,.92))}.verification-card.verified .verify-icon{background:var(--primary)}
.verification-card.unverified{background:linear-gradient(135deg,rgba(216,199,174,.18),rgba(255,255,255,.92))}.verification-card.unverified .verify-icon{background:#b46c63}
.verification-card p{margin:3px 0 6px;color:var(--muted);font-size:13px}.link-button{background:transparent;border:0;padding:0;color:var(--primary);font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.hidden-form{display:none!important}

/* Update v9 */
.section-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-row h2{margin-bottom:2px}.pdf-download{white-space:nowrap}.note-item header div{display:grid;gap:2px}.note-item header small{color:var(--muted);font-weight:700}.modal-message{font-size:15px;line-height:1.55;margin:8px 0 18px}.settings-form{display:grid!important;gap:20px!important}.settings-form h2{margin:0!important}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.settings-panel-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:20px;align-items:start}.weekday-field,.timepicker-range,.break-field{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px}.timepicker-range .muted{margin:6px 0 12px}.compact-line{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin:10px 0 0!important}.compact-line .input{max-width:none!important}.settings-form .check-grid.compact{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;margin-top:12px!important;width:auto!important}.settings-form .pretty-check{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;min-height:38px!important;max-height:44px!important;padding:8px 12px 8px 10px!important;border-radius:999px!important;gap:8px!important;background:#fff!important;border:1px solid var(--line)!important;line-height:1!important}.settings-form .pretty-check input[type=checkbox]{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;max-height:1px!important;margin:0!important;padding:0!important;appearance:none!important;-webkit-appearance:none!important}.settings-form .pretty-check span{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;border-radius:8px!important;border:1px solid var(--line)!important;background:var(--soft)!important;display:inline-grid!important;place-items:center!important;margin:0!important;padding:0!important}.settings-form .pretty-check strong{font-size:13px!important;line-height:1!important;margin:0!important;white-space:nowrap}.settings-form .file-input{max-width:100%!important}.settings-form .breakline{display:grid!important;grid-template-columns:minmax(160px,1fr) 140px 140px;gap:10px!important;margin:10px 0!important;max-width:620px!important}.settings-form .breakline input{max-width:none!important}.brand-text span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-btn,.nav button.highlight,.avatar,.pretty-check input:checked+span{background:var(--primary)!important}.primary-btn{box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 26%,transparent)!important}.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent)!important}.slot:hover{background:color-mix(in srgb,var(--primary) 10%,white)!important}.slot.drag-over{outline-color:var(--primary)!important}
@media(max-width:980px){.settings-grid,.settings-panel-row{grid-template-columns:1fr}.section-row{flex-direction:column}.settings-form .breakline{grid-template-columns:1fr!important}.compact-line{grid-template-columns:1fr!important}}

/* Update v10 */
.success-modal h2,
.success-modal .modal-message { text-align: center; }
.success-modal .primary-btn { margin-inline: auto; display: block; min-width: 160px; }
.hidden-field { display: none !important; }
.material-row.clickable { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.material-row.clickable:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(50,45,38,.08); border-color: color-mix(in srgb, var(--primary) 34%, #e5ded2); }
.material-detail { max-width: 760px; }
.material-description { margin: 14px 0 16px; line-height: 1.55; color: var(--ink); }
.tag-list { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.small-chip { font-size: 12px; padding: 6px 10px; }
.detail-section { margin-top: 18px; }
.detail-section h3 { margin: 0 0 10px; font-size: 16px; }
.detail-list { display: grid; gap: 8px; }
.detail-link,
.file-link { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.72); text-decoration: none; color: var(--ink); }
.detail-link:hover,
.file-link:hover { border-color: var(--primary); }
.file-icon { width: 34px; height: 34px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--primary) 13%, white); }
.file-link small { display: block; color: var(--muted); margin-top: 2px; }

/* Update v11: mobile/tablet navigation and calendar sync */
.copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:14px 0 8px}.sync-card p{line-height:1.5}.sync-card .input{font-size:13px;min-width:0;background:var(--soft)}
@media(max-width:1180px){
  .main{padding-bottom:108px}
  .mobile-bar{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overscroll-behavior-x:contain;gap:6px;scrollbar-width:none;padding:8px 10px;align-items:center;justify-content:flex-start}
  .mobile-bar::-webkit-scrollbar{display:none}
  .mobile-bar button{min-width:92px;display:grid;place-items:center;gap:3px;padding:8px 8px 7px;border-radius:18px;font-size:18px;white-space:nowrap;color:var(--ink)}
  .mobile-bar button small{display:block;font-size:10px;font-weight:750;line-height:1.1;color:inherit;max-width:88px;overflow:hidden;text-overflow:ellipsis}
  .mobile-bar button.mobile-secondary{min-width:68px;opacity:.92;background:rgba(255,255,255,.58);border:1px solid rgba(231,225,216,.72)}
  .mobile-bar button.mobile-secondary small{display:none}
  .mobile-bar button.active{color:#fff!important;background:var(--primary)!important;border-color:var(--primary)!important;min-width:104px}
  .mobile-bar button.active small{display:block;color:#fff!important}
}
@media(max-width:640px){.copy-row{grid-template-columns:1fr}.mobile-bar{left:8px;right:8px;bottom:8px;border-radius:24px}.mobile-bar button{min-width:78px}.mobile-bar button.mobile-secondary{min-width:56px}.head-actions{gap:6px}.pill{padding:9px 11px}.ghost-btn,.primary-btn,.btn{padding:10px 12px}.calendar-head .row-actions{width:100%}.calendar-head .row-actions .primary-btn,.calendar-head .row-actions .btn{flex:1}}

/* Update v12: Header sync visibility + notes toolbar */
.sync-action.is-hidden{display:none!important}
.notes-title-row{margin-bottom:10px}.notes-toolbar{display:grid;grid-template-columns:minmax(135px,1fr) minmax(135px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr) auto auto;gap:10px;align-items:center;margin:12px 0 18px}.notes-toolbar .input,.notes-toolbar .select{min-width:0}.notes-toolbar .pdf-download{justify-self:end;text-decoration:none!important}.pdf-download{text-decoration:none!important}.pdf-download:hover{text-decoration:none!important}.note.hidden-by-filter{display:none!important}
@media(max-width:1160px){.notes-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-toolbar .pdf-download{justify-self:stretch;text-align:center}.notes-toolbar .primary-btn{width:100%}}
@media(max-width:640px){.notes-toolbar{grid-template-columns:1fr}.notes-toolbar .pdf-download{justify-self:stretch}}

/* Update v13: SSL trust icon and password reset auth links */
.auth-trust{margin-top:22px;display:flex;align-items:center;justify-content:flex-end;min-height:54px}
.auth-trust img{width:58px;height:auto;display:block;opacity:.94;filter:none}
.auth-link-row{margin:18px 0 0}.auth-link-row.small{margin-top:8px}.forgot-link{color:#a4aaad;text-decoration:none;font-size:13px}.forgot-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.auth-panel .tabs a{text-decoration:none}
@media(max-width:760px){.auth-trust{justify-content:flex-start}.auth-trust img{width:48px}}


/* Update v14: kleineres SSL-Icon und schnellere Passwort-vergessen-Antwort */
.auth-trust{margin-top:8px!important;min-height:30px!important;transform:translateY(-6px);}
.auth-trust img{width:29px!important;max-width:29px!important;height:auto!important;opacity:.95;}
@media(max-width:760px){.auth-trust{margin-top:6px!important;transform:translateY(-4px)}.auth-trust img{width:24px!important;max-width:24px!important}}

/* Update v15: Tablet/mobile Navigation und kompakte Listenaktionen */
.profile-head-action{display:none!important}
.list-row .row-actions,.material-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important;min-width:max-content!important}
.list-row .row-actions form,.material-actions form{display:inline-flex!important;margin:0!important}.list-row .row-actions .iconbtn,.material-actions .iconbtn{flex:0 0 42px!important}
.material-row>b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-row>.muted,.material-row>small{min-width:0;overflow:hidden;text-overflow:ellipsis}.material-row>small{white-space:nowrap}.material-actions{justify-self:end}.mobile-bar{display:none}
@media(min-width:981px){.mobile-bar{display:none!important}.main{padding-bottom:34px!important}}
@media(max-width:980px){
  .profile-head-action{display:inline-grid!important}
  .mobile-bar{display:flex!important}
  .list-row{grid-template-columns:32px minmax(0,1fr) auto!important;align-items:center!important}
  .list-row>b{grid-column:2!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .list-row>.muted{grid-column:2!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .list-row>.row-actions{grid-column:3!important;grid-row:1 / span 2!important;align-self:center!important}
  .material-row{grid-template-columns:minmax(120px,1.05fr) minmax(180px,1.8fr) minmax(180px,1.25fr) auto!important;gap:10px!important;align-items:center!important}
  .material-row>b,.material-row>.muted,.material-row>small{grid-column:auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .material-actions{grid-column:auto!important;justify-self:end!important}
}
@media(max-width:760px){
  .material-row{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  .material-row>b{grid-column:1!important}.material-row>.muted,.material-row>small{grid-column:1!important}.material-actions{grid-column:2!important;grid-row:1 / span 3!important}
}

/* Update v17: Profil-Passwortfelder und Konto löschen */
.password-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.password-fields .field{height:100%;align-content:start}.danger-zone-card{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border-color:rgba(180,108,99,.28);background:linear-gradient(135deg,rgba(180,108,99,.07),rgba(255,253,250,.92))}.danger-zone-card h2{margin:0 0 6px;color:#733c37}.danger-zone-card p{max-width:860px;line-height:1.55}.danger-soft-btn{border:1px solid rgba(180,108,99,.28);background:#f6deda;color:#8f453d;border-radius:16px;padding:12px 16px;font-weight:900;white-space:nowrap}.danger-soft-btn:hover{background:#f2cbc5;color:#733c37}.success-modal h2{text-align:center}.success-modal .modal-message{text-align:center}
@media(max-width:760px){.password-fields,.danger-zone-card{grid-template-columns:1fr}.danger-soft-btn{width:100%;white-space:normal}.danger-zone-card{align-items:stretch}}

/* Update v18: Rich Text Editor für Termin-Notizen */
.rte{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.rte:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(126,154,134,.14)}
.rte-toolbar{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--line);background:rgba(244,239,232,.55)}
.rte-toolbar button{border:1px solid var(--line);background:#fffdfa;color:var(--ink);border-radius:10px;min-width:36px;height:34px;padding:0 10px;font:inherit;font-weight:800;cursor:pointer}
.rte-toolbar button:hover{border-color:var(--primary);background:rgba(126,154,134,.09)}
.rte-toolbar span{width:1px;height:24px;background:var(--line);margin:0 3px}
.rte-editor{min-height:135px;padding:14px 16px;outline:none;line-height:1.55;color:var(--ink)}
.rte-editor:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}
.rte-editor p{margin:0 0 8px}.rte-editor ul,.rte-editor ol{margin:8px 0 8px 22px;padding:0}.rte-editor li{margin:3px 0}
.note-content{line-height:1.58;color:var(--ink)}
.note-content p{margin:0 0 8px}.note-content ul,.note-content ol{margin:8px 0 8px 22px;padding:0}.note-content li{margin:3px 0}.note-content strong,.note-content b{font-weight:800}.note-content em,.note-content i{font-style:italic}.note-content u{text-underline-offset:3px}
@media(max-width:640px){.rte-toolbar{flex-wrap:wrap}.rte-editor{min-height:120px}}

/* Update v20 */
.notification-badge{position:absolute;right:14px;top:10px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d96b6b;color:#fff;font-weight:900;font-size:12px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(217,107,107,.25)}
.user-chip{position:relative}.week-jump{border:0;background:transparent;cursor:pointer;font:inherit;color:var(--ink);padding:8px 10px;border-radius:14px}.week-jump:hover{background:rgba(0,0,0,.04)}.hidden-week-picker{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.week-grid .slot{min-height:54px;display:flex;align-items:stretch;gap:1px;overflow:visible}.week-grid .time{min-height:54px}.event{position:relative;border-radius:0;margin:0;min-height:100%;padding:10px 26px 8px 10px;display:flex;align-items:flex-start;justify-content:space-between;box-shadow:none;overflow:visible}.event-main{min-width:0}.event-main strong,.event-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-kebab{position:absolute;right:3px;top:3px;border:0;background:rgba(255,255,255,.25);border-radius:8px;color:#fff;font-weight:900;width:22px;height:28px;cursor:pointer}.event-menu{display:none;position:absolute;right:4px;top:30px;z-index:30;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 14px 40px rgba(0,0,0,.14);min-width:120px}.event-menu.open{display:grid}.event-menu button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--ink);font-weight:700}.event-menu button:hover{background:#f4f1eb}.series-box{margin-top:14px;border:1px solid var(--line);border-radius:20px;padding:14px;background:#faf8f3}.series-box h3{margin:0 0 10px}.optional-title-toggle{margin-bottom:10px}.color-only{max-width:74px;padding:6px;height:48px}.color-preview{display:none!important}.material-pick-list{display:grid;gap:8px;max-height:210px;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:10px;background:#fff}.material-pick{display:grid;grid-template-columns:auto 1fr minmax(120px,180px);align-items:center;gap:8px}.select.mini{height:36px;padding:6px 10px}.sync-check{justify-content:flex-start}.appointment-only.hidden-field,.lesson-only.hidden-field{display:none!important}.note-modal{max-width:900px}.large-rte .note-editor{min-height:46vh;font-size:18px;line-height:1.65}.note-editor.pen-mode{font-family:"Comic Sans MS", cursive;background:linear-gradient(#fff,#fff) padding-box, repeating-linear-gradient(to bottom, transparent 0, transparent 34px, rgba(126,154,134,.16) 35px) border-box}.tablet-pen{margin-left:auto}.student-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:10px}.nested-card{box-shadow:none!important;background:#fffdf8}.category-line{grid-template-columns:0 1fr auto}.mini-delete{display:flex;gap:6px;align-items:center;color:#9c6b6b}.switch-line{display:flex;gap:10px;align-items:center;font-weight:800;margin-bottom:12px}.reminder-list{display:grid;gap:10px}.reminder-row{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.reminder-row small{display:block;color:var(--muted)}.inline-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.material-filter-head{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.material-filter{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.material-row{grid-template-columns:minmax(140px,220px) 1fr minmax(210px,auto) auto!important;align-items:center}.material-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row{grid-template-columns:auto minmax(110px,1fr) 2fr auto}.row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.settings-panel-row{align-items:start}.break-field,.reminder-field{border:1px solid var(--line);border-radius:20px;padding:16px;background:#fffdf8}.breakline,.category-line{display:grid;grid-template-columns:1fr 130px 130px;gap:10px}@media(max-width:900px){.material-filter-head{grid-template-columns:1fr}.material-filter{grid-template-columns:1fr 1fr}.material-row{grid-template-columns:1fr auto!important}.material-row .muted,.material-row small{grid-column:1/-1}.student-row{grid-template-columns:1fr}.event{padding:8px 24px 6px 8px}.series-box .grid2{grid-template-columns:1fr}.material-pick{grid-template-columns:auto 1fr}.material-pick select{grid-column:2/-1}}@media(max-width:640px){.material-filter{grid-template-columns:1fr}.week-grid .slot,.week-grid .time{min-height:48px}}
.iconbtn{position:relative}.notification-badge.tiny{right:-4px;top:-5px;min-width:18px;height:18px;font-size:10px;padding:0 4px}


/* Update v21: prettier compact settings toggles + safer calendar event layout */
.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 0 12px;margin-bottom:12px;border-bottom:1px solid rgba(231,225,216,.9)}
.setting-toggle .toggle-copy{display:grid;gap:3px}
.setting-toggle .toggle-copy strong{font-size:15px;color:var(--ink)}
.setting-toggle .toggle-copy small{color:var(--muted);line-height:1.4}
.switch-pill{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.switch-pill input{position:absolute;opacity:0;pointer-events:none}
.switch-pill span{width:52px;height:30px;border-radius:999px;background:#e9e4da;border:1px solid var(--line);display:block;position:relative;transition:.18s ease;box-shadow:inset 0 1px 2px rgba(36,48,57,.06)}
.switch-pill span:after{content:'';position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(36,48,57,.14);transition:.18s ease}
.switch-pill input:checked + span{background:color-mix(in srgb,var(--primary) 20%, white);border-color:color-mix(in srgb,var(--primary) 60%, white)}
.switch-pill input:checked + span:after{left:25px;background:var(--primary)}
.toggle-panel{display:none;gap:10px}
.toggle-panel.is-open{display:grid}
.settings-form .check-grid.compact{gap:8px!important}
.settings-form .pretty-check{padding:7px 12px 7px 9px!important;min-height:36px!important;max-height:36px!important}
.settings-form .pretty-check span{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;border-radius:6px!important}
.settings-form .pretty-check span:after{width:8px!important;height:4px!important}
.settings-form .pretty-check strong{font-size:12px!important}
.mini-delete{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff7f6;color:#9b5f58;font-weight:700;font-size:12px;white-space:nowrap}
.mini-delete input{width:14px!important;height:14px!important;min-height:14px!important;margin:0!important;accent-color:var(--danger)}
.category-line{grid-template-columns:minmax(0,1fr) auto!important;align-items:center}
.category-line input[type=hidden]{display:none}
.week-grid .slot{min-height:54px;display:flex;align-items:stretch;gap:0;overflow:hidden}
.week-grid .time{min-height:54px}
.slot.break{overflow:hidden}
.event{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;flex:1 1 0;min-width:0;height:100%;min-height:100%;margin:0;border-radius:0;padding:8px 28px 8px 10px;display:flex;align-items:center;justify-content:center;box-shadow:none;overflow:hidden}
.event + .event{border-left:1px solid rgba(255,255,255,.28)}
.event-main{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center}
.event-main strong,.event-main small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-kebab{position:absolute;right:4px;top:4px}
@media(max-width:980px){.setting-toggle{align-items:center}.category-line{grid-template-columns:1fr auto!important}}
@media(max-width:640px){.setting-toggle{flex-direction:row}.switch-pill span{width:48px;height:28px}.switch-pill span:after{width:20px;height:20px}.switch-pill input:checked + span:after{left:23px}}

/* Update v22 refinements */
.nav button.secondary-item{margin-left:0!important;width:100%!important;padding-top:13px!important;padding-bottom:13px!important;font-size:inherit!important}
.student-count{display:block;margin-top:4px;font-size:12px;color:var(--muted);font-weight:600}
.subtle-link,.link-button.subtle-link,.optional-title-toggle{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--muted)!important;font-weight:500!important;font-size:13px;text-decoration:none;cursor:pointer}
.subtle-link:hover,.optional-title-toggle:hover{color:var(--brown)!important;text-decoration:underline}
.color-inline-row{display:flex;align-items:center;gap:10px;min-height:28px}
.selected-color-preview{width:28px;height:28px;border-radius:10px;border:1px solid var(--line);box-shadow:inset 0 0 0 3px rgba(255,255,255,.9);background:var(--primary);display:inline-block}
.slot-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.week-grid,.week-grid .slot,.event{overflow:visible!important}
.week-grid .slot{gap:0!important}
.event{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;flex:1 1 0;min-width:0;height:100%;min-height:100%;margin:0;border-radius:0!important;padding:8px 30px 8px 10px!important;display:flex!important;align-items:stretch!important;justify-content:center!important;box-shadow:none!important;z-index:2}
.event-main{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;overflow:hidden}
.event-main strong,.event-main small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-kebab{position:absolute;right:6px;top:6px;border:0;background:rgba(255,255,255,.22);border-radius:10px;color:#fff;font-weight:900;width:22px;height:24px;display:grid;place-items:center;cursor:pointer;z-index:4}
.event-menu{display:none;position:absolute;right:2px;top:calc(100% + 6px);z-index:60;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 16px 38px rgba(0,0,0,.16);min-width:150px}
.event-menu.open{display:grid;gap:4px}
.event-menu form{margin:0}
.event-menu button{width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--ink);font-weight:700}
.event-menu button:hover{background:#f4f1eb}
@media(max-width:900px){.slot-choice-actions{grid-template-columns:1fr}}

/* Update v24: material picker for lesson modal */
.material-summary{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px 14px;min-height:46px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.material-summary .selected-material-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--soft);border:1px solid var(--line);padding:7px 10px;color:var(--ink);font-size:13px;font-weight:700}
.material-summary .selected-material-pill small{color:var(--muted);font-weight:700}
.material-picker-button{margin-top:8px;width:max-content}
.material-picker-modal{max-width:860px}
.material-picker-search{margin-bottom:12px}
.event-material-choice-list{display:grid;gap:8px;max-height:52vh;overflow:auto;padding-right:4px}
.event-material-choice{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(130px,190px);gap:10px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:10px 12px}
.event-material-choice input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--primary)}
.event-material-choice strong{display:block;color:var(--ink)}
.event-material-choice small{display:block;color:var(--muted);font-weight:500;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-material-choice.is-selected{border-color:color-mix(in srgb,var(--primary) 45%,white);background:color-mix(in srgb,var(--primary) 7%,white)}
@media(max-width:720px){.event-material-choice{grid-template-columns:auto 1fr}.event-material-choice select{grid-column:2/-1}.material-picker-button{width:100%}}


/* Update v25 */
.week-grid .slot{cursor:pointer}
#eventModal.show .is-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(180,108,99,.15)!important}


/* Update v27: calendar scrolling + clickable empty slots + sortable repair */
.calendar-wrap{overflow:hidden!important}
.week-grid{
  overflow:auto!important;
  max-height:calc(100vh - 225px)!important;
  min-height:min(620px, calc(100vh - 225px))!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.week-grid .slot{
  cursor:pointer!important;
  min-height:58px!important;
  position:relative!important;
}
.week-grid .slot:hover{background:rgba(126,154,134,.10)!important}
.week-grid .time{min-height:58px!important}
.sortable .list-row{cursor:grab;touch-action:none}
.sortable .list-row:active{cursor:grabbing}
.sortable .drag-handle{cursor:grab;user-select:none}
.sortable .dragging{opacity:.48!important;outline:2px dashed var(--primary);outline-offset:-6px}
@media(max-width:980px){
  .week-grid{max-height:calc(100vh - 250px)!important;min-height:520px!important}
}


/* Update v28: reliable calendar scrolling and empty-cell click target */
body .calendar-wrap{overflow:hidden!important}
body .calendar-wrap .week-grid{
  height:calc(100vh - 238px)!important;
  max-height:calc(100vh - 238px)!important;
  min-height:520px!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
body .calendar-wrap .week-grid .slot{
  position:relative!important;
  min-height:58px!important;
  overflow:visible!important;
}
body .calendar-wrap .week-grid .time{min-height:58px!important}
.slot-create-btn{
  position:absolute;
  inset:0;
  z-index:0;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
}
.slot-create-btn:hover{background:rgba(126,154,134,.08)}
.event{z-index:2!important}
@media(max-width:980px){
  body .calendar-wrap .week-grid{
    height:calc(100vh - 265px)!important;
    max-height:calc(100vh - 265px)!important;
    min-height:480px!important;
  }
}


/* Update v31: notebook style tabs in note modal */
.note-tabs-layout{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch}
.note-tabs{display:flex;flex-direction:column;gap:8px;padding:12px 0 12px 0;border-right:1px solid var(--line);background:linear-gradient(180deg,#fffdf9,#f8f4ed);border-radius:18px 0 0 18px}
.note-tab{border:1px solid var(--line);border-right:0;background:#f7f2eb;color:var(--muted);font-weight:800;font-size:12px;text-align:left;padding:9px 8px;border-radius:12px 0 0 12px;cursor:pointer;min-height:36px;box-shadow:0 4px 12px rgba(36,48,57,.05)}
.note-tab.active{background:#fff;color:var(--ink);border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:0 8px 20px rgba(36,48,57,.10);transform:translateX(1px)}
.note-rte{border-left:0;border-radius:0 18px 18px 0}
.note-rte .note-editor{border-radius:0 0 18px 0}
@media(max-width:720px){
  .note-tabs-layout{grid-template-columns:1fr}
  .note-tabs{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0;padding:8px}
  .note-tab{border-right:1px solid var(--line);border-radius:999px;white-space:nowrap}
  .note-tab.active{transform:none}
  .note-rte{border-left:1px solid var(--line);border-radius:0 0 18px 18px}
}


/* Update v32: visible vertical notebook tabs */
.note-tabs-layout{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;align-items:stretch!important}
#noteTabs.note-tabs{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:120px!important;padding:10px 0 10px 8px!important;background:linear-gradient(180deg,#fffdf9,#f7f2ea)!important;border-right:1px solid var(--line)!important;border-radius:18px 0 0 18px!important}
.note-tab-v32{display:block!important;width:112px!important;min-height:38px!important;border:1px solid var(--line)!important;border-right:0!important;background:#f1ebe2!important;color:#7f766c!important;text-align:left!important;font-size:12px!important;font-weight:800!important;padding:9px 10px!important;border-radius:14px 0 0 14px!important;cursor:pointer!important;box-shadow:0 5px 14px rgba(36,48,57,.06)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.note-tab-v32.active{background:#fff!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--primary) 45%,var(--line))!important;box-shadow:0 10px 24px rgba(36,48,57,.12)!important;transform:translateX(1px)!important}
.note-rte{min-width:0!important;border-left:0!important;border-radius:0 18px 18px 0!important}
.note-rte .note-editor{border-radius:0 0 18px 0!important}
@media(max-width:720px){
  .note-tabs-layout{grid-template-columns:1fr!important}
  #noteTabs.note-tabs{min-width:0!important;flex-direction:row!important;overflow:auto!important;border-right:0!important;border-bottom:1px solid var(--line)!important;border-radius:18px 18px 0 0!important;padding:8px!important}
  .note-tab-v32{width:auto!important;min-width:max-content!important;border-right:1px solid var(--line)!important;border-radius:999px!important}
  .note-tab-v32.active{transform:none!important}
  .note-rte{border-left:1px solid var(--line)!important;border-radius:0 0 18px 18px!important}
}

/* Update v34: ToDo editor + Doku tabs */
.rte-editor.todo-mode{padding:14px;background:#fffdf9}
.todo-editor{display:grid;gap:10px}
.todo-editor-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px}
.todo-editor-row .todo-done{width:18px;height:18px;accent-color:var(--primary)}
.todo-editor-row .todo-text{min-height:42px}
.todo-add-btn{margin-top:12px}
.notes-tabs{display:flex;gap:8px;margin:16px 0}
.notes-tab{border:1px solid var(--line);background:#f5f0e8;color:var(--muted);font-weight:800;border-radius:999px;padding:10px 16px;cursor:pointer}
.notes-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 25%,transparent)}
.notes-panel{display:none}
.notes-panel.active{display:block}
.todo-doku-list{display:grid;gap:16px;margin-top:12px}
.todo-doku-group{border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px}
.todo-doku-group h3{font-size:15px;margin:0 0 12px;color:var(--ink)}
.todo-doku-group ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.todo-doku-group li label{display:flex;gap:10px;align-items:flex-start;border:1px solid #efe8dc;border-radius:14px;padding:10px 12px;background:#fffdf9}
.todo-doku-group li input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary)}
.todo-doku-group li.done span{text-decoration:line-through;color:var(--muted)}

/* Update v35 ToDo editor visibility */
#noteEditor.todo-mode{min-height:420px}
.todo-editor-intro{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:14px}
.todo-editor-row .icon-btn{width:42px;height:42px;border-radius:14px}
#noteModal .rte-toolbar.hidden-field{display:none!important}

/* Update v36 notification ToDos */
.reminder-section-title{font-size:13px;margin:12px 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.todo-reminder-row strong{display:block;line-height:1.35}

/* Update v39: ToDo notifications and alignment */
.modal-actions-split{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:12px}
.todo-doku-group li label{align-items:center!important;min-height:50px}
.todo-doku-group li input{margin-top:0!important;flex:0 0 auto}
.todo-doku-group li span{display:flex;align-items:center;line-height:1.25;min-height:22px}
.todo-doku-group li{min-height:auto}


/* Update v44: calendar event heights, readability and note-modal action menu */
.week-grid .slot{position:relative;overflow:visible;min-height:72px}
.week-grid .event.event-v44{
  position:absolute;
  margin:0;
  right:auto;
  min-height:30px;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 34px 6px 10px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.13), 0 8px 18px rgba(31,45,56,.13);
  border:1px solid rgba(31,45,56,.24);
  z-index:5;
  overflow:visible;
}
.week-grid .event.event-v44 .event-main{
  width:100%;
  text-align:center;
  pointer-events:none;
}
.week-grid .event.event-v44 strong,
.week-grid .event.event-v44 small{
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.75), 0 0 7px rgba(0,0,0,.38);
}
.week-grid .event.event-v44 small{opacity:.98}
.note-head-actions{position:relative;display:flex;align-items:center;gap:8px}
.note-kebab{position:static!important}
.note-event-menu{
  top:42px;
  right:46px;
  left:auto;
  min-width:170px;
  z-index:9999;
}
.note-event-menu.open{display:block}


/* Update v45: visible note-modal context menu */
.note-modal-head{
  align-items:flex-start;
}
.note-head-actions{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:104px;
}
.note-kebab-btn{
  width:54px;
  height:54px;
  border-radius:50%;
  border:1px solid rgba(231,222,210,.9);
  background:rgba(243,238,230,.95);
  color:#1f2d38;
  font-size:30px;
  line-height:1;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(31,45,56,.09);
}
.note-kebab-btn:hover{
  background:#ede5d9;
}
.note-event-menu-v45{
  position:absolute;
  top:64px;
  right:54px;
  min-width:188px;
  padding:10px;
  border-radius:22px;
  background:#fffdfa;
  border:1px solid #e7ded2;
  box-shadow:0 22px 54px rgba(31,45,56,.22);
  z-index:10050;
  display:none;
}
.note-event-menu-v45.open{
  display:block;
}
.note-event-menu-v45 button{
  width:100%;
  border:0;
  background:transparent;
  color:#1f2d38;
  text-align:left;
  font-weight:900;
  font-size:16px;
  padding:13px 14px;
  border-radius:14px;
  cursor:pointer;
}
.note-event-menu-v45 button:hover{
  background:#f3eee6;
}
.note-event-menu-v45 button.danger{
  color:#a85a5a;
}
@media (max-width:720px){
  .note-kebab-btn{width:46px;height:46px;font-size:26px}
  .note-event-menu-v45{right:46px;top:54px}
}


/* Update v47: structured sidebar, checkbox multiple fields, upload dropzone, longer calendar events */
.nav-group{
  margin:2px 0;
}
.nav-group summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border-radius:18px;
  color:var(--ink);
  font-weight:800;
}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{background:#fff;box-shadow:0 8px 22px rgba(36,48,57,.08)}
.nav-group .chev{margin-left:auto;color:var(--muted);transition:transform .18s ease}
.nav-group[open] .chev{transform:rotate(180deg)}
.nav-sub{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:4px 0 8px 20px;
  padding-left:10px;
  border-left:1px solid var(--line);
}
.nav-sub button{
  padding:10px 12px!important;
  border-radius:15px!important;
  font-size:14px;
}
.nav-sub button .ico{font-size:17px!important;width:20px!important}
.app.collapsed .nav-group summary{justify-content:center}
.app.collapsed .nav-group .chev,.app.collapsed .nav-sub{display:none}

.multi-checks{
  min-height:120px;
  max-height:188px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:10px;
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:8px;
}
.multi-checks.is-invalid{border-color:#c96868;box-shadow:0 0 0 4px rgba(201,104,104,.12)}
.check-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffdfa;
  padding:8px 12px;
  font-weight:800;
  color:var(--ink);
  cursor:pointer;
  user-select:none;
}
.check-chip input{
  width:18px;
  height:18px;
  accent-color:var(--primary);
}
.check-chip:has(input:checked){
  background:var(--primary-soft);
  border-color:color-mix(in srgb,var(--primary) 55%,#fff);
  box-shadow:0 6px 16px rgba(36,48,57,.08);
}

.dropzone{
  min-height:132px;
  border:1.5px dashed color-mix(in srgb,var(--primary) 42%,#d8c7ae);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,253,250,.92),rgba(234,242,236,.55));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:18px;
  text-align:center;
  cursor:pointer;
  transition:.16s ease;
}
.dropzone input{display:none}
.dropzone .drop-icon{font-size:28px}
.dropzone strong{font-size:16px}
.dropzone small{color:var(--muted);max-width:360px;line-height:1.35}
.dropzone em{font-style:normal;color:#7a7168;font-size:12px;margin-top:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.dropzone.drag-over{
  background:var(--primary-soft);
  border-color:var(--primary);
  box-shadow:0 12px 30px rgba(36,48,57,.10);
  transform:translateY(-1px);
}

/* earlier event CSS used min-height:34px which clipped 45min entries into 30min height. */
.week-grid .event.event-v44{
  min-height:0!important;
  height:var(--event-height, auto);
}


/* Update v48: full-day event positioning + wider ToDo fields */
.week-grid .slot{
  overflow:visible;
}
.week-grid .slot .event.event-v44{
  z-index:6;
}
.week-grid .slot:first-of-type .event.event-v44,
.week-grid .event.event-v44{
  min-height:28px!important;
}
.todo-editor-row{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) 54px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
}
.todo-editor-row .todo-text,
.todo-editor-row .input{
  width:100%!important;
  max-width:none!important;
}
.todo-editor{
  width:100%!important;
}
.note-editor.todo-mode{
  padding:24px!important;
}
.flow-editor{
  display:grid;
  gap:16px;
  padding:6px 0;
}
.flow-field label{
  display:block;
  font-weight:900;
  margin:0 0 8px;
  color:var(--ink);
}
.flow-field textarea{
  width:100%;
  min-height:118px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 16px;
  font:inherit;
  background:#fffdfa;
}


/* Update v49: fix event positioning back to slot-relative and improve short events */
.week-grid .slot{
  position:relative;
  overflow:visible!important;
}
.week-grid .event.event-v44{
  position:absolute;
  z-index:8;
  min-height:0!important;
  height:var(--event-height)!important;
}
.week-grid .event.event-v44.is-short{
  padding:3px 24px 3px 6px!important;
}
.week-grid .event.event-v44.is-short strong{
  font-size:12px!important;
  line-height:1.05!important;
}
.week-grid .event.event-v44.is-short small{
  font-size:10px!important;
  line-height:1.05!important;
}


/* Update v51: compact readable short calendar events and no duplicate class name */
.week-grid .event.event-v44 .event-main{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  overflow:hidden;
}
.week-grid .event.event-v44 .event-main strong,
.week-grid .event.event-v44 .event-main small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.week-grid .event.event-v44 small{
  text-align:center;
}

/* <=30 Minuten: Titel + Uhrzeit in einer Zeile, damit es trotz geringer Höhe lesbar bleibt */
.week-grid .event.event-v44.is-short{
  padding:2px 8px!important;
  align-items:center!important;
  justify-content:center!important;
}
.week-grid .event.event-v44.is-short .event-main{
  flex-direction:row!important;
  gap:6px;
  justify-content:center;
  align-items:center;
  line-height:1;
  width:100%;
}
.week-grid .event.event-v44.is-short strong{
  font-size:11px!important;
  line-height:1!important;
  flex:0 1 auto;
}
.week-grid .event.event-v44.is-short small{
  font-size:10px!important;
  line-height:1!important;
  flex:0 0 auto;
}
.week-grid .event.event-v44.is-short small::before{
  content:"· ";
}


/* Update v53: 15-Minuten-Raster, damit 08:45 exakt zwischen 08:30 und 09:00 liegt */
.week-grid .time,
.week-grid .slot{
  height:32px!important;
  min-height:32px!important;
}
.week-grid .time{
  font-size:10.5px!important;
  padding:5px 7px!important;
  line-height:1.05!important;
}
.week-grid .slot{
  position:relative!important;
  overflow:visible!important;
  z-index:1;
}
.week-grid .slot.has-event{
  z-index:30;
}
.week-grid .slot.break{
  z-index:2;
}
.week-grid .slot.has-event.break{
  z-index:31;
}
.week-grid .event.event-v44{
  position:absolute!important;
  z-index:50!important;
  min-height:0!important;
  border-radius:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 10px!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.15), 0 8px 18px rgba(31,45,56,.13)!important;
  border:1px solid rgba(31,45,56,.20)!important;
}
.week-grid .event.event-v44 .event-main{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.week-grid .event.event-v44 strong,
.week-grid .event.event-v44 small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.75), 0 0 7px rgba(0,0,0,.38);
}
.week-grid .event.event-v44 strong{
  font-size:13px;
  line-height:1.1;
}
.week-grid .event.event-v44 small{
  font-size:11px;
  line-height:1.1;
}
.week-grid .event.event-v44.is-short{
  padding:2px 7px!important;
}
.week-grid .event.event-v44.is-short .event-main{
  flex-direction:row!important;
  gap:5px;
}
.week-grid .event.event-v44.is-short strong{
  font-size:11px!important;
  line-height:1!important;
}
.week-grid .event.event-v44.is-short small{
  font-size:10px!important;
  line-height:1!important;
  flex:0 0 auto;
}
.week-grid .event.event-v44.is-short small::before{
  content:"· ";
}


/* Update v60: Materialbereich und überlappende Termine */
.week-grid .event.event-v44{
  box-sizing:border-box!important;
}
.week-grid .slot.has-event{
  z-index:40;
}

.material-only-list{
  display:block!important;
}
.material-create-card{
  display:none!important;
}
body.material-create-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:900;
  background:rgba(31,39,46,.42);
  backdrop-filter:blur(3px);
}
body.material-create-open .material-create-card{
  display:grid!important;
  position:fixed;
  z-index:901;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(1120px,calc(100vw - 34px));
  max-height:calc(100vh - 44px);
  overflow:auto;
  border-radius:32px;
  box-shadow:0 28px 80px rgba(31,45,56,.26);
}
.material-pool-card{
  margin-top:0!important;
}
.material-filter-head{
  align-items:flex-start!important;
  gap:12px!important;
}
.material-filter-head > .primary-btn{
  white-space:nowrap;
  padding:12px 18px;
}
.material-filter{
  width:100%;
  margin-top:8px;
}
.subtle-link{
  color:#8b8177!important;
  background:#f3eee6!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.subtle-link:hover{
  background:#ebe4d9!important;
}
.multi-checks .check-chip{
  margin:0;
}
.dropzone{
  min-height:156px;
}
@media(max-width:760px){
  body.material-create-open .material-create-card{
    width:calc(100vw - 18px);
    max-height:calc(100vh - 18px);
    border-radius:24px;
  }
  .material-filter-head{
    flex-direction:column;
  }
}


/* Update v61: Material UX */
.material-create-card .material-description-field{order:20;}
.material-create-card .field.full:has(label + textarea[name="links"]){order:21;}
.material-description-field .textarea{min-height:118px;}
body.material-create-open .nested-modal{z-index:1200!important;}
body.material-create-open .nested-modal .modal-card{z-index:1201!important;}
body.nested-modal-open::after{content:"";position:fixed;inset:0;z-index:1199;background:rgba(31,39,46,.18);}
.material-pool-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;}
.material-pool-title-row h2{margin:0;text-align:left;}
.material-filter-head{margin-top:10px;}
.material-pool-card .search{margin-top:14px!important;}
.multi-checks .check-chip{border-radius:18px!important;}
.multi-checks .check-chip:has(input:checked){background:#fff!important;border-color:var(--primary)!important;box-shadow:none!important;}
.multi-checks .check-chip input{accent-color:var(--primary);}
.multi-checks .check-chip:has(input:checked) span{color:var(--ink)!important;}
.multi-checks .check-chip:has(input:checked)::after{content:"✓";color:var(--primary);font-weight:900;margin-left:6px;}
.material-row.has-thumb{grid-template-columns:76px 1.1fr 1.4fr 1.6fr auto!important;align-items:center;}
.material-thumb{width:58px;height:46px;border-radius:12px;border:1px solid var(--line);background:#f7f4ed;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.material-thumb img,.material-thumb iframe{width:100%;height:100%;object-fit:cover;border:0;pointer-events:none;}
.material-detail-grid{display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:start;}
.material-detail-preview{min-height:210px;border:1px solid var(--line);border-radius:22px;background:#f7f4ed;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);}
.material-detail-preview img,.material-detail-preview iframe{width:100%;height:250px;object-fit:cover;border:0;display:block;}
.subtle-link{font-size:11px!important;padding:5px 9px!important;background:#eee9e1!important;color:#81766b!important;box-shadow:none!important;}
@media(max-width:900px){
  .material-row.has-thumb{grid-template-columns:58px 1fr auto!important;}
  .material-row.has-thumb .muted,.material-row.has-thumb small{grid-column:2 / 3;}
  .material-detail-grid{grid-template-columns:1fr;}
}


/* Update v62: Materialformular Aufräumen */
body.material-create-open .material-create-card{
  align-content:start;
  gap:14px 16px!important;
  padding-top:24px!important;
}
.material-create-card .modal-head{
  margin-bottom:8px!important;
}
.material-title-field .input{
  min-height:54px!important;
}
.material-title-field{
  align-self:start;
}
.material-files-field{
  align-self:start;
}
.material-files-field .compact-dropzone{
  min-height:128px!important;
  padding:18px!important;
}
.material-description-field{
  order:auto!important;
}
.material-description-field .textarea{
  min-height:124px!important;
}
.material-save-btn{
  margin-top:8px!important;
  order:999!important;
}
.material-pool-title-row{
  margin-bottom:28px!important;
}
.material-pool-card .search{
  margin-top:18px!important;
  margin-bottom:16px!important;
}
.material-thumb{
  width:58px!important;
  height:46px!important;
  border-radius:12px!important;
  background:#f5f1e9!important;
  overflow:hidden!important;
}
.material-thumb .pdf-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-weight:900;
  font-size:12px;
  color:var(--primary);
  background:#fff8e8;
}
.material-thumb .empty-thumb{
  opacity:.65;
}
.multi-checks .check-chip:has(input:checked){
  background:#fff!important;
  border-color:var(--primary)!important;
  box-shadow:none!important;
}
.multi-checks .check-chip:has(input:checked)::after{
  content:"✓";
  color:var(--primary);
  font-weight:900;
  margin-left:6px;
}
.nested-modal.show,
.nested-modal.active,
.nested-modal.is-open{
  z-index:1300!important;
}
.nested-modal .modal-card{
  z-index:1301!important;
}
@media(max-width:900px){
  .material-files-field{order:2;}
  .material-title-field{order:1;}
}


/* Update v63: Materialformular 2-Spalten-Layout und Bearbeiten-Fix */
body.material-create-open .material-create-card{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:14px!important;
}
.material-create-card .modal-head{
  grid-column:1 / -1!important;
}
.material-create-card .material-left{
  grid-column:1!important;
}
.material-create-card .material-right{
  grid-column:2!important;
}
.material-create-card .material-save-btn{
  grid-column:1 / -1!important;
}
.material-title-field .input{
  min-height:48px!important;
}
.material-files-field .compact-dropzone{
  min-height:138px!important;
}
.material-links-field{
  display:block;
}
.material-links-field summary{
  cursor:pointer;
  font-weight:900;
  color:var(--ink);
  margin-bottom:8px;
}
.material-links-field .textarea{
  width:100%;
  min-height:100px;
}
.material-date-meta{
  margin-top:8px;
  line-height:1.5;
}
.material-thumb iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  transform:scale(1.03);
  background:#fff;
}
.material-row.has-thumb small .muted{
  font-size:11px;
}
@media(max-width:900px){
  body.material-create-open .material-create-card{
    grid-template-columns:1fr!important;
  }
  .material-create-card .material-left,
  .material-create-card .material-right{
    grid-column:1!important;
  }
}

.material-create-card .material-left,.material-create-card .material-right{order:initial!important;}
.material-create-card .material-save-btn{order:999!important;}


/* Update v64: Materialmodal Feldanordnung wie gewünscht */
body.material-create-open .material-create-card{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:12px!important;
  align-content:start!important;
}
.material-create-card .modal-head{
  grid-column:1 / -1!important;
  margin-bottom:4px!important;
}
.material-create-card .material-title-field{
  grid-column:1!important;
  grid-row:auto!important;
}
.material-create-card .material-files-field{
  grid-column:2!important;
  grid-row:2 / span 2!important;
}
.material-create-card .material-description-field{
  grid-column:1!important;
}
.material-create-card .material-links-field{
  grid-column:1!important;
}
.material-create-card .material-select-row,
.material-create-card .field:has(input[name="level_ids[]"]),
.material-create-card .field:has(input[name="subject_ids[]"]),
.material-create-card .field:has(input[name="tags[]"]){
  grid-column:1 / -1!important;
}
.material-create-card .material-select-row .multi-checks,
.material-create-card .field:has(input[name="level_ids[]"]) .multi-checks,
.material-create-card .field:has(input[name="subject_ids[]"]) .multi-checks,
.material-create-card .field:has(input[name="tags[]"]) .multi-checks{
  min-height:0!important;
  padding:10px 12px!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  align-items:center!important;
}
.material-create-card .material-select-row .check-chip,
.material-create-card .field:has(input[name="level_ids[]"]) .check-chip,
.material-create-card .field:has(input[name="subject_ids[]"]) .check-chip,
.material-create-card .field:has(input[name="tags[]"]) .check-chip{
  flex:0 0 auto!important;
  min-width:auto!important;
  padding:10px 14px!important;
  min-height:42px!important;
  border-radius:14px!important;
}
.material-create-card .material-description-field .textarea{
  min-height:110px!important;
}
.material-create-card .material-files-field .compact-dropzone{
  min-height:150px!important;
}
.material-create-card .material-links-field{
  display:block!important;
}
.material-create-card .material-links-field summary{
  cursor:pointer;
  font-weight:900;
  color:var(--ink);
  margin:0 0 8px;
}
.material-create-card .material-save-btn{
  grid-column:1 / -1!important;
  order:999!important;
  margin-top:6px!important;
}
@media(max-width:900px){
  body.material-create-open .material-create-card{
    grid-template-columns:1fr!important;
  }
  .material-create-card .material-title-field,
  .material-create-card .material-files-field,
  .material-create-card .material-description-field,
  .material-create-card .material-links-field,
  .material-create-card .material-select-row{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .material-create-card .material-select-row .multi-checks{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
  }
}


/* Update v65: Material-Beschreibung oben, ToDo-Button und Vorschau-Link */
body.material-create-open .material-create-card .material-title-field{
  grid-column:1!important;
}
body.material-create-open .material-create-card .material-description-field{
  grid-column:1!important;
  margin-top:0!important;
}
body.material-create-open .material-create-card .material-files-field{
  grid-column:2!important;
  grid-row:2 / span 2!important;
}
body.material-create-open .material-create-card .material-description-field .textarea{
  min-height:104px!important;
}
.todo-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.todo-group-head h3{
  margin:0;
}
.mini-todo-add{
  padding:8px 13px!important;
  border-radius:999px!important;
  font-size:13px!important;
  white-space:nowrap;
}
.preview-open-btn{
  margin-top:10px;
  display:inline-flex;
  width:auto;
  text-decoration:none;
}
.material-detail-preview + .preview-open-btn{
  align-self:flex-start;
}
@media(max-width:760px){
  .todo-group-head{
    align-items:flex-start;
    flex-direction:column;
  }
  body.material-create-open .material-create-card .material-files-field{
    grid-column:1!important;
    grid-row:auto!important;
  }
}


/* Update v66: Material-Beschreibung wirklich oben links + Todo-Route Fix Support */
body.material-create-open .material-create-card{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
}
body.material-create-open .material-create-card .material-title-field{
  grid-column:1!important;
  grid-row:2!important;
}
body.material-create-open .material-create-card .material-description-field{
  grid-column:1!important;
  grid-row:3!important;
  order:initial!important;
  margin-top:0!important;
}
body.material-create-open .material-create-card .material-files-field{
  grid-column:2!important;
  grid-row:2 / span 2!important;
}
body.material-create-open .material-create-card .material-select-row,
body.material-create-open .material-create-card .material-levels-field,
body.material-create-open .material-create-card .material-subjects-field,
body.material-create-open .material-create-card .material-tags-field{
  grid-column:1 / -1!important;
}
body.material-create-open .material-create-card .material-levels-field{grid-row:4!important;}
body.material-create-open .material-create-card .material-subjects-field{grid-row:5!important;}
body.material-create-open .material-create-card .material-tags-field{grid-row:6!important;}
body.material-create-open .material-create-card .material-links-field{
  grid-column:1 / -1!important;
  grid-row:7!important;
}
body.material-create-open .material-create-card .material-save-btn{
  grid-column:1 / -1!important;
  grid-row:8!important;
}
@media(max-width:900px){
  body.material-create-open .material-create-card .material-title-field,
  body.material-create-open .material-create-card .material-description-field,
  body.material-create-open .material-create-card .material-files-field,
  body.material-create-open .material-create-card .material-levels-field,
  body.material-create-open .material-create-card .material-subjects-field,
  body.material-create-open .material-create-card .material-tags-field,
  body.material-create-open .material-create-card .material-links-field,
  body.material-create-open .material-create-card .material-save-btn{
    grid-column:1!important;
    grid-row:auto!important;
  }
}


/* Update v74: Kalender volle Breite + Switch-Back sichtbar */
.week-grid{
  position:relative;
  isolation:isolate;
}
.corner,
.day-head{
  position:sticky!important;
  top:0!important;
  z-index:120!important;
  background:#fffdfa!important;
  box-shadow:0 1px 0 var(--line), 0 8px 18px rgba(36,48,57,.06);
}
.corner{
  left:0!important;
  z-index:130!important;
}
.time{
  z-index:80!important;
}
.event.event-v44[data-lane-count="1"]{
  left:1px!important;
  width:calc(100% - 2px)!important;
  right:auto!important;
}
.event.event-v44{
  z-index:10;
  border-radius:0!important;
  padding:4px 6px!important;
  box-shadow:0 8px 18px rgba(36,48,57,.12), inset 0 0 0 1px rgba(36,48,57,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.event.event-v44 strong,
.event.event-v44 small{
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
.event.event-v44.is-short{
  font-size:10px!important;
  padding:2px 5px!important;
}
.event.event-v44.is-short .event-main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  min-width:0;
}
.event.event-v44.is-short strong,
.event.event-v44.is-short small{
  display:inline!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.backend-switch-banner{
  position:sticky;
  top:0;
  z-index:3000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:10px 18px;
  background:#3f4652;
  color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.backend-switch-banner strong{font-weight:900;}
.backend-switch-banner span{opacity:.85;}
.backend-switch-banner form{margin:0;}
.backend-switch-banner button,
.switch-back-btn{
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
  cursor:pointer;
}
.backend-switch-banner button{
  border:0;
  background:#fff;
  color:#30343d;
}
.switch-back-form{display:inline-flex;margin:0;}
.switch-back-btn{
  background:#fff7e8!important;
  border:1px solid #e4d7c4!important;
  color:#3f4652!important;
}
@media(max-width:760px){
  .backend-switch-banner{
    flex-direction:column;
    align-items:stretch;
    text-align:center;
  }
}


/* Update v75: finaler sichtbare-Events Lane-Fix */
.week-grid .event.event-v44[data-lane-count="1"]{
  left:1px!important;
  width:calc(100% - 2px)!important;
  min-width:calc(100% - 2px)!important;
  max-width:calc(100% - 2px)!important;
}


/* Update v76: Mobile Materialpool als flache Infozeile + Serientermin-Löschdialog */
.series-delete-options{display:grid;gap:10px;margin-top:10px}.series-delete-options button{justify-content:center;text-align:center;white-space:normal}.series-delete-card{max-width:560px!important}
@media(max-width:980px){
  .material-list{gap:8px!important}
  .material-row.has-thumb{
    grid-template-columns:54px minmax(0,1fr) auto!important;
    grid-template-areas:
      "thumb title actions"
      "thumb meta actions"!important;
    gap:8px 10px!important;
    padding:10px 12px!important;
    min-height:72px!important;
    align-items:center!important;
  }
  .material-row.has-thumb .material-thumb{grid-area:thumb!important;width:46px!important;height:46px!important;align-self:center!important}
  .material-row.has-thumb>b{grid-area:title!important;font-size:14px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important;align-self:end!important}
  .material-row.has-thumb>.muted{display:none!important}
  .material-row.has-thumb>small{grid-area:meta!important;display:block!important;font-size:11px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important;align-self:start!important;color:var(--muted)!important}
  .material-row.has-thumb .row-actions{grid-area:actions!important;display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;align-self:center!important}
  .material-row.has-thumb .iconbtn{width:38px!important;height:38px!important;border-radius:14px!important}
}
@media(max-width:640px){
  .material-row.has-thumb{grid-template-columns:48px minmax(0,1fr) 82px!important;padding:9px 10px!important}
  .material-row.has-thumb .material-thumb{width:42px!important;height:42px!important}
  .material-row.has-thumb .row-actions{gap:4px!important}
  .material-row.has-thumb .iconbtn{width:36px!important;height:36px!important}
}


/* Update v77: Material teilen */
.share-btn{
  color:#40564a!important;
}
.share-tenant-status{
  margin-top:8px;
  font-size:13px;
  font-weight:800;
  border-radius:14px;
  padding:9px 12px;
  background:#f6f2eb;
  color:#7c7368;
}
.share-tenant-status.ok{
  background:#eaf8ef;
  color:#2f7a4b;
  border:1px solid #b9e5c6;
}
.share-tenant-status.bad{
  background:#fff0ee;
  color:#a0453d;
  border:1px solid #f0c2bd;
}
.share-tenant-status.checking{
  background:#fff8e6;
  color:#8a6a2f;
  border:1px solid #ead9a3;
}
.share-tenant-status.neutral{
  background:#f6f2eb;
  color:#7c7368;
  border:1px solid #e4d8ca;
}


/* Update v78: Geteiltes Unterrichtsmaterial */
.shared-material-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:4px 9px;
  background:#edf7f0;
  border:1px solid #b9dcc4;
  color:#326a45;
  font-size:12px;
  font-weight:900;
  line-height:1.1;
}
.detail-badge{
  margin-left:8px;
  vertical-align:middle;
}
.material-row .shared-material-badge{
  justify-self:start;
}
@media(max-width:780px){
  .material-row .shared-material-badge{
    grid-column:auto;
    font-size:11px;
    padding:3px 7px;
  }
}
