:root{color-scheme:light;--bg: #f6f7f9;--card: #ffffff;--text: #141821;--muted: #5c677a;--border: rgba(20, 24, 33, .1);--accent: #2f6bff;--danger: #d64545}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1218;--card: #151b26;--text: #e7eaf0;--muted: #9aa3b2;--border: rgba(255, 255, 255, .1);--accent: #7aa2ff;--danger: #ff6b6b}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text)}.app{max-width:1080px;margin:0 auto;padding:28px 18px 40px}.appCentered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:26px 16px}.page{min-height:100vh}.topnav{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.topnav__container{max-width:1080px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;gap:14px}.topnav__brand{display:flex;align-items:center}.topnav__spacer{flex:1}.topnav__logout{width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.topnav__logout:hover{border-color:#2f6bff73;background:var(--card)}:root[data-theme=dark] .topnav__logout{background:var(--card);color:#e7eaf0}.topnav__logout svg{display:block}.iconBtn{width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:#141821;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.iconBtn:hover{border-color:#2f6bff73}:root[data-theme=dark] .iconBtn{color:#e7eaf0}.iconBtn svg{display:block}.container{max-width:1180px;margin:0 auto;padding:18px}.topRight{position:fixed;top:16px;right:16px;display:flex;gap:10px;z-index:10}@media (min-width: 1116px){.topRight{right:calc((100% - 1080px)/2 + 18px)}}.hamburger{width:38px;height:38px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger__line{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s ease}.hamburger__line.is-open:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger__line.is-open:nth-child(2){opacity:0}.hamburger__line.is-open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.menu-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:240px;animation:dropdownFadeIn .2s ease;overflow:hidden}.menu-dropdown__nav{display:flex;flex-direction:column;padding:8px 0}.menu-dropdown__item{background:transparent;border:none;color:#1a365d;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:16px 24px;cursor:pointer;transition:background .2s ease;white-space:nowrap;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.menu-dropdown__item:hover{background:#1a365d0d}.menu-dropdown__item.is-active{color:#1a365d;background:#1a365d14}.menu-dropdown__divider{height:1px;background:#1a365d33;margin:0 16px}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}:root[data-theme=dark] .menu-dropdown__item{color:#7aa2ff}:root[data-theme=dark] .menu-dropdown__item:hover{background:#7aa2ff1a}:root[data-theme=dark] .menu-dropdown__item.is-active{color:#7aa2ff;background:#7aa2ff26}:root[data-theme=dark] .menu-dropdown__divider{background:#7aa2ff4d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.logo{filter:none;transition:filter .2s ease}:root[data-theme=dark] .logo{filter:invert(1)}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.title{font-size:20px;font-weight:650;letter-spacing:.2px}.subtitle{color:var(--muted);margin-top:4px;font-size:13px}.btn{background:#2f6bff1a;border:1px solid rgba(47,107,255,.25);color:var(--text);padding:10px 12px;border-radius:999px;text-decoration:none;font-size:13px;cursor:pointer}.btn:hover{border-color:#7aa2ffa6}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}@media (max-width: 900px){.grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:0 12px 40px #0000001a}.cardTitle{font-size:14px;font-weight:650;margin-bottom:6px}.muted{color:var(--muted);font-size:13px;line-height:1.4}.list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.rowTitle{font-size:13px;font-weight:600}.rowMeta{margin-top:3px;font-size:12px;color:var(--muted)}.pill{border-radius:999px;padding:6px 10px;font-size:12px;color:var(--accent);border:1px solid rgba(122,162,255,.35);background:#7aa2ff14;white-space:nowrap}.bullets{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.error{border-color:#ff6b6b59;background:#ff6b6b12;margin-bottom:14px}.form{margin-top:12px;display:flex;flex-direction:column;gap:12px}.fieldLabel{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.input{width:100%;box-sizing:border-box;background:#00000005;border:1px solid rgba(0,0,0,.1);color:var(--text);border-radius:14px;padding:10px 12px;outline:none}.input:focus{border-color:#2f6bff73}.btnPrimary{width:fit-content;background:#2f6bff1f;border:1px solid rgba(47,107,255,.35);color:var(--text);padding:10px 14px;border-radius:999px;cursor:pointer;font-size:13px}.btnPrimary:disabled{opacity:.6;cursor:default}.errorBox{margin-top:10px;border-radius:12px;border:1px solid rgba(255,107,107,.35);background:#ff6b6b14;padding:10px 12px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.toolbarCard{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:14px}.toolbarRow{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.toolbarMeta{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:180px}.fieldGrow{flex:1;min-width:240px}.fieldLabelSmall{font-size:12px;color:var(--muted)}.select{border-radius:12px;border:1px solid var(--border);padding:10px 12px;background:#00000005;color:var(--text)}:root[data-theme=dark] .select{background:#ffffff0a}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.eventCard{display:block;border:1px solid var(--border);border-radius:16px;background:var(--card);color:inherit;text-decoration:none;overflow:hidden;box-shadow:0 12px 40px #0000001a}.eventCardMedia{height:150px;background:#0000000a;display:flex;align-items:center;justify-content:center}:root[data-theme=dark] .eventCardMedia{background:#ffffff08}.eventCardMedia img{width:100%;height:100%;object-fit:cover;display:block}.eventCardPlaceholder{color:var(--muted);font-size:12px}.eventCardBody{padding:12px}.eventCardTitle{font-weight:700;line-height:1.2}.eventCardSubtitle{color:var(--muted);margin-top:4px;font-size:13px}.eventCardBadges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.eventCardText{margin-top:10px;color:var(--text);opacity:.9;font-size:13px;line-height:1.35;min-height:36px}.warningBox{background:#ffa50014;border:1px solid rgba(255,165,0,.25);border-radius:14px;padding:10px 12px;margin-top:10px}.detailGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}@media (max-width: 900px){.detailGrid{grid-template-columns:1fr}}.detailImage{width:100%;height:260px;object-fit:cover;border-radius:14px;margin-top:12px;border:1px solid var(--border)}.detailImagePlaceholder{height:260px;border-radius:14px;margin-top:12px;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted)}.code{background:#00000005;border:1px solid var(--border);border-radius:14px;padding:10px;overflow:auto;font-size:12px}:root[data-theme=dark] .code{background:#ffffff0a}.inlineField{min-width:160px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#00000005}.segBtn{border:none;background:transparent;color:var(--muted);padding:10px 12px;cursor:pointer;font-size:13px}.segBtn.active{color:var(--text);background:#2f6bff1a}.dayList{margin-top:12px;display:flex;flex-direction:column;gap:12px}.dayBlock{border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:10px;background:#ffffff05}.dayHeader{font-size:12px;color:var(--muted);margin-bottom:8px}.fc{--fc-border-color: var(--border);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(0, 0, 0, .02);--fc-today-bg-color: rgba(47, 107, 255, .08);--fc-event-bg-color: rgba(47, 107, 255, .18);--fc-event-border-color: rgba(47, 107, 255, .35);--fc-event-text-color: var(--text);color:var(--text)}.fc .fc-toolbar-title{font-size:14px;font-weight:650}.fc .fc-button{background:#00000005;border:1px solid var(--border);border-radius:999px;color:var(--text)}.dayHeaderWrap{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.dayHeaderText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthCellTop{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.dayMenuWrap{position:relative;display:inline-flex;align-items:center}.dayGearBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#00000005;color:var(--text);border-radius:999px;width:32px;height:32px;line-height:30px;padding:0;font-size:14px;cursor:pointer;touch-action:manipulation}.dayGearBtn:hover{border-color:#2f6bff73}.dayMenuPopup{background:var(--card);border:1px solid var(--border);border-radius:10px;min-width:220px;box-shadow:0 12px 40px #0000002e;padding:6px;z-index:50}.dayMenuItem{width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:12px;border-radius:8px;cursor:pointer;font-weight:650;font-size:13px;min-height:44px}.dayMenuItem:hover{background:#2f6bff14}.dayMenuItem:disabled{opacity:.6;cursor:default}.fc .dayFrozen{background:#2f6bff0f!important;box-shadow:inset 0 0 0 1px #2f6bff2e}.fc .dayFrozen .dayGearBtn{border-color:#2f6bff59}:root[data-theme=dark] .fc .dayFrozen{background:#7aa2ff1f!important;box-shadow:inset 0 0 0 1px #7aa2ff47}:root[data-theme=dark] .fc .dayFrozen .dayGearBtn{border-color:#7aa2ff8c}.fc .fc-button-addEventButton{font-size:20px;font-weight:700;padding:10px 18px;min-width:48px;background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.fc .fc-button-addEventButton:hover{background:var(--accent)!important;opacity:.9;transform:scale(1.05)}:root[data-theme=dark] .fc .fc-button-addEventButton{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:#2f6bff1f;border-color:#2f6bff59}:root[data-theme=dark] .input{background:#ffffff0a;border:1px solid rgba(255,255,255,.1)}:root[data-theme=dark] .seg{background:#ffffff08}:root[data-theme=dark] .fc{--fc-neutral-bg-color: rgba(255, 255, 255, .03);--fc-today-bg-color: rgba(122, 162, 255, .1);--fc-event-bg-color: rgba(122, 162, 255, .22);--fc-event-border-color: rgba(122, 162, 255, .45)}:root[data-theme=dark] .fc .fc-button-primary:not(:disabled).fc-button-active,:root[data-theme=dark] .fc .fc-button-primary:not(:disabled):active{background:#7aa2ff33;border-color:#7aa2ff73}.fc .eventFrozen{opacity:.55;filter:saturate(.6)}.fc .fc-event{transition:opacity .22s ease,transform .22s ease}.fc .fc-event.eventDeleting{opacity:0!important;transform:translateY(6px) scale(.98);pointer-events:none}.fc .fcDeleteBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.22);background:#0000002e;color:var(--text);border-radius:999px;width:18px;height:18px;line-height:16px;padding:0;font-size:14px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .12s ease;pointer-events:auto}.fc .fc-event:hover .fcDeleteBtn,.fc .fcDeleteBtn:focus{opacity:1}::root [data-theme=dark] .fc .fcDeleteBtn{border-color:#ffffff2e;background:#00000038}.fc-event.event-type-veranstaltung{--fc-event-bg-color: rgba(34, 197, 94, .25);--fc-event-border-color: rgba(34, 197, 94, .55);background-color:#22c55e40!important;border-color:#22c55e8c!important}.fc-event.event-type-wartung{--fc-event-bg-color: rgba(255, 165, 0, .25);--fc-event-border-color: rgba(255, 165, 0, .55);background-color:#ffa50040!important;border-color:#ffa5008c!important}.fc-event.event-type-technisch{--fc-event-bg-color: rgba(138, 43, 226, .25);--fc-event-border-color: rgba(138, 43, 226, .55);background-color:#8a2be240!important;border-color:#8a2be28c!important}.fc-event.event-type-abbau{--fc-event-bg-color: rgba(220, 20, 60, .25);--fc-event-border-color: rgba(220, 20, 60, .55);background-color:#dc143c40!important;border-color:#dc143c8c!important}.fc-event.event-type-service{--fc-event-bg-color: rgba(30, 144, 255, .25);--fc-event-border-color: rgba(30, 144, 255, .55);background-color:#1e90ff40!important;border-color:#1e90ff8c!important}:root[data-theme=dark] .fc-event.event-type-veranstaltung{--fc-event-bg-color: rgba(74, 222, 128, .3);--fc-event-border-color: rgba(74, 222, 128, .65);background-color:#4ade804d!important;border-color:#4ade80a6!important}:root[data-theme=dark] .fc-event.event-type-wartung{--fc-event-bg-color: rgba(255, 165, 0, .3);--fc-event-border-color: rgba(255, 165, 0, .65);background-color:#ffa5004d!important;border-color:#ffa500a6!important}:root[data-theme=dark] .fc-event.event-type-technisch{--fc-event-bg-color: rgba(186, 85, 211, .3);--fc-event-border-color: rgba(186, 85, 211, .65);background-color:#ba55d34d!important;border-color:#ba55d3a6!important}:root[data-theme=dark] .fc-event.event-type-abbau{--fc-event-bg-color: rgba(255, 99, 132, .3);--fc-event-border-color: rgba(255, 99, 132, .65);background-color:#ff63844d!important;border-color:#ff6384a6!important}:root[data-theme=dark] .fc-event.event-type-service{--fc-event-bg-color: rgba(70, 180, 255, .3);--fc-event-border-color: rgba(70, 180, 255, .65);background-color:#46b4ff4d!important;border-color:#46b4ffa6!important}.fc-event-title{overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.3;max-height:100%}.fc-event-title-month{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;max-width:100%}.fc-dayGridMonth .fc-event{overflow:hidden!important;padding:2px 4px!important}.fc-dayGridMonth .fc-event-main{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important}.fc-timeGridWeek .fc-event,.fc-timeGridDay .fc-event{overflow:hidden!important;padding:2px 4px!important}.fc-timeGridWeek .fc-event-main,.fc-timeGridDay .fc-event-main{overflow:hidden!important;max-height:100%!important;max-width:100%!important}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}:root[data-theme=dark] .modalBackdrop{background:#0000008c}.modalCard{width:720px;max-width:100%;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:0 24px 80px #00000038;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;word-wrap:break-word;overflow-wrap:break-word}.modalGrid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 720px){.modalGrid{grid-template-columns:1fr}}.kv .k{font-size:12px;color:var(--muted)}.kv .v{margin-top:4px;font-size:13px}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}@media (max-width: 768px){.topnav__container{padding:12px 14px;gap:10px}.container{padding:12px 14px}.header{flex-direction:column;align-items:flex-start;gap:12px}.title{font-size:20px}.subtitle{font-size:12px}.card{padding:12px}.btn{padding:8px 14px;font-size:13px}.modalCard{width:calc(100% - 28px);margin:14px;padding:16px;max-height:calc(100vh - 28px);overflow-y:auto;overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}.modalHeader{flex-direction:column;align-items:stretch}.modalHeader>div{width:100%;word-wrap:break-word;overflow-wrap:break-word}.modalCard *{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.modalCard .input,.modalCard .textarea,.modalCard select{width:100%;box-sizing:border-box;max-width:100%}.modalCard .btn,.modalCard .btnPrimary{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.hamburger__menu{width:100%;max-width:100vw}.fc .fc-toolbar{flex-direction:column;gap:8px}.fc .fc-toolbar-title{font-size:16px}.fc .fc-button{padding:6px 10px;font-size:12px}.field{margin-bottom:14px}.fieldLabel{font-size:13px;margin-bottom:6px}.input,.textarea,select{font-size:14px;padding:10px 12px}.grid{grid-template-columns:1fr;gap:12px}.row{padding:12px;flex-direction:column;gap:8px}.rowTitle{font-size:14px}.pill{font-size:11px;padding:4px 8px}}@media (max-width: 480px){.topnav__container,.container{padding:10px 12px}.title{font-size:18px}.card{padding:10px}.btn{padding:7px 12px;font-size:12px}.hamburger__menu-item{padding:14px 16px;font-size:15px}.modalCard{border-radius:12px;padding:14px}.modalHeader{gap:8px}.modalHeader .cardTitle{font-size:16px}.modalHeader .muted{font-size:11px}.inlineField{flex:1 1 100%;min-width:100%}.toolbar{flex-wrap:wrap;gap:8px}.seg{flex-wrap:wrap}.segBtn{font-size:12px;padding:6px 10px}}
